diff --git a/supernode/main.html b/supernode/main.html
index 61226a4..ce7a276 100644
--- a/supernode/main.html
+++ b/supernode/main.html
@@ -7337,6 +7337,7 @@
/*RPC Class*/
var Rpc = ninja.rpc = function() {
this.rpc_req_id;
+ this.valid_job = ["trade_buy", "trade_sell"];
}
Rpc.prototype = {
//get rpc_req_id() {return this.rpc_req_id;},
@@ -7345,22 +7346,45 @@
var request = new JSON_RPC.Request(method, params);
var id = request.id;
this.rpc_req_id = id;
- request.toString();
- return request;
+ return request.toString();
+ //return request;
},
receive_rpc_response(request) {
- var request = JSON_RPC.parse(request);
- request.response = request.method(); // if successful
- request.toString(); // return to client
- return request;
+ var request = JSON.parse(request);
+
+ //if (typeof request.params.rpc_job == "string" && this.valid_job.indexOf(request.rpc_job)!=-1) {
+ if (typeof request.params != 'undefined' && request.params.length>0) {
+ request.response = {};
+ console.log(request.params[7]);
+
+ switch (request.params[7]) {
+ case "trade_buy":
+ var Trade = new ninja.trade();
+ request.response = Trade.trade_buy(...request.params);
+ break;
+ case "trade_sell":
+ var Trade = new ninja.trade();
+ request.response = Trade.trade_sell(...request.params);
+ break;
+
+ default:
+ alert("Unknown method called for execution.");
+ break;
+ }
+ }
+
+ //request.response = request.method(); // if successful
+ return request.toString(); // return to client
},
parse_server_rpc_response(request) {
var request = JSON_RPC.parse(request);
+ var response;
if (request.id == this.rpc_req_id) { // the request ID is maintained
- var response = request.response; // if successful
+ response = request.response; // if successful
}
+ console.log("res:", response);
return response;
}
@@ -7369,7 +7393,8 @@
@@ -7671,15 +7700,23 @@
}
function onMessage(evt) {
- console.log(evt);
- switch(evt) {
- case "":
- break;
- default:
- break;
- }
+ var response = evt.data;
+ console.log(typeof response);
+ console.log(response);
+
+ var res_pos = response.indexOf('{');
+ if (res_pos>=0) {
+ var res = response.substr(res_pos);
+ try {
+ var res_obj = JSON.parse(res);
+ var orderRPC = new ninja.rpc();
+ return orderRPC.receive_rpc_response(JSON.stringify(res_obj));
+ } catch (error) {
+ console.error(error);
+ return;
+ }
+ }
writeToScreen('RESPONSE: ' + evt.data + '');
- //websocket.close();
}
function onError(evt) {
@@ -7707,9 +7744,10 @@
var trade = document.createElement("button");
trade.innerText = "Trade";
trade.onclick = function() {
- var zz = new ninja.rpc();
- var tt = zz.place_order("order_type", "product", "currency", "buy_price", "buyer_public_key", "buyer_key_signature", "order_validator_public_key");
- doSend(tt);
+ var trade = new ninja.trade;
+ var buytrade = trade.place_order("buy", "BTC", "INR", 10000.00, "buyer_public_key", "buyer_key_signature", "order_validator_public_key");
+ doSend(buytrade);
+ //doSend(JSON.stringify(buytrade));
}
document.getElementById("output").appendChild(trade);