Browse Source

basilisk balances fix

all-modes
pbca26 8 years ago
parent
commit
a9c282089b
  1. 35
      react/src/actions/actionCreators.js
  2. 5
      react/src/components/dashboard/coinTileItem.js
  3. 26
      react/src/components/dashboard/sendCoin.js
  4. 3
      react/src/components/dashboard/walletsData.js

35
react/src/actions/actionCreators.js

@ -925,7 +925,7 @@ export function addPeerNode(coin, ip) {
}
}
export function getAddressesByAccountState(json, coin, mode) {
export function setBasiliskMainAddress(json, coin, mode) {
if (mode === 'full') {
let publicAddressArray = [];
@ -942,6 +942,31 @@ export function getAddressesByAccountState(json, coin, mode) {
if (mode === 'basilisk') {
getDexBalance(coin, mode, json.result);
}
const _mainAddr = []
return {
type: ACTIVE_COIN_GET_ADDRESSES,
addresses: { 'public': [] },
}
}
export function getAddressesByAccountState(json, coin, mode) {
if (mode === 'full' || mode === 'basilisk') {
let publicAddressArray = [];
for (let i = 0; i < json.result.length; i++) {
publicAddressArray.push({
'address': json.result[i],
'amount': 'N/A'
});
}
json.result = publicAddressArray;
}
/*if (mode === 'basilisk') {
getDexBalance(coin, mode, json.result);
}*/
return {
type: ACTIVE_COIN_GET_ADDRESSES,
@ -971,7 +996,7 @@ export function getAddressesByAccount(coin, mode) {
dispatch(triggerToaster(true, 'getAddressesByAccount', 'Error', 'error'));
})
.then(response => response.json())
.then(json => dispatch(getAddressesByAccountState(json, coin, mode, dispatch)))
.then(json => dispatch(getAddressesByAccountState(json, coin, mode)))
}
}
@ -1403,13 +1428,13 @@ export function fetchUtxoCache(_payload) {
function getShepherdCacheState(json, pubkey, coin) {
if (json.result && json.error && json.result.indexOf('no file with handle') > -1) {
console.log('request new cache', true);
console.log('request new cache', { 'pubkey': pubkey, 'coin': coin });
return dispatch => {
dispatch(fetchNewCacheData({
'pubkey': pubkey,
'allcoins': false,
'coin': coin,
'calls': 'listtransactions:getbalance:listunspent',
'calls': 'listtransactions:getbalance',
}));
}
} else {
@ -1605,7 +1630,7 @@ export function getSyncInfoNative(coin, skipDebug) {
}
}
export function getDexBalance(coin, addr) {
export function getDexBalance(coin, mode, addr) {
Promise.all(addr.map((_addr, index) => {
const payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),

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

@ -62,11 +62,14 @@ class CoinTileItem extends React.Component {
if (mode === 'basilisk') {
const useAddress = this.props.ActiveCoin.mainBasiliskAddress ? this.props.ActiveCoin.mainBasiliskAddress : this.props.Dashboard.activeHandle[coin];
Store.dispatch(iguanaActiveHandle(true));
Store.dispatch(getKMDAddressesNative(coin, mode, useAddress));
Store.dispatch(getShepherdCache(JSON.parse(sessionStorage.getItem('IguanaActiveAccount')).pubkey, coin));
if (this.props && this.props.Dashboard && this.props.Dashboard.activeHandle && this.props.Dashboard.activeHandle[coin]) {
if (!this.props.ActiveCoin.addresses) {
Store.dispatch(getAddressesByAccount(coin, mode));
}
Store.dispatch(getBasiliskTransactionsList(coin, useAddress));
Store.dispatch(getKMDAddressesNative(coin, mode, useAddress));
//Store.dispatch(iguanaEdexBalance(coin, mode));
}
}

26
react/src/components/dashboard/sendCoin.js

@ -212,19 +212,21 @@ class SendCoin extends React.Component {
let _amount = address.amount;
if (this.props.ActiveCoin.mode === 'basilisk') {
_amount = this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address.address].getbalance.data && this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address.address].getbalance.data.balance ? this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address.address].getbalance.data.balance : 'N/A';
_amount = this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address.address] && this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address.address].getbalance.data && this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address.address].getbalance.data.balance ? this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address.address].getbalance.data.balance : 'N/A';
}
items.push(
<li
data-original-index="2"
key={ address.address }
className={ address.amount <= 0 ? 'hide' : '' }>
<a
tabIndex="0"
onClick={ () => this.updateAddressSelection(address.address, type, _amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { _amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
);
if (_amount !== 'N/A') {
items.push(
<li
data-original-index="2"
key={ address.address }
className={ address.amount <= 0 ? 'hide' : '' }>
<a
tabIndex="0"
onClick={ () => this.updateAddressSelection(address.address, type, _amount) }><i className={ type === 'public' ? 'icon fa-eye' : 'icon fa-eye-slash' }></i> <span className="text">[ { _amount } { this.props.ActiveCoin.coin } ] { address.address }</span><span className="glyphicon glyphicon-ok check-mark"></span></a>
</li>
);
}
}
return items;
@ -238,7 +240,7 @@ class SendCoin extends React.Component {
if (this.state.sendFrom) {
let _amount;
if (this.state._sendFromAmount === 0 &&
if (this.state.sendFromAmount === 0 &&
this.props.ActiveCoin.mode === 'basilisk') {
_amount = this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][this.state.sendFrom].getbalance.data && this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][this.state.sendFrom].getbalance.data.balance ? this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][this.state.sendFrom].getbalance.data.balance : 'N/A';
} else {

3
react/src/components/dashboard/walletsData.js

@ -108,6 +108,7 @@ class WalletsData extends React.Component {
'allcoins': false,
'coin': this.props.ActiveCoin.coin,
'calls': 'listtransactions:getbalance',
'address': this.state.currentAddress,
}));
}
@ -455,7 +456,7 @@ class WalletsData extends React.Component {
return this.props.ActiveCoin.addresses.public[i].amount;
} else {
const address = this.props.ActiveCoin.addresses.public[i].address;
const _amount = this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address].getbalance.data && this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address].getbalance.data.balance ? this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address].getbalance.data.balance : 'N/A';
const _amount = this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address] && this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address].getbalance.data && this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address].getbalance.data.balance ? this.props.ActiveCoin.cache[this.props.ActiveCoin.coin][address].getbalance.data.balance : 'N/A';
return _amount;
}
}

Loading…
Cancel
Save