Browse Source

native balance

all-modes
pbca26 8 years ago
parent
commit
8be20c7de2
  1. 101
      react/src/actions/actionCreators.js
  2. 6
      react/src/components/dashboard/coinTileItem.js
  3. 2
      react/src/components/dashboard/walletsNative.js
  4. 12
      react/src/reducers/activeCoin.js

101
react/src/actions/actionCreators.js

@ -37,6 +37,8 @@ export const START_INTERVAL= 'START_INTERVAL';
export const STOP_INTERVAL= 'STOP_INTERVAL'; export const STOP_INTERVAL= 'STOP_INTERVAL';
export const DASHBOARD_ACTIVE_SECTION = 'DASHBOARD_ACTIVE_SECTION'; export const DASHBOARD_ACTIVE_SECTION = 'DASHBOARD_ACTIVE_SECTION';
export const DASHBOARD_ACTIVE_TXINFO_MODAL = 'DASHBOARD_ACTIVE_TXINFO_MODAL'; export const DASHBOARD_ACTIVE_TXINFO_MODAL = 'DASHBOARD_ACTIVE_TXINFO_MODAL';
export const DASHBOARD_ACTIVE_COIN_NATIVE_BALANCE = 'DASHBOARD_ACTIVE_COIN_NATIVE_BALANCE';
export const DASHBOARD_ACTIVE_COIN_NATIVE_TXHISTORY = 'DASHBOARD_ACTIVE_COIN_NATIVE_TXHISTORY';
export function toggleDashboardActiveSection(name) { export function toggleDashboardActiveSection(name) {
return { return {
@ -886,18 +888,23 @@ function getSyncInfoNativeState(json) {
} }
} }
export function getSyncInfoNative(coin) { function getPassthruAgent(coin) {
var payload = {}, var passthru_agent;
passthru_agent;
if ( coin === 'KMD') { passthru_agent = 'komodo'; }; if ( coin === 'KMD') { passthru_agent = 'komodo'; };
if ( coin === 'ZEC') { passthru_agent = 'zcash'; }; if ( coin === 'ZEC') { passthru_agent = 'zcash'; };
if (checkAC(coin)) { passthru_agent = 'iguana'; }; if (checkAC(coin)) { passthru_agent = 'iguana'; };
return passthru_agent;
}
export function getSyncInfoNative(coin) {
var payload = {};
payload = { payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'), 'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'agent': passthru_agent, 'agent': getPassthruAgent(coin),
'method': 'passthru', 'method': 'passthru',
'asset': coin, 'asset': coin,
'function': 'getinfo', 'function': 'getinfo',
@ -949,6 +956,92 @@ export function getDexBalance(coin, addr) {
}); });
} }
export function getKMDBalanceTotal(coin) {
var payload;
if ( coin !== 'KMD' && coin !== 'ZEC' ) {
payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'agent': 'iguana',
'method': 'passthru',
'asset': coin,
'function': 'z_gettotalbalance',
'hex': '3000'
};
} else {
payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'agent': getPassthruAgent(coin),
'method': 'passthru',
'function': 'z_gettotalbalance',
'hex': '3000'
};
}
return dispatch => {
return fetch('http://127.0.0.1:' + Config.iguanaCorePort, {
method: 'POST',
body: JSON.stringify(payload),
})
.catch(function(error) {
console.log(error);
dispatch(triggerToaster(true, 'getKMDBalanceTotal', 'Error', 'error'));
})
.then(response => response.json())
.then(json => dispatch(getNativeBalancesState(json)))
}
}
export function getNativeBalancesState(json) {
return {
type: DASHBOARD_ACTIVE_COIN_NATIVE_BALANCE,
balance: json && !json.error ? json : 0,
}
}
export function getNativeTxHistory(coin) {
var payload;
if (getPassthruAgent(coin) === 'iguana') {
payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'agent': 'iguana',
'method': 'passthru',
'asset': coin,
'function': 'listtransactions',
'hex': ''
};
} else {
payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'agent': getPassthruAgent(coin),
'method': 'passthru',
'function': 'listtransactions',
'hex': ''
};
}
return dispatch => {
return fetch('http://127.0.0.1:' + Config.iguanaCorePort, {
method: 'POST',
body: JSON.stringify(payload),
})
.catch(function(error) {
console.log(error);
dispatch(triggerToaster(true, 'getNativeTxHistory', 'Error', 'error'));
})
.then(response => response.json())
.then(json => dispatch(getNativeTxHistoryState(json)))
}
}
export function getNativeTxHistoryState(json) {
return {
type: DASHBOARD_ACTIVE_COIN_NATIVE_TXHISTORY,
txhistory: json && !json.error ? json : 0,
}
}
/*function Shepherd_SendPendValue() { /*function Shepherd_SendPendValue() {
Shepherd_SysInfo().then(function(result){ Shepherd_SysInfo().then(function(result){
var ram_data = formatBytes(result.totalmem_bytes) var ram_data = formatBytes(result.totalmem_bytes)

6
react/src/components/dashboard/coinTileItem.js

@ -8,7 +8,9 @@ import {
startInterval, startInterval,
stopInterval, stopInterval,
iguanaEdexBalance, iguanaEdexBalance,
getSyncInfoNative getSyncInfoNative,
getKMDBalanceTotal,
getNativeTxHistory
} from '../../actions/actionCreators'; } from '../../actions/actionCreators';
import Store from '../../store'; import Store from '../../store';
@ -31,6 +33,8 @@ class CoinTileItem extends React.Component {
Store.dispatch(stopInterval('sync', this.props.Interval.interval)); Store.dispatch(stopInterval('sync', this.props.Interval.interval));
var _iguanaActiveHandle = setInterval(function() { var _iguanaActiveHandle = setInterval(function() {
Store.dispatch(getSyncInfoNative(coin)); Store.dispatch(getSyncInfoNative(coin));
Store.dispatch(getKMDBalanceTotal(coin));
Store.dispatch(getNativeTxHistory(coin));
}, 3000); }, 3000);
Store.dispatch(startInterval('sync', _iguanaActiveHandle)); Store.dispatch(startInterval('sync', _iguanaActiveHandle));
} else { } else {

2
react/src/components/dashboard/walletsNative.js

@ -26,7 +26,7 @@ class WalletsNative extends React.Component {
<div id="easydex-header-div" style={{'backgroundImage': 'url("assets/images/bg/' + this.props.ActiveCoin.coin.toLowerCase() + '_transparent_header_bg.png")'}}> <div id="easydex-header-div" style={{'backgroundImage': 'url("assets/images/bg/' + this.props.ActiveCoin.coin.toLowerCase() + '_transparent_header_bg.png")'}}>
<ol className="breadcrumb"> <ol className="breadcrumb">
<li className="header-easydex-section"> <li className="header-easydex-section">
<img src={'assets/images/native/' + this.props.ActiveCoin.coin.toLowerCase() + '_header_title_logo.png'} /> <span style={{fontSize: '35px', verticalAlign: 'middle'}} className={this.props.ActiveCoin.coin === 'KMD' ? 'hide' : 'show'}>{this.props.ActiveCoin.coin}</span> <img src={'assets/images/native/' + this.props.ActiveCoin.coin.toLowerCase() + '_header_title_logo.png'} /> <span style={{fontSize: '35px', verticalAlign: 'middle'}} className={this.props.ActiveCoin.coin === 'KMD' ? 'hide' : ''}>{this.props.ActiveCoin.coin}</span>
</li> </li>
</ol> </ol>
</div> </div>

12
react/src/reducers/activeCoin.js

@ -6,7 +6,9 @@ import {
DASHBOARD_ACTIVE_COIN_RESET_FORMS, DASHBOARD_ACTIVE_COIN_RESET_FORMS,
DASHBOARD_ACTIVE_SECTION, DASHBOARD_ACTIVE_SECTION,
DASHBOARD_ACTIVE_TXINFO_MODAL, DASHBOARD_ACTIVE_TXINFO_MODAL,
ACTIVE_COIN_GET_ADDRESSES ACTIVE_COIN_GET_ADDRESSES,
DASHBOARD_ACTIVE_COIN_NATIVE_BALANCE,
DASHBOARD_ACTIVE_COIN_NATIVE_TXHISTORY
} from '../actions/actionCreators'; } from '../actions/actionCreators';
export function ActiveCoin(state = { export function ActiveCoin(state = {
@ -55,6 +57,14 @@ export function ActiveCoin(state = {
return Object.assign({}, state, { return Object.assign({}, state, {
showTransactionInfo: action.display, showTransactionInfo: action.display,
}); });
case DASHBOARD_ACTIVE_COIN_NATIVE_BALANCE:
return Object.assign({}, state, {
balance: action.balance,
});
case DASHBOARD_ACTIVE_COIN_NATIVE_TXHISTORY:
return Object.assign({}, state, {
txhistory: action.txhistory,
});
default: default:
return state; return state;
} }

Loading…
Cancel
Save