Petr Balashov 8 years ago
parent
commit
5aa1bbb175
  1. 12
      assets/scripts/atomicexplorer.js
  2. 83
      assets/scripts/dashboard.js
  3. 246
      assets/scripts/iguana_api.js
  4. 2
      assets/scripts/login.js
  5. 25
      index.html

12
assets/scripts/atomicexplorer.js

@ -2,7 +2,7 @@ var AtomicExplorer = function() {
toastr.options = {
'closeButton': true,
'debug': false,
'positionClass': 'toast-top-right',
'positionClass': 'toast-bottom-right',
'showDuration': '5000',
'hideDuration': '1000',
'timeOut': '5000',
@ -272,6 +272,15 @@ var AtomicExplorer = function() {
'timeout': 600000
};
break;
case 'dex_sendrawtransaction':
ExplorerInputData = {
'userpass': tmpIguanaRPCAuth,
'agent': 'dex',
'method': 'sendrawtransaction',
'signedtx': atomic_explorer_input_data_val,
'symbol': atomic_explorer_select_coin_val
};
break;
case 'basilisk_refresh':
ExplorerInputData = {
'userpass': tmpIguanaRPCAuth,
@ -293,6 +302,7 @@ var AtomicExplorer = function() {
console.log(data);
if (atomic_explorer_select_command_val === 'txid' ||
atomic_explorer_select_command_val === 'dex_getbestblockhash' ||
atomic_explorer_select_command_val === 'dex_sendrawtransaction' ||
atomic_explorer_select_command_val === 'dex_getblockhash') {
$('#atomic-explorer-commands-output').html(data);
} else {

83
assets/scripts/dashboard.js

@ -9,7 +9,7 @@ var Dashboard = function() {
toastr.options = {
'closeButton': true,
'debug': false,
'positionClass': 'toast-top-right',
'positionClass': 'toast-bottom-right',
'showDuration': '15000',
'hideDuration': '1000',
'timeOut': '15000',
@ -126,12 +126,12 @@ var Dashboard = function() {
$('#btn_edexcoin_dashboard').show();
$('#btn_edexcoin_send').hide();
$('#btn_edexcoin_recieve').show();
sessionStorage.setItem('edexTmpRefresh', 'stop');
$('#edexcoin_dashboardinfo').hide();
$('#edexcoin_send').show();
$('#edexcoin_recieve').hide();
$('#edexcoin_recieve_section').hide();
$('#edexcoin_settings').hide();
sessionStorage.setItem('edexTmpRefresh', 'stop');
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin');
var selected_coinmode = sessionStorage.getItem('edexTmpMode')
@ -179,11 +179,29 @@ var Dashboard = function() {
$('#edexcoin_send_from').change(function() {
if ($('#edexcoin_send_from').val() !== '' || $('#edexcoin_send_from').val() !== '- Select Address -') {
$('.edexcoin_send_coins_btn_step1').removeClass('disabled');
$('.edexcoin_send_coins_btn_step1').removeAttr('disabled');
$('.edexcoin_send_coins_btn_step1').prop('disabled', false);
Shepherd_GetBasiliskCache().then(function(result){
var _data = JSON.parse(result)
query = _data.result.basilisk
active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin');
coin_addr = $('#edexcoin_send_from').val()
if (!('refresh' in query[active_edexcoin][coin_addr])) {
console.log(active_edexcoin + '>>>' + coin_addr + ' => refresh not found.')
var call_data = {"allcoins": false,"coin":active_edexcoin,"calls":"refresh"}
Shepherd_FetchBasiliskData(call_data).then(function(result){
console.log(result)
})
} else {
console.log(query[active_edexcoin][coin_addr].refresh.status)
}
})
}
if ($('#edexcoin_send_from').val() === '' || $('#edexcoin_send_from').val() === '- Select Address -') {
$('.edexcoin_send_coins_btn_step1').addClass(' disabled');
$('.edexcoin_send_coins_btn_step1').attr('disabled','disabled');
$('.edexcoin_send_coins_btn_step1').prop('disabled', true);
}
})
@ -300,16 +318,20 @@ var Dashboard = function() {
});
$('#edexcoin_send_coins_btn').click(function() {
$('#edexcoin_send_coins_btn').prop('disabled', true);
//$('#edexcoin_send_coins_btn').prop('disabled', true);
console.log('==> After confirming tx to send')
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin'),
tmp_send_from_addr = $('#edexcoin_send_from').val()
tmp_send_to_addr = $('#edexcoin_sendto').val(),
tmp_send_total_amount = $('#edexcoin_total_value').text();
tmp_send_fee = $('#edexcoin_fee').val()
tmp_sendflag = $('#edexcoin_send_sig').is(":checked")
console.log(active_edexcoin);
console.log(tmp_send_from_addr);
console.log(tmp_send_to_addr);
console.log(tmp_send_total_amount);
console.log(tmp_send_fee);
console.log(tmp_sendflag);
var edexcoin_sendto_result_tbl = '';
edexcoin_sendto_result_tbl += '<tr class="info">' +
@ -319,17 +341,34 @@ var Dashboard = function() {
$('#edexcoin_sendto_result tbody').html(edexcoin_sendto_result_tbl);
$('#edexcoin_send_coins_anothertx_btn').hide();
var tmp_json_data = {
'coin': active_edexcoin,
'sendtoaddr': tmp_send_to_addr,
'amount': tmp_send_total_amount
};
console.log(tmp_json_data);
EDEXSendToAddr(tmp_json_data);
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin');
var selected_coinmode = sessionStorage.getItem('edexTmpMode')
if (selected_coinmode == 'Basilisk' && active_edexcoin !== 'BTC' && active_edexcoin !== 'SYS' ) {
var tmp_json_data = {
'coin': active_edexcoin,
'sendfrom': tmp_send_from_addr,
'sendtoaddr': tmp_send_to_addr,
'amount': tmp_send_total_amount,
'txfee': tmp_send_fee,
'sendsig': tmp_sendflag
};
console.log(tmp_json_data);
EDEXSendutxoRawTx(tmp_json_data)
} else {
var tmp_json_data = {
'coin': active_edexcoin,
'sendtoaddr': tmp_send_to_addr,
'amount': tmp_send_total_amount
};
console.log(tmp_json_data);
EDEXSendToAddr(tmp_json_data);
}
$('.edexcoin-send-form')[0].reset();
$('#edexcoin_total_value').text('0.000');
$('#edexcoin-send-confirm-screen').hide();
$('#edexcoin-send-txdetails-screen').show();
$('#edexcoin-send-txdetails-screen').data('panel-api').load();
edexcoin_send_form_validator.resetForm();
$('#edexcoin_send_step_1').removeClass( 'current' ).addClass( '' );
$('#edexcoin_send_step_2').removeClass( 'current' ).addClass( '' );
@ -737,17 +776,19 @@ var Dashboard = function() {
}, 1000);
var CheckIfIguanaRunning = setInterval(function() {
var FetchBasiliskData = setInterval(function() {
// TODO: refactor
if ( sessionStorage.getItem('IguanaActiveAccount') === null ) {
//clearInterval(CheckIfIguanaRunning);
//clearInterval(FetchBasiliskData);
//console.log('=> No wallet logged in, or Dashboard not ative. No need to Run History.');
} else {
if ( active_edexcoinmodecode == 'Basilisk') {
var call_data = {"allcoins": false,"coin":active_edexcoin,"calls":"listtransactions:getbalance"}
Shepherd_FetchBasiliskData(call_data).then(function(result){
console.log(result)
})
if ( sessionStorage.getItem('edexTmpRefresh') === null || sessionStorage.getItem('edexTmpRefresh') === 'start') {
Shepherd_FetchBasiliskData(call_data).then(function(result){
console.log(result)
})
}
}
}
}, 300000);
@ -1211,7 +1252,7 @@ function getDEXGetBalance_cache(coin) {
var call_data = {
'allcoins': false,
'coin': coin,
'calls': 'listtransactions:getbalance'
'calls': 'listtransactions:getbalance:refresh'
};
//console.log(call_data)
Shepherd_FetchBasiliskData(call_data).then(function(result) {
@ -1898,7 +1939,7 @@ function EdexGetTxList(coin) {
params = {
'userpass': tmpIguanaRPCAuth,
'agent': 'dex',
'method': 'listtransactions2',
'method': 'listtransactions',
'address': coinaddr_value,
'count': 100,
'skip': 0,
@ -2197,7 +2238,7 @@ function EdexGetTxList_cache(coin) {
|| coin == 'FRK') {
var ajax_data_2 = {'userpass':tmpIguanaRPCAuth,"agent":"dex","method":"listtransactions","address":data[coin],"count":100,"skip":0,"symbol":coin}
} else {
var ajax_data_2 = {'userpass':tmpIguanaRPCAuth,"agent":"dex","method":"listtransactions2","address":data[coin],"count":100,"skip":0,"symbol":coin}
var ajax_data_2 = {'userpass':tmpIguanaRPCAuth,"agent":"dex","method":"listtransactions","address":data[coin],"count":100,"skip":0,"symbol":coin}
}
} else {
var ajax_data_2 = {'userpass':tmpIguanaRPCAuth,"coin":coin,"method":"listtransactions","params":[0, 9999999, []]}
@ -2679,7 +2720,7 @@ function ShowBasiliskFetchDataProgress(coin) {
BasiliskFetchData += '</tr>';
$('.tbl_edexcoin_dashboard_basilisk_refresh_status tbody').html(BasiliskFetchData);
if (result[result.length-1] == result_val && result_val.listtransactions_status !== 'done' && result_val.getbalance_status !== 'done' ) {
if (result[result.length-1] == result_val && result_val.listtransactions_status !== 'done' && result_val.getbalance_status !== 'done' && result_val.refresh_status !== 'done' ) {
$('#edexcoin_dashboard_basilisk_refresh_status').show()
} else {
$('#edexcoin_dashboard_basilisk_refresh_status').hide()

246
assets/scripts/iguana_api.js

@ -140,19 +140,25 @@ function Iguana_activehandle(callback) {
'userpass': tmpIguanaRPCAuth,
'agent': 'SuperNET',
'method': 'activehandle'
},
AjaxOutputData = IguanaAJAX('http://127.0.0.1:7778', ajax_data).done(function(data) {
AjaxOutputData = JSON.parse(AjaxOutputData.responseText);
resolve(AjaxOutputData);
}).fail(function(xhr, textStatus, error) {
// handle request failures
console.log(xhr.statusText);
if ( xhr.readyState == 0 ) {
Iguana_ServiceUnavailable();
}
console.log(textStatus);
console.log(error);
});
};
$.ajax({
data: JSON.stringify(ajax_data),
url: 'http://127.0.0.1:7778',
type: 'POST',
dataType: 'json'
}).then(result => {
//console.log(result);
resolve(result);
}).fail(function(xhr, textStatus, error) {
// handle request failures
console.log(xhr.statusText);
if ( xhr.readyState == 0 ) {
Iguana_ServiceUnavailable();
}
console.log(textStatus);
console.log(error);
});
});
}
@ -1183,6 +1189,165 @@ function EDEXgetBalance(coin) {
return result;
}
function EDEXSendutxoRawTx(data) {
Shepherd_GetBasiliskCache().then(function(result){
var _data = JSON.parse(result)
query = _data.result.basilisk
utxos_set = query[data.coin][data.sendfrom].refresh.data
send_data = {
'coin': data.coin,
'sendfrom': data.sendfrom,
'sendtoaddr': data.sendtoaddr,
'amount': data.amount,
'txfee': data.txfee,
'sendsig': (data.sendsig == true ? 0 : 1 ),
'utxos': utxos_set
};
//console.log(send_data)
Iguana_utxorawtx(send_data).then(function(result){
console.log(result);
var edexcoin_sendto_result_tbl = '';
if (result.result == 'success') {
console.log(send_data)
toastr.success('Signed transaction generated.', 'Wallet Notification');
}
if (send_data.sendsig == 1) {
console.log(send_data)
toastr.info('Sending Transaction to Network.', 'Wallet Notification');
ajax_data_dexrawtx = {
'signedtx': result.signedtx,
'coin': send_data.coin
};
Iguana_DEXsendrawtx(ajax_data_dexrawtx).then(function(dexrwatx_result){
console.log(dexrwatx_result);
if (dexrwatx_result.error == undefined) {
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin');
toastr.success('Signed transaction sent successfully!', 'Wallet Notification');
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>result</td>' +
'<td>' +
'<span class="label label-success">' + result.result + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>completed</td>' +
'<td>' +
'<span class="label label-primary">' + result.completed + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>rawtx</td>' +
'<td>' +
'<span style="display: block; width: 400px;word-wrap: break-word;">' + result.rawtx + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr>' +
'<td>txid</td>' +
'<td>' +
'<a href="javascript:void(0)" data-edexcoin="' + active_edexcoin + '" data-sendtotxresult="' + dexrwatx_result + '" class="edexcoin_sendto_output_result">' + dexrwatx_result + '</a>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>signedtx</td>' +
'<td>' +
'<span style="display: block; width: 400px;word-wrap: break-word;">' + result.signedtx + '</span>' +
'</td>' +
'</tr>';
$('#edexcoin_sendto_result tbody').html(edexcoin_sendto_result_tbl);
$('#edexcoin_send_coins_anothertx_btn').show();
$('#edexcoin-send-txdetails-screen').data('panel-api').done();
var call_data = {"allcoins": false,"coin":'KMD',"calls":"refresh"}
console.log(call_data)
Shepherd_FetchBasiliskData(call_data).then(function(result){
console.log(result)
toastr.info('Refreshing Wallet Funds.', 'Wallet Notification');
})
} else {
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin');
toastr.success('Signed transaction sent successfully!', 'Wallet Notification');
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>result</td>' +
'<td>' +
'<span class="label label-dark">' + dexrwatx_result.result + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>error</td>' +
'<td>' +
'<span class="label label-danger">' + dexrwatx_result.error + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>signedtx</td>' +
'<td>' +
'<span style="display: block; width: 400px;word-wrap: break-word;">' + ajax_data_dexrawtx.signedtx + '</span>' +
'</td>' +
'</tr>';
$('#edexcoin_sendto_result tbody').html(edexcoin_sendto_result_tbl);
$('#edexcoin_send_coins_anothertx_btn').show();
$('#edexcoin-send-txdetails-screen').data('panel-api').done();
var call_data = {"allcoins": false,"coin":'KMD',"calls":"refresh"}
console.log(call_data)
Shepherd_FetchBasiliskData(call_data).then(function(result){
console.log(result)
toastr.info('Refreshing Wallet Funds.', 'Wallet Notification');
})
}
})
}
if (send_data.sendsig == 0) {
console.log(send_data)
var active_edexcoin = $('[data-edexcoin]').attr('data-edexcoin');
//toastr.success('Signed Transaction Generated.', 'Wallet Notification');
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>result</td>' +
'<td>' +
'<span class="label label-success">' + result.result + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>completed</td>' +
'<td>' +
'<span class="label label-primary">' + result.completed + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>rawtx</td>' +
'<td>' +
'<span style="display: block; width: 400px;word-wrap: break-word;">' + result.rawtx + '</span>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr>' +
'<td>txid</td>' +
'<td>' +
'<a href="javascript:void(0)" data-edexcoin="' + active_edexcoin + '" data-sendtotxresult="' + result.txid + '" class="edexcoin_sendto_output_result">' + result.txid + '</a>' +
'</td>' +
'</tr>';
edexcoin_sendto_result_tbl += '<tr class="">' +
'<td>signedtx</td>' +
'<td>' +
'<span style="display: block; width: 400px;word-wrap: break-word;">' + result.signedtx + '</span>' +
'</td>' +
'</tr>';
$('#edexcoin_sendto_result tbody').html(edexcoin_sendto_result_tbl);
$('#edexcoin_send_coins_anothertx_btn').show();
$('#edexcoin-send-txdetails-screen').data('panel-api').done();
var call_data = {"allcoins": false,"coin":'KMD',"calls":"refresh"}
console.log(call_data)
Shepherd_FetchBasiliskData(call_data).then(function(result){
console.log(result)
toastr.info('Refreshing Wallet Funds.', 'Wallet Notification');
})
}
})
})
}
function EDEXSendToAddr(data) {
var result = [],
confirm_coinname_to_send = data.coin,
@ -2020,6 +2185,61 @@ function Iguana_DEXValidateAddr(coin, addr) {
return result;
}
function Iguana_utxorawtx(data) {
var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
ajax_data = {
'userpass': tmpIguanaRPCAuth,
'symbol': data.coin,
'agent': 'basilisk',
'method': 'utxorawtx',
'vals': {
'timelock': 0,
'changeaddr': data.sendfrom,
'destaddr': data.sendtoaddr,
'txfee': data.txfee,
'amount': data.amount,
'sendflag': data.sendsig
},
'utxos': data.utxos
};
return new Promise((resolve) => {
console.log(ajax_data);
$.ajax({
data: JSON.stringify(ajax_data),
url: 'http://127.0.0.1:7778',
type: 'POST',
dataType: 'json'
}).then(result => {
//console.log(result);
resolve(result);
});
})
}
function Iguana_DEXsendrawtx(data) {
var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
ajax_data = {
'userpass': tmpIguanaRPCAuth,
'agent': 'dex',
'method': 'sendrawtransaction',
'signedtx': data.signedtx,
'symbol': data.coin
}
return new Promise((resolve) => {
console.log(ajax_data);
$.ajax({
data: JSON.stringify(ajax_data),
url: 'http://127.0.0.1:7778',
type: 'POST',
dataType: 'json'
}).then(result => {
console.log(result);
resolve(result);
});
})
}
function EDEX_DEXlistunspent(coin, addr) {
NProgress.done(true);
NProgress.configure({

2
assets/scripts/login.js

@ -2,7 +2,7 @@ var Login = function() {
toastr.options = {
'closeButton': true,
'debug': false,
'positionClass': 'toast-top-right',
'positionClass': 'toast-bottom-right',
'showDuration': '5000',
'hideDuration': '1000',
'timeOut': '5000',

25
index.html

@ -760,7 +760,7 @@
<div role="alert" class="alert alert-info alert-dismissible" data-edexcoin="COIN" id="edexcoin-wallet-waitingcache-alert" style="display: none">
<button aria-label="Close" data-dismiss="alert" class="close" type="button"><span aria-hidden="true">×</span></button>
<h4>Fetching coin data from network. Please wait...</h4>
<p data-edexcoin="COIN" id="edexcoin-wallet-waitingrt-alert-text">An Iguana Full Mode coin synchronizes the blockchain using an entirely different format than traditional blockchain software. Iguana's Full Mode uses Memory Mapped Files and stores data in bundles. That's why you see four different colored synchronizing progress bars.</p>
<p data-edexcoin="COIN" id="edexcoin-wallet-waitingcache-alert-text">An Iguana Full Mode coin synchronizes the blockchain using an entirely different format than traditional blockchain software. Iguana's Full Mode uses Memory Mapped Files and stores data in bundles. That's why you see four different colored synchronizing progress bars.</p>
<p>Once all these progress bars reach 100%, the Real Time blocks start synchronizing. Only after the Real Time sync mode activates will you be able to see current data in your wallet and make any transactions.</p>
@ -993,7 +993,13 @@
<div class="col-lg-12">
<span data-edexcoin="KMD"><b>Total (<span data-edexcoin="COIN">amount</span> - txfee):</b> <span data-edexcoin="COIN" id="edexcoin_total_value">0.000</span> <span data-edexcoin="COIN" id="edexcoin_total_coinname" data-edexcoin="COIN"></span></span>
</div>
<div class="col-lg-12">
<div class="col-lg-10 margin-top-10">
<div class="pull-left margin-right-10">
<input type="checkbox" id="edexcoin_send_sig" name="edexcoin_send_sig" data-plugin="switchery" data-size="small"/>
</div>
<label class="padding-top-3" for="edexcoin_send_sig">Don't Send Transaction. Just give me signed transaction bytes.</label>
</div>
<div class="col-lg-2">
<button type="submit" class="btn btn-primary waves-effect waves-light pull-right edexcoin_send_coins_btn_step1">Send <span data-edexcoin="COIN"></span></button>
</div>
@ -1692,18 +1698,13 @@
<option value="blockash">Block Hash</option>
<option value="chaintip">Chain Tip</option>
<option value="gettransaction">Get Transaction</option>
<option value="dex_getinfo">DEX Get Info</option>
<option value="dex_getnotaries">DEX Get Notaries</option>
<option value="dex_alladdresses">DEX All Addresses</option>
<option value="dex_importaddress">DEX Import Address</option>
<option value="dex_checkaddress">DEX Check Address</option>
<option value="dex_validateaddress">DEX Validate Address</option>
<option value="dex_getinfo">DEX Get Info</option>
<option value="dex_getnotaries">DEX Get Notaries</option>
<option value="dex_getbestblockhash">DEX Get Best Block Hash</option>
<option value="dex_listtransactions">DEX List Transactions</option>
<option value="dex_listtransactions2">DEX List Transactions 2</option>
<option value="dex_listspent">DEX List Spent</option>
<option value="dex_listunspent">DEX List Unspent</option>
<option value="dex_listunspent2">DEX List Unspent 2</option>
<option value="dex_getblockhash">DEX Get Block Hash</option>
<option value="dex_getblock">DEX Get Block</option>
<option value="dex_gettxin">DEX Get txin</option>
@ -1711,6 +1712,12 @@
<option value="dex_gettransaction">DEX Get Transaction</option>
<option value="dex_getbalance">DEX Get Balance</option>
<option value="dex_getsupply">DEX Get Supply</option>
<option value="dex_listtransactions">DEX List Transactions</option>
<option value="dex_listtransactions2">DEX List Transactions 2</option>
<option value="dex_listspent">DEX List Spent</option>
<option value="dex_listunspent">DEX List Unspent</option>
<option value="dex_listunspent2">DEX List Unspent 2</option>
<option value="dex_sendrawtransaction">DEX Send Raw Transaction</option>
<option value="basilisk_refresh">Basilisk Refresh</option>
</select>
</div>

Loading…
Cancel
Save