[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', {
secret: '',
secret: 'sssssssssssssssssssssssssssss',
tx_json: {
Flags: 0,
TransactionType: 'AccountSet',
Account: '',
Account: 'rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn',
Sequence: void(0),
Fee: '15',
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'
});
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) {
@@ -363,10 +380,12 @@
selected_request.message = rewrite_obj(selected_request.message);
set_input(selected_request);
if (selected_request.name !== 'submit') {
$('#sign_button').hide();
return;
}
//Remove sign button & sequence number lookup
// if (selected_request.name !== 'submit') {
// $('#sign_button').hide();
// return;
// }
if (!remote._connected) {
remote.once('connected', function() {
@@ -375,18 +394,18 @@
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)) {
selected_request.message.id = id._c;
remote.request_account_info(tx_json.Account, function(err, info) {
id.reset();
tx_json.Sequence = info.account_data.Sequence;
set_input(selected_request);
});
}
// if (ripple.UInt160.is_valid(tx_json.Account)) {
// selected_request.message.id = id._c;
// remote.request_account_info(tx_json.Account, function(err, info) {
// id.reset();
// tx_json.Sequence = info.account_data.Sequence;
// set_input(selected_request);
// });
// }
};
/* ---- ---- ---- ---- ---- */
@@ -418,6 +437,7 @@
/* ---- ---- ---- ---- ---- */
function prepare_request(request) {
var isArray = Array.isArray(request);
var result = isArray ? [ ] : { };
@@ -482,11 +502,12 @@
};
});
$(document.body).delegate('a', 'click', function(e) {
e.preventDefault();
e.stopPropagation();
window.open($(this).attr('href'));
});
//stop opening all links in new tabs
// $(document.body).delegate('a', 'click', function(e) {
// e.preventDefault();
// e.stopPropagation();
// window.open($(this).attr('href'));
// });
var tooltip = $('#tooltip');
var mousedown = false;
@@ -494,62 +515,63 @@
$(window).mousedown(function() { mousedown = true; });
$(window).mouseup(function() { mousedown = false; });
$('#sign_button').click(function() {
if (selected_request._signed) return;
var self = this;
var message = cm_request.getValue();
try {
message = JSON.parse(message);
} catch(e) {
alert('Invalid JSON');
return;
}
var tx_json = message.tx_json;
if (!ripple.UInt160.is_valid(tx_json.Account)) {
alert('Account is invalid');
return;
}
if (!message.secret) {
alert('Transacting account must have specified secret');
return;
}
$(this).addClass('depressed');
remote.account(tx_json.Account).get_next_sequence(function(e, s) {
id.reset();
tx_json.Sequence = s;
try {
var tx = remote.transaction();
tx.tx_json = tx_json;
tx._secret = message.secret;
tx.complete();
tx.sign();
} catch(e) {
alert('Unable to sign transaction ' + e.message);
$(self).removeClass('depressed');
return;
}
message.tx_blob = tx.serialize().to_hex();
delete message.secret;
delete message.tx_json;
selected_request.message = message;
selected_request._signed = true;
set_input(selected_request);
$(self).removeClass('depressed');
});
});
//get rid of sign button
// $('#sign_button').click(function() {
// if (selected_request._signed) return;
//
// var self = this;
// var message = cm_request.getValue();
//
// try {
// message = JSON.parse(message);
// } catch(e) {
// alert('Invalid JSON');
// return;
// }
//
// var tx_json = message.tx_json;
//
// if (!ripple.UInt160.is_valid(tx_json.Account)) {
// alert('Account is invalid');
// return;
// }
//
// if (!message.secret) {
// alert('Transacting account must have specified secret');
// return;
// }
//
// $(this).addClass('depressed');
//
// remote.account(tx_json.Account).get_next_sequence(function(e, s) {
// id.reset();
// tx_json.Sequence = s;
//
// try {
// var tx = remote.transaction();
// tx.tx_json = tx_json;
// tx._secret = message.secret;
// tx.complete();
// tx.sign();
// } catch(e) {
// alert('Unable to sign transaction ' + e.message);
// $(self).removeClass('depressed');
// return;
// }
//
// message.tx_blob = tx.serialize().to_hex();
//
// delete message.secret;
// delete message.tx_json;
//
// selected_request.message = message;
// selected_request._signed = true;
//
// set_input(selected_request);
//
// $(self).removeClass('depressed');
// });
// });
function send_request() {
var request = remote.request_server_info();

View File

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