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 DASHBOARD_ACTIVE_SECTION = 'DASHBOARD_ACTIVE_SECTION';
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) {
return {
@ -886,18 +888,23 @@ function getSyncInfoNativeState(json) {
}
}
export function getSyncInfoNative(coin) {
var payload = {},
passthru_agent;
function getPassthruAgent(coin) {
var passthru_agent;
if ( coin === 'KMD') { passthru_agent = 'komodo'; };
if ( coin === 'ZEC') { passthru_agent = 'zcash'; };
if (checkAC(coin)) { passthru_agent = 'iguana'; };
return passthru_agent;
}
export function getSyncInfoNative(coin) {
var payload = {};
payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'agent': passthru_agent,
'agent': getPassthruAgent(coin),
'method': 'passthru',
'asset': coin,
'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() {
Shepherd_SysInfo().then(function(result){
var ram_data = formatBytes(result.totalmem_bytes)

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

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

12
react/src/reducers/activeCoin.js

@ -6,7 +6,9 @@ import {
DASHBOARD_ACTIVE_COIN_RESET_FORMS,
DASHBOARD_ACTIVE_SECTION,
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';
export function ActiveCoin(state = {
@ -55,6 +57,14 @@ export function ActiveCoin(state = {
return Object.assign({}, state, {
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:
return state;
}

Loading…
Cancel
Save