(function() { var COINREQ = { cli: function(action) { var reqrpc; $.ajax({ url: 'js/Adapter.php', type: 'post', data: { "ReqCommand": action }, async: false, dataType:"json", success: function(response) { reqrpc = response; } }); return reqrpc; }, sql: function(action, options) { var reqsql; $.ajax({ url: 'js/Adapter.php', type: 'post', data: { "ReqSql": action, "options": options}, async: false, dataType:"json", success: function(response) { reqsql = response; } }); return reqsql; }, hashrate: function(action) { var hashconvert; $.ajax({ url: 'js/Adapter.php', type: 'post', data: { "HashConvert": action }, async: false, dataType:"json", success: function(response) { hashconvert = response; } }); return hashconvert; }, config: function(action) { if(action == 'coinsymbol') { return 'MENEL'; } if(action == 'maxsupply') { return '21000000000'; } if(action == 'SmartnodeCollaterals') { return '[{"stage":"Initial","startBlock":9,"endBlock":88719,"collateral":600000},{"stage":"First Upgrade","startBlock":88720,"endBlock":132719,"collateral":800000},{"stage":"Second Upgrade","startBlock":132720,"endBlock":176719,"collateral":1000000},{"stage":"Third Upgrade","startBlock":176720,"endBlock":220719,"collateral":1250000},{"stage":"Fourth Upgrade","startBlock":220720,"endBlock":264719,"collateral":1500000},{"stage":"Final Upgrade","startBlock":264720,"endBlock":9223372036854775807,"collateral":1800000}]'; } if(action == 'blockRewards') { return '[{"start":0,"end":719,"reward":4},{"start":720,"end":553531,"reward":5000},{"start":553532,"end":2105656,"reward":{"start":4990,"end":4750}},{"start":2105657,"end":5273694,"reward":{"start":4730,"end":4000}},{"start":5273695,"end":7378632,"reward":{"start":3990,"end":270}},{"start":7378633,"end":8399208,"reward":{"start":265,"end":5}},{"start":8399209,"end":14735284,"reward":55},{"start":14735285,"end":15798384,"reward":{"start":54,"end":4}},{"start":15798385,"end":25844303,"reward":5},{"start":25844304,"end":9223372036854775807,"reward":0.001}]'; } if(action == 'UpdateUI') { return '30000'; } if(action == 'UpdateLT') { return '20000'; } if(action == 'exchange') { return '0.001'; } if(action == 'burnAddress') { return ''; } if(action == 'devAddress') { return 'MJyFbKtyMeA9wkFf1UT5qDz2M2fsmb2TUa'; } if(action == 'smartnodesAmount') { return '600000'; } if(action == 'firstLetterAddress') { return 'M'; } if(action == 'ClaimAdress') { return 'true'; } }, number: function(nb,dec,decpt,thpt) { const splitThousands = (number) => (dec_point, thousands_point) => { const splitNum = number.toString().split(dec_point); splitNum[0] = splitNum[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousands_point); return splitNum.join(dec_point); } const isBigNumber = number => number.toString().includes('e'); const isBigFloat = number => number.toString().includes('-'); const calcTrailing = (dec, len) => (Number(dec) + 2) - len; const handleBigFloats = (number, decimals) => { if(!decimals) { return '0'; } const [numbers, dec] = number.toString().replace('.', '').split('e-'); const trailingZeros = calcTrailing(dec, numbers.length); const res = `${'0.'.padEnd(trailingZeros + 2, '0')}${numbers}`; return decimals ? res.substring(0, 2) + res.substring(2, decimals + 2) : res; } const handleBigNumbers = (number, decimals, dec_point, thousands_point) => { if(isBigFloat(number)) { return handleBigFloats(number, decimals); } return splitThousands(BigInt(number))(dec_point, thousands_point); } function handleFiniteNumbers(number, decimals, dec_point, thousands_point) { if (!isFinite(number)) { throw new TypeError("number is not finite number"); } if (!decimals) { const len = number.toString().split('.').length; decimals = len > 1 ? len : 0; } return splitThousands(parseFloat(number).toFixed(decimals).replace(".", dec_point))(dec_point, thousands_point); } const numberFormat = (number, decimals, dec_point = '.', thousands_point = ',') => { if(number == null || typeof number !== 'number') { throw new TypeError("number is not valid"); } if(isBigNumber(number)) { return handleBigNumbers(number, decimals, dec_point, thousands_point); } return handleFiniteNumbers(number, decimals, dec_point, thousands_point); } return numberFormat(nb,dec,decpt,thpt); }, showGetAddress: function(action) { var address; $.ajax ({ url: 'getaddress.php', type: 'post', data: { "address": action }, async: false, success: function(response) { $('#GetAddressPost').html(response); } }); }, setMemcached: function(key,value,time) { var memcachedSet; $.ajax({ url: 'js/Adapter.php', type: 'post', data: { "memcachedSetKey": key, "memcachedSetValue": value, "memcachedSetTime": time }, async: false, dataType:"json", success: function(response) { memcachedSet = response; } }); return memcachedSet; }, getMemcached: function(key) { var memcachedGet=null; $.ajax({ url: 'js/Adapter.php', type: 'post', data: { "memcachedGetKey": key }, async: false, dataType:"json", success: function(response) { memcachedGet = response; } }); return memcachedGet; } }; window.COINREQ = COINREQ; }() );