[FEATURE] Split 'sign' method into another call, remove the offline signing button

This commit is contained in:
mDuo13
2014-09-11 17:11:20 -07:00
parent 1b6b866bd7
commit eb7ed9902c
2 changed files with 101 additions and 79 deletions

View File

@@ -245,19 +245,36 @@
}); });
Request('submit', { Request('submit', {
secret: '', secret: 'sssssssssssssssssssssssssssss',
tx_json: { tx_json: {
Flags: 0, Flags: 0,
TransactionType: 'AccountSet', TransactionType: 'AccountSet',
Account: '', Account: 'rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn',
Sequence: void(0), Sequence: void(0),
Fee: '15', Fee: '15',
Flags: 0 Flags: 0
}, },
_description: 'Submits a transaction to the network.', _description: 'Submits a transaction to the network. Please, only use test accounts here.',
_link: 'rippled-apis.html#submit' _link: 'rippled-apis.html#submit'
}); });
Request('sign', {
tx_json : {
"TransactionType" : "Payment",
"Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
"Amount" : {
"currency" : "USD",
"value" : "1",
"issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn"
}
},
secret : "sssssssssssssssssssssssssssss",
offline: false,
_description: 'Sends a transaction to be signed by the server. Please, only use test accounts here.',
_link: 'rippled-apis.html#sign'
});
/* ---- ---- ---- ---- ---- */ /* ---- ---- ---- ---- ---- */
function rewrite_obj(obj) { function rewrite_obj(obj) {
@@ -363,10 +380,12 @@
selected_request.message = rewrite_obj(selected_request.message); selected_request.message = rewrite_obj(selected_request.message);
set_input(selected_request); set_input(selected_request);
if (selected_request.name !== 'submit') { //Remove sign button & sequence number lookup
$('#sign_button').hide();
return; // if (selected_request.name !== 'submit') {
} // $('#sign_button').hide();
// return;
// }
if (!remote._connected) { if (!remote._connected) {
remote.once('connected', function() { remote.once('connected', function() {
@@ -375,18 +394,18 @@
return; return;
} }
$('#sign_button').show(); // $('#sign_button').show();
var tx_json = selected_request.message.tx_json; // var tx_json = selected_request.message.tx_json;
if (ripple.UInt160.is_valid(tx_json.Account)) { // if (ripple.UInt160.is_valid(tx_json.Account)) {
selected_request.message.id = id._c; // selected_request.message.id = id._c;
remote.request_account_info(tx_json.Account, function(err, info) { // remote.request_account_info(tx_json.Account, function(err, info) {
id.reset(); // id.reset();
tx_json.Sequence = info.account_data.Sequence; // tx_json.Sequence = info.account_data.Sequence;
set_input(selected_request); // set_input(selected_request);
}); // });
} // }
}; };
/* ---- ---- ---- ---- ---- */ /* ---- ---- ---- ---- ---- */
@@ -418,6 +437,7 @@
/* ---- ---- ---- ---- ---- */ /* ---- ---- ---- ---- ---- */
function prepare_request(request) { function prepare_request(request) {
var isArray = Array.isArray(request); var isArray = Array.isArray(request);
var result = isArray ? [ ] : { }; var result = isArray ? [ ] : { };
@@ -482,11 +502,12 @@
}; };
}); });
$(document.body).delegate('a', 'click', function(e) { //stop opening all links in new tabs
e.preventDefault(); // $(document.body).delegate('a', 'click', function(e) {
e.stopPropagation(); // e.preventDefault();
window.open($(this).attr('href')); // e.stopPropagation();
}); // window.open($(this).attr('href'));
// });
var tooltip = $('#tooltip'); var tooltip = $('#tooltip');
var mousedown = false; var mousedown = false;
@@ -494,62 +515,63 @@
$(window).mousedown(function() { mousedown = true; }); $(window).mousedown(function() { mousedown = true; });
$(window).mouseup(function() { mousedown = false; }); $(window).mouseup(function() { mousedown = false; });
$('#sign_button').click(function() { //get rid of sign button
if (selected_request._signed) return; // $('#sign_button').click(function() {
// if (selected_request._signed) return;
var self = this; //
var message = cm_request.getValue(); // var self = this;
// var message = cm_request.getValue();
try { //
message = JSON.parse(message); // try {
} catch(e) { // message = JSON.parse(message);
alert('Invalid JSON'); // } catch(e) {
return; // alert('Invalid JSON');
} // return;
// }
var tx_json = message.tx_json; //
// var tx_json = message.tx_json;
if (!ripple.UInt160.is_valid(tx_json.Account)) { //
alert('Account is invalid'); // if (!ripple.UInt160.is_valid(tx_json.Account)) {
return; // alert('Account is invalid');
} // return;
// }
if (!message.secret) { //
alert('Transacting account must have specified secret'); // if (!message.secret) {
return; // alert('Transacting account must have specified secret');
} // return;
// }
$(this).addClass('depressed'); //
// $(this).addClass('depressed');
remote.account(tx_json.Account).get_next_sequence(function(e, s) { //
id.reset(); // remote.account(tx_json.Account).get_next_sequence(function(e, s) {
tx_json.Sequence = s; // id.reset();
// tx_json.Sequence = s;
try { //
var tx = remote.transaction(); // try {
tx.tx_json = tx_json; // var tx = remote.transaction();
tx._secret = message.secret; // tx.tx_json = tx_json;
tx.complete(); // tx._secret = message.secret;
tx.sign(); // tx.complete();
} catch(e) { // tx.sign();
alert('Unable to sign transaction ' + e.message); // } catch(e) {
$(self).removeClass('depressed'); // alert('Unable to sign transaction ' + e.message);
return; // $(self).removeClass('depressed');
} // return;
// }
message.tx_blob = tx.serialize().to_hex(); //
// message.tx_blob = tx.serialize().to_hex();
delete message.secret; //
delete message.tx_json; // delete message.secret;
// delete message.tx_json;
selected_request.message = message; //
selected_request._signed = true; // selected_request.message = message;
// selected_request._signed = true;
set_input(selected_request); //
// set_input(selected_request);
$(self).removeClass('depressed'); //
}); // $(self).removeClass('depressed');
}); // });
// });
function send_request() { function send_request() {
var request = remote.request_server_info(); var request = remote.request_server_info();

View File

@@ -121,6 +121,7 @@ mixpanel.init("132d42885e094171f34467fc54da6fab");
<li>tx</li> <li>tx</li>
<li>tx_history</li> <li>tx_history</li>
<br/> <br/>
<li>sign</li>
<li>submit</li> <li>submit</li>
<br/> <br/>
<li>ripple_path_find</li> <li>ripple_path_find</li>
@@ -133,7 +134,6 @@ mixpanel.init("132d42885e094171f34467fc54da6fab");
<h2>Request</h2> <h2>Request</h2>
<div id='request_options'> <div id='request_options'>
<div class="button btn btn-primary api" id='request_button'>Send request</div> <div class="button btn btn-primary api" id='request_button'>Send request</div>
<div id='sign_button'>Sign transaction</div>
</div> </div>
<div style="clear:both;"></div> <div style="clear:both;"></div>
<h3 id='selected_command' title='Reference information'>server_info</h3> <h3 id='selected_command' title='Reference information'>server_info</h3>