Unverified Commit 5592e384 authored by bitsoko's avatar bitsoko Committed by GitHub

Merge pull request #33 from bitsoko-services/master

updates
parents a8fce6d2 b0bafca5
This diff is collapsed.
/**
* Builds PaymentRequest for credit cards, but does not show any UI yet.
*
* @return {PaymentRequest} The PaymentRequest oject.
*/
function initPaymentRequest(oid, amount) {
let networks = ['amex', 'diners', 'discover', 'jcb', 'mastercard', 'unionpay',
'visa', 'mir'];
let types = ['debit', 'credit', 'prepaid'];
let supportedInstruments = [{
supportedMethods: networks,
}, {
supportedMethods: ['basic-card'],
data: {
supportedNetworks: networks,
supportedTypes: types
},
}];
let details = {
total: {
label: 'Total',
amount: {
currency: baseCd.toUpperCase(),
value: amount
}
},
displayItems: [
{
label: 'TID-' + oid,
amount: {
currency: baseCd.toUpperCase(),
value: amount
},
},
],
};
return new PaymentRequest(supportedInstruments, details);
}
/**
* Invokes PaymentRequest for credit cards.
*
* @param {PaymentRequest} request The PaymentRequest object.
*/
function onBuyClicked(request) {
request.show().then(function (instrumentResponse) {
sendPaymentToServer(instrumentResponse);
})
.catch(function (err) {
console.log(err);
$('#tradeOrder').modal('close');
});
}
/**
* Simulates processing the payment data on the server.
*
* @param {PaymentResponse} instrumentResponse The payment information to
* process.
*/
function sendPaymentToServer(instrumentResponse) {
// There's no server-side component of these samples. No transactions are
// processed and no money exchanged hands. Instantaneous transactions are not
// realistic. Add a 2 second delay to make it seem more real.
window.setTimeout(function () {
instrumentResponse.complete('success')
.then(function () {
document.getElementById('result').innerHTML =
instrumentToJsonString(instrumentResponse);
})
.catch(function (err) {
console.log(err);
});
}, 2000);
}
/*
//Open User Account
$(document).on("click", "#topUpToken", function () {
$("#tradeOrder").modal({
onCloseStart: starting(),
onCloseEnd: $("#userAccount").modal("open")
}).modal("close")
setTimeout(function () {
$("#userAccount").modal("open");
}, 2000);
})
*/
/**
* Converts the payment instrument into a JSON string.
*
* @private
* @param {PaymentResponse} instrument The instrument to convert.
* @return {string} The JSON string representation of the instrument.
*/
function instrumentToJsonString(instrument) {
let details = instrument.details;
details.cardNumber = 'XXXX-XXXX-XXXX-' + details.cardNumber.substr(12);
details.cardSecurityCode = '***';
return JSON.stringify({
methodName: instrument.methodName,
details: details,
}, undefined, 2);
}
const payButton = document.getElementById('buyTokenButton');
payButton.setAttribute('style', 'display: none;');
if (window.PaymentRequest) {
let request;
payButton.setAttribute('style', 'display: inline;');
payButton.addEventListener('click', function () {
var oid = document.querySelector('#buyTokenButton').getAttribute("oid");
var amount = document.querySelector('#buyTokenButton').getAttribute("amount");
request = initPaymentRequest(oid, amount);
onBuyClicked(request);
});
} else {
console.log('This browser does not support web payments');
}
function discoverExchange(e) {
if (sessionStorage.getItem('walletKey')) {
if (e == 'dnb') {
document.querySelector('.tap-target').setAttribute("data-target", "add-" + activeCoin + "-buy-button");
newDisc = new M.FeatureDiscovery(document.querySelector('.tap-target'), {});
newDisc.open();
} else if (e == 'dfb') {
document.querySelector('.tap-target').setAttribute("data-target", "newFirstBuyBut");
$('.tap-target-title').html('best offer!');
$('.tap-target-text').html('Your wallet does not have this token.<br> click the buy button and follow instructions');
try {
newDisc = new M.FeatureDiscovery(document.querySelector('.tap-target'), {});
newDisc.open();
} catch (err) {
console.log('INFO: not activated buy guide', err);
}
}
} else {
//ask the user to unlock the wallet first
try {
document.querySelector('.tap-target').setAttribute("data-target", "toast-container");
$('.tap-target-title').html('start here');
$('.tap-target-text').html('click to unlock');
newDisc = new M.FeatureDiscovery(document.querySelector('.tap-target'), {});
newDisc.open();
} catch (e) {
}
}
}
This diff is collapsed.
var x = document.querySelectorAll('.newTrade');
var i;
for (i = 0; i < x.length; i++) {
x[i].addEventListener("input", function () {
updateNewOrderDet($('.tradeOrderFooterComplete').attr("oid"), $('.tradeOrderFooterComplete').attr("action"));
});
}
function updateNewOrderDet(oid, action) {
if($('.tradeOrderFooterComplete').attr("action")=='transfer'){
return;
}
if (activeCoin.endsWith("s")) {
var sss = '';
} else {
var sss = 's';
}
$(".newTradeForm").css("display", 'block');
if (parseFloat(($("#newTradePrice").val()) * parseFloat($("#newTradeAmount").val())) > 0 && $('.newTradeForm')[0].checkValidity()) {
$(".tradeOrderFooterComplete").attr("disabled", false);
} else {
$(".tradeOrderFooterComplete").attr("disabled", true);
}
var orderPrice = parseFloat($("#newTradePrice").val());
var orderAmount = parseFloat($("#newTradeAmount").val());
var orderTotal = parseFloat($("#newTradeTotal").val());
console.log("!!!!!!!!!!!!!!!!!!!", orderPrice);
if (orderPrice == NaN) {
var orderPrice = allTokens[activeCoin].rate * baseX;
}
var stepVal = (orderPrice / Math.pow(10, allTokens[activeCoin].decimals)).toFixed(allTokens[activeCoin].decimals);
$("#newTradeTotal").attr("step", stepVal);
if (orderTotal == NaN || $("#newTradeTotal").val() == "") {
var orderTotal = 0;
}
if (orderPrice == NaN || $("#newTradePrice").val() == "") {
var orderPrice = 0;
}
if (orderAmount == NaN || $("#newTradeAmount").val() == "") {
var orderAmount = 0;
}
var res = orderTotal / orderPrice;
var ress = orderTotal / orderAmount;
try {
var ntt = numberify(orderTotal.toFixed(2))
} catch (er) {
var ntt = 0
}
if (action == 'buy') {
$("#newTradeTotal").attr("placeholder", 'eg: '+ ((((allTokens[activeCoin].balance / Math.pow(10, allTokens[activeCoin].decimals)) * 0.9) * orderPrice)/2).toFixed(2) +' '+ baseCd.toUpperCase());
$("#newTradeTotal").attr("max", (((allTokens[activeCoin].balance / Math.pow(10, allTokens[activeCoin].decimals)) * 0.9) * orderPrice));
$("#newTradeTotal").attr("min", 100*baseConv);
$(".tradeOrderSubTitle").html('NEW BUY ORDER: ' + ntt + ' ' + baseCd.toUpperCase());
$(".tradeOrderBody").html('you will recieve ' + res.toFixed(allTokens[activeCoin].decimals) + ' ' + (allTokens[activeCoin.toLowerCase()].name + sss).toUpperCase());
$(".tradeOrderImg").prop("src", '/bitsAssets/images/currencies/' + allTokens[activeCoin].name + '.png')
} else if (action == 'sell') {
$("#newTradeTotal").attr("placeholder", 'Max: ' + ((((allTokens[activeCoin].balance / Math.pow(10, allTokens[activeCoin].decimals)) * 0.9) / 2) * orderPrice).toFixed(2) + ' ' + baseCd.toUpperCase());
$("#newTradeTotal").attr("max", (((allTokens[activeCoin].balance / Math.pow(10, allTokens[activeCoin].decimals)) * 0.9) / 2) * orderPrice);
$("#newTradeTotal").attr("min", 100*baseConv);
$(".tradeOrderSubTitle").html('NEW SELL ORDER: ' + ntt + ' ' + baseCd.toUpperCase());
$(".tradeOrderBody").html('you will send ' + res.toFixed(allTokens[activeCoin].decimals) + ' ' + (allTokens[activeCoin.toLowerCase()].name + sss).toUpperCase());
$(".tradeOrderImg").prop("src", '/bitsAssets/images/currencies/' + allTokens[activeCoin].name + '.png')
}
$("#newTradeAmount").val(res.toFixed(allTokens[activeCoin].decimals));
$(".transStat").html('placing new order..');
$(".tradeOrderTitle").html('');
$(".completeOrderBut").prop("oid", '');
// setOrderCallbacks();
}
function myOpenOrders(oDs, deci) {
$("#myOrders").html('');
// $("#myOrders").append('<tr style="background-color: #dad8d8;height: 40px;">' +
// '<th></th>' +
// '<th></th>' +
// '<th class="hidden-xs">AMOUNT</th>' +
// '<th class="hidden-xs">PRICE ' + baseCd.toUpperCase() + '</th>' +
// '<th>TOTAL</th>' +
// '<th></th>' +
// '</tr>');
for (var ii in oDs) {
try {
var deci = allTokens[oDs[ii].coin].decimals ? allTokens[oDs[ii].coin].decimals : 5;
} catch (err) {
//TO-DO
//this should not be happening!!
console.log(err);
var deci = 5;
}
if (oDs[ii].state == 'pending') {
var icon = 'edit';
} else {
var icon = 'attach_money';
}
if (parseInt(oDs[ii].tranTo.uid) == parseInt(localStorage.getItem('bits-user-name'))) {
console.log("++++++++++++++++" + oDs[ii])
//--------------------------------- collection BUY code ---------------------------------------------------------
$("#myOrders").append('<ul class="collection">' + ' <li class="collection-item avatar">' + '<div class="row"> <div class="col s3"><img style="margin-top:5px;" src="/bitsAssets/images/currencies/' + oDs[ii].coin.replace('-kovan', '') + '.png" class="circle" style="height:75px;width: 75px;"></div><div class="col s7"><div style="font-size: 12px; line-height: 1.4;margin-top: 7px;"> <span class="title">BUY</span>' + '<p class="hidden-xs">Amount: ' + Math.round10(parseFloat(oDs[ii].amount), (deci / -1)) + '</p>' + '<p class="hidden-xs">Price:' + parseFloat(oDs[ii].rate).toFixed(5) + '</p>' + '<p>Total: ' + (parseFloat(oDs[ii].amount) * parseFloat(oDs[ii].rate)).toFixed(2) + '' + '</p></div></div><div class="col s2"><a class=" modal-trigger" href="#tradeOrder" style="padding:0 1rem" oid="' + oDs[ii].id + '" act="manage"><i class="material-icons right editOrderBtn" style="margin-top: 25px;margin-right: 20px; border: solid 1px; border-radius: 3px; padding: 5px;">' + icon + '</i></a></div></div>' +
//'<a href="#!" class="secondary-content"><i class="material-icons"></i></a>'+
' </li>');
//---------------------------------------- collection code end -------------------------------------------------
// $("#myOrders").append('<tr class="">' +
// '<td><img src="/bitsAssets/images/currencies/' + oDs[ii].coin.replace('-kovan', '') + '.png" style="height:32px"></td>' +
// '<td>BUY</td>' +
// '<td class="hidden-xs">' + Math.round10(parseFloat(oDs[ii].amount), (deci / -1)) + '</td>' +
// '<td class="hidden-xs">' + parseFloat(oDs[ii].rate).toFixed(5) + '</td>' +
// '<td>' + (parseFloat(oDs[ii].amount) * parseFloat(oDs[ii].rate)).toFixed(2) + '</td>' +
// '<td><a class="waves-effect waves-light btn modal-trigger" href="#tradeOrder" style="padding:0 1rem" oid="' + oDs[ii].id + '" act="manage"><i class="material-icons right" style="margin: 0px;">' + icon + '</i></a></td>' +
// '</tr>');
} else if (parseInt(oDs[ii].tranFrom.uid) == parseInt(localStorage.getItem('bits-user-name'))) {
//--------------------------------- collection SELL code ---------------------------------------------------------
$("#myOrders").append('<ul class="collection">' + ' <li class="collection-item avatar">' + '<div class="row"> <div class="col s3"><img style="margin-top:5px;" src="/bitsAssets/images/currencies/' + oDs[ii].coin.replace('-kovan', '') + '.png" class="circle" style="height:75px;width: 75px;"></div><div class="col s7"><div style="font-size: 12px; line-height: 1.4;margin-top: 7px;"> <span class="title">BUY</span>' + '<p class="hidden-xs">Amount: ' + Math.round10(parseFloat(oDs[ii].amount), (deci / -1)) + '</p>' + '<p class="hidden-xs">Price:' + parseFloat(oDs[ii].rate).toFixed(5) + '</p>' + '<p>Total: ' + (parseFloat(oDs[ii].amount) * parseFloat(oDs[ii].rate)).toFixed(2) + '' + '</p></div></div><div class="col s2"><a class=" modal-trigger" href="#tradeOrder" style="padding:0 1rem" oid="' + oDs[ii].id + '" act="manage"><i class="material-icons right editOrderBtn" style="margin-top: 25px;margin-right: 20px; border: solid 1px; border-radius: 3px; padding: 5px;"">' + icon + '</i></a></div></div>' +
//'<a href="#!" class="secondary-content"><i class="material-icons"></i></a>'+
' </li>');
//---------------------------------------- collection code end -------------------------------------------------
// $("#myOrders").append('<tr class="">' +
// '<td><img src="/bitsAssets/images/currencies/' + oDs[ii].coin.replace('-kovan', '') + '.png" style="height:32px"></td>' +
// '<td>SELL</td>' +
// '<td class="hidden-xs">' + Math.round10(parseFloat(oDs[ii].amount), (deci / -1)) + '</td>' +
// '<td class="hidden-xs">' + parseFloat(oDs[ii].rate).toFixed(5) + '</td>' +
// '<td>' + (parseFloat(oDs[ii].amount) * parseFloat(oDs[ii].rate)).toFixed(2) + '</td>' +
// '<td><a class="waves-effect waves-light btn modal-trigger" href="#tradeOrder" style="padding:0 1rem" oid="' + oDs[ii].id + '" act="manage"><i class="material-icons right" style="margin: 0px;">' + icon + '</i></a></td>' +
// '</tr>');
}
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
function doNewTransfer() {
$(".tradeOrderSubTitle").html('New Transfer');
$(".tradeOrderBody").html('transfer ' + allTokens[activeCoin.toLowerCase()].name + ' tokens to a different address');
$(".tradeOrderImg").prop("src", '/bitsAssets/images/currencies/' + allTokens[activeCoin.toLowerCase()].name + '.png');
$("#newTransferAmount").attr("placeholder", 'Max: ' + ((allTokens[activeCoin.toLowerCase()].balance / Math.pow(10, allTokens[activeCoin.toLowerCase()].decimals)) * (allTokens[activeCoin.toLowerCase()].rate * baseX)).toFixed(2) + ' ' + baseCd);
$("#newTransferAmount").attr("max", ((allTokens[activeCoin.toLowerCase()].balance / Math.pow(10, allTokens[activeCoin.toLowerCase()].decimals)) * (allTokens[activeCoin.toLowerCase()].rate * baseX)));
$("#newTransferConfirmation,#newTransferAmount").change(function () {
if (web3.isAddress($("#newTransferConfirmation").val()) && $('.newTransferForm')[0].checkValidity()) {
$(".tradeOrderFooterComplete").attr("disabled", false);
} else {
$(".tradeOrderFooterComplete").attr("disabled", true);
}
});
//New Transfer Input Count
// document.querySelector("#newTransferConfirmation").addEventListener("pointerup", function(e){
// var inputCount = $("#newTransferConfirmation").val().length
// if ($("#newTransferConfirmation").val().length > 2) {
// doFetch({
// action: 'matchTrader'
// }).then(function (e) {
// if (e.status == 'ok') {
// console.log(e)
// } else {
//
// }
// });
// }
// });
// $("#newTransferConfirmation").keyup(function () {
//
// });
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment