From ab2d3e350c33b97248a194da61c85230d7e91239 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Wed, 5 Apr 2017 08:42:03 +0300 Subject: [PATCH 1/7] jumblr, settings templates --- react/src/components/dashboard/dashboard.js | 4 + react/src/components/dashboard/jumblr.js | 238 ++++++++++++++++ react/src/components/dashboard/settings.js | 289 ++++++++++++++++++++ 3 files changed, 531 insertions(+) create mode 100644 react/src/components/dashboard/jumblr.js create mode 100644 react/src/components/dashboard/settings.js diff --git a/react/src/components/dashboard/dashboard.js b/react/src/components/dashboard/dashboard.js index c9bde37..a3cea8a 100644 --- a/react/src/components/dashboard/dashboard.js +++ b/react/src/components/dashboard/dashboard.js @@ -9,6 +9,7 @@ import WalletsNav from './walletsNav'; import SendCoin from './sendCoin'; import WalletsData from './walletsData'; import Atomic from './atomic'; +import Jumblr from './jumblr'; class Dashboard extends React.Component { constructor(props) { @@ -39,6 +40,9 @@ class Dashboard extends React.Component {
+
+ +
); diff --git a/react/src/components/dashboard/jumblr.js b/react/src/components/dashboard/jumblr.js new file mode 100644 index 0000000..460ec59 --- /dev/null +++ b/react/src/components/dashboard/jumblr.js @@ -0,0 +1,238 @@ +import React from 'react'; +import { translate } from '../../translate/translate'; +/*import { dashboardChangeSection, toggleAddcoinModal, logout } from '../../actions/actionCreators'; +import Store from '../../store';*/ + +class Jumblr extends React.Component { + constructor(props) { + super(props); + this.state = { + activeTab: 0, + }; + } + + openTab(tab) { + this.setState(Object.assign({}, this.state, { + activeTab: tab, + })); + } + + render() { + return ( +
+
+
+
+
+ + + {translate('JUMBLR.NOTICE')} + +
+ {translate('JUMBLR.DESCRIPTION')} +
+
+ +
+
+ + + {translate('JUMBLR.NEED_NATIVE')} + +
+ {translate('JUMBLR.TO_USE_JUMBLR')} +
+ {translate('JUMBLR.IF_YOU_ALREADY_RUNNING')} +
+
+ +
+

{translate('JUMBLR.THIS_SCREEN_DOESNT_REFRESH')}

+
+ +
+
+
+ +
+
+
    +
  • {translate('JUMBLR.FEW_SECURITY_NOTES_DESC1')}
  • +
  • {translate('JUMBLR.FEW_SECURITY_NOTES_DESC2')}
  • +
  • {translate('JUMBLR.FEW_SECURITY_NOTES_DESC3')}
  • +
  • {translate('JUMBLR.FEW_SECURITY_NOTES_DESC4')}
  • +
  • {translate('JUMBLR.FEW_SECURITY_NOTES_DESC5')}
  • +
+
+
+
+
+ +
+
+

{translate('JUMBLR.ADDRESS_ACCESSIBLE_EASILY')}

+
    + duck dog cat donkey +
+
    +
  1. {translate('JUMBLR.TO_ACCESS')}
  2. +
  3. {translate('JUMBLR.CLOSE_IAPP')}
  4. +
  5. {translate('JUMBLR.START_IAPP')}
  6. +
  7. {translate('JUMBLR.START_KMD')}
  8. +
  9. {translate('JUMBLR.ACCESS_JUMBLR_FUNDS')} +
      +
    • {translate('JUMBLR.SMALL_LETTERS')}
    • +
    • {translate('JUMBLR.WHITE_SPACE')}
    • +
    +
  10. +
  11. + {translate('JUMBLR.PER_EXAMPLE')} +
    + jumblr duck dog cat donkey +
  12. +
  13. {translate('JUMBLR.LOGIN_WITH_JUMBLR')}
  14. +
+

{translate('JUMBLR.AGAIN_DONT_SHARE')}

+
+
+
+
+ +
+
+
    +
  • {translate('JUMBLR.RUN_KMD')}
  • +
  • {translate('JUMBLR.LOGIN_KMD')}
  • +
  • {translate('JUMBLR.GO_TO')}
  • +
  • {translate('JUMBLR.FIND_DEPOSIT_ADDR')}
  • +
  • {translate('JUMBLR.YOU_SEND_FUNDS')}
  • +
  • {translate('JUMBLR.KEEP_WALLET_OPEN')}
  • +
  • {translate('JUMBLR.IMPORTANT_FUNDS')}
  • +
  • {translate('JUMBLR.LARGE_LOT')}
  • +
+

{translate('JUMBLR.EG')}

+

{translate('JUMBLR.93_KMD')}

+

{translate('JUMBLR.TO_CLEAR_THEM')}

+

{translate('JUMBLR.WHEN_IT_TOTALS')}

+
+
+
+
+
+ +
+

{translate('JUMBLR.JADDR')}

+
+
+ + + + + + + + + + + + + + + + + + + +
{translate('JUMBLR.BTC_DEPOSIT')} + +
BTC Jumblr + + + {translate('JUMBLR.HIDDEN')} +
{translate('JUMBLR.KMD_DEPOSIT')} + +
KMD Jumblr + + + {translate('JUMBLR.HIDDEN')} +
+
+
+
+ +
+

{translate('JUMBLR.JSTATUS')}

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{translate('JUMBLR.RESULT')} + +
{translate('JUMBLR.DEPOSITED')} + +
{translate('JUMBLR.PUB_TO_PRIV')} + +
{translate('JUMBLR.PRIV_TO_PRIV')} + +
{translate('JUMBLR.PRIV_TO_PUB')} + +
{translate('JUMBLR.FINISHED')} + +
{translate('JUMBLR.PENDING')} + +
+
+
+
+
+
+
+ ) + } +} + +export default Jumblr; diff --git a/react/src/components/dashboard/settings.js b/react/src/components/dashboard/settings.js new file mode 100644 index 0000000..538c174 --- /dev/null +++ b/react/src/components/dashboard/settings.js @@ -0,0 +1,289 @@ +import React from 'react'; +import { translate } from '../../translate/translate'; +/*import { dashboardChangeSection, toggleAddcoinModal, logout } from '../../actions/actionCreators'; +import Store from '../../store';*/ + +class Settings extends React.Component { + constructor(props) { + super(props); + this.state = { + activeTab: 0, + }; + } + + openTab(tab) { + this.setState(Object.assign({}, this.state, { + activeTab: tab, + })); + } + + render() { + return ( +
+
+
+
+
+
+

+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
pubkey +
+
btcpubkey +
+
rmd160 +
+
NXT +
+
notary +
+
status +
+
+
+
+
+ +
+ +
+
+
+
+
+

+
+
+
+ +
+
+
+ +
+
+
+ SuperNET Peers: +
+

+
+ Raw Peers: +
+

+
+
+ +
+
+

+
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+ +
+ +
+
Wallet Backup section to be updated soon.
+
+
+ +
+ +
+
Fiat currency settings section to be updated soon.
+
+
+ +
+ +
+
+

+


+ + + +

+
+
+
+ + +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+ +
+
+

+


+

+

+ + + +

+
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+
+ +
+ +
+
+

+
+
+
+ + +
+
+ + +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ) + } +} + +export default Settings; From 18e35c749a51578dc22066ae06c1530f9f736f97 Mon Sep 17 00:00:00 2001 From: Petr Balashov Date: Wed, 5 Apr 2017 16:10:51 +0200 Subject: [PATCH 2/7] extended addcoin asset chains --- react/src/actions/actionCreators.js | 35 ++++- react/src/components/addcoin/payload.js | 174 ++++++++++++++++++++++++ 2 files changed, 204 insertions(+), 5 deletions(-) diff --git a/react/src/actions/actionCreators.js b/react/src/actions/actionCreators.js index a282c96..d8ab4f9 100644 --- a/react/src/actions/actionCreators.js +++ b/react/src/actions/actionCreators.js @@ -1,5 +1,5 @@ import 'whatwg-fetch'; -import { startCurrencyAssetChain } from '../components/addcoin/payload'; +import { startCurrencyAssetChain, startAssetChain, checkCoinType } from '../components/addcoin/payload'; import { copyToClipboard } from '../util/copyToClipboard'; import { translate } from '../translate/translate'; @@ -186,8 +186,25 @@ export function dismissToasterMessage() { export function addCoin(coin, mode) { console.log('coin, mode', coin + ' ' + mode); - return dispatch => { - dispatch(shepherdGetConfig(coin, mode)); + if (mode === '-1') { + return dispatch => { + dispatch(shepherdGetConfig(coin, mode)); + } + } else { + if (checkCoinType(coin) === 'currency_ac') { + console.log('cointype', 'currency_ac'); + var _acData = startCurrencyAssetChain('', coin, mode); + return dispatch => { + dispatch(iguanaAddCoin(coin, mode, _acData)); + } + } + if (checkCoinType(coin) === 'ac') { + console.log('cointype', 'ac'); + var _acData = startAssetChain('', coin, mode); + return dispatch => { + dispatch(iguanaAddCoin(coin, mode, _acData)); + } + } } } @@ -208,7 +225,8 @@ export function iguanaAddCoin(coin, mode, acData) { } export function shepherdHerd(coin, mode, path) { - const herdData = { + var acData; + var herdData = { 'ac_name': coin, 'ac_options': [ '-daemon=0', @@ -217,7 +235,14 @@ export function shepherdHerd(coin, mode, path) { '-addnode=78.47.196.146' ] }; - const acData = startCurrencyAssetChain(path.result, coin, mode); + + if (checkCoinType(coin) === 'currency_ac') { + acData = startCurrencyAssetChain(path.result, coin, mode); + } + if (checkCoinType(coin) === 'ac') { + acData = startCurrencyAssetChain(path.result, coin, mode, true); + herdData.ac_options.push(acData.supply); + } console.log('herdData', herdData); return dispatch => { diff --git a/react/src/components/addcoin/payload.js b/react/src/components/addcoin/payload.js index d79e676..3672a7d 100644 --- a/react/src/components/addcoin/payload.js +++ b/react/src/components/addcoin/payload.js @@ -511,4 +511,178 @@ export function startCurrencyAssetChain(confpath, coin, mode) { return AddCoinDataPayload[coin + 'Var']; } +} + +export function startAssetChain(confpath, coin, mode, getSuppyOnly) { + var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'); + var tmpPendValue; + + if (coin !== 'BTC' && coin !== 'LTC' && coin !== 'DOGE') { + tmpPendValue = parseInt(tmpPendValue) * 4; + } + + const _acPayloadOrigin = { + 'unitval': '20', + 'zcash': 1, + 'prefetchlag': -1, + 'poll': 100, + 'active': 1, + 'agent': 'iguana', + 'method': 'addcoin', + 'services': 129, + 'hasheaders': 1, + 'useaddmultisig': 0, + 'pubval': 60, + 'p2shval': 85, + 'wifval': 188, + 'txfee_satoshis': '10000', + 'isPoS': 0, + 'minoutput': 10000, + 'minconfirms': 2, + 'genesishash': '027e3758c3a65b12aa1046462b486d0a63bfa1beae327897f56c5cfb7daaae71', + 'protover': 170002, + 'genesisblock': '0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a000000000000000000000000000000000000000000000000000000000000000029ab5f490f0f0f200b00000000000000000000000000000000000000000000000000000000000000fd4005000d5ba7cda5d473947263bf194285317179d2b0d307119c2e7cc4bd8ac456f0774bd52b0cd9249be9d40718b6397a4c7bbd8f2b3272fed2823cd2af4bd1632200ba4bf796727d6347b225f670f292343274cc35099466f5fb5f0cd1c105121b28213d15db2ed7bdba490b4cedc69742a57b7c25af24485e523aadbb77a0144fc76f79ef73bd8530d42b9f3b9bed1c135ad1fe152923fafe98f95f76f1615e64c4abb1137f4c31b218ba2782bc15534788dda2cc08a0ee2987c8b27ff41bd4e31cd5fb5643dfe862c9a02ca9f90c8c51a6671d681d04ad47e4b53b1518d4befafefe8cadfb912f3d03051b1efbf1dfe37b56e93a741d8dfd80d576ca250bee55fab1311fc7b3255977558cdda6f7d6f875306e43a14413facdaed2f46093e0ef1e8f8a963e1632dcbeebd8e49fd16b57d49b08f9762de89157c65233f60c8e38a1f503a48c555f8ec45dedecd574a37601323c27be597b956343107f8bd80f3a925afaf30811df83c402116bb9c1e5231c70fff899a7c82f73c902ba54da53cc459b7bf1113db65cc8f6914d3618560ea69abd13658fa7b6af92d374d6eca9529f8bd565166e4fcbf2a8dfb3c9b69539d4d2ee2e9321b85b331925df195915f2757637c2805e1d4131e1ad9ef9bc1bb1c732d8dba4738716d351ab30c996c8657bab39567ee3b29c6d054b711495c0d52e1cd5d8e55b4f0f0325b97369280755b46a02afd54be4ddd9f77c22272b8bbb17ff5118fedbae2564524e797bd28b5f74f7079d532ccc059807989f94d267f47e724b3f1ecfe00ec9e6541c961080d8891251b84b4480bc292f6a180bea089fef5bbda56e1e41390d7c0e85ba0ef530f7177413481a226465a36ef6afe1e2bca69d2078712b3912bba1a99b1fbff0d355d6ffe726d2bb6fbc103c4ac5756e5bee6e47e17424ebcbf1b63d8cb90ce2e40198b4f4198689daea254307e52a25562f4c1455340f0ffeb10f9d8e914775e37d0edca019fb1b9c6ef81255ed86bc51c5391e0591480f66e2d88c5f4fd7277697968656a9b113ab97f874fdd5f2465e5559533e01ba13ef4a8f7a21d02c30c8ded68e8c54603ab9c8084ef6d9eb4e92c75b078539e2ae786ebab6dab73a09e0aa9ac575bcefb29e930ae656e58bcb513f7e3c17e079dce4f05b5dbc18c2a872b22509740ebe6a3903e00ad1abc55076441862643f93606e3dc35e8d9f2caef3ee6be14d513b2e062b21d0061de3bd56881713a1a5c17f5ace05e1ec09da53f99442df175a49bd154aa96e4949decd52fed79ccf7ccbce32941419c314e374e4a396ac553e17b5340336a1a25c22f9e42a243ba5404450b650acfc826a6e432971ace776e15719515e1634ceb9a4a35061b668c74998d3dfb5827f6238ec015377e6f9c94f38108768cf6e5c8b132e0303fb5a200368f845ad9d46343035a6ff94031df8d8309415bb3f6cd5ede9c135fdabcc030599858d803c0f85be7661c88984d88faa3d26fb0e9aac0056a53f1b5d0baed713c853c4a2726869a0a124a8a5bbc0fc0ef80c8ae4cb53636aa02503b86a1eb9836fcc259823e2692d921d88e1ffc1e6cb2bde43939ceb3f32a611686f539f8f7c9f0bf00381f743607d40960f06d347d1cd8ac8a51969c25e37150efdf7aa4c2037a2fd0516fb444525ab157a0ed0a7412b2fa69b217fe397263153782c0f64351fbdf2678fa0dc8569912dcd8e3ccad38f34f23bbbce14c6a26ac24911b308b82c7e43062d180baeac4ba7153858365c72c63dcf5f6a5b08070b730adb017aeae925b7d0439979e2679f45ed2f25a7edcfd2fb77a8794630285ccb0a071f5cce410b46dbf9750b0354aae8b65574501cc69efb5b6a43444074fee116641bb29da56c2b4a7f456991fc92b2', + 'debug': 0, + 'seedipaddr': '78.47.196.146' + }; + const acConfig = { + 'SUPERNET': { + 'name': 'SUPERNET', + 'supply': 816061, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"SUPERNET","conf":"SUPERNET.conf","path":confpath,"RELAY":-1,"VALIDATE":0,"startpend":4,"endpend":4,"maxpeers":32,"newcoin":"SUPERNET","name":"SUPERNET","netmagic":"cc55d9d4","p2p":11340,"rpc":11341}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":32,"newcoin":"SUPERNET","name":"SUPERNET","netmagic":"cc55d9d4","p2p":11340,"rpc":11341}) + }, + 'REVS': { + 'name': 'REVS', + 'supply': 1300000, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"REVS","conf":"REVS.conf","path":confpath,"RELAY":-1,"VALIDATE":0,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"REVS","name":"REVS","netmagic":"905c3498","p2p":10195,"rpc":10196}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"REVS","name":"REVS","netmagic":"905c3498","p2p":10195,"rpc":10196}) + }, + 'WLC': { + 'name': 'WIRELESS', + 'supply': 210000000, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"WLC","conf":"WLC.conf","path":confpath,"RELAY":-1,"VALIDATE":0,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"WLC","name":"WIRELESS","netmagic":"62071ed3","p2p":11666,"rpc":11667}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"WLC","name":"WIRELESS","netmagic":"62071ed3","p2p":11666,"rpc":11667}) + }, + 'PANGEA': { + 'name': 'PANGEA', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"PANGEA","conf":"PANGEA.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"PANGEA","name":"PANGEA","netmagic":"5fa45ae8","p2p":10073,"rpc":10074}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"PANGEA","name":"PANGEA","netmagic":"5fa45ae8","p2p":10073,"rpc":10074}) + }, + 'DEX': { + 'name': 'DEX', + 'supply': 1300000, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"DEX","conf":"DEX.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"DEX","name":"DEX","netmagic":"f2ae0516","p2p":9502,"rpc":9503}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"DEX","name":"DEX","netmagic":"f2ae0516","p2p":9502,"rpc":9503}) + }, + 'JUMBLR': { + 'name': 'JUMBLR', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"JUMBLR","conf":"JUMBLR.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"JUMBLR","name":"JUMBLR","netmagic":"7223759e","p2p":10788,"rpc":10789}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"JUMBLR","name":"JUMBLR","netmagic":"7223759e","p2p":10788,"rpc":10789}) + }, + 'BET': { + 'name': 'BET', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"BET","conf":"BET.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"BET","name":"BET","netmagic":"6b9e3e1b","p2p":11221,"rpc":11222}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"BET","name":"BET","netmagic":"6b9e3e1b","p2p":11221,"rpc":11222}) + }, + 'CRYPTO': { + 'name': 'CRYPTO', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"CRYPTO","conf":"CRYPTO.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"CRYPTO","name":"CRYPTO","netmagic":"fced9e2a","p2p":10419,"rpc":10420}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"CRYPTO","name":"CRYPTO","netmagic":"fced9e2a","p2p":10419,"rpc":10420}) + }, + 'HODL': { + 'name': 'HODL', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"HODL","conf":"HODL.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"HODL","name":"HODL","netmagic":"9b13fb5f","p2p":8009,"rpc":8010}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"HODL","name":"HODL","netmagic":"9b13fb5f","p2p":8009,"rpc":8010}) + }, + 'SHARK': { + 'name': 'SHARK', + 'supply': 1401, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"SHARK","conf":"SHARK.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"SHARK","name":"SHARK","netmagic":"54a5e30c","p2p":14103,"rpc":14104}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"SHARK","name":"SHARK","netmagic":"54a5e30c","p2p":14103,"rpc":14104}) + }, + 'BOTS': { + 'name': 'BOTS', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"BOTS","conf":"BOTS.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"BOTS","name":"BOTS","netmagic":"5bec8cf7","p2p":10150,"rpc":10151}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"BOTS","name":"BOTS","netmagic":"5bec8cf7","p2p":10150,"rpc":10151}) + }, + 'MGW': { + 'name': 'MGW', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"MGW","conf":"MGW.conf","path":confpath,"unitval":"20","zcash":1,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"MGW","name":"MGW","netmagic":"6eea5dbb","p2p":15523,"rpc":15524}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"unitval":"20","zcash":1,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"MGW","name":"MGW","netmagic":"6eea5dbb","p2p":15523,"rpc":15524}) + }, + 'MVP': { + 'name': 'MVP', + 'supply': 1000000, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"MVP","conf":"MVP.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"services":129,"maxpeers":8,"newcoin":"MVP","name":"MVP","netmagic":"dd5ce076","p2p":11675,"rpc":11676}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"MVP","name":"MVP","netmagic":"dd5ce076","p2p":11675,"rpc":11676}) + }, + 'KV': { + 'name': 'KV', + 'supply': 999999, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"KV","conf":"KV.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"KV","name":"KV","netmagic":"b09a2d65","p2p":9746,"rpc":9747}) : {}, + 'AddCoinDataVar': Object.assign(_acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"KV","name":"KV","netmagic":"b09a2d65","p2p":9746,"rpc":9747}) + }, + 'CEAL': { + 'name': 'CEAL', + 'supply': 366666666, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"CEAL","conf":"CEAL.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"CEAL","name":"CEAL","netmagic":"09e51af8","p2p":13096,"rpc":13097}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"CEAL","name":"CEAL","netmagic":"09e51af8","p2p":13096,"rpc":13097}) + }, + 'MESH': { + 'name': 'MESH', + 'supply': 1000000, + 'AddCoinData': confpath ? Object.assign({}, _acPayloadOrigin, {"coin":"MESH","conf":"MESH.conf","path":confpath,"RELAY":-1,"VALIDATE":1,"startpend":4,"endpend":4,"maxpeers":8,"newcoin":"MESH","name":"MESH","netmagic":"f0265c67","p2p":8399,"rpc":8400}) : {}, + 'AddCoinDataVar': Object.assign({}, _acPayloadOrigin, {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"maxpeers":8,"newcoin":"MESH","name":"MESH","netmagic":"f0265c67","p2p":8399,"rpc":8400}) + } + }; + + if ( mode === '-1' ) { + /*var setconfig = function() { + return new Promise(function(resolve, reject) { + Shepherd_setConf(addcoin_data.coin); + var result = 'setconfig: DONE'; + console.log(result); + resolve(result); + }); + } + + var startcoin = function() { + return new Promise(function(resolve, reject) { + Shepherd_herd('komodod', { + 'ac_name': addcoin_data.coin, + 'ac_options': [ + '-daemon=0', + '-server', + '-ac_name=' + addcoin_data.coin, + '-ac_supply=' + acConfig[addcoin_data.coin].supply, + '-addnode=78.47.196.146' + ] + }); + + var result = 'startcoin: DONE'; + console.log(result); + resolve(result); + }); + } + + startcoin(); + + var tmpinternval = 6000, + AddCoinData = acConfig[addcoin_data.coin].AddCoinData;*/ + if (getSuppyOnly) { + return acConfig[coin].supply; + } else { + return acConfig[coin].AddCoinData; + } + } else { + return acConfig[coin].AddCoinDataVar; + } } \ No newline at end of file From a101bebce1e57d39bad701f1affe5efd4f62a84d Mon Sep 17 00:00:00 2001 From: pbca26 Date: Thu, 6 Apr 2017 10:04:13 +0300 Subject: [PATCH 3/7] extended addcoin payload --- react/src/actions/actionCreators.js | 18 +- react/src/components/addcoin/addcoin.js | 76 +----- .../components/addcoin/addcoinOptionsAC.js | 29 ++ .../addcoin/addcoinOptionsACFiat.js | 45 +++ .../addcoin/addcoinOptionsCrypto.js | 29 ++ react/src/components/addcoin/payload.js | 198 +++++++++++--- react/src/components/dashboard/atomic.js | 76 +----- react/src/components/dashboard/coinTile.js | 2 - react/src/components/dashboard/dashboard.js | 4 + react/src/components/dashboard/settings.js | 256 +++++++++--------- react/src/components/login/login.js | 6 +- react/src/components/main/walletMain.js | 1 - react/src/index.js | 3 +- react/src/styles/index.scss | 5 + 14 files changed, 430 insertions(+), 318 deletions(-) create mode 100644 react/src/components/addcoin/addcoinOptionsAC.js create mode 100644 react/src/components/addcoin/addcoinOptionsACFiat.js create mode 100644 react/src/components/addcoin/addcoinOptionsCrypto.js diff --git a/react/src/actions/actionCreators.js b/react/src/actions/actionCreators.js index d8ab4f9..bb924af 100644 --- a/react/src/actions/actionCreators.js +++ b/react/src/actions/actionCreators.js @@ -1,5 +1,5 @@ import 'whatwg-fetch'; -import { startCurrencyAssetChain, startAssetChain, checkCoinType } from '../components/addcoin/payload'; +import { startCurrencyAssetChain, startAssetChain, startCrypto, checkCoinType } from '../components/addcoin/payload'; import { copyToClipboard } from '../util/copyToClipboard'; import { translate } from '../translate/translate'; @@ -65,7 +65,7 @@ function dashboardCoinsState(json) { } function iguanaWalletPassphraseState(json, dispatch) { - console.log('passp', json); + console.log('iguanaWalletPassphraseState', json); sessionStorage.setItem('IguanaActiveAccount', JSON.stringify(json)); dispatch(triggerToaster(true, translate('TOASTR.LOGIN_SUCCESSFULL'), translate('TOASTR.ACCOUNT_NOTIFICATION'), 'success')); @@ -192,24 +192,27 @@ export function addCoin(coin, mode) { } } else { if (checkCoinType(coin) === 'currency_ac') { - console.log('cointype', 'currency_ac'); var _acData = startCurrencyAssetChain('', coin, mode); return dispatch => { dispatch(iguanaAddCoin(coin, mode, _acData)); } } if (checkCoinType(coin) === 'ac') { - console.log('cointype', 'ac'); var _acData = startAssetChain('', coin, mode); return dispatch => { dispatch(iguanaAddCoin(coin, mode, _acData)); } } + if (checkCoinType(coin) === 'crypto') { + var _acData = startCrypto('', coin, mode); + return dispatch => { + dispatch(iguanaAddCoin(coin, mode, _acData)); + } + } } } export function iguanaAddCoin(coin, mode, acData) { - console.log('acData', acData); return dispatch => { return fetch('http://127.0.0.1:7778', { method: 'POST', @@ -240,8 +243,9 @@ export function shepherdHerd(coin, mode, path) { acData = startCurrencyAssetChain(path.result, coin, mode); } if (checkCoinType(coin) === 'ac') { - acData = startCurrencyAssetChain(path.result, coin, mode, true); - herdData.ac_options.push(acData.supply); + acData = startAssetChain(path.result, coin, mode); + var supply = startAssetChain(path.result, coin, mode, true); + herdData.ac_options.push('-ac_supply=' + supply); } console.log('herdData', herdData); diff --git a/react/src/components/addcoin/addcoin.js b/react/src/components/addcoin/addcoin.js index 39cbd20..0bd0bb1 100644 --- a/react/src/components/addcoin/addcoin.js +++ b/react/src/components/addcoin/addcoin.js @@ -2,6 +2,9 @@ import React from 'react'; import { translate } from '../../translate/translate'; import { addCoin, toggleAddcoinModal } from '../../actions/actionCreators'; import Store from '../../store'; +import AddCoinOptionsCrypto from './addcoinOptionsCrypto'; +import AddCoinOptionsAC from './addcoinOptionsAC'; +import AddCoinOptionsACFiat from './addcoinOptionsACFiat'; class AddCoin extends React.Component { constructor(props) { @@ -131,76 +134,9 @@ class AddCoin extends React.Component {
diff --git a/react/src/components/addcoin/addcoinOptionsAC.js b/react/src/components/addcoin/addcoinOptionsAC.js new file mode 100644 index 0000000..7b59e61 --- /dev/null +++ b/react/src/components/addcoin/addcoinOptionsAC.js @@ -0,0 +1,29 @@ +import React from 'react'; +import { translate } from '../../translate/translate'; + +class AddCoinOptionsAC extends React.Component { + render() { + return ( + + + + + + + + + + + + + + + + + + + ); + } +} + +export default AddCoinOptionsAC; diff --git a/react/src/components/addcoin/addcoinOptionsACFiat.js b/react/src/components/addcoin/addcoinOptionsACFiat.js new file mode 100644 index 0000000..37ca693 --- /dev/null +++ b/react/src/components/addcoin/addcoinOptionsACFiat.js @@ -0,0 +1,45 @@ +import React from 'react'; +import { translate } from '../../translate/translate'; + +class AddCoinOptionsACFiat extends React.Component { + render() { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + } +} + +export default AddCoinOptionsACFiat; diff --git a/react/src/components/addcoin/addcoinOptionsCrypto.js b/react/src/components/addcoin/addcoinOptionsCrypto.js new file mode 100644 index 0000000..4f14c5a --- /dev/null +++ b/react/src/components/addcoin/addcoinOptionsCrypto.js @@ -0,0 +1,29 @@ +import React from 'react'; +import { translate } from '../../translate/translate'; + +class AddCoinOptionsCrypto extends React.Component { + render() { + return ( + + + + + + + + + + + + + + + + + + + ); + } +} + +export default AddCoinOptionsCrypto; diff --git a/react/src/components/addcoin/payload.js b/react/src/components/addcoin/payload.js index 3672a7d..923aeef 100644 --- a/react/src/components/addcoin/payload.js +++ b/react/src/components/addcoin/payload.js @@ -52,12 +52,170 @@ export function checkCoinType(coin) { coin === 'WIRELESS') { return 'ac'; } + + if (coin === 'BTC' || + coin === 'BTCD' || + coin === 'LTC' || + coin === 'DOGE' || + coin === 'DGB' || + coin === 'MZC' || + coin === 'SYS' || + coin === 'UNO' || + coin === 'BTM' || + coin === 'CARB' || + coin === 'ANC' || + coin === 'FRK' || + coin === 'GAME' || + coin === 'ZEC' || + coin === 'KDM') { + return 'crypto'; + } +} + +export function startCrypto(confpath, coin, mode) { + var tmpinternval = 0, + AddCoinData = {}, + tmpPendValue, + tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'); + + if (coin !== 'BTC' && coin !== 'LTC' && coin !== 'DOGE') { + tmpPendValue = parseInt(tmpPendValue) * 4; + } + + AddCoinData.BTCD = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"prefetchlag":-1,"poll":50,"active":1,"agent":"iguana","method":"addcoin","newcoin":"BTCD","startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"maxpeers":64,"portp2p":14631,"rpc":14632} + AddCoinData.LTC = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"maxpeers":256,"newcoin":"LTC","name":"Litecoin","hasheaders":1,"useaddmultisig":0,"netmagic":"fbc0b6db","p2p":9333,"rpc":9332,"pubval":48,"p2shval":5,"wifval":176,"txfee_satoshis":"100000","isPoS":0,"minoutput":10000,"minconfirms":2,"genesishash":"12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2","genesis":{"hashalgo":"scrypt","version":1,"timestamp":1317972665,"nBits":"1e0ffff0","nonce":2084524493,"merkle_root":"97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9"},"alertpubkey":"040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9","protover":70002} + AddCoinData.DOGE = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"auxpow":1,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"DOGE","name":"Dogecoin","netmagic":"C0C0C0C0","p2p":22556,"rpc":22555,"pubval":30,"p2shval":5,"wifval":128,"txfee_satoshis":"100000000","minconfirms":2,"genesishash":"1a91e3dace36e2be3bf030a65679fe821aa1d6ef92e7c9902eb318182c355691","genesis":{"hashalgo": "scrypt","version":1,"timestamp":1386325540,"nBits":"1e0ffff0","nonce":99943,"merkle_root":"5b2a3f53f605d62c53e62932dac6925e3d74afa5a4b459745c36d42d0ed26a69"},"alertpubkey":"04d4da7a5dae4db797d9b0644d57a5cd50e05a70f36091cd62e2fc41c98ded06340be5a43a35e185690cd9cde5d72da8f6d065b499b06f51dcfba14aad859f443a"} + AddCoinData.DGB = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"DGB","name":"Digibyte","netmagic":"FAC3B6DA","p2p":12024,"rpc":14022,"pubval":30,"p2shval":5,"wifval":128,"txfee_satoshis":"10000","minconfirms":2,"genesishash":"7497ea1b465eb39f1c8f507bc877078fe016d6fcb6dfad3a64c98dcc6e1e8496","genesis":{"version":1,"timestamp":1389388394,"nBits":"1e0ffff0","nonce":2447652,"merkle_root":"72ddd9496b004221ed0557358846d9248ecd4c440ebd28ed901efc18757d0fad"},"alertpubkey":"04F04441C4757F356290A37C313C3772C5BC5003E898EB2E0CF365795543A7BF690C8BBBFA32EE3A3325477CE2000B7D0453EFBB203329D0F9DF34D5927D022BC9"} + AddCoinData.MZC = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"MZC","name":"MazaCoin","netmagic":"f8b503df","p2p":12835,"rpc":12832,"pubval":50,"p2shval":9,"wifval":224,"txfee_satoshis":"0","minconfirms":2,"genesishash":"00000c7c73d8ce604178dae13f0fc6ec0be3275614366d44b1b4b5c6e238c60c","genesis":{"version":1,"timestamp":1390747675,"nBits":"1e0ffff0","nonce":2091390249,"merkle_root":"62d496378e5834989dd9594cfc168dbb76f84a39bbda18286cddc7d1d1589f4f"},"alertpubkey":"04f09702847840aaf195de8442ebecedf5b095cdbb9bc716bda9110971b28a49e0ead8564ff0db22209e0374782c093bb899692d524e9d6a6956e7c5ecbcd68284"} + AddCoinData.SYS = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"maxpeers":256,"newcoin":"SYS","name":"SysCoin","hasheaders":0,"useaddmultisig":0,"netmagic":"f9beb4d9","p2p":8369,"rpc":8370,"pubval":0,"p2shval":5,"wifval":128,"txfee_satoshis":"100000","isPoS":0,"minoutput":10000,"minconfirms":2,"genesishash":"0000072d66e51ab87de265765cc8bdd2d229a4307c672a1b3d5af692519cf765","genesis":{"version":1,"timestamp":1450473723,"nBits":"1e0ffff0","nonce":5258726,"merkle_root":"5215c5a2af9b63f2550b635eb2b354bb13645fd8fa31275394eb161944303065"},"protover":70012,"auxpow":1} + AddCoinData.UNO = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"auxpow":1,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"UNO","name":"Unobtanium","netmagic":"03d5b503","p2p":65534,"rpc":65535,"pubval":130,"p2shval":30,"wifval":224,"txfee_satoshis":"1000000","minconfirms":2,"genesishash":"000004c2fc5fffb810dccc197d603690099a68305232e552d96ccbe8e2c52b75","genesis":{"version":1,"timestamp":1375548986,"nBits":"1e0fffff","nonce":1211565,"merkle_root":"36a192e90f70131a884fe541a1e8a5643a28ba4cb24cbb2924bd0ee483f7f484"},"alertpubkey":"04fd68acb6a895f3462d91b43eef0da845f0d531958a858554feab3ac330562bf76910700b3f7c29ee273ddc4da2bb5b953858f6958a50e8831eb43ee30c32f21d"} + AddCoinData.BTM = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"BTM","name":"Bitmark","netmagic":"f9beb4d9","p2p":9265,"rpc":9266,"pubval":85,"p2shval":5,"wifval":213,"txfee_satoshis":"0","minconfirms":2,"genesishash":"c1fb746e87e89ae75bdec2ef0639a1f6786744639ce3d0ece1dcf979b79137cb","genesis":{"hashalgo":"scrypt","version":1,"timestamp":1405274442,"nBits":"1d00ffff","nonce":14385103,"merkle_root":"d4715adf41222fae3d4bf41af30c675bc27228233d0f3cfd4ae0ae1d3e760ba8"},"alertpubkey":"04bf5a75ff0f823840ef512b08add20bb4275ff6e097f2830ad28645e28cb5ea4dc2cfd0972b94019ad46f331b45ef4ba679f2e6c87fd19c864365fadb4f8d2269"} + AddCoinData.CARB = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"CARB","name":"Carboncoin","netmagic":"abccbbdf","p2p":9350,"rpc":9351,"pubval":47,"p2shval":5,"wifval":175,"txfee_satoshis":"0","minconfirms":2,"genesishash":"a94f1aae8c409a0bd1e53cbca92d7e506b61c51d955cf56f76da501718d48d6c","genesis":{"hashalgo":"scrypt","version":1,"timestamp":1389199888,"nBits":"1e0ffff0","nonce":605268,"merkle_root":"074bbb9d355731bfa8f67130e2179db7518d1387ad52e55309d4debe7d4e6383"},"alertpubkey":"046d6918a7c0c053aa942dbb8861499be4bd915c8bfb6a2b77b3787e207097cc2734b9321226ff107c1a95dae98570a66baec66e350d78ceba091b54411654d33f"} + AddCoinData.ANC = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"ANC","name":"AnonCoin","netmagic":"facabada","p2p":9377,"rpc":28332,"pubval":23,"p2shval":5,"wifval":151,"txfee_satoshis":"2000000","minconfirms":2,"genesishash":"00000be19c5a519257aa921349037d55548af7cabf112741eb905a26bb73e468","genesis":{"version":1,"timestamp":1370190760,"nBits":"1e0ffff0","nonce":347089008,"merkle_root":"7ce7004d764515f9b43cb9f07547c8e2e00d94c9348b3da33c8681d350f2c736"},"alertpubkey":"04c6db35c11724e526f6725cc5bd5293b4bc9382397856e1bcef7111fb44ce357fd12442b34c496d937a348c1dca1e36ae0c0e128905eb3d301433887e8f0b4536"} + AddCoinData.FRK = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"FRK","name":"Franko","netmagic":"7defaced","p2p":7912,"rpc":7913,"pubval":35,"p2shval":5,"wifval":163,"txfee_satoshis":"0","minconfirms":2,"genesishash":"19225ae90d538561217b5949e98ca4964ac91af39090d1a4407c892293e4f44f","genesis":{"hashalgo":"scrypt","version":1,"timestamp":1368144664,"nBits":"1e0ffff0","nonce":731837,"merkle_root":"b78f79f1d10029cc45ed3d5a1db7bd423d4ee170c03baf110a62565d16a21dca"},"alertpubkey":"04d4da7a5dae4db797d9b0644d57a5cd50e05a70f36091cd62e2fc41c98ded06340be5a43a35e185690cd9cde5d72da8f6d065b499b06f51dcfba14aad859f443a"} + AddCoinData.GAME = {'userpass':tmpIguanaRPCAuth,"RELAY":mode,"VALIDATE":mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"GAME","name":"GameCredits","netmagic":"fbc0b6db","p2p":40002,"rpc":40001,"pubval":38,"p2shval":5,"wifval":166,"txfee_satoshis":"100000","minconfirms":2,"genesishash":"91ec5f25ee9a0ffa1af7d4da4db9a552228dd2dc77cdb15b738be4e1f55f30ee","genesis":{"hashalgo":"scrypt","version":1,"timestamp":1392757140,"nBits":"1e0ffff0","nonce":2084565393,"merkle_root":"d849db99a14164f4b4c8ad6d2d8d7e2b1ba7f89963e9f4bf9fad5ff1a4754429"},"alertpubkey":"04fc9702847840aaf195de8442ebecedf5b095cdbb9bc716bda9110971b28a49e0ead8564ff0db22209e0374782c093bb899692d524e9d6a6956e7c5ecbcd68284","auxpow":1,"protover":80006,"isPoS":0} + + /* + if ( addcoin_data.coin == 'ZET' ) { + logincoinfullname = 'Zetacoin'; + + if ( addcoin_data.mode == '1' ) { + logincoinmodeinfo = 'Full'; + } else { + logincoinmodeinfo = 'Basilisk'; + } + + var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'), + AddCoinData = {'userpass':tmpIguanaRPCAuth,"RELAY":addcoin_data.mode,"VALIDATE":addcoin_data.mode,"startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","maxpeers":256,"newcoin":"ZET","name":"Zetacoin","netmagic":"fab503df","p2p":17333,"rpc":17335,"pubval":80,"p2shval":9,"wifval":224,"txfee_satoshis":"10000","minconfirms":2,"genesishash":"000006cab7aa2be2da91015902aa4458dd5fbb8778d175c36d429dc986f2bff4","genesis":{"version":1,"timestamp":1375548986,"nBits":"1e0fffff","nonce":2089928209,"merkle_root":"d0227b8c3e3d07bce9656b3d9e474f050d23458aaead93357dcfdac9ab9b79f9"},"alertpubkey":"045337216002ca6a71d63edf062895417610a723d453e722bf4728996c58661cdac3d4dec5cecd449b9086e9602b35cc726a9e0163e1a4d40f521fbdaebb674658"} + } + if ( addcoin_data.coin == 'KMD' ) { + console.log(addcoin_data.mode); + logincoinfullname = 'Komodo'; + + if ( addcoin_data.mode == '1' ) { logincoinmodeinfo = 'Full'; } + if ( addcoin_data.mode == '0' ) { logincoinmodeinfo = 'Basilisk'; } + if ( addcoin_data.mode == '-1' ) { + logincoinmodeinfo = 'Native'; + var confpath = Shepherd_getConf('komodod'); + console.log(confpath[0].path); + } + + var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'); + + if ( addcoin_data.mode == '-1' ) { + var setconfig = function() { + return new Promise(function(resolve, reject) { + Shepherd_setConf('komodod'); + var result = 'setconfig: DONE'; + console.log(result); + resolve(result); + }); + } + + var startcoin = function() { + return new Promise(function(resolve, reject) { + Shepherd_herd('komodod', { + 'ac_name': 'komodod', + 'ac_options': [ + '-daemon=0', + '-addnode=78.47.196.146' + ] + }); + var result = 'startcoin: DONE'; + console.log(result); + resolve(result); + }); + } + + setconfig() + .then(function(result) { + return startcoin(); + }); + + var tmpinternval = 6000, + AddCoinData = {"coin":"KMD","conf":"komodo.conf","path":confpath[0].path,"unitval":"20","zcash":1,"RELAY":-1,"VALIDATE":0,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","startpend":8,"endpend":8,"services":0,"maxpeers":32,"newcoin":"KMD","name":"Komodo","hasheaders":1,"useaddmultisig":0,"netmagic":"f9eee48d","p2p":7770,"rpc":7771,"pubval":60,"p2shval":85,"wifval":188,"txfee_satoshis":"10000","isPoS":0,"minoutput":10000,"minconfirms":2,"genesishash":"027e3758c3a65b12aa1046462b486d0a63bfa1beae327897f56c5cfb7daaae71","protover":170002,"genesisblock":"0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a000000000000000000000000000000000000000000000000000000000000000029ab5f490f0f0f200b00000000000000000000000000000000000000000000000000000000000000fd4005000d5ba7cda5d473947263bf194285317179d2b0d307119c2e7cc4bd8ac456f0774bd52b0cd9249be9d40718b6397a4c7bbd8f2b3272fed2823cd2af4bd1632200ba4bf796727d6347b225f670f292343274cc35099466f5fb5f0cd1c105121b28213d15db2ed7bdba490b4cedc69742a57b7c25af24485e523aadbb77a0144fc76f79ef73bd8530d42b9f3b9bed1c135ad1fe152923fafe98f95f76f1615e64c4abb1137f4c31b218ba2782bc15534788dda2cc08a0ee2987c8b27ff41bd4e31cd5fb5643dfe862c9a02ca9f90c8c51a6671d681d04ad47e4b53b1518d4befafefe8cadfb912f3d03051b1efbf1dfe37b56e93a741d8dfd80d576ca250bee55fab1311fc7b3255977558cdda6f7d6f875306e43a14413facdaed2f46093e0ef1e8f8a963e1632dcbeebd8e49fd16b57d49b08f9762de89157c65233f60c8e38a1f503a48c555f8ec45dedecd574a37601323c27be597b956343107f8bd80f3a925afaf30811df83c402116bb9c1e5231c70fff899a7c82f73c902ba54da53cc459b7bf1113db65cc8f6914d3618560ea69abd13658fa7b6af92d374d6eca9529f8bd565166e4fcbf2a8dfb3c9b69539d4d2ee2e9321b85b331925df195915f2757637c2805e1d4131e1ad9ef9bc1bb1c732d8dba4738716d351ab30c996c8657bab39567ee3b29c6d054b711495c0d52e1cd5d8e55b4f0f0325b97369280755b46a02afd54be4ddd9f77c22272b8bbb17ff5118fedbae2564524e797bd28b5f74f7079d532ccc059807989f94d267f47e724b3f1ecfe00ec9e6541c961080d8891251b84b4480bc292f6a180bea089fef5bbda56e1e41390d7c0e85ba0ef530f7177413481a226465a36ef6afe1e2bca69d2078712b3912bba1a99b1fbff0d355d6ffe726d2bb6fbc103c4ac5756e5bee6e47e17424ebcbf1b63d8cb90ce2e40198b4f4198689daea254307e52a25562f4c1455340f0ffeb10f9d8e914775e37d0edca019fb1b9c6ef81255ed86bc51c5391e0591480f66e2d88c5f4fd7277697968656a9b113ab97f874fdd5f2465e5559533e01ba13ef4a8f7a21d02c30c8ded68e8c54603ab9c8084ef6d9eb4e92c75b078539e2ae786ebab6dab73a09e0aa9ac575bcefb29e930ae656e58bcb513f7e3c17e079dce4f05b5dbc18c2a872b22509740ebe6a3903e00ad1abc55076441862643f93606e3dc35e8d9f2caef3ee6be14d513b2e062b21d0061de3bd56881713a1a5c17f5ace05e1ec09da53f99442df175a49bd154aa96e4949decd52fed79ccf7ccbce32941419c314e374e4a396ac553e17b5340336a1a25c22f9e42a243ba5404450b650acfc826a6e432971ace776e15719515e1634ceb9a4a35061b668c74998d3dfb5827f6238ec015377e6f9c94f38108768cf6e5c8b132e0303fb5a200368f845ad9d46343035a6ff94031df8d8309415bb3f6cd5ede9c135fdabcc030599858d803c0f85be7661c88984d88faa3d26fb0e9aac0056a53f1b5d0baed713c853c4a2726869a0a124a8a5bbc0fc0ef80c8ae4cb53636aa02503b86a1eb9836fcc259823e2692d921d88e1ffc1e6cb2bde43939ceb3f32a611686f539f8f7c9f0bf00381f743607d40960f06d347d1cd8ac8a51969c25e37150efdf7aa4c2037a2fd0516fb444525ab157a0ed0a7412b2fa69b217fe397263153782c0f64351fbdf2678fa0dc8569912dcd8e3ccad38f34f23bbbce14c6a26ac24911b308b82c7e43062d180baeac4ba7153858365c72c63dcf5f6a5b08070b730adb017aeae925b7d0439979e2679f45ed2f25a7edcfd2fb77a8794630285ccb0a071f5cce410b46dbf9750b0354aae8b65574501cc69efb5b6a43444074fee116641bb29da56c2b4a7f456991fc92b2","debug":0} + } else { + var AddCoinData = {'userpass':tmpIguanaRPCAuth,"unitval":"20","zcash":1,"RELAY":addcoin_data.mode,"VALIDATE":addcoin_data.mode,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"maxpeers":32,"newcoin":"KMD","name":"Komodo","hasheaders":1,"useaddmultisig":0,"netmagic":"f9eee48d","p2p":7770,"rpc":7771,"pubval":60,"p2shval":85,"wifval":188,"txfee_satoshis":"10000","isPoS":0,"minoutput":10000,"minconfirms":2,"genesishash":"027e3758c3a65b12aa1046462b486d0a63bfa1beae327897f56c5cfb7daaae71","protover":170002,"genesisblock":"0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a000000000000000000000000000000000000000000000000000000000000000029ab5f490f0f0f200b00000000000000000000000000000000000000000000000000000000000000fd4005000d5ba7cda5d473947263bf194285317179d2b0d307119c2e7cc4bd8ac456f0774bd52b0cd9249be9d40718b6397a4c7bbd8f2b3272fed2823cd2af4bd1632200ba4bf796727d6347b225f670f292343274cc35099466f5fb5f0cd1c105121b28213d15db2ed7bdba490b4cedc69742a57b7c25af24485e523aadbb77a0144fc76f79ef73bd8530d42b9f3b9bed1c135ad1fe152923fafe98f95f76f1615e64c4abb1137f4c31b218ba2782bc15534788dda2cc08a0ee2987c8b27ff41bd4e31cd5fb5643dfe862c9a02ca9f90c8c51a6671d681d04ad47e4b53b1518d4befafefe8cadfb912f3d03051b1efbf1dfe37b56e93a741d8dfd80d576ca250bee55fab1311fc7b3255977558cdda6f7d6f875306e43a14413facdaed2f46093e0ef1e8f8a963e1632dcbeebd8e49fd16b57d49b08f9762de89157c65233f60c8e38a1f503a48c555f8ec45dedecd574a37601323c27be597b956343107f8bd80f3a925afaf30811df83c402116bb9c1e5231c70fff899a7c82f73c902ba54da53cc459b7bf1113db65cc8f6914d3618560ea69abd13658fa7b6af92d374d6eca9529f8bd565166e4fcbf2a8dfb3c9b69539d4d2ee2e9321b85b331925df195915f2757637c2805e1d4131e1ad9ef9bc1bb1c732d8dba4738716d351ab30c996c8657bab39567ee3b29c6d054b711495c0d52e1cd5d8e55b4f0f0325b97369280755b46a02afd54be4ddd9f77c22272b8bbb17ff5118fedbae2564524e797bd28b5f74f7079d532ccc059807989f94d267f47e724b3f1ecfe00ec9e6541c961080d8891251b84b4480bc292f6a180bea089fef5bbda56e1e41390d7c0e85ba0ef530f7177413481a226465a36ef6afe1e2bca69d2078712b3912bba1a99b1fbff0d355d6ffe726d2bb6fbc103c4ac5756e5bee6e47e17424ebcbf1b63d8cb90ce2e40198b4f4198689daea254307e52a25562f4c1455340f0ffeb10f9d8e914775e37d0edca019fb1b9c6ef81255ed86bc51c5391e0591480f66e2d88c5f4fd7277697968656a9b113ab97f874fdd5f2465e5559533e01ba13ef4a8f7a21d02c30c8ded68e8c54603ab9c8084ef6d9eb4e92c75b078539e2ae786ebab6dab73a09e0aa9ac575bcefb29e930ae656e58bcb513f7e3c17e079dce4f05b5dbc18c2a872b22509740ebe6a3903e00ad1abc55076441862643f93606e3dc35e8d9f2caef3ee6be14d513b2e062b21d0061de3bd56881713a1a5c17f5ace05e1ec09da53f99442df175a49bd154aa96e4949decd52fed79ccf7ccbce32941419c314e374e4a396ac553e17b5340336a1a25c22f9e42a243ba5404450b650acfc826a6e432971ace776e15719515e1634ceb9a4a35061b668c74998d3dfb5827f6238ec015377e6f9c94f38108768cf6e5c8b132e0303fb5a200368f845ad9d46343035a6ff94031df8d8309415bb3f6cd5ede9c135fdabcc030599858d803c0f85be7661c88984d88faa3d26fb0e9aac0056a53f1b5d0baed713c853c4a2726869a0a124a8a5bbc0fc0ef80c8ae4cb53636aa02503b86a1eb9836fcc259823e2692d921d88e1ffc1e6cb2bde43939ceb3f32a611686f539f8f7c9f0bf00381f743607d40960f06d347d1cd8ac8a51969c25e37150efdf7aa4c2037a2fd0516fb444525ab157a0ed0a7412b2fa69b217fe397263153782c0f64351fbdf2678fa0dc8569912dcd8e3ccad38f34f23bbbce14c6a26ac24911b308b82c7e43062d180baeac4ba7153858365c72c63dcf5f6a5b08070b730adb017aeae925b7d0439979e2679f45ed2f25a7edcfd2fb77a8794630285ccb0a071f5cce410b46dbf9750b0354aae8b65574501cc69efb5b6a43444074fee116641bb29da56c2b4a7f456991fc92b2","debug":0} + } + } + if ( addcoin_data.coin == 'ZEC' ) { + logincoinfullname = 'Zcash'; + + if ( addcoin_data.mode == '1' ) { logincoinmodeinfo = 'Full'; } + if ( addcoin_data.mode == '0' ) { logincoinmodeinfo = 'Basilisk'; } + if ( addcoin_data.mode == '-1' ) { + logincoinmodeinfo = 'Native'; + var confpath = Shepherd_getConf('zcashd'); + console.log(confpath[0].path); + } + + var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'); + + if ( addcoin_data.mode == '-1' ) { + var setconfig = function() { + return new Promise(function(resolve, reject) { + Shepherd_setConf('zcashd'); + var result = 'setconfig: DONE'; + console.log(result); + resolve(result); + }); + } + + var startcoin = function() { + return new Promise(function(resolve, reject) { + Shepherd_herd('zcashd', { + 'ac_name': 'zcashd', + 'ac_options': [ + '-daemon=0', + '-server=1' + ] + }); + var result = 'startcoin: DONE'; + console.log(result); + resolve(result); + }); + } + + startcoin(); + + var tmpinternval = 6000, + AddCoinData = {"coin":"ZEC","conf":"zcash.conf","path":confpath[0].path,"unitval":"20","zcash":1,"RELAY":-1,"VALIDATE":0,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","startpend":8,"endpend":8,"services":129,"maxpeers":32,"newcoin":"ZEC","name":"Zcash","hasheaders":0,"useaddmultisig":0,"netmagic":"24e92764","p2p":8233,"rpc":8232,"pubval":184,"p2shval":189,"wifval":128,"txfee_satoshis":"10000","isPoS":0,"minoutput":10000,"minconfirms":2,"genesishash":"00040fe8ec8471911baa1db1266ea15dd06b4a8a5c453883c000b031973dce08","protover":170002,"genesisblock":"040000000000000000000000000000000000000000000000000000000000000000000000db4d7a85b768123f1dff1d4c4cece70083b2d27e117b4ac2e31d087988a5eac4000000000000000000000000000000000000000000000000000000000000000090041358ffff071f5712000000000000000000000000000000000000000000000000000000000000fd4005000a889f00854b8665cd555f4656f68179d31ccadc1b1f7fb0952726313b16941da348284d67add4686121d4e3d930160c1348d8191c25f12b267a6a9c131b5031cbf8af1f79c9d513076a216ec87ed045fa966e01214ed83ca02dc1797270a454720d3206ac7d931a0a680c5c5e099057592570ca9bdf6058343958b31901fce1a15a4f38fd347750912e14004c73dfe588b903b6c03166582eeaf30529b14072a7b3079e3a684601b9b3024054201f7440b0ee9eb1a7120ff43f713735494aa27b1f8bab60d7f398bca14f6abb2adbf29b04099121438a7974b078a11635b594e9170f1086140b4173822dd697894483e1c6b4e8b8dcd5cb12ca4903bc61e108871d4d915a9093c18ac9b02b6716ce1013ca2c1174e319c1a570215bc9ab5f7564765f7be20524dc3fdf8aa356fd94d445e05ab165ad8bb4a0db096c097618c81098f91443c719416d39837af6de85015dca0de89462b1d8386758b2cf8a99e00953b308032ae44c35e05eb71842922eb69797f68813b59caf266cb6c213569ae3280505421a7e3a0a37fdf8e2ea354fc5422816655394a9454bac542a9298f176e211020d63dee6852c40de02267e2fc9d5e1ff2ad9309506f02a1a71a0501b16d0d36f70cdfd8de78116c0c506ee0b8ddfdeb561acadf31746b5a9dd32c21930884397fb1682164cb565cc14e089d66635a32618f7eb05fe05082b8a3fae620571660a6b89886eac53dec109d7cbb6930ca698a168f301a950be152da1be2b9e07516995e20baceebecb5579d7cdbc16d09f3a50cb3c7dffe33f26686d4ff3f8946ee6475e98cf7b3cf9062b6966e838f865ff3de5fb064a37a21da7bb8dfd2501a29e184f207caaba364f36f2329a77515dcb710e29ffbf73e2bbd773fab1f9a6b005567affff605c132e4e4dd69f36bd201005458cfbd2c658701eb2a700251cefd886b1e674ae816d3f719bac64be649c172ba27a4fd55947d95d53ba4cbc73de97b8af5ed4840b659370c556e7376457f51e5ebb66018849923db82c1c9a819f173cccdb8f3324b239609a300018d0fb094adf5bd7cbb3834c69e6d0b3798065c525b20f040e965e1a161af78ff7561cd874f5f1b75aa0bc77f720589e1b810f831eac5073e6dd46d00a2793f70f7427f0f798f2f53a67e615e65d356e66fe40609a958a05edb4c175bcc383ea0530e67ddbe479a898943c6e3074c6fcc252d6014de3a3d292b03f0d88d312fe221be7be7e3c59d07fa0f2f4029e364f1f355c5d01fa53770d0cd76d82bf7e60f6903bc1beb772e6fde4a70be51d9c7e03c8d6d8dfb361a234ba47c470fe630820bbd920715621b9fbedb49fcee165ead0875e6c2b1af16f50b5d6140cc981122fcbcf7c5a4e3772b3661b628e08380abc545957e59f634705b1bbde2f0b4e055a5ec5676d859be77e20962b645e051a880fddb0180b4555789e1f9344a436a84dc5579e2553f1e5fb0a599c137be36cabbed0319831fea3fddf94ddc7971e4bcf02cdc93294a9aab3e3b13e3b058235b4f4ec06ba4ceaa49d675b4ba80716f3bc6976b1fbf9c8bf1f3e3a4dc1cd83ef9cf816667fb94f1e923ff63fef072e6a19321e4812f96cb0ffa864da50ad74deb76917a336f31dce03ed5f0303aad5e6a83634f9fcc371096f8288b8f02ddded5ff1bb9d49331e4a84dbe1543164438fde9ad71dab024779dcdde0b6602b5ae0a6265c14b94edd83b37403f4b78fcd2ed555b596402c28ee81d87a909c4e8722b30c71ecdd861b05f61f8b1231795c76adba2fdefa451b283a5d527955b9f3de1b9828e7b2e74123dd47062ddcc09b05e7fa13cb2212a6fdbc65d7e852cec463ec6fd929f5b8483cf3052113b13dac91b69f49d1b7d1aec01c4a68e41ce157","debug":0} + } else { + var AddCoinData = {'userpass':tmpIguanaRPCAuth,"unitval":"20","zcash":1,"RELAY":addcoin_data.mode,"VALIDATE":addcoin_data.mode,"prefetchlag":-1,"poll":10,"active":1,"agent":"iguana","method":"addcoin","startpend":tmpPendValue,"endpend":tmpPendValue,"services":129,"maxpeers":32,"newcoin":"ZEC","name":"Zcash","hasheaders":0,"useaddmultisig":0,"netmagic":"24e92764","p2p":8233,"rpc":8232,"pubval":184,"p2shval":189,"wifval":128,"txfee_satoshis":"10000","isPoS":0,"minoutput":10000,"minconfirms":2,"genesishash":"00040fe8ec8471911baa1db1266ea15dd06b4a8a5c453883c000b031973dce08","protover":170002,"genesisblock":"040000000000000000000000000000000000000000000000000000000000000000000000db4d7a85b768123f1dff1d4c4cece70083b2d27e117b4ac2e31d087988a5eac4000000000000000000000000000000000000000000000000000000000000000090041358ffff071f5712000000000000000000000000000000000000000000000000000000000000fd4005000a889f00854b8665cd555f4656f68179d31ccadc1b1f7fb0952726313b16941da348284d67add4686121d4e3d930160c1348d8191c25f12b267a6a9c131b5031cbf8af1f79c9d513076a216ec87ed045fa966e01214ed83ca02dc1797270a454720d3206ac7d931a0a680c5c5e099057592570ca9bdf6058343958b31901fce1a15a4f38fd347750912e14004c73dfe588b903b6c03166582eeaf30529b14072a7b3079e3a684601b9b3024054201f7440b0ee9eb1a7120ff43f713735494aa27b1f8bab60d7f398bca14f6abb2adbf29b04099121438a7974b078a11635b594e9170f1086140b4173822dd697894483e1c6b4e8b8dcd5cb12ca4903bc61e108871d4d915a9093c18ac9b02b6716ce1013ca2c1174e319c1a570215bc9ab5f7564765f7be20524dc3fdf8aa356fd94d445e05ab165ad8bb4a0db096c097618c81098f91443c719416d39837af6de85015dca0de89462b1d8386758b2cf8a99e00953b308032ae44c35e05eb71842922eb69797f68813b59caf266cb6c213569ae3280505421a7e3a0a37fdf8e2ea354fc5422816655394a9454bac542a9298f176e211020d63dee6852c40de02267e2fc9d5e1ff2ad9309506f02a1a71a0501b16d0d36f70cdfd8de78116c0c506ee0b8ddfdeb561acadf31746b5a9dd32c21930884397fb1682164cb565cc14e089d66635a32618f7eb05fe05082b8a3fae620571660a6b89886eac53dec109d7cbb6930ca698a168f301a950be152da1be2b9e07516995e20baceebecb5579d7cdbc16d09f3a50cb3c7dffe33f26686d4ff3f8946ee6475e98cf7b3cf9062b6966e838f865ff3de5fb064a37a21da7bb8dfd2501a29e184f207caaba364f36f2329a77515dcb710e29ffbf73e2bbd773fab1f9a6b005567affff605c132e4e4dd69f36bd201005458cfbd2c658701eb2a700251cefd886b1e674ae816d3f719bac64be649c172ba27a4fd55947d95d53ba4cbc73de97b8af5ed4840b659370c556e7376457f51e5ebb66018849923db82c1c9a819f173cccdb8f3324b239609a300018d0fb094adf5bd7cbb3834c69e6d0b3798065c525b20f040e965e1a161af78ff7561cd874f5f1b75aa0bc77f720589e1b810f831eac5073e6dd46d00a2793f70f7427f0f798f2f53a67e615e65d356e66fe40609a958a05edb4c175bcc383ea0530e67ddbe479a898943c6e3074c6fcc252d6014de3a3d292b03f0d88d312fe221be7be7e3c59d07fa0f2f4029e364f1f355c5d01fa53770d0cd76d82bf7e60f6903bc1beb772e6fde4a70be51d9c7e03c8d6d8dfb361a234ba47c470fe630820bbd920715621b9fbedb49fcee165ead0875e6c2b1af16f50b5d6140cc981122fcbcf7c5a4e3772b3661b628e08380abc545957e59f634705b1bbde2f0b4e055a5ec5676d859be77e20962b645e051a880fddb0180b4555789e1f9344a436a84dc5579e2553f1e5fb0a599c137be36cabbed0319831fea3fddf94ddc7971e4bcf02cdc93294a9aab3e3b13e3b058235b4f4ec06ba4ceaa49d675b4ba80716f3bc6976b1fbf9c8bf1f3e3a4dc1cd83ef9cf816667fb94f1e923ff63fef072e6a19321e4812f96cb0ffa864da50ad74deb76917a336f31dce03ed5f0303aad5e6a83634f9fcc371096f8288b8f02ddded5ff1bb9d49331e4a84dbe1543164438fde9ad71dab024779dcdde0b6602b5ae0a6265c14b94edd83b37403f4b78fcd2ed555b596402c28ee81d87a909c4e8722b30c71ecdd861b05f61f8b1231795c76adba2fdefa451b283a5d527955b9f3de1b9828e7b2e74123dd47062ddcc09b05e7fa13cb2212a6fdbc65d7e852cec463ec6fd929f5b8483cf3052113b13dac91b69f49d1b7d1aec01c4a68e41ce157","debug":0} + } + }*/ + + return AddCoinData[coin]; } export function startCurrencyAssetChain(confpath, coin, mode) { - var AddCoinDataPayload = {}; - var tmpPendValue = 4; - var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'); + var AddCoinDataPayload = {}, + tmpPendValue, + tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'); + + if (coin !== 'BTC' && coin !== 'LTC' && coin !== 'DOGE') { + tmpPendValue = parseInt(tmpPendValue) * 4; + } var _payloadVar = { 'userpass': tmpIguanaRPCAuth, @@ -519,7 +677,7 @@ export function startAssetChain(confpath, coin, mode, getSuppyOnly) { if (coin !== 'BTC' && coin !== 'LTC' && coin !== 'DOGE') { tmpPendValue = parseInt(tmpPendValue) * 4; - } + } const _acPayloadOrigin = { 'unitval': '20', @@ -645,38 +803,6 @@ export function startAssetChain(confpath, coin, mode, getSuppyOnly) { }; if ( mode === '-1' ) { - /*var setconfig = function() { - return new Promise(function(resolve, reject) { - Shepherd_setConf(addcoin_data.coin); - var result = 'setconfig: DONE'; - console.log(result); - resolve(result); - }); - } - - var startcoin = function() { - return new Promise(function(resolve, reject) { - Shepherd_herd('komodod', { - 'ac_name': addcoin_data.coin, - 'ac_options': [ - '-daemon=0', - '-server', - '-ac_name=' + addcoin_data.coin, - '-ac_supply=' + acConfig[addcoin_data.coin].supply, - '-addnode=78.47.196.146' - ] - }); - - var result = 'startcoin: DONE'; - console.log(result); - resolve(result); - }); - } - - startcoin(); - - var tmpinternval = 6000, - AddCoinData = acConfig[addcoin_data.coin].AddCoinData;*/ if (getSuppyOnly) { return acConfig[coin].supply; } else { diff --git a/react/src/components/dashboard/atomic.js b/react/src/components/dashboard/atomic.js index 7ecceeb..d87d7e1 100644 --- a/react/src/components/dashboard/atomic.js +++ b/react/src/components/dashboard/atomic.js @@ -2,6 +2,9 @@ import React from 'react'; import { translate } from '../../translate/translate'; /*import { dashboardChangeSection, toggleAddcoinModal, logout } from '../../actions/actionCreators'; import Store from '../../store';*/ +import AddCoinOptionsCrypto from '../addcoin/addcoinOptionsCrypto'; +import AddCoinOptionsAC from '../addcoin/addcoinOptionsAC'; +import AddCoinOptionsACFiat from '../addcoin/addcoinOptionsACFiat'; class Atomic extends React.Component { constructor(props) { @@ -23,76 +26,9 @@ class Atomic extends React.Component {
diff --git a/react/src/components/dashboard/coinTile.js b/react/src/components/dashboard/coinTile.js index 21756a1..8768636 100644 --- a/react/src/components/dashboard/coinTile.js +++ b/react/src/components/dashboard/coinTile.js @@ -18,12 +18,10 @@ class CoinTile extends React.Component { ]; const allCoins = this.props.Main.coins; var items = []; - console.log('tiles', this.props.Main.coins); if (this.props.Main && this.props.Main.coins) { modes.map(function(mode) { allCoins[mode].map(function(coin) { - console.log(coin); var coinlogo = '', coinname = '', modecode = '', diff --git a/react/src/components/dashboard/dashboard.js b/react/src/components/dashboard/dashboard.js index a3cea8a..7ad645e 100644 --- a/react/src/components/dashboard/dashboard.js +++ b/react/src/components/dashboard/dashboard.js @@ -10,6 +10,7 @@ import SendCoin from './sendCoin'; import WalletsData from './walletsData'; import Atomic from './atomic'; import Jumblr from './jumblr'; +import Settings from './settings'; class Dashboard extends React.Component { constructor(props) { @@ -43,6 +44,9 @@ class Dashboard extends React.Component {
+
+ +
); diff --git a/react/src/components/dashboard/settings.js b/react/src/components/dashboard/settings.js index 538c174..9b04dec 100644 --- a/react/src/components/dashboard/settings.js +++ b/react/src/components/dashboard/settings.js @@ -2,6 +2,9 @@ import React from 'react'; import { translate } from '../../translate/translate'; /*import { dashboardChangeSection, toggleAddcoinModal, logout } from '../../actions/actionCreators'; import Store from '../../store';*/ +import AddCoinOptionsCrypto from '../addcoin/addcoinOptionsCrypto'; +import AddCoinOptionsAC from '../addcoin/addcoinOptionsAC'; +import AddCoinOptionsACFiat from '../addcoin/addcoinOptionsACFiat'; class Settings extends React.Component { constructor(props) { @@ -19,64 +22,62 @@ class Settings extends React.Component { render() { return ( -
-
-
-
-
-
-

-
-
-
-

+                    
{this.state.output}
diff --git a/react/src/reducers/atomic.js b/react/src/reducers/atomic.js new file mode 100644 index 0000000..d352d36 --- /dev/null +++ b/react/src/reducers/atomic.js @@ -0,0 +1,16 @@ +import { ATOMIC } from '../actions/actionCreators' + +export function Atomic(state = { + response: null, +}, action) { + switch (action.type) { + case ATOMIC: + return Object.assign({}, state, { + response: action.response, + }); + default: + return state; + } +} + +export default Atomic; diff --git a/react/src/reducers/index.js b/react/src/reducers/index.js index 0379dfe..ca753aa 100644 --- a/react/src/reducers/index.js +++ b/react/src/reducers/index.js @@ -6,6 +6,7 @@ import { toaster } from './toaster'; import { Main } from './main'; import { Dashboard } from './dashboard'; import { ActiveCoin } from './activeCoin'; +import { Atomic } from './atomic'; const rootReducer = combineReducers({ AddCoin, @@ -13,6 +14,7 @@ const rootReducer = combineReducers({ Main, Dashboard, ActiveCoin, + Atomic, routing: routerReducer, }); From ce2c2febebdda1ca7f11c87e7d0c78eda11f2878 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Fri, 7 Apr 2017 10:37:12 +0300 Subject: [PATCH 6/7] updated dashboard components --- react/src/actions/actionCreators.js | 29 +- react/src/components/app/app.js | 1 + react/src/components/dashboard/about.js | 17 + react/src/components/dashboard/atomic.js | 4 - react/src/components/dashboard/dashboard.js | 8 +- react/src/components/dashboard/edex.js | 2 +- react/src/components/dashboard/navbar.js | 8 +- react/src/components/dashboard/receiveCoin.js | 939 +++++++++--------- react/src/components/dashboard/sendCoin.js | 1 - react/src/components/dashboard/settings.js | 75 +- react/src/components/dashboard/walletsNav.js | 10 +- react/src/reducers/activeCoin.js | 8 +- react/src/reducers/atomic.js | 2 +- react/src/reducers/index.js | 2 + react/src/reducers/main.js | 3 +- react/src/reducers/settings.js | 18 + react/src/styles/index.scss | 12 + 17 files changed, 612 insertions(+), 527 deletions(-) create mode 100644 react/src/components/dashboard/about.js create mode 100644 react/src/reducers/settings.js diff --git a/react/src/actions/actionCreators.js b/react/src/actions/actionCreators.js index 997e12d..016d276 100644 --- a/react/src/actions/actionCreators.js +++ b/react/src/actions/actionCreators.js @@ -16,6 +16,7 @@ export const DASHBOARD_ACTIVE_COIN_SEND_FORM = 'DASHBOARD_ACTIVE_COIN_SEND_FORM' export const DASHBOARD_ACTIVE_COIN_RECEIVE_FORM = 'DASHBOARD_ACTIVE_COIN_RECEIVE_FORM'; export const DASHBOARD_ACTIVE_COIN_RESET_FORMS = 'DASHBOARD_ACTIVE_COIN_RESET_FORMS'; export const ATOMIC = 'ATOMIC'; +export const GET_WIF_KEY = 'GET_WIF_KEY'; function atomicState(json) { return { @@ -421,13 +422,39 @@ export function atomic(payload) { }) .catch(function(error) { console.log(error); - dispatch(triggerToaster(true, payload.method, 'Atomic explorer error', 'error')) + dispatch(triggerToaster(true, payload.method, 'Atomic explore error', 'error')) }) .then(response => response.json()) .then(json => dispatch(atomicState(json))); } } +export function test(json) { + console.log('test', json); +} + +export function encryptWallet(_passphrase, cb) { + const payload = { + 'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'), + 'agent': 'bitcoinrpc', + 'method': 'encryptwallet', + 'passphrase': _passphrase + }; + + return dispatch => { + return fetch('http://127.0.0.1:7778', { + method: 'POST', + body: JSON.stringify(payload), + }) + .catch(function(error) { + console.log(error); + dispatch(triggerToaster(true, 'encryptWallet', 'Error', 'error')) + }) + .then(response => response.json()) + .then(json => dispatch(cb.call(this, json))); + } +} + /*function Shepherd_SysInfo() { return new Promise((resolve) => { $.ajax({ diff --git a/react/src/components/app/app.js b/react/src/components/app/app.js index d011c8d..b03538f 100644 --- a/react/src/components/app/app.js +++ b/react/src/components/app/app.js @@ -11,6 +11,7 @@ function mapStateToProps(state) { Dashboard: state.Dashboard, ActiveCoin: state.ActiveCoin, Atomic: state.Atomic, + Settings: state.Settings, }; } diff --git a/react/src/components/dashboard/about.js b/react/src/components/dashboard/about.js new file mode 100644 index 0000000..3f11be5 --- /dev/null +++ b/react/src/components/dashboard/about.js @@ -0,0 +1,17 @@ +import React from 'react'; +import { translate } from '../../translate/translate'; + +class About extends React.Component { + render() { + return( +
+
+

About Iguana

+

Page content goes here

+
+
+ ); + } +} + +export default About; diff --git a/react/src/components/dashboard/atomic.js b/react/src/components/dashboard/atomic.js index 88aa7e8..b1f331a 100644 --- a/react/src/components/dashboard/atomic.js +++ b/react/src/components/dashboard/atomic.js @@ -25,21 +25,18 @@ class Atomic extends React.Component { this.setState(Object.assign({}, this.state, { 'api': e.target.value, })); - console.log('this', this.state); } updateSelectedCoin(e) { this.setState(Object.assign({}, this.state, { 'coin': e.target.value.split('|')[0], })); - console.log('this', this.state); } updateInput(e) { this.setState(Object.assign({}, this.state, { 'input': e.target.value, })); - console.log('this', this.state); } getAtomicData() { @@ -326,7 +323,6 @@ class Atomic extends React.Component { } componentWillReceiveProps(props) { - console.log('atomicprops', props.Atomic.response); if (props && props.Atomic.response) { if (this.state.api === 'txid' || this.state.api === 'dex_getbestblockhash' || diff --git a/react/src/components/dashboard/dashboard.js b/react/src/components/dashboard/dashboard.js index 7ad645e..90782db 100644 --- a/react/src/components/dashboard/dashboard.js +++ b/react/src/components/dashboard/dashboard.js @@ -11,6 +11,8 @@ import WalletsData from './walletsData'; import Atomic from './atomic'; import Jumblr from './jumblr'; import Settings from './settings'; +import ReceiveCoin from './receiveCoin'; +import About from './about'; class Dashboard extends React.Component { constructor(props) { @@ -21,7 +23,7 @@ class Dashboard extends React.Component { } renderDashboard() { - document.body.className = 'page-login'; + document.body.className = ''; // return (
@@ -33,6 +35,7 @@ class Dashboard extends React.Component { +
@@ -47,6 +50,9 @@ class Dashboard extends React.Component {
+
+ +
); diff --git a/react/src/components/dashboard/edex.js b/react/src/components/dashboard/edex.js index 4563481..1f966f3 100644 --- a/react/src/components/dashboard/edex.js +++ b/react/src/components/dashboard/edex.js @@ -4,7 +4,7 @@ import { translate } from '../../translate/translate'; class EDEX extends React.Component { render() { return ( -
+

Coming Soon!

diff --git a/react/src/components/dashboard/navbar.js b/react/src/components/dashboard/navbar.js index 67cf3d2..d817180 100644 --- a/react/src/components/dashboard/navbar.js +++ b/react/src/components/dashboard/navbar.js @@ -66,22 +66,22 @@ class Navbar extends React.Component { -
  • +
  • this.dashboardChangeSection('wallets')}> {translate('INDEX.WALLETS')}
  • -
  • +
  • this.dashboardChangeSection('edex')}> EasyDEX
  • -
  • +
  • this.dashboardChangeSection('jumblr')}> Jumblr
  • -
  • +
  • this.dashboardChangeSection('atomic')}> Atomic Explorer diff --git a/react/src/components/dashboard/receiveCoin.js b/react/src/components/dashboard/receiveCoin.js index de0e39d..973a9f1 100644 --- a/react/src/components/dashboard/receiveCoin.js +++ b/react/src/components/dashboard/receiveCoin.js @@ -3,565 +3,554 @@ import { translate } from '../../translate/translate'; class ReceiveCoin extends React.Component { render() { - return ( -
    -
    - - - + console.log('receiveprops', this.props); + if (this.props && this.props.receive) { + return ( +
    +
    + -
    -
    -
    -
    - - | - / - | : - -
    -
    + -
    -
    -
    -
    -
    -
    -
    -
    -
    - {translate('INDEX.TRANSPARENT_BALANCE')} -
    - - -
    -
    +
    +
    +
    +
    + - | - / - | : -
    +
    -
    -
    -
    -
    -
    -
    - {translate('INDEX.Z_BALANCE')} +
    +
    +
    +
    +
    +
    +
    +
    + {translate('INDEX.TRANSPARENT_BALANCE')} +
    + -
    - -
    -
    -
    -
    -
    -
    -
    -
    - {translate('INDEX.INTEREST_EARNED')} +
    +
    +
    +
    +
    +
    + {translate('INDEX.Z_BALANCE')} +
    + -
    - -
    -
    -
    -
    -
    -
    -
    -
    - {translate('INDEX.ZT_BALANCE')} +
    +
    +
    +
    +
    +
    + {translate('INDEX.INTEREST_EARNED')} +
    + -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    {translate('INDEX.TRANSACTION_HISTORY')}

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    {translate('INDEX.TYPE')}{translate('INDEX.DIRECTION')}{translate('INDEX.CONFIRMATIONS')}{translate('INDEX.AMOUNT')}{translate('INDEX.TIME')}{translate('INDEX.DEST_ADDRESS')}{translate('INDEX.TX_DETAIL')}
    {translate('INDEX.TYPE')}{translate('INDEX.DIRECTION')}{translate('INDEX.CONFIRMATIONS')}{translate('INDEX.AMOUNT')}{translate('INDEX.TIME')}{translate('INDEX.DEST_ADDRESS')}{translate('INDEX.TX_DETAIL')}
    +
    +
    +
    +
    +
    +
    + {translate('INDEX.ZT_BALANCE')} +
    + -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - +
    +
    +
    +
    +
    +
    +
    +

    {translate('INDEX.TRANSACTION_HISTORY')}

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    {translate('INDEX.TYPE')}{translate('INDEX.DIRECTION')}{translate('INDEX.CONFIRMATIONS')}{translate('INDEX.AMOUNT')}{translate('INDEX.TIME')}{translate('INDEX.DEST_ADDRESS')}{translate('INDEX.TX_DETAIL')}
    {translate('INDEX.TYPE')}{translate('INDEX.DIRECTION')}{translate('INDEX.CONFIRMATIONS')}{translate('INDEX.AMOUNT')}{translate('INDEX.TIME')}{translate('INDEX.DEST_ADDRESS')}{translate('INDEX.TX_DETAIL')}
    -

    {translate('INDEX.RECEIVING_ADDRESS')}

    -
    -
    - - - - - - - - - - - - - -
    {translate('INDEX.TYPE')}{translate('INDEX.ADDRESS')}
    {translate('INDEX.TYPE')}{translate('INDEX.ADDRESS')}
    -
    -
    -
    -
    -
    -

    - {translate('INDEX.SEND')} -

    -
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - {translate('INDEX.TOTAL')} ( - txfee): 0.000 - -
    -
    - -
    -
    -
    -
    -
    -
    - -
    -
    +
    +
    -
    +
    -

    {translate('INDEX.OPERATIONS_STATUSES')}

    +

    {translate('INDEX.RECEIVING_ADDRESS')}

    - +
    - - - - + + - - - - + +
    {translate('INDEX.STATUS')}ID{translate('INDEX.TIME')}{translate('INDEX.RESULT')}{translate('INDEX.TYPE')}{translate('INDEX.ADDRESS')}
    {translate('INDEX.STATUS')}ID{translate('INDEX.TIME')}{translate('INDEX.RESULT')}{translate('INDEX.TYPE')}{translate('INDEX.ADDRESS')}
    -
    -
    -
    -
    -