From cc9c965f9c0d2083c5d5214b9b60239df280e24a Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Thu, 27 Sep 2018 19:37:13 -0400 Subject: [PATCH] Update to Embark 3.2.1 (pt1) --- .babelrc | 26 +- app/components/AdminView.js | 7 +- app/components/accountlist.js | 2 +- .../proposal-manager/proposal-manager.js | 186 ---- app/components/simple-voting/AddPoll.js | 35 +- app/components/snt-ui.js | 4 +- app/components/voting-dapp/paginator.js | 25 - .../voting-dapp/proposal-container.js | 67 -- app/components/voting-dapp/proposal-list.js | 11 - app/components/voting-dapp/proposal.js | 68 -- app/components/voting-dapp/status-bar.js | 32 - app/components/voting-dapp/voting-dapp.js | 13 - app/components/voting-dapp/voting.js | 159 --- app/css/.gitkeep | 0 app/js/.gitkeep | 0 app/js/index.js | 6 + config/blockchain.js | 105 ++ config/blockchain.json | 89 -- config/communication.js | 40 + config/communication.json | 12 - config/contracts.js | 185 ++++ config/contracts.json | 141 --- config/namesystem.js | 34 +- .../{development => privatenet}/genesis.json | 4 +- config/{development => privatenet}/password | 0 config/storage.js | 59 ++ config/storage.json | 20 - config/webserver.js | 6 + config/webserver.json | 5 - contracts/.gitkeep | 0 embark.json | 10 +- package-lock.json | 987 ++++++++++-------- package.json | 26 +- 33 files changed, 1050 insertions(+), 1314 deletions(-) delete mode 100644 app/components/proposal-manager/proposal-manager.js delete mode 100644 app/components/voting-dapp/paginator.js delete mode 100644 app/components/voting-dapp/proposal-container.js delete mode 100644 app/components/voting-dapp/proposal-list.js delete mode 100644 app/components/voting-dapp/proposal.js delete mode 100644 app/components/voting-dapp/status-bar.js delete mode 100644 app/components/voting-dapp/voting-dapp.js delete mode 100644 app/components/voting-dapp/voting.js create mode 100644 app/css/.gitkeep create mode 100644 app/js/.gitkeep create mode 100644 app/js/index.js create mode 100644 config/blockchain.js delete mode 100644 config/blockchain.json create mode 100644 config/communication.js delete mode 100644 config/communication.json create mode 100644 config/contracts.js delete mode 100644 config/contracts.json rename config/{development => privatenet}/genesis.json (90%) rename config/{development => privatenet}/password (100%) create mode 100644 config/storage.js delete mode 100644 config/storage.json create mode 100644 config/webserver.js delete mode 100644 config/webserver.json create mode 100644 contracts/.gitkeep diff --git a/.babelrc b/.babelrc index 577b026..3d4a1f8 100644 --- a/.babelrc +++ b/.babelrc @@ -1,4 +1,24 @@ { - "plugins": ["transform-object-rest-spread"], - "presets": ["stage-2"] -} + "plugins": [ + "@babel/plugin-proposal-object-rest-spread", + "@babel/plugin-syntax-dynamic-import", + "@babel/plugin-syntax-import-meta", + "@babel/plugin-proposal-class-properties", + "@babel/plugin-proposal-json-strings", + [ + "@babel/plugin-proposal-decorators", + { + "legacy": true + } + ], + "@babel/plugin-proposal-function-sent", + "@babel/plugin-proposal-export-namespace-from", + "@babel/plugin-proposal-numeric-separator", + "@babel/plugin-proposal-throw-expressions" + ], + "presets": [], + "ignore": [ + "config/", + "node_modules" + ] + } \ No newline at end of file diff --git a/app/components/AdminView.js b/app/components/AdminView.js index 5c1fc28..8d49366 100644 --- a/app/components/AdminView.js +++ b/app/components/AdminView.js @@ -5,8 +5,6 @@ import { Tabs, Tab } from 'react-bootstrap'; import TopNavbar from './topnavbar'; import TestTokenUI from './testtoken'; import ERC20TokenUI from './erc20token'; -import ProposalManager from './proposal-manager/proposal-manager' -import VotingDapp from './voting-dapp/voting-dapp'; import SNTUI from './snt-ui'; export default ({ setAccount }) => { @@ -15,11 +13,8 @@ export default ({ setAccount }) => { setAccount(e)} /> - - - - + diff --git a/app/components/accountlist.js b/app/components/accountlist.js index 6a2b749..4d355c0 100644 --- a/app/components/accountlist.js +++ b/app/components/accountlist.js @@ -16,7 +16,7 @@ class AccList extends React.Component { addresses: [], balances: [] } - __embarkContext.execWhenReady(() => { + EmbarkJS.onReady(() => { this.load() }); } diff --git a/app/components/proposal-manager/proposal-manager.js b/app/components/proposal-manager/proposal-manager.js deleted file mode 100644 index 026560b..0000000 --- a/app/components/proposal-manager/proposal-manager.js +++ /dev/null @@ -1,186 +0,0 @@ -import EmbarkJS from 'Embark/EmbarkJS'; -import ERC20Token from 'Embark/contracts/ERC20Token'; -import ProposalCuration from 'Embark/contracts/ProposalCuration'; -import SNT from 'Embark/contracts/SNT'; -import React, { PureComponent, Fragment } from 'react'; -import { Form, FormGroup, FormControl, HelpBlock, Button, Alert } from 'react-bootstrap'; -import web3 from "Embark/web3"; -import { withFormik } from 'formik'; -import FieldGroup from '../standard/FieldGroup'; -import TokenPermissions from '../standard/TokenPermission' - -const { setSubmitPrice } = ProposalCuration.methods; -class InnerForm extends PureComponent { - - constructor(props) { - super(props); - this.state = { - submitPrice: "Loading...", - canSubmit: true - }; - } - - componentDidMount(){ - this._loadPrice(); - } - - componentWillReceiveProps(){ - this._loadPrice(); - } - - _loadPrice(){ - __embarkContext.execWhenReady(async () => { - try { - let _b = await ProposalCuration.methods.getSubmitPrice(web3.eth.defaultAccount).call(); - this.setState({ - submitPrice: _b, - canSubmit: true - }); - } catch(err){ - this.setState({ - canSubmit: false, - submitPrice: "-" - }); - } - }); - } - - setPrice = (address = web3.eth.defaultAccount, allowed = true, stakeValue = 1) => { - setSubmitPrice(address, allowed, stakeValue) - .send() - .then(res => { - this.setState({ ...this.state, canSubmit: true }); - console.log(res); - }) - .catch(err => { console.log(err) }) - } - - render() { - const { values, errors, touched, handleChange, handleBlur, handleSubmit, isSubmitting, setFieldValue } = this.props; - const { canSubmit } = this.state; - return ( - - {!canSubmit && - - Account not allowed to submit proposals - - } - -
-

Add proposal

-

Price: {this.state.submitPrice}

-
- - - - - - - - - - - - - -
- ) - } -} - -const ProposalManager = withFormik({ - mapPropsToValues: props => ({ title: '', description: '', url: '', data: '0x00', value: '0', topic: '0x00', to: '0x0000000000000000000000000000000000000000' }), - validate(values) {}, - handleSubmit(values, { setSubmitting}){ - - let dataObj = { - title: values.title, - description: values.description, - url: values.url, - }; - - const { toHex } = web3.utils; - const { submitProposal } = ProposalCuration.methods; - - EmbarkJS.Storage.saveText(JSON.stringify(dataObj)) - .then(hash => { - const hexHash = toHex(hash); - //TODO create toggle for address approval - submitProposal( - values.topic, - values.to, - values.value, - values.data, - hexHash - ) - .send({from: web3.eth.defaultAccount, gasLimit: 1000000}) - .then(res => { - setSubmitting(false); - console.log(res); - }) - .catch(err => { - setSubmitting(false); - //TODO show error - console.log('Storage saveText Error: ', err.message) - }); - }) - } -})(InnerForm) - -export default ProposalManager; diff --git a/app/components/simple-voting/AddPoll.js b/app/components/simple-voting/AddPoll.js index 96880e9..766e391 100644 --- a/app/components/simple-voting/AddPoll.js +++ b/app/components/simple-voting/AddPoll.js @@ -214,25 +214,22 @@ const AddPoll = withFormik({ } setSubmitting(true); - toSend.estimateGas() - .then(gasEstimated => { - console.log("addPoll gas estimated: "+ gasEstimated); - return toSend.send({gas: gasEstimated + 100000}); - }) - .then(res => { - console.log('sucess:', res); - resetForm(); - props.getPolls(); - setSubmitting(false); - props.togglePoll(); - }) - .catch(res => { - console.log('fail:', res); - setErrors({ 'description': res.message.split('Error:').pop().trim() }); - }) - .finally(() => { - setSubmitting(false); - }); + try { + const gasEstimated = await toSend.estimateGas(); + console.log("addPoll gas estimated: "+ gasEstimated); + const res = await toSend.send({gas: gasEstimated + 100000}); + console.log('sucess:', res); + resetForm(); + props.getPolls(); + setSubmitting(false); + props.togglePoll(); + + } catch (err) { + console.log('fail:', err); + setErrors({ 'description': err.message.split('Error:').pop().trim() }); + } + + setSubmitting(false); } })(StyledForm) diff --git a/app/components/snt-ui.js b/app/components/snt-ui.js index 82be32a..e80551f 100644 --- a/app/components/snt-ui.js +++ b/app/components/snt-ui.js @@ -19,7 +19,7 @@ class SNTUI extends React.Component { } componentDidMount(){ - __embarkContext.execWhenReady(async () => { + EmbarkJS.onReady(async () => { this.setState({address: web3.eth.defaultAccount}); }); } @@ -36,7 +36,7 @@ class SNTUI extends React.Component { SNT.methods.controller().call() .then((controller) => { - return SNT.methods.generateTokens(address, value) + return SNT.methods.generateTokens(address, value.toString()) .send({from: controller, gasLimit: 1000000}); }) .then(console.log); diff --git a/app/components/voting-dapp/paginator.js b/app/components/voting-dapp/paginator.js deleted file mode 100644 index d64ccff..0000000 --- a/app/components/voting-dapp/paginator.js +++ /dev/null @@ -1,25 +0,0 @@ -import web3 from "Embark/web3" -import EmbarkJS from 'Embark/EmbarkJS'; -import React, {Fragment} from 'react'; -import {Button} from 'react-bootstrap'; - -const Paginator = props => { - let ln = Math.ceil(props.total / props.recordsByPage); - let btnArray = [] - for(let i = 1; i <= ln; i++){ - btnArray.push() - } - - return
{ - btnArray.map((component, index) => ( - - { component } - - )) - }
; -}; - -export default Paginator; diff --git a/app/components/voting-dapp/proposal-container.js b/app/components/voting-dapp/proposal-container.js deleted file mode 100644 index 163f995..0000000 --- a/app/components/voting-dapp/proposal-container.js +++ /dev/null @@ -1,67 +0,0 @@ -import web3 from "Embark/web3" -import EmbarkJS from 'Embark/EmbarkJS'; -import React, {Component, Fragment} from 'react'; -import Proposal from './proposal'; -import ProposalList from './proposal-list'; -import Paginator from './paginator'; -import ProposalManager from 'Embark/contracts/ProposalManager'; -import ProposalCuration from 'Embark/contracts/ProposalCuration'; - -const pageLength = 4; -class ProposalContainer extends Component { - - constructor(props) { - super(props); - this.state = { - proposals: [], - total: 0, - page: 1 - }; - window['ProposalCuration'] = ProposalCuration; - } - - componentDidMount(){ - __embarkContext.execWhenReady(async () => { - ProposalManager.options.address = await ProposalCuration.methods.proposalManager().call(); - await this.getTotalProposals(); - await this.getProposalsOnPage(this.state.page); - }); - } - - async getTotalProposals(){ - let proposalCount = await ProposalManager.methods.getProposalCount().call(); - this.setState({ - total: parseInt(proposalCount) - }); - } - - async getProposalsOnPage(pageNum){ - this.fetchProposals((pageNum - 1) * pageLength, pageLength, - _p => { - this.setState({ - proposals: _p, - page: pageNum - }); - }); - } - - async fetchProposals(from, qty, cb){ - let proposalList = []; - for(let i = from; i < from + qty && i < this.state.total; i++){ - let res = await ProposalCuration.methods.proposals(i).call(); - res.id = i; - proposalList.push(res); - } - cb(proposalList); - } - - render(){ - return - - this.getProposalsOnPage(pageNum) } /> - ; - } - -} - -export default ProposalContainer; diff --git a/app/components/voting-dapp/proposal-list.js b/app/components/voting-dapp/proposal-list.js deleted file mode 100644 index fc656f7..0000000 --- a/app/components/voting-dapp/proposal-list.js +++ /dev/null @@ -1,11 +0,0 @@ -import React, {Fragment} from 'react'; -import Proposal from './proposal'; - -const ProposalList = props => - - {props.proposals.map((u, i) => ( - - ))} - - -export default ProposalList; diff --git a/app/components/voting-dapp/proposal.js b/app/components/voting-dapp/proposal.js deleted file mode 100644 index c31c497..0000000 --- a/app/components/voting-dapp/proposal.js +++ /dev/null @@ -1,68 +0,0 @@ -import web3 from "Embark/web3" -import React from 'react'; -import $ from 'jquery'; -import { Button, Alert } from 'react-bootstrap'; -import EmbarkJS from 'Embark/EmbarkJS'; -import Voting from './voting'; - -class Proposal extends React.Component { - - constructor(props) { - super(props); - this.state = { - url: null, - title: null, - description: null, - error: null - }; - } - - componentDidUpdate(prevProps, prevState, snapshot){ - if(prevProps.data.description !== this.props.data.description) - this.getProposalData(); - } - - componentDidMount(){ - __embarkContext.execWhenReady(() => { - this.getProposalData(); - }); - } - - getProposalData(){ - let hash = web3.utils.toAscii(this.props.data.description); - EmbarkJS.Storage.get(hash) - .then((content) => { - let jsonObj = JSON.parse(content); - this.setState({ - url: jsonObj.url, - title: jsonObj.title, - description: jsonObj.description - }) - }) - .catch((err) => { - if(err){ - console.log("Storage get Error => " + err.message); - } - }); - } - - render(){ - return (
- { - this.state.error !== null ? - - { this.state.error } - - : '' - } -

{ this.state.title }

-

{ this.state.description }

- { this.state.url } - -
); - } - -} - - -export default Proposal; diff --git a/app/components/voting-dapp/status-bar.js b/app/components/voting-dapp/status-bar.js deleted file mode 100644 index 17a7179..0000000 --- a/app/components/voting-dapp/status-bar.js +++ /dev/null @@ -1,32 +0,0 @@ -import web3 from "Embark/web3" -import EmbarkJS from 'Embark/EmbarkJS'; -import React, {Component} from 'react'; -import SNT from 'Embark/contracts/SNT'; // TODO change this to SNT - -class StatusBar extends Component { - - constructor(props) { - super(props); - this.state = { - balance: 0 - }; - } - - componentWillReceiveProps(){ - __embarkContext.execWhenReady(async () => { - let _b = await SNT.methods.balanceOf(web3.eth.defaultAccount).call(); - this.setState({ - balance: _b - }); - }); - } - - render(){ - return
- SNT Voting Balance: {this.state.balance} -
; - } - -} - -export default StatusBar; diff --git a/app/components/voting-dapp/voting-dapp.js b/app/components/voting-dapp/voting-dapp.js deleted file mode 100644 index cc6a434..0000000 --- a/app/components/voting-dapp/voting-dapp.js +++ /dev/null @@ -1,13 +0,0 @@ -import web3 from "Embark/web3" -import EmbarkJS from 'Embark/EmbarkJS'; -import React from 'react'; -import ProposalContainer from './proposal-container'; -import StatusBar from './status-bar'; - -const VotingDapp = props => -
- - -
; - -export default VotingDapp; diff --git a/app/components/voting-dapp/voting.js b/app/components/voting-dapp/voting.js deleted file mode 100644 index 5241e8b..0000000 --- a/app/components/voting-dapp/voting.js +++ /dev/null @@ -1,159 +0,0 @@ -import web3 from "Embark/web3" -import EmbarkJS from 'Embark/EmbarkJS'; -import React, {Component, Fragment} from 'react'; -import { Button } from 'react-bootstrap'; -import ProposalManager from 'Embark/contracts/ProposalManager'; -import ProposalCuration from 'Embark/contracts/ProposalCuration'; - -class Voting extends Component { - - constructor(props) { - super(props); - this.state = { - decision: 0, - finalResult: null, - data: null, - tabulationAvailable: false, - votingAvailable: false - }; - } - - componentWillReceiveProps(){ - __embarkContext.execWhenReady(async () => { - this._loadProposalData(); - }); - } - - async _loadProposalData() { - ProposalManager.options.address = await ProposalCuration.methods.proposalManager().call(); - const _votingInfo = await ProposalManager.methods.getVoteInfo(this.props.proposalId, web3.eth.defaultAccount).call(); - const _blockNum = await web3.eth.getBlockNumber(); - const _data = await ProposalManager.methods.proposals(this.props.proposalId).call(); - - const _votingAvailable = await ProposalManager.methods.isVotingAvailable(this.props.proposalId).call(); - const _tabulationAvailable = await ProposalManager.methods.isTabulationAvailable(this.props.proposalId).call(); - const _voteTabulated = await ProposalManager.methods.isDelegatorVoteTabulated(this.props.proposalId, web3.eth.defaultAccount).call(); - const _canCalculateFinalResult = await ProposalManager.methods.canCalculateFinalResult(this.props.proposalId).call(); - - this.setState({ - data: _data, - decision: _votingInfo.vote, - block: _blockNum, - finalResult: _data.result, - votingAvailable: _votingAvailable, - tabulationAvailable: _tabulationAvailable, - finalResultAvailable: _canCalculateFinalResult, - voteTabulated: _voteTabulated - }); - } - - async determineFinalResult(e){ - e.preventDefault(); - - let receipt = await ProposalManager.methods.finalResult(this.props.proposalId) - .send({from: web3.eth.defaultAccount, gasLimit: 1000000}); - if(receipt.status == '0x1'){ - this.setState({ - finalResult: receipt.events.ProposalResult.returnValues.finalResult, - finalResultAvailable: false - }); - } - } - - async tabulateVote(e){ - e.preventDefault(); - - const receipt = await ProposalManager.methods.tabulateVote(this.props.proposalId, web3.eth.defaultAccount) - .send({from: web3.eth.defaultAccount, gasLimit: 1000000}); - - // TODO: handle error - - this._loadProposalData(); - } - - async handleClick(e, vote){ - e.preventDefault(); - - let choice = 0; - if(vote == 'APPROVE') - choice = 2; - else - choice = 1; - - const proposal = this.props.proposalId; - const receipt = await ProposalManager.methods.voteProposal(this.props.proposalId, choice) - .send({from: web3.eth.defaultAccount}); - - const _votingAvailable = await ProposalManager.methods.isVotingAvailable(this.props.proposalId).call(); - const _tabulationAvailable = await ProposalManager.methods.isTabulationAvailable(this.props.proposalId).call(); - const _voteTabulated = await ProposalManager.methods.isDelegatorVoteTabulated(this.props.proposalId, web3.eth.defaultAccount).call(); - const _canCalculateFinalResult = await ProposalManager.methods.canCalculateFinalResult(this.props.proposalId).call(); - - const blockNum = await web3.eth.getBlockNumber(); - - if(receipt.status == '0x1'){ - this.setState({ - decision: choice, - block: blockNum, - votingAvailable: _votingAvailable, - tabulationAvailable: _tabulationAvailable, - finalResultAvailable: _canCalculateFinalResult, - voteTabulated: _voteTabulated - }); - } - // TODO: handle error - } - - render(){ - console.log(this.state); - return
- { - this.state.decision != 0 ? -

You voted for:

- : '' - } - - { - this.state.data != null && this.state.votingAvailable ? - - - - - : '' - } - - { - this.state.data != null && this.state.tabulationAvailable && !this.state.voteTabulated ? - - : '' - } - - { - - this.state.finalResultAvailable ? - - : !this.state.tabulationAvailable && !this.state.voteTabulated ? -

Final results aren't available yet

: '' - } - - { this.state.data != null ? -
    -
  • Voting ends on block: {this.state.data.voteBlockEnd }
  • -
  • Current Block: { this.state.block }
  • -
  • Final Result:
  • -
- : '' } - -
; - } -} - - -const ResultChoice = props => -{props.decision.toString() == '1' ? 'REJECT' : props.decision.toString() == '2' ? 'APPROVE' : ''} - - - - - -export default Voting; diff --git a/app/css/.gitkeep b/app/css/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/js/.gitkeep b/app/js/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/js/index.js b/app/js/index.js new file mode 100644 index 0000000..5b0f64d --- /dev/null +++ b/app/js/index.js @@ -0,0 +1,6 @@ +import EmbarkJS from 'Embark/EmbarkJS'; + +// import your contracts +// e.g if you have a contract named SimpleStorage: +//import SimpleStorage from 'Embark/contracts/SimpleStorage'; + diff --git a/config/blockchain.js b/config/blockchain.js new file mode 100644 index 0000000..3266aca --- /dev/null +++ b/config/blockchain.js @@ -0,0 +1,105 @@ +module.exports = { + // applies to all environments + default: { + enabled: true, + rpcHost: "localhost", // HTTP-RPC server listening interface (default: "localhost") + rpcPort: 8545, // HTTP-RPC server listening port (default: 8545) + rpcCorsDomain: "auto", // Comma separated list of domains from which to accept cross origin requests (browser enforced) + // When set to "auto", Embark will automatically set the cors to the address of the webserver + wsRPC: true, // Enable the WS-RPC server + wsOrigins: "auto", // Origins from which to accept websockets requests + // When set to "auto", Embark will automatically set the cors to the address of the webserver + wsHost: "localhost", // WS-RPC server listening interface (default: "localhost") + wsPort: 8546 // WS-RPC server listening port (default: 8546) + }, + + // default environment, merges with the settings in default + // assumed to be the intended environment by `embark run` and `embark blockchain` + development: { + networkType: "custom", // Can be: testnet, rinkeby, livenet or custom, in which case, it will use the specified networkId + networkId: "1337", // Network id used when networkType is custom + isDev: true, // Uses and ephemeral proof-of-authority network with a pre-funded developer account, mining enabled + datadir: ".embark/development/datadir", // Data directory for the databases and keystore + mineWhenNeeded: true, // Uses our custom script (if isDev is false) to mine only when needed + nodiscover: true, // Disables the peer discovery mechanism (manual peer addition) + maxpeers: 0, // Maximum number of network peers (network disabled if set to 0) (default: 25) + proxy: false, // Proxy is used to present meaningful information about transactions + targetGasLimit: 8000000, // Target gas limit sets the artificial target gas floor for the blocks to mine + simulatorMnemonic: "example exile argue silk regular smile grass bomb merge arm assist farm", // Mnemonic used by the simulator to generate a wallet + simulatorBlocktime: 0, // Specify blockTime in seconds for automatic mining. Default is 0 and no auto-mining. + account: { + // numAccounts: 3, // When specified, creates accounts for use in the dapp. This option only works in the development environment, and can be used as a quick start option that bypasses the need for MetaMask in development. These accounts are unlocked and funded with the below settings. + // password: "config/development/password", // Password for the created accounts (as specified in the `numAccounts` setting). If `mineWhenNeeded` is enabled (and isDev is not), this password is used to create a development account controlled by the node. + // balance: "5 ether" // Balance to be given to the created accounts (as specified in the `numAccounts` setting) + } + }, + + // merges with the settings in default + // used with "embark run privatenet" and/or "embark blockchain privatenet" + privatenet: { + networkType: "custom", + networkId: "1337", + isDev: false, + datadir: ".embark/privatenet/datadir", + // -- mineWhenNeeded -- + // This options is only valid when isDev is false. + // Enabling this option uses our custom script to mine only when needed. + // Embark creates a development account for you (using `geth account new`) and funds the account. This account can be used for + // development (and even imported in to MetaMask). To enable correct usage, a password for this account must be specified + // in the `account > password` setting below. + // NOTE: once `mineWhenNeeded` is enabled, you must run an `embark reset` on your dApp before running + // `embark blockchain` or `embark run` for the first time. + mineWhenNeeded: true, + // -- genesisBlock -- + // This option is only valid when mineWhenNeeded is true (which is only valid if isDev is false). + // When enabled, geth uses POW to mine transactions as it would normally, instead of using POA as it does in --dev mode. + // On the first `embark blockchain or embark run` after this option is enabled, geth will create a new chain with a + // genesis block, which can be configured using the `genesisBlock` configuration option below. + genesisBlock: "config/privatenet/genesis.json", // Genesis block to initiate on first creation of a development node + nodiscover: true, + maxpeers: 0, + proxy: true, + account: { + // "address": "", // When specified, uses that address instead of the default one for the network + password: "config/privatenet/password" // Password to unlock the account. If `mineWhenNeeded` is enabled (and isDev is not), this password is used to create a development account controlled by the node. + }, + targetGasLimit: 8000000, + simulatorMnemonic: "example exile argue silk regular smile grass bomb merge arm assist farm", + simulatorBlocktime: 0 + }, + + // merges with the settings in default + // used with "embark run testnet" and/or "embark blockchain testnet" + testnet: { + networkType: "testnet", + syncMode: "light", + account: { + password: "config/testnet/password" + } + }, + + testnet_devcoin: { + networkType: "testnet", + syncMode: "light", + account: { + password: "config/testnet/password" + } + }, + + // merges with the settings in default + // used with "embark run livenet" and/or "embark blockchain livenet" + livenet: { + networkType: "livenet", + syncMode: "light", + rpcCorsDomain: "http://localhost:8000", + wsOrigins: "http://localhost:8000", + account: { + password: "config/livenet/password" + } + } + + // you can name an environment with specific settings and then specify with + // "embark run custom_name" or "embark blockchain custom_name" + //custom_name: { + //} +}; diff --git a/config/blockchain.json b/config/blockchain.json deleted file mode 100644 index ff3b0ab..0000000 --- a/config/blockchain.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "development": { - "enabled": true, - "networkType": "custom", - "genesisBlock": "config/development/genesis.json", - "datadir": ".embark/development/datadir", - "mineWhenNeeded": true, - "nodiscover": true, - "maxpeers": 0, - "rpcHost": "localhost", - "rpcPort": 8545, - "rpcCorsDomain": "auto", - "account": { - "password": "config/development/password" - }, - "targetGasLimit": 8000000, - "wsOrigins": "auto", - "wsRPC": true, - "wsHost": "localhost", - "wsPort": 8546, - "simulatorMnemonic": "example exile argue silk regular smile grass bomb merge arm assist farm", - "simulatorBlocktime": 0 - }, - - - "testnet": { - "enabled": true, - "proxy": false, - "networkType": "testnet", - "syncMode": "light", - "rpcHost": "localhost", - "rpcPort": 8545, - "rpcCorsDomain": "http://localhost:8000", - "account": { - "password": "config/testnet/password" - } - }, - - - "testnet_devcoin": { - "enabled": true, - "proxy": false, - "networkType": "testnet", - "syncMode": "light", - "rpcHost": "localhost", - "rpcPort": 8545, - "rpcCorsDomain": "http://localhost:8000", - "account": { - "password": "config/testnet/password" - } - }, - - - "staging": { - "enabled": true, - "proxy": false, - "networkType": "livenet", - "syncMode": "light", - "rpcHost": "localhost", - "rpcPort": 8545, - "rpcCorsDomain": "http://localhost:8000", - "account": { - "password": "config/staging/password" - } - }, - "livenet": { - "enabled": true, - "proxy": false, - "networkType": "livenet", - "syncMode": "light", - "rpcHost": "localhost", - "rpcPort": 8545, - "rpcCorsDomain": "http://localhost:8000", - "account": { - "password": "config/livenet/password" - } - }, - "privatenet": { - "enabled": true, - "proxy": false, - "networkType": "custom", - "rpcHost": "localhost", - "rpcPort": 8545, - "rpcCorsDomain": "http://localhost:8000", - "datadir": "yourdatadir", - "networkId": "123", - "bootnodes": "" - } -} diff --git a/config/communication.js b/config/communication.js new file mode 100644 index 0000000..ce42a42 --- /dev/null +++ b/config/communication.js @@ -0,0 +1,40 @@ +module.exports = { + // default applies to all environments + default: { + enabled: false, + provider: "whisper", // Communication provider. Currently, Embark only supports whisper + available_providers: ["whisper"], // Array of available providers + }, + + // default environment, merges with the settings in default + // assumed to be the intended environment by `embark run` + development: { + connection: { + host: "localhost", // Host of the blockchain node + port: 8546, // Port of the blockchain node + type: "ws" // Type of connection (ws or rpc) + } + }, + + // merges with the settings in default + // used with "embark run privatenet" + privatenet: { + }, + + + // merges with the settings in default + // used with "embark run testnet" + testnet: { + }, + + // merges with the settings in default + // used with "embark run livenet" + livenet: { + }, + + // you can name an environment with specific settings and then specify with + // "embark run custom_name" + //custom_name: { + //} +}; + diff --git a/config/communication.json b/config/communication.json deleted file mode 100644 index 80ec2f8..0000000 --- a/config/communication.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "default": { - "enabled": true, - "provider": "whisper", - "available_providers": ["whisper", "orbit"], - "connection": { - "host": "localhost", - "port": 8546, - "type": "ws" - } - } -} diff --git a/config/contracts.js b/config/contracts.js new file mode 100644 index 0000000..ed7f146 --- /dev/null +++ b/config/contracts.js @@ -0,0 +1,185 @@ +module.exports = { + // default applies to all environments + default: { + // Blockchain node to deploy the contracts + deployment: { + host: "localhost", // Host of the blockchain node + port: 8545, // Port of the blockchain node + type: "rpc" // Type of connection (ws or rpc), + // Accounts to use instead of the default account to populate your wallet + /*,accounts: [ + { + privateKey: "your_private_key", + balance: "5 ether" // You can set the balance of the account in the dev environment + // Balances are in Wei, but you can specify the unit with its name + }, + { + privateKeyFile: "path/to/file", // Either a keystore or a list of keys, separated by , or ; + password: "passwordForTheKeystore" // Needed to decrypt the keystore file + }, + { + mnemonic: "12 word mnemonic", + addressIndex: "0", // Optionnal. The index to start getting the address + numAddresses: "1", // Optionnal. The number of addresses to get + hdpath: "m/44'/60'/0'/0/" // Optionnal. HD derivation path + } + ]*/ + }, + // order of connections the dapp should connect to + dappConnection: [ + "$WEB3", // uses pre existing web3 object if available (e.g in Mist) + "ws://localhost:8546", + "http://localhost:8545" + ], + gas: "auto", + contracts: { + "ERC20Receiver": { "deploy": false }, + "MiniMeToken": { "deploy": false }, + "TestToken": { + }, + "MiniMeTokenFactory": { + + }, + "SNT": { + "instanceOf": "MiniMeToken", + "args": [ + "$MiniMeTokenFactory", + "0x0000000000000000000000000000000000000000", + 0, + "TestMiniMeToken", + 18, + "TST", + true + ] + }, + "PollManager": { + "args": ["$SNT"] + }, + "RLPHelper": { + "deploy": false + }, + "RLPReader": { + "deploy": false + } + } + }, + + // default environment, merges with the settings in default + // assumed to be the intended environment by `embark run` + development: { + dappConnection: [ + "ws://localhost:8546", + "http://localhost:8545", + "$WEB3" // uses pre existing web3 object if available (e.g in Mist) + ] + }, + + // merges with the settings in default + // used with "embark run privatenet" + privatenet: { + }, + + // merges with the settings in default + // used with "embark run testnet" + testnet: { + deployment: { + host: "localhost", + port: 8545, + type: "rpc", + accounts: [ + { + privateKey: "0x00000...." + } + ] + }, + "contracts": { + "TestToken": { "deploy": false }, + "MiniMeTokenFactory": { + "address": "0x6bfa86a71a7dbc68566d5c741f416e3009804279" + }, + "SNT": { + "instanceOf": "MiniMeToken", + "address": "0xc55cf4b03948d7ebc8b9e8bad92643703811d162" + }, + "PollManager": { + "args": ["$SNT"], + "gasPrice": 5000000000 + } + } + }, + + "testnet_devcoin":{ + deployment: { + host: "localhost", + port: 8545, + type: "rpc", + accounts: [ + { + privateKey: "0x00000...." + } + ] + }, + "contracts": { + "TestToken": { "deploy": false }, + "MiniMeTokenFactory": { + "gasPrice": 5000000000 + }, + "SNT": { + "instanceOf": "MiniMeToken", + "args": [ + "$MiniMeTokenFactory", + "0x0000000000000000000000000000000000000000", + 0, + "Status Core Dev Token (TEST)", + 18, + "SCT", + true + ], + "gasPrice": 5000000000 + }, + "PollManager": { + "args": ["$SNT"], + "gasPrice": 5000000000 + } + } + }, + + "staging":{ + "contracts": { + "TestToken": { "deploy": false }, + "MiniMeTokenFactory": { + "address": "0xa1c957C0210397D2d0296341627B74411756d476" + }, + "SNT": { + "instanceOf": "MiniMeToken", + "address": "0x744d70fdbe2ba4cf95131626614a1763df805b9e" + }, + "PollManager": { + "address": "0x0e222932911b9a558104b4b4b2f330398561436f" + } + } + }, + + // merges with the settings in default + // used with "embark run livenet" + livenet: { + "contracts": { + "TestToken": { "deploy": false }, + "MiniMeTokenFactory": { + "address": "0xa1c957C0210397D2d0296341627B74411756d476" + }, + "SNT": { + "instanceOf": "MiniMeToken", + "address": "0x744d70fdbe2ba4cf95131626614a1763df805b9e" + }, + "PollManager": { + "address": "0x0e222932911b9a558104b4b4b2f330398561436f" + } + } + }, + + // you can name an environment with specific settings and then specify with + // "embark run custom_name" or "embark blockchain custom_name" + //custom_name: { + //} +}; diff --git a/config/contracts.json b/config/contracts.json deleted file mode 100644 index b9c4d53..0000000 --- a/config/contracts.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "default": { - "deployment": { - "host": "localhost", - "port": 8545, - "type": "rpc" - }, - "dappConnection": [ - "$WEB3", - "http://localhost:8545" - ], - - "gas": "auto", - "contracts": { - "ERC20Receiver": { "deploy": false }, - "MiniMeToken": { "deploy": false }, - "TestToken": { - }, - "MiniMeTokenFactory": { - - }, - "SNT": { - "instanceOf": "MiniMeToken", - "args": [ - "$MiniMeTokenFactory", - 0, - 0, - "TestMiniMeToken", - 18, - "TST", - true - ] - }, - "PollManager": { - "args": ["$SNT"] - }, - "RLPHelper": { - "deploy": false - }, - "RLPReader": { - "deploy": false - } - } - }, - - "testnet":{ - "deployment": { - "host": "localhost", - "port": 8545, - "type": "rpc", - "accounts": [ - { - "privateKey": "0x00000" - } - ] - }, - "contracts": { - "TestToken": { "deploy": false }, - "MiniMeTokenFactory": { - "address": "0x6bfa86a71a7dbc68566d5c741f416e3009804279" - }, - "SNT": { - "instanceOf": "MiniMeToken", - "address": "0xc55cf4b03948d7ebc8b9e8bad92643703811d162" - }, - "PollManager": { - "args": ["$SNT"], - "gasPrice": 5000000000 - } - } - }, - - "testnet_devcoin":{ - "deployment": { - "host": "localhost", - "port": 8545, - "type": "rpc", - "accounts": [ - { - "privateKey": "0x00000" - } - ] - }, - "contracts": { - "TestToken": { "deploy": false }, - "MiniMeTokenFactory": { - "gasPrice": 5000000000 - }, - "SNT": { - "instanceOf": "MiniMeToken", - "args": [ - "$MiniMeTokenFactory", - 0, - 0, - "Status Core Dev Token (TEST)", - 18, - "SCT", - true - ], - "gasPrice": 5000000000 - }, - "PollManager": { - "args": ["$SNT"], - "gasPrice": 5000000000 - } - } - }, - - - - "staging":{ - "contracts": { - "TestToken": { "deploy": false }, - "MiniMeTokenFactory": { - "address": "0xa1c957C0210397D2d0296341627B74411756d476" - }, - "SNT": { - "instanceOf": "MiniMeToken", - "address": "0x744d70fdbe2ba4cf95131626614a1763df805b9e" - }, - "PollManager": { - "address": "0x0e222932911b9a558104b4b4b2f330398561436f" - } - } - }, - "livenet":{ - "contracts": { - "TestToken": { "deploy": false }, - "MiniMeTokenFactory": { - "address": "0xa1c957C0210397D2d0296341627B74411756d476" - }, - "SNT": { - "instanceOf": "MiniMeToken", - "address": "0x744d70fdbe2ba4cf95131626614a1763df805b9e" - }, - "PollManager": { - "address": "0x0e222932911b9a558104b4b4b2f330398561436f" - } - } - } -} diff --git a/config/namesystem.js b/config/namesystem.js index 8305df8..5f4d682 100644 --- a/config/namesystem.js +++ b/config/namesystem.js @@ -1,7 +1,39 @@ module.exports = { + // default applies to all environments default: { enabled: false, available_providers: ["ens"], provider: "ens" - } + }, + + // default environment, merges with the settings in default + // assumed to be the intended environment by `embark run` + development: { + register: { + rootDomain: "embark.eth", + subdomains: { + 'status': '0x1a2f3b98e434c02363f3dac3174af93c1d690914' + } + } + }, + + // merges with the settings in default + // used with "embark run privatenet" + privatenet: { + }, + + // merges with the settings in default + // used with "embark run testnet" + testnet: { + }, + + // merges with the settings in default + // used with "embark run livenet" + livenet: { + }, + + // you can name an environment with specific settings and then specify with + // "embark run custom_name" or "embark blockchain custom_name" + //custom_name: { + //} }; diff --git a/config/development/genesis.json b/config/privatenet/genesis.json similarity index 90% rename from config/development/genesis.json rename to config/privatenet/genesis.json index 1a9501b..a67418b 100644 --- a/config/development/genesis.json +++ b/config/privatenet/genesis.json @@ -1,7 +1,7 @@ { "config": { - "homesteadBlock": 1, - "byzantiumBlock": 1, + "homesteadBlock": 0, + "byzantiumBlock": 0, "daoForkSupport": true }, "nonce": "0x0000000000000042", diff --git a/config/development/password b/config/privatenet/password similarity index 100% rename from config/development/password rename to config/privatenet/password diff --git a/config/storage.js b/config/storage.js new file mode 100644 index 0000000..52a148f --- /dev/null +++ b/config/storage.js @@ -0,0 +1,59 @@ +module.exports = { + // default applies to all environments + default: { + enabled: true, + ipfs_bin: "ipfs", + provider: "ipfs", + available_providers: ["ipfs"], + upload: { + host: "localhost", + port: 5001 + }, + dappConnection: [ + { + provider: "ipfs", + host: "localhost", + port: 5001, + getUrl: "http://localhost:8080/ipfs/" + } + ] + // Configuration to start Swarm in the same terminal as `embark run` + /*,account: { + address: "YOUR_ACCOUNT_ADDRESS", // Address of account accessing Swarm + password: "PATH/TO/PASSWORD/FILE" // File containing the password of the account + }, + swarmPath: "PATH/TO/SWARM/EXECUTABLE" // Path to swarm executable (default: swarm)*/ + }, + + // default environment, merges with the settings in default + // assumed to be the intended environment by `embark run` + development: { + enabled: false, + provider: "ipfs", + upload: { + host: "localhost", + port: 5001, + getUrl: "http://localhost:8080/ipfs/" + } + }, + + // merges with the settings in default + // used with "embark run privatenet" + privatenet: { + }, + + // merges with the settings in default + // used with "embark run testnet" + testnet: { + }, + + // merges with the settings in default + // used with "embark run livenet" + livenet: { + }, + + // you can name an environment with specific settings and then specify with + // "embark run custom_name" + //custom_name: { + //} +}; diff --git a/config/storage.json b/config/storage.json deleted file mode 100644 index 45bc9d5..0000000 --- a/config/storage.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "default": { - "versions": { - "ipfs-api": "17.2.4" - }, - "enabled": false, - "ipfs_bin": "ipfs", - "provider": "ipfs", - "available_providers": ["ipfs"], - "host": "localhost", - "port": 5001 - }, - "development": { - "enabled": false, - "provider": "ipfs", - "host": "localhost", - "port": 5001, - "getUrl": "http://localhost:8080/ipfs/" - } -} diff --git a/config/webserver.js b/config/webserver.js new file mode 100644 index 0000000..506490b --- /dev/null +++ b/config/webserver.js @@ -0,0 +1,6 @@ +module.exports = { + enabled: true, + host: "localhost", + openBrowser: true, + port: 8000 +}; diff --git a/config/webserver.json b/config/webserver.json deleted file mode 100644 index c28a311..0000000 --- a/config/webserver.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "enabled": true, - "host": "localhost", - "port": 8000 -} diff --git a/contracts/.gitkeep b/contracts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/embark.json b/embark.json index dbe7f91..d2a744f 100644 --- a/embark.json +++ b/embark.json @@ -2,18 +2,22 @@ "contracts": ["contracts/**"], "app": { "js/dapp.js": ["app/dapp.js"], - "js/migration.js": ["app/migration.js"], "index.html": "app/index.html", - "migration.html": "app/migration.html", "images/": ["app/images/**"] }, "buildDir": "dist/", "config": "config/", "versions": { "web3": "1.0.0-beta.34", - "solc": "0.4.24", + "solc": "0.4.25", "ipfs-api": "17.2.4" }, "plugins": { + }, + "options": { + "solc": { + "optimize": true, + "optimize-runs": 200 + } } } diff --git a/package-lock.json b/package-lock.json index b992ac9..4e788f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,27 +4,374 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0.tgz", + "integrity": "sha512-/BM2vupkpbZXq22l1ALO7MqXJZH2k8bKVv8Y+pABFnzWdztDB/ZLveP5At21vLz5c2YtSE6p7j2FZEsqafMz5Q==", + "dev": true, + "requires": { + "@babel/types": "7.0.0", + "jsesc": "2.5.1", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.1.0", + "@babel/types": "7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "requires": { + "@babel/types": "7.0.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz", + "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.1.0", + "@babel/types": "7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "7.0.0" + } + }, + "@babel/helper-wrap-function": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz", + "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.1.0", + "@babel/traverse": "7.1.0", + "@babel/types": "7.0.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.0.tgz", + "integrity": "sha512-SmjnXCuPAlai75AFtzv+KCBcJ3sDDWbIn+WytKw1k+wAtEy6phqI2RqKh/zAnw53i1NR8su3Ep/UoqaKcimuLg==", + "dev": true + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.1.0.tgz", + "integrity": "sha512-/PCJWN+CKt5v1xcGn4vnuu13QDoV+P7NcICP44BoonAJoPSGwVkgrXihFIQGiEjjPlUDBIw1cM7wYFLARS2/hw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "7.1.0", + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.1.0", + "@babel/plugin-syntax-class-properties": "7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.1.0.tgz", + "integrity": "sha512-/ljbdikH1lPjylMlvq9yQcrwFI9Z0zstHoihZ4/4BKuv+Fl9uQoY9E3wxv12wkQ9FPBg7JYNt7uRl3Kiz0Wnrw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/plugin-syntax-decorators": "7.1.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.0.0.tgz", + "integrity": "sha512-UZuK8lkobh3570vCu0sxDQn+ZlCV6CVLlXe+nNohvPr6/zI5I+j4Ir2fTTCG0ayBQanym0N+29K5+v4c8SATaQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-export-namespace-from": "7.0.0" + } + }, + "@babel/plugin-proposal-function-sent": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.1.0.tgz", + "integrity": "sha512-yciM4dketj0pjd1enirzfVWclzSCzjOljHx8E4DJUBq/q65CuaKsX2zhpdImzcn6TtFupzdcuchbqN00IEKDAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-wrap-function": "7.1.0", + "@babel/plugin-syntax-function-sent": "7.0.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz", + "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-json-strings": "7.0.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.0.0.tgz", + "integrity": "sha512-m4iDNpbBv2rTxxgViAeaqLOStc2wrlVAC5ifp6pjBPG29F56LdlPgf5CQYzj99y3kYeKqsyf/dcMx/r+QfwMZg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-numeric-separator": "7.0.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-object-rest-spread": "7.0.0" + } + }, + "@babel/plugin-proposal-throw-expressions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.0.0.tgz", + "integrity": "sha512-CA2EUiwnbXrsdV4hy3jYghm91WaL7zL7xYfu628dyItRr6gylbRxshghGEK/Hhm//rR58N3PBmEeuYqSW57IUQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-throw-expressions": "7.0.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0.tgz", + "integrity": "sha512-cR12g0Qzn4sgkjrbrzWy2GE7m9vMl/sFkqZ3gIpAQdrvPDnLM8180i+ANDFIXfjHo9aqp0ccJlQ0QNZcFUbf9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.1.0.tgz", + "integrity": "sha512-uQvRSbgQ0nQg3jsmIixXXDCgSpkBolJ9X7NYThMKCcjvE8dN2uWJUzTUNNAeuKOjARTd+wUQV0ztXpgunZYKzQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0.tgz", + "integrity": "sha512-Gt9xNyRrCHCiyX/ZxDGOcBnlJl0I3IWicpZRC4CdC0P5a/I07Ya2OAMEBU+J7GmRFVmIetqEYRko6QYRuKOESw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.0.0.tgz", + "integrity": "sha512-l314XT1eMa0MWboSmG4BdKukHfSpSpQRenUoZmEpL6hqc5nc1/ddpLETjPB77gZE1dZ9qxy5D3U3UUjjcX2d4g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-function-sent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0.tgz", + "integrity": "sha512-j+D8C+clbieA+1UFlRzMkVozWNLB94TCJsUUE7OCyKBRM329ZZXnFPjgm0em5ddLsKV9DNpdtaOZsNZ1J7gHyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.0.0.tgz", + "integrity": "sha512-FEoGvhXVAiWzpDjyZIlBGzKyNk/lnRPy7aPke3PjVkiAY0QFsvFfkjUg5diRwVfowBA8SJqvFt0ZoXNSjl70hQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz", + "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.0.0.tgz", + "integrity": "sha512-t9RMUPWsFXVeUZxEOhIDkVqYLi1sWOTjxFBAp8wJtaARilvkGlEQvSObd2W5YKicDktINI9XmdV0sB2FZaLOpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-syntax-throw-expressions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.0.0.tgz", + "integrity": "sha512-/5uORdWlPta/ALhI5zKtm0Y9vAYOa7HJMML0OnCGk9XZA4hpGjb0Xjt/OVDCJVawC/4FrlAGCHOaj9BtWeVDvg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, "@babel/runtime": { - "version": "7.0.0-beta.55", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.55.tgz", - "integrity": "sha1-C8M6paasCwEvN+JbnmqqLkiakWs=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz", + "integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==", + "requires": { + "regenerator-runtime": "0.12.1" + } + }, + "@babel/runtime-corejs2": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.0.0.tgz", + "integrity": "sha512-Yww0jXgolNtkhcK+Txo5JN+DjBpNmmAtD7G99HOebhEjBzjnACG09Tip9C8lSOF6PrhA56OeJWeOZduNJaKxBA==", "requires": { "core-js": "2.5.7", - "regenerator-runtime": "0.12.0" + "regenerator-runtime": "0.12.1" + }, + "dependencies": { + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + } + } + }, + "@babel/template": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.0.tgz", + "integrity": "sha512-yZ948B/pJrwWGY6VxG6XRFsVTee3IQ7bihq9zFpM00Vydu6z5Xwg0C3J644kxI9WOTzd+62xcIsQ+AT1MGhqhA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.1.0", + "@babel/types": "7.0.0" + } + }, + "@babel/traverse": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz", + "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.0.0", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.1.0", + "@babel/types": "7.0.0", + "debug": "3.1.0", + "globals": "11.7.0", + "lodash": "4.17.11" + } + }, + "@babel/types": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz", + "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "@material-ui/core": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.4.2.tgz", - "integrity": "sha512-lbERgufu9mrj8QTkkEUWC1fULsEEtuJp8CiaVboAN+H+vwb4EZtSp9cfx0l87dyDA38kMf7TclCDuX0sicXC3A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.1.1.tgz", + "integrity": "sha512-AFAKrldoG8GrP6w+9uzHdbm9GQC+cuggKhv8yG2FcUcXoyAzyLZQww1tgTj+hXNMEuOs2l55oFBo2RNNFoGwWQ==", "requires": { - "@babel/runtime": "7.0.0-beta.55", - "@types/jss": "9.5.4", - "@types/react-transition-group": "2.0.11", + "@babel/runtime": "7.0.0", + "@types/jss": "9.5.6", + "@types/react-transition-group": "2.0.14", "brcast": "3.0.1", "classnames": "2.2.6", - "csstype": "2.5.6", - "debounce": "1.1.0", + "csstype": "2.5.7", + "debounce": "1.2.0", "deepmerge": "2.1.1", "dom-helpers": "3.3.1", "hoist-non-react-statics": "2.5.5", @@ -38,21 +385,37 @@ "jss-vendor-prefixer": "7.0.0", "keycode": "2.2.0", "normalize-scroll-left": "0.1.2", - "popper.js": "1.14.3", + "popper.js": "1.14.4", "prop-types": "15.6.2", - "react-event-listener": "0.6.1", + "react-event-listener": "0.6.4", "react-jss": "8.6.1", - "react-transition-group": "2.4.0", - "recompose": "0.27.1", - "warning": "4.0.1" + "react-transition-group": "2.5.0", + "recompose": "0.30.0", + "warning": "4.0.2" } }, "@material-ui/icons": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-1.1.0.tgz", - "integrity": "sha512-Z4Xo/EYXuVqCIOjLw7AeBJPtJZsgy9dMAdqu6uYr7gxAefFA8L/QukLv/XE5ByxKYvRhzFG/AjA2OKXwKqfXBQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-3.0.1.tgz", + "integrity": "sha512-1kNcxYiIT1x8iDPEAlgmKrfRTIV8UyK6fLVcZ9kMHIKGWft9I451V5mvSrbCjbf7MX1TbLWzZjph0aVCRf9MqQ==", "requires": { - "recompose": "0.27.1" + "@babel/runtime": "7.0.0", + "recompose": "0.29.0" + }, + "dependencies": { + "recompose": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.29.0.tgz", + "integrity": "sha512-J/qLXNU4W+AeHCDR70ajW8eMd1uroqZaECTj6qqDLPMILz3y0EzpYlvrnxKB9DnqcngWrtGwjXY9JeXaW9kS1A==", + "requires": { + "@babel/runtime": "7.0.0", + "change-emitter": "0.1.6", + "fbjs": "0.8.17", + "hoist-non-react-statics": "2.5.5", + "react-lifecycles-compat": "3.0.4", + "symbol-observable": "1.0.4" + } + } } }, "@material-ui/lab": { @@ -68,45 +431,50 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz", "integrity": "sha512-Nifv2kwP/nwR39cAOasNxzjYfpeuf/ZbZNtQz5eYxWTC9yHARU9wItFnAwz1GTZ62MU+AtSjzZPMbLK5Q9hmbg==", "requires": { - "regenerator-runtime": "0.12.0" + "regenerator-runtime": "0.12.1" } } } }, "@types/jss": { - "version": "9.5.4", - "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.4.tgz", - "integrity": "sha512-FAZoCrLjEb0GUgDP1I20748eIwyshM38cXJMFJ7hW2XbtSEo8RrSebgAH3jdXF4FV4NKzyD0TvXlf2MDE8yGrA==", + "version": "9.5.6", + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.6.tgz", + "integrity": "sha512-7TWmR5y1jYG4ka4wTZt65RR0kw4WgALFUWktQIWbLnDd6/z/0SQZ/4+UeH0rhdp+HEdIfmzPBH0VwE/4Z9Evzw==", "requires": { - "csstype": "2.5.6", + "csstype": "2.5.7", "indefinite-observable": "1.0.1" } }, + "@types/prop-types": { + "version": "15.5.6", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.6.tgz", + "integrity": "sha512-ZBFR7TROLVzCkswA3Fmqq+IIJt62/T7aY/Dmz+QkU7CaW2QFqAitCE8Ups7IzmGhcN1YWMBT4Qcoc07jU9hOJQ==" + }, "@types/react": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.7.tgz", - "integrity": "sha512-tHpSs7HMyjnpyfzka1G0pYh7rBNdpwGgcIDT4vfV6jUaR69yOHo/vNH2H+d9iYHo9xnX4qDe7UalPe9HiGRkLw==", + "version": "16.4.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.14.tgz", + "integrity": "sha512-Gh8irag2dbZ2K6vPn+S8+LNrULuG3zlCgJjVUrvuiUK7waw9d9CFk2A/tZFyGhcMDUyO7tznbx1ZasqlAGjHxA==", "requires": { - "csstype": "2.5.6" + "@types/prop-types": "15.5.6", + "csstype": "2.5.7" } }, "@types/react-transition-group": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.11.tgz", - "integrity": "sha512-ZLShHPYsjehQBQq1wD9EQBU1BngZOJZMTuUEipENbYPvZMt4bbLcVUaohZTilKLu0viZouadQ6mANHYynNcUOQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.14.tgz", + "integrity": "sha512-pa7qB0/mkhwWMBFoXhX8BcntK8G4eQl4sIfSrJCxnivTYRQWjOWf2ClR9bWdm0EUFBDHzMbKYS+QYfDtBzkY4w==", "requires": { - "@types/react": "16.4.7" + "@types/react": "16.4.14" } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } }, "asap": { "version": "2.0.6", @@ -122,300 +490,6 @@ "is-buffer": "1.1.6" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - }, - "dependencies": { - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - } - } - }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "requires": { - "babel-helper-bindify-decorators": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=" - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-generators": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "requires": { - "babel-helper-explode-class": "6.24.1", - "babel-plugin-syntax-decorators": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "requires": { - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-decorators": "6.24.1", - "babel-preset-stage-3": "6.24.1" - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "requires": { - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-generator-functions": "6.24.1", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-object-rest-spread": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, "bignumber.js": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-5.0.0.tgz", @@ -432,15 +506,14 @@ "integrity": "sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg==" }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, "requires": { - "ansi-styles": "2.2.1", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "supports-color": "5.5.0" } }, "change-emitter": { @@ -453,10 +526,25 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" }, "css-vendor": { "version": "0.3.8", @@ -467,14 +555,14 @@ } }, "csstype": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.6.tgz", - "integrity": "sha512-tKPyhy0FmfYD2KQYXD5GzkvAYLYj96cMLXr648CKGd3wBe0QqoPipImjGiLze9c8leJK8J3n7ap90tpk3E6HGQ==" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz", + "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==" }, "debounce": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.1.0.tgz", - "integrity": "sha512-ZQVKfRVlwRfD150ndzEK8M90ABT+Y/JQKs4Y7U4MXdpuoUkkrr4DwKbVux3YjylA5bUMUj0Nc3pMxPJX6N2QQQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" }, "debug": { "version": "3.1.0", @@ -499,18 +587,20 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.23" + "iconv-lite": "0.4.24" } }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "fbjs": { "version": "0.8.17", @@ -524,13 +614,6 @@ "promise": "7.3.1", "setimmediate": "1.0.5", "ua-parser-js": "0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } } }, "follow-redirects": { @@ -543,7 +626,7 @@ }, "formik": { "version": "0.11.11", - "resolved": "https://registry.npmjs.org/formik/-/formik-0.11.11.tgz", + "resolved": "http://registry.npmjs.org/formik/-/formik-0.11.11.tgz", "integrity": "sha1-SwKDgTPAGWse9EOqlzdmzQl+xKU=", "requires": { "lodash.clonedeep": "4.5.0", @@ -564,17 +647,16 @@ } }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "dev": true }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.1.1" - } + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "hoist-non-react-statics": { "version": "2.5.5", @@ -587,9 +669,9 @@ "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=" }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": "2.1.2" } @@ -649,7 +731,7 @@ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.4" + "whatwg-fetch": "3.0.0" } }, "jquery": { @@ -662,6 +744,12 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true + }, "jss": { "version": "9.8.7", "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.7.tgz", @@ -818,9 +906,9 @@ "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=" }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "lodash.clonedeep": { "version": "4.5.0", @@ -870,9 +958,9 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "popper.js": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.3.tgz", - "integrity": "sha1-FDj5jQRqz3tNeM1QK/QYrGTU8JU=" + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz", + "integrity": "sha1-juwdj/AqWjoVLdQ0FKFce3n9abY=" }, "promise": { "version": "7.3.1", @@ -896,7 +984,7 @@ "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.0.tgz", "integrity": "sha512-QFyuDxvMipmIVKD2TwxLVPzMnO4e5oOf1vr3tJIomL8E7d0lr6phTHd5nkPhFIzTD1idBLLEPeylL9g+rrTzRg==", "requires": { - "react-is": "16.4.1", + "react-is": "16.5.2", "warning": "3.0.0" }, "dependencies": { @@ -911,14 +999,14 @@ } }, "react": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.4.1.tgz", - "integrity": "sha512-3GEs0giKp6E0Oh/Y9ZC60CmYgUPnp7voH9fbjWsvXtYFb4EWtgQub0ADSq0sJR0BbHc4FThLLtzlcFaFXIorwg==", + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.5.2.tgz", + "integrity": "sha512-FDCSVd3DjVTmbEAjUNX6FgfAmQ+ypJfHUsqUJOYNCBUp1h8lqmtC+0mXJ+JjsWx4KAVTkk1vKd1hLQPvEviSuw==", "requires": { - "fbjs": "0.8.17", "loose-envify": "1.4.0", "object-assign": "4.1.1", - "prop-types": "15.6.2" + "prop-types": "15.6.2", + "schedule": "0.5.0" } }, "react-blockies": { @@ -930,11 +1018,11 @@ } }, "react-bootstrap": { - "version": "0.32.1", - "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.32.1.tgz", - "integrity": "sha512-RbfzKUbsukWsToWqGHfCCyMFq9QQI0TznutdyxyJw6dih2NvIne25Mrssg8LZsprqtPpyQi8bN0L0Fx3fUsL8Q==", + "version": "0.32.4", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.32.4.tgz", + "integrity": "sha512-xj+JfaPOvnvr3ow0aHC7Y3HaBKZNR1mm361hVxVzVX3fcdJNIrfiodbQ0m9nLBpNxiKG6FTU2lq/SbTDYT2vew==", "requires": { - "babel-runtime": "6.26.0", + "@babel/runtime-corejs2": "7.0.0", "classnames": "2.2.6", "dom-helpers": "3.3.1", "invariant": "2.2.4", @@ -943,8 +1031,8 @@ "prop-types-extra": "1.1.0", "react-overlays": "0.8.3", "react-prop-types": "0.4.0", - "react-transition-group": "2.4.0", - "uncontrollable": "4.1.0", + "react-transition-group": "2.5.0", + "uncontrollable": "5.1.0", "warning": "3.0.0" }, "dependencies": { @@ -959,30 +1047,30 @@ } }, "react-dom": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.1.tgz", - "integrity": "sha512-1Gin+wghF/7gl4Cqcvr1DxFX2Osz7ugxSwl6gBqCMpdrxHjIFUS7GYxrFftZ9Ln44FHw0JxCFD9YtZsrbR5/4A==", + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.5.2.tgz", + "integrity": "sha512-RC8LDw8feuZOHVgzEf7f+cxBr/DnKdqp56VU0lAs1f4UfKc4cU8wU4fTq/mgnvynLQo8OtlPC19NUFh/zjZPuA==", "requires": { - "fbjs": "0.8.17", "loose-envify": "1.4.0", "object-assign": "4.1.1", - "prop-types": "15.6.2" + "prop-types": "15.6.2", + "schedule": "0.5.0" } }, "react-event-listener": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.1.tgz", - "integrity": "sha1-QceoCmazmMJ91RHiJxKwLz1OzMo=", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.4.tgz", + "integrity": "sha512-t7VSjIuUFmN+GeyKb+wm025YLeojVB85kJL6sSs0wEBJddfmKBEQz+CNBZ2zBLKVWkPy/fZXM6U5yvojjYBVYQ==", "requires": { - "@babel/runtime": "7.0.0-beta.55", + "@babel/runtime": "7.0.0", "prop-types": "15.6.2", - "warning": "4.0.1" + "warning": "4.0.2" } }, "react-is": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.1.tgz", - "integrity": "sha512-xpb0PpALlFWNw/q13A+1aHeyJyLYCg0/cCHPUA43zYluZuIPHaHL3k8OBsTgQtxqW0FhyDEMvi8fZ/+7+r4OSQ==" + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.5.2.tgz", + "integrity": "sha512-hSl7E6l25GTjNEZATqZIuWOgSnpXb3kD0DVCujmg46K5zLxsbiKaaT6VO9slkSBDPZfYs30lwfJwbOFOnoEnKQ==" }, "react-jss": { "version": "8.6.1", @@ -1010,7 +1098,7 @@ "dom-helpers": "3.3.1", "prop-types": "15.6.2", "prop-types-extra": "1.1.0", - "react-transition-group": "2.4.0", + "react-transition-group": "2.5.0", "warning": "3.0.0" }, "dependencies": { @@ -1051,9 +1139,9 @@ } }, "react-transition-group": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz", - "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.0.tgz", + "integrity": "sha512-qYB3JBF+9Y4sE4/Mg/9O6WFpdoYjeeYqx0AFb64PTazVy8RPMiE3A47CG9QmM4WJ/mzDiZYslV+Uly6O1Erlgw==", "requires": { "dom-helpers": "3.3.1", "loose-envify": "1.4.0", @@ -1062,11 +1150,11 @@ } }, "recompose": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.27.1.tgz", - "integrity": "sha512-p7xsyi/rfNjHfdP7vPU02uSFa+Q1eHhjKrvO+3+kRP4Ortj+MxEmpmd+UQtBGM2D2iNAjzNI5rCyBKp9Ob5McA==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.30.0.tgz", + "integrity": "sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w==", "requires": { - "babel-runtime": "6.26.0", + "@babel/runtime": "7.0.0", "change-emitter": "0.1.6", "fbjs": "0.8.17", "hoist-non-react-statics": "2.5.5", @@ -1075,9 +1163,9 @@ } }, "regenerator-runtime": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.0.tgz", - "integrity": "sha512-SpV2LhF5Dm9UYMEprB3WwsBnWwqTrmjrm2UZb42cl2G02WVGgx7Mg8aa9pdLEKp6hZ+/abcMc2NxKA8f02EG2w==" + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" }, "rlp": { "version": "2.1.0", @@ -1097,23 +1185,33 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "schedule": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.5.0.tgz", + "integrity": "sha512-HUcJicG5Ou8xfR//c2rPT0lPIRR09vVvN81T9fqfVgBmhERUbDEQoYKjpBxbueJnCPpSu2ujXzOnRQt6x9o/jw==", + "requires": { + "object-assign": "4.1.1" + } + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } }, "symbol-observable": { "version": "1.0.4", @@ -1132,9 +1230,16 @@ } }, "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true }, "typeface-roboto": { "version": "0.0.54", @@ -1147,25 +1252,25 @@ "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" }, "uncontrollable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-4.1.0.tgz", - "integrity": "sha1-4DWCkSUuGGUiLZCTmxny9J+Bwak=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-5.1.0.tgz", + "integrity": "sha512-5FXYaFANKaafg4IVZXUNtGyzsnYEvqlr9wQ3WpZxFpEUxl29A3H6Q4G1Dnnorvq9TGOGATBApWR4YpLAh+F5hw==", "requires": { "invariant": "2.2.4" } }, "warning": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.1.tgz", - "integrity": "sha512-rAVtTNZw+cQPjvGp1ox0XC5Q2IBFyqoqh+QII4J/oguyu83Bax1apbo2eqB8bHRS+fqYUBagys6lqUoVwKSmXQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz", + "integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==", "requires": { "loose-envify": "1.4.0" } }, "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" } } } diff --git a/package.json b/package.json index ec97390..2ea20a6 100644 --- a/package.json +++ b/package.json @@ -16,22 +16,32 @@ "url": "https://github.com/status-im/contracts/issues" }, "homepage": "https://github.com/status-im/contracts#readme", + "devDependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.0.0", + "@babel/plugin-proposal-export-namespace-from": "^7.0.0", + "@babel/plugin-proposal-function-sent": "^7.0.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-throw-expressions": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-import-meta": "^7.0.0" + }, "dependencies": { - "@material-ui/core": "^1.3.0", - "@material-ui/icons": "^1.1.0", - "@material-ui/lab": "^1.0.0-alpha.5", + "@material-ui/core": "^3.0.0", + "@material-ui/icons": "^3.0.0", + "@material-ui/lab": "^1.0.0-alpha.12", "axios": "^0.18.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0", - "babel-preset-stage-2": "^6.24.1", + "lodash": "^4.17.10", "bignumber.js": "^5.0.0", "bootstrap": "^3.3.7", "formik": "^0.11.11", "jquery": "^3.3.1", - "lodash": "^4.17.10", - "react": "^16.3.2", + "react": "^16.4.2", "react-blockies": "^1.3.0", "react-bootstrap": "^0.32.1", - "react-dom": "^16.3.2", + "react-dom": "^16.4.2", "react-toggle": "^4.0.2", "rlp": "^2.1.0", "typeface-roboto": "0.0.54"