Browse Source

basilisk check address

all-modes
Petr Balashov 8 years ago
parent
commit
b240938e18
  1. 40
      react/src/actions/actionCreators.js
  2. 48
      react/src/components/dashboard/receiveCoin.js
  3. 3
      react/src/styles/index.scss

40
react/src/actions/actionCreators.js

@ -45,7 +45,6 @@ export const DASHBOARD_ACTIVE_COIN_GET_CACHE = 'DASHBOARD_ACTIVE_COIN_GET_CACHE'
export const DASHBOARD_ACTIVE_COIN_MAIN_BASILISK_ADDR = 'DASHBOARD_ACTIVE_COIN_MAIN_BASILISK_ADDR';
export function changeMainBasiliskAddress(address) {
console.log('changeMainBasiliskAddress', address);
return {
type: DASHBOARD_ACTIVE_COIN_MAIN_BASILISK_ADDR,
address,
@ -1601,7 +1600,7 @@ function sendToAddressState(json, dispatch) {
}
export function sendToAddress(coin, _payload) {
var payload = {
const payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'coin': coin,
'method': 'sendtoaddress',
@ -1627,6 +1626,43 @@ export function sendToAddress(coin, _payload) {
}
}
function checkAddressBasiliskHandle(json) {
if (json && json.error) {
return dispatch => {
dispatch(triggerToaster(true, json.error, translate('TOASTR.WALLET_NOTIFICATION'), 'error'));
}
}
if (json && json.coin && json.randipbits) {
return dispatch => {
dispatch(triggerToaster(true, 'Address already registered', translate('TOASTR.WALLET_NOTIFICATION'), 'warning'));
}
}
}
export function checkAddressBasilisk(coin, address) {
const payload = {
'userpass': 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
'agent': 'dex',
'method': 'checkaddress',
'address': address,
'symbol': coin
};
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, 'checkAddressBasilisk', 'Error', 'error'));
})
.then(response => response.json())
.then(json => dispatch(checkAddressBasiliskHandle(json)))
}
}
/*function Shepherd_SendPendValue() {
Shepherd_SysInfo().then(function(result){
var ram_data = formatBytes(result.totalmem_bytes)

48
react/src/components/dashboard/receiveCoin.js

@ -1,18 +1,56 @@
import React from 'react';
import { translate } from '../../translate/translate';
import { checkAddressBasilisk, importAddressBasilisk } from '../../actions/actionCreators';
import Store from '../../store';
// TODO: implement sorting
// TODO: add import address ui in basilisk
// TODO: fallback to localstorage/stores data in case iguana is taking too long to respond
class ReceiveCoin extends React.Component {
constructor(props) {
super(props);
}
checkAddressBasilisk(address) {
Store.dispatch(checkAddressBasilisk(this.props.coin, address));
}
/*importAddressBasilisk(address) {
Store.dispatch(importAddressBasilisk(this.props.coin, address));
}
<span className="label label-default margin-left-10 action" title="Import" onClick={() => this.importAddressBasilisk(address)}>
<i className="icon fa-upload"></i>
</span>*/
renderAddressActions(address) {
if (this.props.mode === 'basilisk') {
return (
<td>
<span className="label label-default">
<i className="icon fa-eye"></i> {translate('IAPI.PUBLIC_SM')}
</span>
<span className="label label-default margin-left-10 action" title="Check" onClick={() => this.checkAddressBasilisk(address)}>
<i className="icon fa-database"></i>
</span>
</td>
);
} else {
return (
<td>
<span className="label label-default">
<i className="icon fa-eye"></i> {translate('IAPI.PUBLIC_SM')}
</span>
</td>
);
}
}
renderAddressList() {
if (this.props.addresses && this.props.addresses['public'] && this.props.addresses['public'].length) {
return this.props.addresses['public'].map((address) =>
<tr key={address.address}>
<td>
<span className="label label-default">
<i className="icon fa-eye"></i> {translate('IAPI.PUBLIC_SM')}
</span>
</td>
{this.renderAddressActions(address.address)}
<td>{address.address}</td>
<td>{address.amount}</td>
<td>{address.interest ? address.interest : 'N/A'}</td>

3
react/src/styles/index.scss

@ -79,7 +79,8 @@ body {
#edexcoin_dashboardinfo a,
.nav-top-menu,
#kmd_txid_info_mdl .nav-tabs li,
.pagination a {
.pagination a,
.action {
cursor: pointer;
cursor: hand;
}

Loading…
Cancel
Save