Publish Nerbus source snapshot and build documentation
This commit is contained in:
commit
76cccceca7
198 files changed
+338574
No files matched your search
@@ -0,0 +1,180 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
var hashAddress = "#{address.a_id}";
|
||||
var setting_maxTxCount = parseInt("#{settings.api_page.public_apis.ext.getaddresstxs.max_items_per_query}");
|
||||
var setting_txPerPage = parseInt("#{settings.address_page.history_table.items_per_page}");
|
||||
var lengthMenuOptsAdd = !{JSON.stringify(settings.address_page.history_table.page_length_options)};
|
||||
var lengthMenuOpts = [];
|
||||
var addedLength = false;
|
||||
for (i = 0; i < lengthMenuOptsAdd.length; i++) {
|
||||
if (setting_maxTxCount >= lengthMenuOptsAdd[i]) {
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOptsAdd[i] > setting_txPerPage) {
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
|
||||
lengthMenuOpts.push(lengthMenuOptsAdd[i]);
|
||||
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOptsAdd[i] > setting_txPerPage)
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
if (lengthMenuOptsAdd[i] == setting_txPerPage || lengthMenuOptsAdd[i] > setting_txPerPage)
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!addedLength && setting_txPerPage <= setting_maxTxCount && setting_txPerPage != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
if (!addedLength && setting_txPerPage > setting_maxTxCount && setting_maxTxCount != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_maxTxCount);
|
||||
if (setting_maxTxCount < setting_txPerPage) {
|
||||
var displayLengthMax = setting_maxTxCount;
|
||||
} else {
|
||||
var displayLengthMax = setting_txPerPage;
|
||||
}
|
||||
$(document).ready(function () {
|
||||
var rtable = $('#address-txs').dataTable({
|
||||
autoWidth: true,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: true,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
iDisplayLength: displayLengthMax,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
scrollX: true,
|
||||
ajax: {
|
||||
url: '/ext/getaddresstxs/' + hashAddress,
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = settings.url.substring(0, settings.url.indexOf('?')) + '/' + getParameterByName('start', settings.url) + '/' + getParameterByName('length', settings.url) + '/internal';
|
||||
return true;
|
||||
}
|
||||
},
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
rowCallback: function (row, data, index) {
|
||||
// variables for better readability
|
||||
const timestamp = data[0];
|
||||
const txhash = data[1];
|
||||
const balance = data[2];
|
||||
const amount = data[3];
|
||||
const updown = data[4];
|
||||
const rowclass = data[5];
|
||||
|
||||
const amountParts = amount.split('.');
|
||||
const balanceParts = balance.split('.');
|
||||
|
||||
$("td:eq(0)", row).html('<a href="/tx/' + txhash + '"><span class="fa-regular fa-eye" data-bs-toggle="tooltip" data-bs-placement="top" title="#{settings.localization.view_tx}"></span></a>').addClass('text-center d-table-cell d-md-none');
|
||||
$("td:eq(1)", row).html('<a href="/tx/' + txhash + '">' + txhash + '</a>').addClass('breakWord d-none d-md-table-cell');
|
||||
$("td:eq(2)", row).html(updown + amountParts[0] + '.<span class="decimal">' + amountParts[1] + '</span>').addClass(rowclass + ' text-center');
|
||||
$("td:eq(3)", row).html(balanceParts[0] + '.<span class="decimal">' + balanceParts[1] + '</span>').addClass('text-center');
|
||||
$("td:eq(4)", row).html('<span' + (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true ? ' data-bs-toggle="tooltip" data-bs-placement="auto" title="' + format_unixtime(timestamp, true) + '"' : '') + '>' + format_unixtime(timestamp) + '</span>').addClass('text-center');
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
enableTooltips();
|
||||
}
|
||||
});
|
||||
$('.summary-table').dataTable({
|
||||
info: false,
|
||||
paging: false,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: true,
|
||||
scrollX: true,
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
}
|
||||
});
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.address_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
- var balanceParts = balance.split('.');
|
||||
- var sentParts = sent.split('.');
|
||||
- var receivedParts = received.split('.');
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
.col-xs-12.col-md-12
|
||||
if settings.address_page.page_header.show_img == true || settings.address_page.page_header.show_title == true || settings.address_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.address_page.page_header.show_img == true && settings.address_page.page_header.show_title == true && settings.address_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.address_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.address_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.a_title.replace('{1}', settings.coin.name)}
|
||||
if settings.address_page.page_header.show_description == true
|
||||
if settings.address_page.page_header.show_title != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.a_description.replace('{1}', settings.coin.name).replace('{2}', (address.a_id == 'hidden_address' ? settings.localization.hidden_address : (address.a_id == 'unknown_address' ? settings.localization.unknown_address : address.a_id)))
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.a_description.replace('{1}', settings.coin.name).replace('{2}', (address.a_id == 'hidden_address' ? settings.localization.hidden_address : (address.a_id == 'unknown_address' ? settings.localization.unknown_address : address.a_id)))
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.card-address-summary.cardSpacer
|
||||
.card-header(style='position:relative;')
|
||||
if settings.claim_address_page.enabled == false || claim_name == null || claim_name == ''
|
||||
if address.a_id == 'hidden_address'
|
||||
strong #{settings.localization.hidden_address}
|
||||
else if address.a_id == 'unknown_address'
|
||||
strong #{settings.localization.unknown_address}
|
||||
else
|
||||
strong #{address.a_id}
|
||||
else
|
||||
strong #{claim_name}
|
||||
| ​
|
||||
include ./includes/rl_labels.pug
|
||||
if (!settings.labels[address.a_id] || !settings.labels[address.a_id].enabled) && settings.claim_address_page.enabled == true
|
||||
a#claim-address.fw-bold(href='/claim/' + address.a_id, style='font-size:smaller;padding-bottom:0;')
|
||||
if claim_name == null || claim_name == ''
|
||||
=" Is this yours? Claim it now for free!"
|
||||
else
|
||||
=" Update claimed address"
|
||||
table#address-summary.table.table-bordered.table-striped.summary-table.mobile-border-right(style='border-top:0;margin-top:0 !important;')
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center #{settings.localization.rl_balance}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
if settings.address_page.show_sent_received == true
|
||||
th.text-center #{settings.localization.total_sent}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
if settings.address_page.show_sent_received == true
|
||||
th.text-center #{settings.localization.total_received}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center #{settings.localization.a_qr}
|
||||
tbody
|
||||
tr
|
||||
td.text-center.addr-summary #{balanceParts[0]}.
|
||||
span.decimal #{balanceParts[1]}
|
||||
if settings.address_page.show_sent_received == true
|
||||
td.text-center.addr-summary #{sentParts[0]}.
|
||||
span.decimal #{sentParts[1]}
|
||||
if settings.address_page.show_sent_received == true
|
||||
td.text-center.addr-summary #{receivedParts[0]}.
|
||||
span.decimal #{receivedParts[1]}
|
||||
td.text-center.addr-summary
|
||||
img.qrcode(src='/qr/' + address.a_id)
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
strong #{settings.localization.ex_latest_transactions}
|
||||
table#address-txs.table.table-bordered.table-striped.table-paging.table-hover.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.d-table-cell.d-md-none
|
||||
th.d-none.d-md-table-cell #{settings.localization.tx_hash}
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center #{settings.localization.rl_balance}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center #{settings.localization.timestamp}
|
||||
tbody
|
||||
+142
@@ -0,0 +1,142 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
$('#block-summary').dataTable({
|
||||
info: false,
|
||||
paging: false,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: true,
|
||||
scrollX: true,
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
}
|
||||
});
|
||||
|
||||
$('span#timestampCol').html(format_unixtime(#{block.time}));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#timestampCol').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(#{block.time}, true));
|
||||
enableTooltips();
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.block_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.col-xs-12.col-md-12
|
||||
if orphan != null && orphan == true
|
||||
.col-12
|
||||
.alert.alert-warning.alert-dismissible.fade.show(role='alert')
|
||||
button.btn-close(type='button', data-bs-dismiss='alert')
|
||||
.cardSpacer
|
||||
span.fa-solid.fa-triangle-exclamation(style='margin-right:5px')
|
||||
strong=settings.localization.ex_warning
|
||||
div="This is an orphaned block"
|
||||
if settings.block_page.page_header.show_img == true || settings.block_page.page_header.show_title == true || settings.block_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.block_page.page_header.show_img == true && settings.block_page.page_header.show_title == true && settings.block_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.block_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.block_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.block_title.replace('{1}', settings.coin.name)}
|
||||
if settings.block_page.page_header.show_description == true
|
||||
if settings.block_page.page_header.show_title != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.block_description.replace('{1}', settings.coin.name).replace('{2}', block.height)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.block_description.replace('{1}', settings.coin.name).replace('{2}', block.height)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
div(style='display: flex;flex-wrap: wrap;')
|
||||
if block.previousblockhash != null
|
||||
a(href='/block/' + block.previousblockhash)
|
||||
span.fa-solid.fa-chevron-left.block-last(data-bs-toggle='tooltip', data-bs-placement='top', title=settings.localization.block_previous, style='color: var(--bs-body-color);')
|
||||
strong.d-none.d-md-block #{settings.localization.tx_block_hash}: #{block.hash}
|
||||
strong.d-block.d-md-none #{settings.localization.ex_summary}
|
||||
else
|
||||
strong.d-none.d-md-block(style='margin-left:10px;') #{settings.localization.tx_block_hash}: #{block.hash}
|
||||
strong.d-block.d-md-none(style='margin-left:10px;') #{settings.localization.ex_summary}
|
||||
if block.nextblockhash != null
|
||||
a(href='/block/' + block.nextblockhash)
|
||||
span.fa-solid.fa-chevron-right.block-next(data-bs-toggle='tooltip', data-bs-placement='top', title=settings.localization.block_next, style='color: var(--bs-body-color);')
|
||||
if settings.api_page.public_apis.rpc.getblock.enabled == true
|
||||
a.d-none.d-md-block(href='/api/getblock?hash=' + block.hash, style='margin-left:auto;', data-bs-toggle='tooltip', data-bs-placement='top', title=settings.localization.view_raw_block_data)
|
||||
span.fa-solid.fa-circle-info(style='color: var(--bs-body-color);')
|
||||
table#block-summary.table.table-bordered.summary-table.bottom-border-0.single-row-table(style='border-top:0;margin-top:0 !important;')
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center #{settings.localization.height}
|
||||
th.text-center #{settings.localization.difficulty}
|
||||
if settings.block_page.multi_algorithm.show_algo == true
|
||||
th.text-center='Algorithm'
|
||||
if settings.block_page.show_extracted_by == true
|
||||
th.text-center='Extracted By'
|
||||
th.text-center #{settings.localization.confirmations}
|
||||
if settings.blockchain_specific.heavycoin.enabled == true
|
||||
th.text-center Vote
|
||||
th.text-center #{settings.localization.size} (kB)
|
||||
th.text-center #{settings.localization.bits}
|
||||
th.text-center #{settings.localization.nonce}
|
||||
th.text-center #{settings.localization.timestamp}
|
||||
tbody
|
||||
- var splitDifficulty = block.difficulty.split('.');
|
||||
- var splitBlockSize = block.size.split('.');
|
||||
tr
|
||||
td.text-center=block.height
|
||||
td.text-center #{splitDifficulty[0]}.
|
||||
span.decimal #{splitDifficulty[1]}
|
||||
if settings.block_page.multi_algorithm.show_algo == true
|
||||
td.text-center=block[settings.block_page.multi_algorithm.key_name]
|
||||
if settings.block_page.show_extracted_by == true
|
||||
td.text-center
|
||||
each address in extracted_by_addresses
|
||||
div(style='overflow: auto;')
|
||||
a(href=`/address/${address.a_id}`)=(address.claimname == '' ? address.a_id : address.claimname)
|
||||
include ./includes/rl_labels.pug
|
||||
if block.confirmations >= confirmations
|
||||
td.text-center.table-success=block.confirmations
|
||||
else if block.confirmations < (confirmations / 2)
|
||||
td.text-center.table-danger=block.confirmations
|
||||
else
|
||||
td.text-center.table-warning=block.confirmations
|
||||
if settings.blockchain_specific.heavycoin.enabled == true
|
||||
td.text-center=block.vote
|
||||
td.text-center #{splitBlockSize[0]}.
|
||||
span.decimal #{splitBlockSize[1]}
|
||||
td.text-center=block.bits
|
||||
td.text-center=block.nonce
|
||||
td.text-center
|
||||
span#timestampCol
|
||||
if block.hash == settings.block_page.genesis_block
|
||||
.alert.alert-info(role='alert', style='text-align:center;')
|
||||
strong #{settings.localization.block_genesis}
|
||||
else
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
strong #{settings.localization.ex_latest_transactions}
|
||||
table.table.table-bordered.table-striped.table-hover.summary-table.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center.d-table-cell.d-md-none
|
||||
th.d-none.d-md-table-cell #{settings.localization.tx_hash}
|
||||
th.text-center #{settings.localization.tx_recipients}
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
tbody
|
||||
each txn in txs
|
||||
tr
|
||||
- var totalParts = txn.totalFixed.split('.');
|
||||
td.text-center.d-table-cell.d-md-none
|
||||
a(href='/tx/' + txn.txid)
|
||||
span.fa-regular.fa-eye(data-bs-toggle='tooltip', data-bs-placement='top', title=settings.localization.view_tx)
|
||||
td.d-none.d-md-table-cell
|
||||
a.breakWord(href='/tx/' + txn.txid) #{txn.txid}
|
||||
td.text-center #{txn.vout.length}
|
||||
td.text-center #{totalParts[0]}.
|
||||
span.decimal #{totalParts[1]}
|
||||
@@ -0,0 +1,229 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
- var selected_captcha_object = null
|
||||
- var selected_captcha_name = ''
|
||||
if settings.claim_address_page.enable_captcha == true
|
||||
each captcha, name in settings.captcha
|
||||
if selected_captcha_object == null && captcha != null && captcha.enabled == true
|
||||
- selected_captcha_object = captcha
|
||||
- selected_captcha_name = name
|
||||
script.
|
||||
$(document).ready(function () {
|
||||
$('#claimInstructions').on('show.bs.collapse', function () {
|
||||
$('#showClaimInstructions').html('<i class="fa-solid fa-angle-down" style="margin-right:5px;"></i><span>Hide claim instructions</span>');
|
||||
}).on('hide.bs.collapse', function () {
|
||||
$('#showClaimInstructions').html('<i class="fa-solid fa-angle-up" style="margin-right:5px;"></i><span>Show claim instructions</span>');
|
||||
}).on('shown.bs.collapse', function () {
|
||||
fixFooterHeightAndPosition();
|
||||
}).on('hidden.bs.collapse', function () {
|
||||
fixFooterHeightAndPosition();
|
||||
});
|
||||
$('#claimForm').on('submit', function (e) {
|
||||
e.preventDefault();
|
||||
var address = $('input#address').val();
|
||||
var message = $('input#message').val();
|
||||
var signature = $('input#signature').val();
|
||||
var recaptcha2 = ($('#g-recaptcha-response').length > 0 ? $('#g-recaptcha-response').val() : '');
|
||||
var hcaptcha = ($('textarea[name^="h-captcha-response"]').length > 0 ? $('textarea[name^="h-captcha-response"]').val() : '');
|
||||
|
||||
if (address == null || address.trim().length == 0) {
|
||||
showClaimAlert('warning', 'Please enter the wallet address you wish to claim', false);
|
||||
$('input#address').focus();
|
||||
} else if (signature == null || signature.trim().length == 0) {
|
||||
showClaimAlert('warning', 'Please enter the signature value from your wallet software', false);
|
||||
$('input#signature').focus();
|
||||
} else if (
|
||||
(
|
||||
'#{selected_captcha_name}' == 'google_recaptcha2' &&
|
||||
'#{settings.captcha.google_recaptcha2.captcha_type}' == 'checkbox' &&
|
||||
$('#g-recaptcha-response').length > 0 &&
|
||||
recaptcha2 == ''
|
||||
) ||
|
||||
(
|
||||
$('textarea[name^="h-captcha-response"]').length > 0 &&
|
||||
hcaptcha == ''
|
||||
)
|
||||
) {
|
||||
showClaimAlert('warning', 'The captcha validation has not been set', false);
|
||||
} else {
|
||||
$('button.btn-success').attr('disabled', true);
|
||||
|
||||
if ('#{selected_captcha_name}' == 'google_recaptcha2' && '#{settings.captcha.google_recaptcha2.captcha_type}' == 'invisible') {
|
||||
grecaptcha.execute();
|
||||
} else if ('#{selected_captcha_name}' == 'google_recaptcha3') {
|
||||
grecaptcha.ready(function() {
|
||||
grecaptcha.execute('#{(selected_captcha_name != '' && settings.captcha[selected_captcha_name].site_key != null ? settings.captcha[selected_captcha_name].site_key : '')}', {action: 'submit'}).then(function(token) {
|
||||
submitForm(token);
|
||||
});
|
||||
});
|
||||
} else if (recaptcha2 != '') {
|
||||
submitForm(recaptcha2);
|
||||
} else if (hcaptcha != '') {
|
||||
submitForm(hcaptcha);
|
||||
} else {
|
||||
submitForm('');
|
||||
}
|
||||
}
|
||||
});
|
||||
if ('!{hash}' != 'null' && '!{hash}' != '') {
|
||||
$('<div id="claimAlert"></div>').insertBefore('#claimForm');
|
||||
$('#claimAlert').html(generateAlertHTML('info', true, ('!{claim_name}' == '' ? 'Unc' : 'C') + 'laimed address', '<strong>!{hash}</strong> is currently ' + ('!{claim_name}' == '' ? 'un' : '') + 'claimed' + ('!{claim_name}' == '' ? '' : ' as <strong>' + displayAsText('!{claim_name}') + '.</strong>')));
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.claim_address_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
function displayAsText(str) {
|
||||
return str.replace(/</g, '<').replace(/>/g, '>');
|
||||
}
|
||||
function showClaimAlert(claimClass, warnMsg, removedClaim) {
|
||||
if ($('#claimAlert').length == 0)
|
||||
$('<div id="claimAlert"></div>').insertBefore('#claimForm');
|
||||
$('#claimAlert').html(generateAlertHTML(claimClass, true, (claimClass == 'success' ? (removedClaim ? 'Address claim removed successfully' : 'Address claimed successfully') : (claimClass == 'danger' ? 'Failed to claim address' : 'Required field missing')), (claimClass == 'success' ? '<strong>' + $('input#address').val() + '</strong> will now be referred to as <strong>' + (removedClaim ? $('input#address').val() : displayAsText($('#message').val())) + '</strong> throughout the website' : warnMsg) + '.'));
|
||||
fixFooterHeightAndPosition();
|
||||
}
|
||||
function generateAlertHTML(alertClass, allowDismiss, headerText, msgText) {
|
||||
return '<div class="alert alert-' + alertClass + (allowDismiss ? ' alert-dismissible fade show' : '') + '" role="alert">' +
|
||||
(allowDismiss ? '<button type="button" class="btn-close" data-bs-dismiss="alert"></button>' : '') +
|
||||
'<div' + (msgText == null || msgText == '' ? '' : ' class="cardSpacer"') + '>' +
|
||||
'<span class="fa-solid ' + (alertClass == 'success' ? 'fa-circle-check' : (alertClass == 'danger' ? 'fa-circle-exclamation' : (alertClass == 'info' ? 'fa-circle-info' : 'fa-triangle-exclamation'))) + '" style="margin-right:5px"></span>' +
|
||||
'<strong>' + headerText + '</strong>' +
|
||||
'</div>' +
|
||||
(msgText == null || msgText == '' ? '' : '<span>' + msgText + '</span>') +
|
||||
'</div>';
|
||||
}
|
||||
function submitForm(captchaData) {
|
||||
const url = '/claim';
|
||||
|
||||
let postData = {
|
||||
'address': $('input#address').val(),
|
||||
'message': $('input#message').val(),
|
||||
'signature': $('input#signature').val()
|
||||
};
|
||||
|
||||
if ('#{selected_captcha_name}' != '' && captchaData != '')
|
||||
postData['#{selected_captcha_name}'] = captchaData;
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: url,
|
||||
data: postData
|
||||
})
|
||||
.done(function(data) {
|
||||
showClaimAlert((data.status == 'success' ? 'success' : 'danger'), data.message, (data.status == 'success' && message == ''));
|
||||
|
||||
if (
|
||||
'#{selected_captcha_name}' == 'google_recaptcha2' &&
|
||||
'#{settings.captcha.google_recaptcha2.captcha_type}' == 'checkbox'
|
||||
) {
|
||||
// clear out the captcha to allow the form to be submitted again
|
||||
grecaptcha.reset();
|
||||
} else if (
|
||||
'#{selected_captcha_name}' == 'hcaptcha'
|
||||
) {
|
||||
// clear out the captcha to allow the form to be submitted again
|
||||
hcaptcha.reset()
|
||||
}
|
||||
|
||||
$('button.btn-success').attr('disabled', false);
|
||||
});
|
||||
}
|
||||
function onSubmit(token) {
|
||||
submitForm(token);
|
||||
|
||||
// ensure the onSubmit event can fire again without needing to reload the page in the event that the server returns an error and the form must be submitted again
|
||||
grecaptcha.reset();
|
||||
|
||||
$('button.btn-success').attr('disabled', false);
|
||||
}
|
||||
.col-xs-12.col-md-12
|
||||
if settings.claim_address_page.page_header.show_img == true || settings.claim_address_page.page_header.show_title == true || settings.claim_address_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.claim_address_page.page_header.show_img == true && settings.claim_address_page.page_header.show_title == true && settings.claim_address_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.claim_address_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.claim_address_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.claim_title.replace('{1}', settings.coin.name)}
|
||||
if settings.claim_address_page.page_header.show_description == true
|
||||
if settings.claim_address_page.page_header.show_title != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.claim_description.replace('{1}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.claim_description.replace('{1}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
strong Claim Wallet Address
|
||||
.card-body
|
||||
a#showClaimInstructions.instructions.badge.bg-primary(href='#claimInstructions', style='font-size:100%;margin-bottom:15px;', data-bs-toggle='collapse' role='button' aria-expanded='false' aria-controls='claimInstructions')
|
||||
i.fa-solid.fa-angle-up(style='margin-right:5px;')
|
||||
span Show claim instructions
|
||||
div#claimInstructions.collapse
|
||||
div.alert.alert-primary
|
||||
div
|
||||
span Use the
|
||||
span.fw-bold Sign Message
|
||||
span feature from your
|
||||
span.fw-bold #{settings.coin.name}
|
||||
span wallet to verify ownership of a wallet address that belongs to you.
|
||||
br
|
||||
div Enter the following data into the wallet software:
|
||||
br
|
||||
div
|
||||
span.fw-bold Address:
|
||||
if hash == null || hash == ''
|
||||
span=' <wallet address from the form below>'
|
||||
else
|
||||
span #{hash}
|
||||
div
|
||||
span.fw-bold Message:
|
||||
span=' <display name from the form below>'
|
||||
br
|
||||
div
|
||||
span Click the
|
||||
span.fw-bold Sign Message
|
||||
span button in the wallet, and copy/paste the resulting
|
||||
span.fw-bold Signature
|
||||
span at the bottom of this form.
|
||||
br
|
||||
div
|
||||
span Finally, click the
|
||||
span.fw-bold Claim
|
||||
span button below to claim your address, which will display your custom display name instead of the default wallet address on this site.
|
||||
br
|
||||
div
|
||||
span.fw-bold NOTE:
|
||||
span You can update your claimed address at any time, as often as you wish. To remove a previously claimed display name, simply sign a blank message to return the address back to its original value.
|
||||
form#claimForm
|
||||
.form-group
|
||||
fieldset.entryField
|
||||
label.form-label(for='address') Wallet Address
|
||||
if hash == null || hash == ''
|
||||
input#address.form-control(type='text', maxlength='70')
|
||||
else
|
||||
input#address.form-control(type='text', value=hash, readonly='readonly', maxlength='70')
|
||||
.form-group
|
||||
fieldset.entryField
|
||||
label.form-label.mt-3(for='message') Display Name
|
||||
input#message.form-control(type='text', placeholder='Display Name', maxlength='50')
|
||||
.form-group
|
||||
fieldset.entryField
|
||||
label.form-label.mt-3(for='signature') Signature
|
||||
input#signature.form-control.mb-3(type='text', placeholder='Signature', maxlength='100')
|
||||
if settings.claim_address_page.enable_captcha == true && selected_captcha_object != null
|
||||
case selected_captcha_name
|
||||
when 'google_recaptcha2'
|
||||
if settings.captcha.google_recaptcha2.captcha_type == 'invisible'
|
||||
div#recaptcha.g-recaptcha(data-sitekey=settings.captcha[selected_captcha_name].site_key, data-callback='onSubmit' data-size='invisible')
|
||||
else
|
||||
.form-group
|
||||
fieldset.entryField
|
||||
div(class='g-recaptcha mb-3', data-sitekey=settings.captcha[selected_captcha_name].site_key)
|
||||
when 'hcaptcha'
|
||||
.form-group
|
||||
fieldset.entryField
|
||||
div.h-captcha(data-sitekey=settings.captcha[selected_captcha_name].site_key)
|
||||
.form-group
|
||||
fieldset.entryField
|
||||
button.btn.btn-success(type='submit') Claim
|
||||
@@ -0,0 +1,25 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
if settings.shared_pages.page_header.page_title_image.enable_animation == true && settings.error_page.page_header.show_img
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.col-xs-12.col-md-12
|
||||
if settings.error_page.page_header.show_img == true || settings.error_page.page_header.show_title == true || settings.error_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.error_page.page_header.show_img == true && settings.error_page.page_header.show_title == true && settings.error_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.error_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.error_page.page_header.show_title == true
|
||||
h3#page-title=settings.localization.error_title.replace('{1}', settings.coin.name)
|
||||
if settings.error_page.page_header.show_description == true
|
||||
if settings.error_page.page_header.show_title != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=(error.status == null ? settings.localization.error_description_alt : settings.localization.error_description)
|
||||
else
|
||||
.sub-page-header.text-muted=(error.status == null ? settings.localization.error_description_alt : settings.localization.error_description)
|
||||
.cardSpacer.clearfix
|
||||
h2=(error.status == null ? '' : error.status + ' ') + message
|
||||
@@ -0,0 +1,12 @@
|
||||
script(type='text/javascript', src='https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0&features=Intl')
|
||||
script(type='text/javascript', src='https://cdn.jsdelivr.net/npm/luxon@3.4.3/build/global/luxon.min.js')
|
||||
script.
|
||||
function format_unixtime(unixtime, alt) {
|
||||
if (alt == null)
|
||||
alt = false;
|
||||
// check if this date should be displayed in utc or local timezone
|
||||
if (('#{settings.shared_pages.date_time.timezone}'.toLowerCase() == 'local' && !alt) || ('#{settings.shared_pages.date_time.timezone}'.toLowerCase() == 'utc' && alt))
|
||||
return luxon.DateTime.fromSeconds(unixtime).toLocal().toFormat('#{settings.shared_pages.date_time.display_format}');
|
||||
else
|
||||
return luxon.DateTime.fromSeconds(unixtime).toUTC().toFormat('#{settings.shared_pages.date_time.display_format}');
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
div#difficultyChartParent(class=chartColumnClass, style='display:none;margin:10px 0;')
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
strong Network Difficulty
|
||||
.card-body(style=(settings.shared_pages.page_header.network_charts.difficulty_chart.stretch_to_fit == true ? 'padding:0!important;' : ''))
|
||||
canvas#difficultyChart(style='min-height:'+settings.shared_pages.page_header.network_charts.difficulty_chart.chart_height+'px;max-height:'+settings.shared_pages.page_header.network_charts.difficulty_chart.chart_height+'px;background-color:'+settings.shared_pages.page_header.network_charts.difficulty_chart.bgcolor+';')
|
||||
@@ -0,0 +1,6 @@
|
||||
div#nethashChartParent(class=chartColumnClass, style='display:none;margin:10px 0;')
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
strong Network Hashrate
|
||||
.card-body(style=(settings.shared_pages.page_header.network_charts.nethash_chart.stretch_to_fit == true ? 'padding:0!important;' : ''))
|
||||
canvas#nethashChart(style='min-height:'+settings.shared_pages.page_header.network_charts.nethash_chart.chart_height+'px;max-height:'+settings.shared_pages.page_header.network_charts.nethash_chart.chart_height+'px;background-color:'+settings.shared_pages.page_header.network_charts.nethash_chart.bgcolor+';')
|
||||
@@ -0,0 +1,8 @@
|
||||
if address.a_id == null
|
||||
- address.a_id = address.addresses;
|
||||
if settings.labels[address.a_id] != null && settings.labels[address.a_id].enabled == true
|
||||
label(class='badge bg-' + (settings.labels[address.a_id].type == null || settings.labels[address.a_id].type == '' ? 'default' : settings.labels[address.a_id].type) + ' float-end d-none d-' + (active == 'richlist' ? 'md' : (active == 'tx' ? 'lg' : 'sm')) + '-block', style='margin-left:15px;margin-bottom:0;')
|
||||
=settings.labels[address.a_id].label
|
||||
if settings.labels[address.a_id].url
|
||||
a(href=settings.labels[address.a_id].url, target='_blank', alt='Visit site', title='Visit site', data-bs-toggle='tooltip', data-bs-placement='top')
|
||||
span.fa-solid.fa-circle-question(style='margin-left:5px;')
|
||||
+213
@@ -0,0 +1,213 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
var setting_maxTxCount = parseInt("#{settings.api_page.public_apis.ext.getlasttxs.max_items_per_query}");
|
||||
var setting_txPerPage = parseInt("#{settings.index_page.transaction_table.items_per_page}");
|
||||
var lengthMenuOptsAdd = !{JSON.stringify(settings.index_page.transaction_table.page_length_options)};
|
||||
var lengthMenuOpts = [];
|
||||
var addedLength = false;
|
||||
for (i = 0; i < lengthMenuOptsAdd.length; i++) {
|
||||
if (setting_maxTxCount >= lengthMenuOptsAdd[i]) {
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOptsAdd[i] > setting_txPerPage) {
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
|
||||
lengthMenuOpts.push(lengthMenuOptsAdd[i]);
|
||||
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOptsAdd[i] > setting_txPerPage)
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
if (lengthMenuOptsAdd[i] == setting_txPerPage || lengthMenuOptsAdd[i] > setting_txPerPage)
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!addedLength && setting_txPerPage <= setting_maxTxCount && setting_txPerPage != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
if (!addedLength && setting_txPerPage > setting_maxTxCount && setting_maxTxCount != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_maxTxCount);
|
||||
if (setting_maxTxCount < setting_txPerPage)
|
||||
var displayLengthMax = setting_maxTxCount;
|
||||
else
|
||||
var displayLengthMax = setting_txPerPage;
|
||||
$(document).ready(function() {
|
||||
var rtable = $('#recent-table').dataTable({
|
||||
autoWidth: false,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: false,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
iDisplayLength: displayLengthMax,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
scrollX: true,
|
||||
ajax: {
|
||||
url: '/ext/getlasttxs/0',
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = settings.url.substring(0, settings.url.indexOf('?')) + '/' + getParameterByName('start', settings.url) + '/' + getParameterByName('length', settings.url) + '/internal';
|
||||
return true;
|
||||
}
|
||||
},
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
rowCallback: function(row, data, index) {
|
||||
// variables for better readability
|
||||
const blockindex = data[0];
|
||||
const blockhash = data[1];
|
||||
const txhash = data[2];
|
||||
const outputs = data[3];
|
||||
const amount = data[4];
|
||||
const amountParts = amount.split('.');
|
||||
const updatedAmount = amountParts[0] + '.<span class="decimal">' + amountParts[1] + '</span>';
|
||||
const timestamp = data[5];
|
||||
let offset = 0;
|
||||
|
||||
$("td:eq(0)", row).html('<a href="/tx/' + txhash + '"><span class="fa-regular fa-eye" data-bs-toggle="tooltip" data-bs-placement="top" title="#{settings.localization.view_tx}"></span></a>').addClass('text-center d-table-cell d-md-none');
|
||||
$("td:eq(1)", row).html('<a href="/block/' + blockhash + '">' + blockindex + '</a>');
|
||||
$("td:eq(2)", row).html('<a href="/tx/' + txhash + '">' + txhash + '</a>').addClass("text-center breakWord d-none d-md-table-cell");
|
||||
$("td:eq(3)", row).html(outputs).addClass("text-center d-none d-sm-table-cell");
|
||||
$("td:eq(4)", row).html(updatedAmount);
|
||||
|
||||
if (#{settings.block_page.multi_algorithm.show_algo} == true) {
|
||||
const algo = (data.length > 6 && data[6].indexOf('algo:') == 0 ? data[6].substring('algo:'.length) : '');
|
||||
$("td:eq(5)", row).html(algo);
|
||||
offset += 1;
|
||||
}
|
||||
|
||||
if (#{settings.index_page.show_extracted_by} == true) {
|
||||
const extracted_by = JSON.parse(data.length > 6 && data[6 + offset].indexOf('extracted_by:') == 0 ? data[6 + offset].substring('extracted_by:'.length) : '');
|
||||
const labels = !{JSON.stringify(settings.labels)};
|
||||
const active = '#{active}';
|
||||
|
||||
let extracted_contents = '';
|
||||
|
||||
for (i = 0; i < extracted_by.length; i++) {
|
||||
extracted_contents += '<div style="overflow: auto;">';
|
||||
extracted_contents += `<a href='/address/${extracted_by[i].a_id}'>${(extracted_by[i].claimname == '' ? extracted_by[i].a_id : extracted_by[i].claimname)}</a>`;
|
||||
|
||||
if (labels[extracted_by[i].a_id] != null && labels[extracted_by[i].a_id].enabled == true) {
|
||||
extracted_contents += `<label class="badge bg-${(labels[extracted_by[i].a_id].type == null || labels[extracted_by[i].a_id].type == '' ? 'default' : labels[extracted_by[i].a_id].type)} float-end d-none d-${active == 'richlist' ? 'md' : (active == 'tx' ? 'lg' : 'sm')}-block" style="margin-left:15px;margin-bottom:0;">${labels[extracted_by[i].a_id].label}`;
|
||||
|
||||
if (labels[extracted_by[i].a_id].url)
|
||||
extracted_contents += `<a href="${labels[extracted_by[i].a_id].url}" target="_blank" alt="Visit site" title="Visit site" data-bs-toggle="tooltip" data-bs-placement="top"><span class="fa-solid fa-circle-question" style="margin-left:5px;" /></a>`;
|
||||
|
||||
extracted_contents += `</label>`;
|
||||
}
|
||||
|
||||
extracted_contents += '</div>';
|
||||
}
|
||||
|
||||
$("td:eq(" + (5 + offset) + ")", row).html(extracted_contents).addClass("text-center");
|
||||
offset += 1;
|
||||
}
|
||||
|
||||
$("td:eq(" + (5 + offset) + ")", row).html('<span' + (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true ? ' data-bs-toggle="tooltip" data-bs-placement="auto" title="' + format_unixtime(timestamp, true) + '"' : '') + '>' + format_unixtime(timestamp) + '</span>').addClass('text-center');
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
enableTooltips();
|
||||
}
|
||||
});
|
||||
|
||||
function update_last_updated(lastUpdatedDate) {
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true)).attr('data-bs-original-title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
|
||||
var setting_reload_table_seconds = parseInt("#{settings.index_page.transaction_table.reload_table_seconds}");
|
||||
if (setting_reload_table_seconds > 0) {
|
||||
setInterval(function () {
|
||||
rtable.api().ajax.reload(null, false);
|
||||
}, (setting_reload_table_seconds * 1000));
|
||||
|
||||
if ('#{settings.index_page.page_header.show_last_updated}' == 'true') {
|
||||
setInterval(function () {
|
||||
$.ajax({url: '/ext/getlastupdated/blockchain', headers: { Accept: 'application/json, text/javascript, */*; q=0.01' }, success: function(json) {
|
||||
if (json != null && json.last_updated_date != null)
|
||||
update_last_updated(json.last_updated_date);
|
||||
else
|
||||
update_last_updated(0);
|
||||
}});
|
||||
}, (setting_reload_table_seconds * 1000));
|
||||
}
|
||||
}
|
||||
|
||||
if ('#{settings.index_page.page_header.show_last_updated}' == 'true') {
|
||||
var lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
update_last_updated(lastUpdatedDate);
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.index_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
if error !== null
|
||||
.col-12
|
||||
.alert.alert-danger.alert-dismissible.fade.show(role='alert')
|
||||
button.btn-close(type='button', data-bs-dismiss='alert')
|
||||
.cardSpacer
|
||||
span.fa-solid.fa-circle-exclamation(style='margin-right:5px')
|
||||
strong #{settings.localization.ex_error}
|
||||
div #{error}
|
||||
.col-md-12.cardSpacer
|
||||
if settings.index_page.page_header.show_img == true || settings.index_page.page_header.show_title == true || settings.index_page.page_header.show_last_updated == true || settings.index_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.index_page.page_header.show_img == true && settings.index_page.page_header.show_title == true && settings.index_page.page_header.show_last_updated == true && settings.index_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.index_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.index_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.ex_title.replace('{1}', settings.coin.name)}
|
||||
if settings.index_page.page_header.show_last_updated == true
|
||||
if settings.index_page.page_header.show_title != true && settings.index_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.index_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.index_page.page_header.show_description == true
|
||||
if settings.index_page.page_header.show_title != true && settings.index_page.page_header.show_last_updated != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.ex_description.replace('{1}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.ex_description.replace('{1}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
strong #{settings.localization.ex_latest_transactions}
|
||||
table#recent-table.table.table-bordered.table-striped.table-paging.table-hover
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.d-table-cell.d-md-none
|
||||
th.text-center #{settings.localization.ex_block}
|
||||
th.text-center.d-none.d-md-table-cell #{settings.localization.tx_hash}
|
||||
th.text-center.d-none.d-sm-table-cell #{settings.localization.tx_recipients}
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
if settings.block_page.multi_algorithm.show_algo == true
|
||||
th.text-center="Algorithm"
|
||||
if settings.index_page.show_extracted_by == true
|
||||
th.text-center="Extracted By"
|
||||
th.text-center #{settings.localization.timestamp}
|
||||
tbody.text-center
|
||||
+300
@@ -0,0 +1,300 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.api_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.col-md-12.cardSpacer
|
||||
if settings.api_page.page_header.show_img == true || settings.api_page.page_header.show_title == true || settings.api_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.api_page.page_header.show_img == true && settings.api_page.page_header.show_title == true && settings.api_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.api_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.api_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.api_title.replace('{1}', settings.coin.name)}
|
||||
if settings.api_page.page_header.show_description == true
|
||||
if settings.api_page.page_header.show_title != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.api_description.replace('{1}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.api_description.replace('{1}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
strong #{settings.localization.api_documentation}
|
||||
.card-body
|
||||
if settings.api_page.show_logo == true
|
||||
img(src=settings.shared_pages.logo, style='margin:0;height:128px;')
|
||||
hr
|
||||
- var hide_rpc_api_section = !(settings.api_page.public_apis.rpc.getdifficulty.enabled == true && settings.api_cmds['getdifficulty'] != null && settings.api_cmds['getdifficulty'] != '') && !(settings.api_page.public_apis.rpc.getconnectioncount.enabled == true && settings.api_cmds['getconnectioncount'] != null && settings.api_cmds['getconnectioncount'] != '') && !(settings.api_page.public_apis.rpc.getblockcount.enabled == true && settings.api_cmds['getblockcount'] != null && settings.api_cmds['getblockcount'] != '') && !(settings.api_page.public_apis.rpc.getblockhash.enabled == true && settings.api_cmds['getblockhash'] != null && settings.api_cmds['getblockhash'] != '') && !(settings.api_page.public_apis.rpc.getblock.enabled == true && settings.api_cmds['getblock'] != null && settings.api_cmds['getblock'] != '') && !(settings.api_page.public_apis.rpc.getrawtransaction.enabled == true && settings.api_cmds['getrawtransaction'] != null && settings.api_cmds['getrawtransaction'] != '') && !(settings.api_page.public_apis.rpc.getnetworkhashps.enabled == true && settings.shared_pages.show_hashrate == true && settings.api_cmds['getnetworkhashps'] != null && settings.api_cmds['getnetworkhashps'] != '') && !(settings.api_page.public_apis.rpc.getvotelist.enabled == true && settings.api_cmds['getvotelist'] != null && settings.api_cmds['getvotelist'] != '') && !(settings.api_page.public_apis.rpc.getmasternodecount.enabled == true && settings.api_cmds['getmasternodecount'] != null && settings.api_cmds['getmasternodecount'] != '') && (!settings.blockchain_specific.heavycoin.enabled || (!(settings.blockchain_specific.heavycoin.public_apis.getmaxmoney.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getmaxmoney'] != null && settings.blockchain_specific.heavycoin.api_cmds['getmaxmoney'] != '') && !(settings.blockchain_specific.heavycoin.public_apis.getmaxvote.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getmaxvote'] != null && settings.blockchain_specific.heavycoin.api_cmds['getmaxvote'] != '') && !(settings.blockchain_specific.heavycoin.public_apis.getvote.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getvote'] != null && settings.blockchain_specific.heavycoin.api_cmds['getvote'] != '') && !(settings.blockchain_specific.heavycoin.public_apis.getphase.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getphase'] != null && settings.blockchain_specific.heavycoin.api_cmds['getphase'] != '') && !(settings.blockchain_specific.heavycoin.public_apis.getreward.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getreward'] != null && settings.blockchain_specific.heavycoin.api_cmds['getreward'] != '') && !(settings.blockchain_specific.heavycoin.public_apis.getsupply.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getsupply'] != null && settings.blockchain_specific.heavycoin.api_cmds['getsupply'] != '') && !(settings.blockchain_specific.heavycoin.public_apis.getnextrewardestimate.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardestimate'] != null && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardestimate'] != '') && !(settings.blockchain_specific.heavycoin.public_apis.getnextrewardwhenstr.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardwhenstr'] != null && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardwhenstr'] != '')));
|
||||
- var hide_ext_api_section = !settings.api_page.public_apis.ext.getmoneysupply.enabled && !settings.api_page.public_apis.ext.getdistribution.enabled && !settings.api_page.public_apis.ext.getaddress.enabled && !settings.api_page.public_apis.ext.getaddresstxs.enabled && !settings.api_page.public_apis.ext.gettx.enabled && !settings.api_page.public_apis.ext.getbalance.enabled && !settings.api_page.public_apis.ext.getlasttxs.enabled && !settings.api_page.public_apis.ext.getcurrentprice.enabled && !settings.api_page.public_apis.ext.getnetworkpeers.enabled && !settings.api_page.public_apis.ext.getbasicstats.enabled && !settings.api_page.public_apis.ext.getsummary.enabled && !(settings.api_page.public_apis.ext.getmasternodelist.enabled && settings.api_cmds['getmasternodelist'] != null && settings.api_cmds['getmasternodelist'] != '') && !settings.api_page.public_apis.ext.getmasternoderewards.enabled && !settings.api_page.public_apis.ext.getmasternoderewardstotal.enabled && pluginApisExt.length == 0;
|
||||
- var market_currency = (settings.markets_page.market_price == 'COINGECKO' ? (settings.markets_page.coingecko_currency == null || settings.markets_page.coingecko_currency == '' ? '' : settings.markets_page.coingecko_currency) : (settings.markets_page.default_exchange.trading_pair != null && settings.markets_page.default_exchange.trading_pair.indexOf('/') > -1 ? settings.markets_page.default_exchange.trading_pair.split('/')[1] : '')).toUpperCase();
|
||||
if !hide_rpc_api_section
|
||||
h3 #{settings.localization.api_calls}
|
||||
p
|
||||
em Return data from coind
|
||||
ul
|
||||
if settings.api_page.public_apis.rpc.getdifficulty.enabled == true && settings.api_cmds['getdifficulty'] != null && settings.api_cmds['getdifficulty'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getdifficulty
|
||||
div
|
||||
em #{settings.localization.api_getdifficulty}
|
||||
a(href='/api/getdifficulty') #{address}/api/getdifficulty
|
||||
if settings.api_page.public_apis.rpc.getconnectioncount.enabled == true && settings.api_cmds['getconnectioncount'] != null && settings.api_cmds['getconnectioncount'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getconnectioncount
|
||||
div
|
||||
em #{settings.localization.api_getconnectioncount}
|
||||
a(href='/api/getconnectioncount') #{address}/api/getconnectioncount
|
||||
if settings.api_page.public_apis.rpc.getblockcount.enabled == true && settings.api_cmds['getblockcount'] != null && settings.api_cmds['getblockcount'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getblockcount
|
||||
div
|
||||
em #{settings.localization.api_getblockcount}
|
||||
a(href='/api/getblockcount') #{address}/api/getblockcount
|
||||
if settings.api_page.public_apis.rpc.getblockhash.enabled == true && settings.api_cmds['getblockhash'] != null && settings.api_cmds['getblockhash'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getblockhash [index]
|
||||
div
|
||||
em #{settings.localization.api_getblockhash}
|
||||
a(href='/api/getblockhash?index=' + settings.api_page.sample_data.blockindex) #{address}/api/getblockhash?index=#{settings.api_page.sample_data.blockindex}
|
||||
if settings.api_page.public_apis.rpc.getblock.enabled == true && settings.api_cmds['getblock'] != null && settings.api_cmds['getblock'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getblock [hash]
|
||||
div
|
||||
em #{settings.localization.api_getblock}
|
||||
a(href='/api/getblock?hash=' + settings.api_page.sample_data.blockhash) #{address}/api/getblock?hash=#{settings.api_page.sample_data.blockhash}
|
||||
if settings.api_page.public_apis.rpc.getrawtransaction.enabled == true && settings.api_cmds['getrawtransaction'] != null && settings.api_cmds['getrawtransaction'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getrawtransaction [txid] [decrypt]
|
||||
div
|
||||
em #{settings.localization.api_getrawtransaction}
|
||||
div
|
||||
a(href='/api/getrawtransaction?txid=' + settings.api_page.sample_data.txhash + '&decrypt=0') #{address}/api/getrawtransaction?txid=#{settings.api_page.sample_data.txhash}&decrypt=0
|
||||
div
|
||||
a(href='/api/getrawtransaction?txid=' + settings.api_page.sample_data.txhash + '&decrypt=1') #{address}/api/getrawtransaction?txid=#{settings.api_page.sample_data.txhash}&decrypt=1
|
||||
if settings.api_page.public_apis.rpc.getnetworkhashps.enabled == true && settings.shared_pages.show_hashrate == true && settings.api_cmds['getnetworkhashps'] != null && settings.api_cmds['getnetworkhashps'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getnetworkhashps
|
||||
div
|
||||
em #{settings.localization.api_getnetworkhashps}
|
||||
a(href='/api/getnetworkhashps') #{address}/api/getnetworkhashps
|
||||
if settings.api_page.public_apis.rpc.getvotelist.enabled == true && settings.api_cmds['getvotelist'] != null && settings.api_cmds['getvotelist'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getvotelist
|
||||
div
|
||||
em #{settings.localization.api_getvotelist}
|
||||
a(href='/api/getvotelist') #{address}/api/getvotelist
|
||||
if settings.api_page.public_apis.rpc.getmasternodecount.enabled == true && settings.api_cmds['getmasternodecount'] != null && settings.api_cmds['getmasternodecount'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getmasternodecount
|
||||
div
|
||||
em #{settings.localization.api_getmasternodecount}
|
||||
a(href='/api/getmasternodecount') #{address}/api/getmasternodecount
|
||||
if settings.blockchain_specific.heavycoin.enabled == true
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getmaxmoney.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getmaxmoney'] != null && settings.blockchain_specific.heavycoin.api_cmds['getmaxmoney'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getmaxmoney
|
||||
div
|
||||
em #{settings.localization.api_getmaxmoney}
|
||||
a(href='/api/getmaxmoney') #{address}/api/getmaxmoney
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getmaxvote.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getmaxvote'] != null && settings.blockchain_specific.heavycoin.api_cmds['getmaxvote'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getmaxvote
|
||||
div
|
||||
em #{settings.localization.api_getmaxvote}
|
||||
a(href='/api/getmaxvote') #{address}/api/getmaxvote
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getvote.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getvote'] != null && settings.blockchain_specific.heavycoin.api_cmds['getvote'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getvote
|
||||
div
|
||||
em #{settings.localization.api_getvote}
|
||||
a(href='/api/getvote') #{address}/api/getvote
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getphase.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getphase'] != null && settings.blockchain_specific.heavycoin.api_cmds['getphase'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getphase
|
||||
div
|
||||
em #{settings.localization.api_getphase}
|
||||
a(href='/api/getphase') #{address}/api/getphase
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getreward.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getreward'] != null && settings.blockchain_specific.heavycoin.api_cmds['getreward'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getreward
|
||||
div
|
||||
em #{settings.localization.api_getreward}
|
||||
a(href='/api/getreward') #{address}/api/getreward
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getsupply.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getsupply'] != null && settings.blockchain_specific.heavycoin.api_cmds['getsupply'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getsupply
|
||||
div
|
||||
em #{settings.localization.api_getsupply}
|
||||
a(href='/api/getsupply') #{address}/api/getsupply
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getnextrewardestimate.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardestimate'] != null && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardestimate'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getnextrewardestimate
|
||||
div
|
||||
em #{settings.localization.api_getnextrewardestimate}
|
||||
a(href='/api/getnextrewardestimate') #{address}/api/getnextrewardestimate
|
||||
if settings.blockchain_specific.heavycoin.public_apis.getnextrewardwhenstr.enabled == true && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardwhenstr'] != null && settings.blockchain_specific.heavycoin.api_cmds['getnextrewardwhenstr'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getnextrewardwhenstr
|
||||
div
|
||||
em #{settings.localization.api_getnextrewardwhenstr}
|
||||
a(href='/api/getnextrewardwhenstr') #{address}/api/getnextrewardwhenstr
|
||||
hr
|
||||
if !hide_ext_api_section
|
||||
h3 Extended API
|
||||
p
|
||||
em Return data from local indexes
|
||||
ul
|
||||
if settings.api_page.public_apis.ext.getmoneysupply.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getmoneysupply
|
||||
div
|
||||
em Returns current money supply
|
||||
a(href='/ext/getmoneysupply') #{address}/ext/getmoneysupply
|
||||
if settings.api_page.public_apis.ext.getdistribution.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getdistribution
|
||||
div
|
||||
em Returns wealth distribution stats
|
||||
a(href='/ext/getdistribution') #{address}/ext/getdistribution
|
||||
if settings.api_page.public_apis.ext.getaddress.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getaddress (/ext/getaddress/hash)
|
||||
div
|
||||
em Returns information for given address
|
||||
a(href='/ext/getaddress/' + settings.api_page.sample_data.address) #{address}/ext/getaddress/#{settings.api_page.sample_data.address}
|
||||
if settings.api_page.public_apis.ext.getaddresstxs.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getaddresstxs (/ext/getaddresstxs/hash/start/length)
|
||||
div
|
||||
em Returns last [length] transactions for address [hash], starting from offset [start]
|
||||
a(href='/ext/getaddresstxs/' + settings.api_page.sample_data.address + '/0/50') #{address}/ext/getaddresstxs/#{settings.api_page.sample_data.address}/0/50
|
||||
if settings.api_page.public_apis.ext.gettx.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold gettx (/ext/gettx/hash)
|
||||
div
|
||||
em Returns information for given tx hash
|
||||
a(href='/ext/gettx/' + settings.api_page.sample_data.txhash) #{address}/ext/gettx/#{settings.api_page.sample_data.txhash}
|
||||
if settings.api_page.public_apis.ext.getbalance.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getbalance (/ext/getbalance/hash)
|
||||
div
|
||||
em Returns current balance of given address
|
||||
a(href='/ext/getbalance/' + settings.api_page.sample_data.address) #{address}/ext/getbalance/#{settings.api_page.sample_data.address}
|
||||
if settings.api_page.public_apis.ext.getlasttxs.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getlasttxs (/ext/getlasttxs/min/start/length)
|
||||
div
|
||||
em Returns last [length] transactions greater than [min] coins, starting from offset [start]
|
||||
div
|
||||
em Note: [length] is limited to returning #{settings.api_page.public_apis.ext.getlasttxs.max_items_per_query} records per query
|
||||
div
|
||||
a(href='/ext/getlasttxs/100/0/100') #{address}/ext/getlasttxs/100/0/100
|
||||
if settings.api_page.public_apis.ext.getcurrentprice.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getcurrentprice
|
||||
div
|
||||
em Returns last known exchange price
|
||||
a(href='/ext/getcurrentprice') #{address}/ext/getcurrentprice
|
||||
if settings.api_page.public_apis.ext.getnetworkpeers.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getnetworkpeers
|
||||
div
|
||||
em Returns the list of network peers that have connected to the explorer node in the last 24 hours
|
||||
a(href='/ext/getnetworkpeers') #{address}/ext/getnetworkpeers
|
||||
if settings.api_page.public_apis.ext.getbasicstats.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getbasicstats
|
||||
div
|
||||
em="Returns basic statistics about the coin including: block count, circulating supply, USD price, " + market_currency + " price" + (settings.api_page.public_apis.rpc.getmasternodecount.enabled == true && settings.api_cmds['getmasternodecount'] != null && settings.api_cmds['getmasternodecount'] != '' ? ', ' + '# of masternodes' : '')
|
||||
a(href='/ext/getbasicstats') #{address}/ext/getbasicstats
|
||||
if settings.api_page.public_apis.ext.getsummary.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getsummary
|
||||
div
|
||||
em="Returns a summary of coin data including: difficulty, hybrid difficulty, circulating supply, hash rate, " + market_currency + " price, USD price, network connection count, block count" + (settings.api_page.public_apis.rpc.getmasternodecount.enabled == true && settings.api_cmds['getmasternodecount'] != null && settings.api_cmds['getmasternodecount'] != '' ? ', ' + 'count of online masternodes' + ', ' + 'count of offline masternodes' : '')
|
||||
a(href='/ext/getsummary') #{address}/ext/getsummary
|
||||
if settings.api_page.public_apis.ext.getmasternodelist.enabled == true && settings.api_cmds['getmasternodelist'] != null && settings.api_cmds['getmasternodelist'] != ''
|
||||
li
|
||||
p
|
||||
div.fw-bold getmasternodelist
|
||||
div
|
||||
em #{settings.localization.api_getmasternodelist}
|
||||
a(href='/ext/getmasternodelist') #{address}/ext/getmasternodelist
|
||||
if settings.api_page.public_apis.ext.getmasternoderewards.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getmasternoderewards (/ext/getmasternoderewards/hash/since)
|
||||
div
|
||||
em Returns a list of masternode reward transactions for address [hash] that arrived after block height [since]
|
||||
a(href='/ext/getmasternoderewards/' + settings.api_page.sample_data.address + '/' + settings.api_page.sample_data.blockindex) #{address}/ext/getmasternoderewards/#{settings.api_page.sample_data.address}/#{settings.api_page.sample_data.blockindex}
|
||||
if settings.api_page.public_apis.ext.getmasternoderewardstotal.enabled == true
|
||||
li
|
||||
p
|
||||
div.fw-bold getmasternoderewardstotal (/ext/getmasternoderewardstotal/hash/since)
|
||||
div
|
||||
em Returns the total number of coins earned in masternode rewards for address [hash] that arrived after block height [since]
|
||||
a(href='/ext/getmasternoderewardstotal/' + settings.api_page.sample_data.address + '/' + settings.api_page.sample_data.blockindex) #{address}/ext/getmasternoderewardstotal/#{settings.api_page.sample_data.address}/#{settings.api_page.sample_data.blockindex}
|
||||
each extApi in pluginApisExt
|
||||
li
|
||||
p
|
||||
- var api_path = ''
|
||||
each apiParam in extApi.api_parameters
|
||||
- api_path += (api_path == '' ? '/ext/' + extApi.api_name : '') + '/' + apiParam.parameter_name
|
||||
div.fw-bold #{extApi.api_name}#{(api_path == null || api_path == '' ? '' : ' (' + api_path + ')')}
|
||||
div
|
||||
em #{extApi.api_desc}
|
||||
a(href=extApi.api_url_sample) #{address}#{extApi.api_url_sample}
|
||||
hr
|
||||
h3 Linking (GET)
|
||||
p
|
||||
em Linking to the block explorer
|
||||
ul
|
||||
li
|
||||
p
|
||||
div.fw-bold transaction (/tx/txid)
|
||||
a(href='/tx/' + settings.api_page.sample_data.txhash) #{address}/tx/#{settings.api_page.sample_data.txhash}
|
||||
li
|
||||
p
|
||||
div.fw-bold block (/block/hash)
|
||||
a(href='/block/' + settings.api_page.sample_data.blockhash) #{address}/block/#{settings.api_page.sample_data.blockhash}
|
||||
li
|
||||
p
|
||||
div.fw-bold address (/address/hash)
|
||||
a(href='/address/' + settings.api_page.sample_data.address) #{address}/address/#{settings.api_page.sample_data.address}
|
||||
li
|
||||
p
|
||||
div.fw-bold qrcode (/qr/hash)
|
||||
a(href='/qr/' + settings.api_page.sample_data.address) #{address}/qr/#{settings.api_page.sample_data.address}
|
||||
+1748
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,504 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
if ('#{settings.markets_page.page_header.show_last_updated}' == 'true') {
|
||||
var lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.markets_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
if marketdata.data != null && ((marketdata.data.buys != null && marketdata.data.buys.length > 0) || (marketdata.data.sells != null && marketdata.data.sells.length > 0) || (marketdata.data.history != null && marketdata.data.history.length > 0))
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
$('.summary-table').dataTable({
|
||||
info: false,
|
||||
paging: false,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
autowidth: true,
|
||||
responsive: true,
|
||||
scrollX: true,
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
}
|
||||
});
|
||||
$('.order-table').dataTable({
|
||||
info: false,
|
||||
paging: false,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
scrollY: '250px',
|
||||
scrollCollapse: true,
|
||||
autowidth: true,
|
||||
responsive: true,
|
||||
scrollX: true,
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
}
|
||||
});
|
||||
$('#history-table').dataTable({
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: true,
|
||||
scrollX: true,
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
if ($('#history-table > tbody > tr > td > span.timestampCol').length > 0) {
|
||||
$('#history-table > tbody > tr > td > span.timestampCol').each(function() {
|
||||
if ($.isNumeric($(this).text())) {
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true)
|
||||
$(this).attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(parseInt($(this).text()), true));
|
||||
|
||||
$(this).html(format_unixtime(parseInt($(this).text())));
|
||||
}
|
||||
});
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true)
|
||||
enableTooltips();
|
||||
}
|
||||
|
||||
fixDataTableColumns();
|
||||
}
|
||||
});
|
||||
});
|
||||
.col-xs-12.col-md-12
|
||||
if settings.markets_page.page_header.show_img == true || settings.markets_page.page_header.show_title == true || settings.markets_page.page_header.show_last_updated == true || (settings.markets_page.page_header.show_exchange_url == true && marketdata.url != null && marketdata.url != '') || settings.markets_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.markets_page.page_header.show_img == true && settings.markets_page.page_header.show_title == true && ((settings.markets_page.page_header.show_last_updated == true && settings.markets_page.page_header.show_description == true) || ((settings.markets_page.page_header.show_exchange_url == true && marketdata.url != null && marketdata.url != '') && settings.markets_page.page_header.show_description == true) || ((settings.markets_page.page_header.show_exchange_url == true && marketdata.url != null && marketdata.url != '') && settings.markets_page.page_header.show_last_updated == true)) ? 'flex-start' : 'center'))
|
||||
if settings.markets_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.markets_page.page_header.show_title == true
|
||||
h3#page-title !{settings.localization.mkt_title.replace('{1}', marketdata.market_name + ' <span class="small fw-normal">(' + marketdata.coin + '/' + marketdata.exchange + ')</span>')}
|
||||
if settings.markets_page.page_header.show_last_updated == true
|
||||
if settings.markets_page.page_header.show_title != true && settings.markets_page.page_header.show_description != true && (settings.markets_page.page_header.show_exchange_url != true && marketdata.url != null && marketdata.url != '')
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.markets_page.page_header.show_description == true || (settings.markets_page.page_header.show_exchange_url == true && marketdata.url != null && marketdata.url != '') ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.markets_page.page_header.show_exchange_url == true && marketdata.url != null && marketdata.url != ''
|
||||
if settings.markets_page.page_header.show_title != true && settings.markets_page.page_header.show_last_updated != true && settings.markets_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold='Link to Exchange:'
|
||||
a.sub-page-header(title='Link to Exchange', target='_blank', href=marketdata.url)
|
||||
span !{' Trade <span class="small fw-normal">(' + marketdata.coin + '/' + marketdata.exchange + ')</span>'}
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.markets_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold='Link to Exchange:'
|
||||
a.sub-page-header(title='Link to Exchange', target='_blank', href=marketdata.url)
|
||||
span !{' Trade <span class="small fw-normal">(' + marketdata.coin + '/' + marketdata.exchange + ')</span>'}
|
||||
if settings.markets_page.page_header.show_description == true
|
||||
if settings.markets_page.page_header.show_title != true && settings.markets_page.page_header.show_last_updated != true && (settings.markets_page.page_header.show_exchange_url != true && marketdata.url != null && marketdata.url != '')
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.mkt_description.replace('{1}', marketdata.coin + '/' + marketdata.exchange).replace('{2}', marketdata.market_name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.mkt_description.replace('{1}', marketdata.coin + '/' + marketdata.exchange).replace('{2}', marketdata.market_name)
|
||||
.cardSpacer.clearfix
|
||||
if settings.markets_page.show_market_select == true && settings.market_count > 1
|
||||
.row
|
||||
.col-md-12.cardSpacer
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
strong #{settings.localization.mkt_select}
|
||||
.card-body
|
||||
ul.nav.nav-pills
|
||||
each mkt in settings.market_data
|
||||
if mkt != null && mkt.id != null
|
||||
each pair in mkt.trading_pairs
|
||||
if market == mkt.id && marketdata.coin.toLowerCase() + '/' + marketdata.exchange.toLowerCase() == pair.pair.toLowerCase()
|
||||
li.nav-item
|
||||
a.nav-link.active(href='/markets/' + mkt.id + '/' + pair.pair)
|
||||
if pair.isAlt == true
|
||||
if mkt.alt_logo != null && mkt.alt_logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + mkt.alt_logo, title=mkt.alt_name + ' (' + pair.pair + ')', alt=mkt.alt_name + ' (' + pair.pair + ')')
|
||||
else
|
||||
i.market-logo.fa-solid.fa-circle-question
|
||||
span #{mkt.alt_name}
|
||||
span.small.fw-normal (#{pair.pair})
|
||||
else
|
||||
if mkt.logo != null && mkt.logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + mkt.logo, title=mkt.name + ' (' + pair.pair + ')', alt=mkt.name + ' (' + pair.pair + ')')
|
||||
else
|
||||
i.market-logo.fa-solid.fa-circle-question
|
||||
span #{mkt.name}
|
||||
span.small.fw-normal (#{pair.pair})
|
||||
else
|
||||
li.nav-item
|
||||
a.nav-link(href='/markets/' + mkt.id + '/' + pair.pair)
|
||||
if pair.isAlt == true
|
||||
if mkt.alt_logo != null && mkt.alt_logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + mkt.alt_logo, title=mkt.alt_name + ' (' + pair.pair + ')', alt=mkt.alt_name + ' (' + pair.pair + ')')
|
||||
else
|
||||
i.market-logo.fa-solid.fa-circle-question
|
||||
span #{mkt.alt_name}
|
||||
span.small.fw-normal (#{pair.pair})
|
||||
else
|
||||
if mkt.logo != null && mkt.logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + mkt.logo, title=mkt.name + ' (' + pair.pair + ')', alt=mkt.name + ' (' + pair.pair + ')')
|
||||
else
|
||||
i.market-logo.fa-solid.fa-circle-question
|
||||
span #{mkt.name}
|
||||
span.small.fw-normal (#{pair.pair})
|
||||
if marketdata.data != null && ((marketdata.data.buys != null && marketdata.data.buys.length > 0) || (marketdata.data.sells != null && marketdata.data.sells.length > 0) || (marketdata.data.history != null && marketdata.data.history.length > 0))
|
||||
block market_view
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
let chartData = !{(marketdata.data.chartdata == null || marketdata.data.chartdata == 'null' || marketdata.data.chartdata == '' || marketdata.data.chartdata == '[]' ? 'null' : marketdata.data.chartdata)};
|
||||
|
||||
if (chartData != null) {
|
||||
chartData = chartData.map(function(item) {
|
||||
return {
|
||||
x: item[0],
|
||||
o: item[1],
|
||||
h: item[2],
|
||||
l: item[3],
|
||||
c: item[4]
|
||||
};
|
||||
});
|
||||
|
||||
const backgroundPlugin = {
|
||||
id: 'backgroundFill',
|
||||
beforeDraw(chart) {
|
||||
const ctx = chart.ctx;
|
||||
ctx.save();
|
||||
ctx.fillStyle = '#FFFFFF'; // Change chart background color
|
||||
const chartArea = chart.chartArea;
|
||||
ctx.fillRect(chartArea.left, chartArea.top, chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);
|
||||
ctx.restore();
|
||||
}
|
||||
};
|
||||
|
||||
Chart.register(backgroundPlugin);
|
||||
|
||||
var ohlcvChart = new Chart('chart', {
|
||||
type: 'candlestick',
|
||||
data: {
|
||||
datasets: [{
|
||||
label: 'Market Data',
|
||||
data: chartData,
|
||||
borderColor: {
|
||||
up: 'rgba(80, 160, 115, 1)',
|
||||
down: 'rgba(215, 85, 65, 1)',
|
||||
unchanged: 'rgba(90, 90, 90, 1)'
|
||||
},
|
||||
color: {
|
||||
up: 'rgba(80, 160, 115, 1)',
|
||||
down: 'rgba(215, 85, 65, 1)',
|
||||
unchanged: 'rgba(90, 90, 90, 1)'
|
||||
}
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
maintainAspectRatio: true,
|
||||
aspectRatio: 3,
|
||||
scales: {
|
||||
x: {
|
||||
type: 'time',
|
||||
offset: true,
|
||||
ticks: {
|
||||
padding: 10
|
||||
}
|
||||
},
|
||||
y: {
|
||||
position: 'right',
|
||||
grace: '10%',
|
||||
ticks: {
|
||||
callback: function(value, index, values) {
|
||||
return parseFloat(value).toFixed(8);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false
|
||||
},
|
||||
tooltip: {
|
||||
mode: 'nearest',
|
||||
callbacks: {
|
||||
title: function(context) {
|
||||
return format_unixtime(context[0].raw.x / 1000);
|
||||
},
|
||||
beforeBody: function(context) {
|
||||
const dataset = context[0].dataset;
|
||||
const data = dataset.data[context[0].dataIndex];
|
||||
|
||||
return [
|
||||
'Open: ' + data.o.toFixed(8),
|
||||
'High: ' + data.h.toFixed(8),
|
||||
'Low: ' + data.l.toFixed(8),
|
||||
'Close: ' + data.c.toFixed(8)
|
||||
];
|
||||
},
|
||||
label: function(context) {
|
||||
// Suppress the default body content
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
crosshair: {
|
||||
line: {
|
||||
color: '#000000',
|
||||
width: 1
|
||||
},
|
||||
sync: {
|
||||
enabled: false
|
||||
},
|
||||
zoom: {
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
.row
|
||||
.col-md-12.cardSpacer
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
if marketdata.market_logo != null && marketdata.market_logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + marketdata.market_logo, title=marketdata.market_name + ' Logo', alt=marketdata.market_name + ' Logo')
|
||||
strong #{marketdata.market_name}
|
||||
span.small.fw-normal (#{marketdata.coin}/#{marketdata.exchange})
|
||||
strong - #{settings.localization.mkt_hours}
|
||||
if marketdata.data.chartdata == null || marketdata.data.chartdata == 'null' || marketdata.data.chartdata == '' || marketdata.data.chartdata == '[]'
|
||||
span.fa-solid.fa-chart-line.float-end.view-chart-disabled.market-toggle(style='cursor: pointer;color: var(--bs-body-color);', data-bs-toggle='tooltip', data-bs-placement='bottom', title=settings.localization.mkt_no_chart)
|
||||
table#market-summary.table.table-bordered.bottom-border-0.summary-table.single-row-table(style='border-top:0;margin-top:0 !important;')
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
if marketdata.data.summary != null
|
||||
if marketdata.data.summary.high != null
|
||||
th.text-center #{settings.localization.mkt_high}
|
||||
if marketdata.data.summary.low != null
|
||||
th.text-center #{settings.localization.mkt_low}
|
||||
if marketdata.data.summary.volume != null
|
||||
th.text-center #{settings.localization.mkt_volume}
|
||||
span.small.fw-normal (#{marketdata.coin})
|
||||
if marketdata.data.summary.volume_btc != null
|
||||
th.text-center #{settings.localization.mkt_volume}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
if marketdata.data.summary.bid != null
|
||||
th.text-center #{settings.localization.mkt_top_bid}
|
||||
if marketdata.data.summary.ask != null
|
||||
th.text-center #{settings.localization.mkt_top_ask}
|
||||
if marketdata.data.summary.last != null
|
||||
th.text-center #{settings.localization.mkt_last}
|
||||
if marketdata.data.summary.prev != null
|
||||
th.text-center #{settings.localization.mkt_yesterday}
|
||||
if marketdata.data.summary.change != null || (marketdata.data.summary.last != null && marketdata.data.summary.prev != null)
|
||||
th.text-center #{settings.localization.mkt_change}
|
||||
else
|
||||
th.text-center #{settings.localization.mkt_high}
|
||||
th.text-center #{settings.localization.mkt_low}
|
||||
th.text-center #{settings.localization.mkt_volume}
|
||||
span.small.fw-normal (#{marketdata.coin})
|
||||
th.text-center #{settings.localization.mkt_volume}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
th.text-center #{settings.localization.mkt_top_bid}
|
||||
th.text-center #{settings.localization.mkt_top_ask}
|
||||
th.text-center #{settings.localization.mkt_last}
|
||||
th.text-center #{settings.localization.mkt_yesterday}
|
||||
th.text-center #{settings.localization.mkt_change}
|
||||
tbody
|
||||
tr
|
||||
if marketdata.data.summary != null
|
||||
if marketdata.data.summary.high != null
|
||||
- var splitHigh = marketdata.data.summary.high.split('.');
|
||||
td.text-center #{splitHigh[0]}.
|
||||
span.decimal #{splitHigh[1]}
|
||||
if marketdata.data.summary.low != null
|
||||
- var splitLow = marketdata.data.summary.low.split('.');
|
||||
td.text-center #{splitLow[0]}.
|
||||
span.decimal #{splitLow[1]}
|
||||
if marketdata.data.summary.volume != null
|
||||
- var splitVolume = marketdata.data.summary.volume.split('.');
|
||||
td.text-center #{splitVolume[0]}.
|
||||
span.decimal #{splitVolume[1]}
|
||||
if marketdata.data.summary.volume_btc != null
|
||||
- var splitVolumeBTC = marketdata.data.summary.volume_btc.split('.');
|
||||
td.text-center #{splitVolumeBTC[0]}.
|
||||
span.decimal #{splitVolumeBTC[1]}
|
||||
if marketdata.data.summary.bid != null
|
||||
- var splitBid = marketdata.data.summary.bid.split('.');
|
||||
td.text-center #{splitBid[0]}.
|
||||
span.decimal #{splitBid[1]}
|
||||
if marketdata.data.summary.ask != null
|
||||
- var splitAsk = marketdata.data.summary.ask.split('.');
|
||||
td.text-center #{splitAsk[0]}.
|
||||
span.decimal #{splitAsk[1]}
|
||||
if marketdata.data.summary.last != null
|
||||
- var splitLast = marketdata.data.summary.last.split('.');
|
||||
td.text-center #{splitLast[0]}.
|
||||
span.decimal #{splitLast[1]}
|
||||
if marketdata.data.summary.prev != null
|
||||
- var splitPrev = marketdata.data.summary.prev.split('.');
|
||||
td.text-center #{splitPrev[0]}.
|
||||
span.decimal #{splitPrev[1]}
|
||||
if marketdata.data.summary.change != null || (marketdata.data.summary.last != null && marketdata.data.summary.prev != null)
|
||||
- var splitChange = marketdata.data.summary.change.split('.');
|
||||
if marketdata.data.summary.change_num > 0
|
||||
td.text-center.text-success.fw-bold +#{splitChange[0]}.
|
||||
span.decimal #{splitChange[1]}
|
||||
span %
|
||||
else if marketdata.data.summary.change_num < 0
|
||||
td.text-center.text-danger.fw-bold #{splitChange[0]}.
|
||||
span.decimal #{splitChange[1]}
|
||||
span %
|
||||
else
|
||||
td.text-center.fw-bold #{splitChange[0]}.
|
||||
span.decimal #{splitChange[1]}
|
||||
span %
|
||||
else
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
td.text-center -
|
||||
if marketdata.data.chartdata != null && marketdata.data.chartdata != 'null' && marketdata.data.chartdata != '' && marketdata.data.chartdata != '[]'
|
||||
#marketChart.row
|
||||
.col-md-12.cardSpacer
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
if marketdata.market_logo != null && marketdata.market_logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + marketdata.market_logo, title=marketdata.market_name + ' Logo', alt=marketdata.market_name + ' Logo')
|
||||
strong #{marketdata.market_name} - #{marketdata.coin}/#{marketdata.exchange} - #{settings.localization.mkt_hours}
|
||||
.card-body
|
||||
canvas#chart(style='height:300px;')
|
||||
.row
|
||||
.col-md-6.col-xs-12.cardSpacer
|
||||
.card.card-default.border-0.wrapper-border-0(class=theadClasses)
|
||||
.card-header(style='border-bottom-width:1px;')
|
||||
if marketdata.market_logo != null && marketdata.market_logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + marketdata.market_logo, title=marketdata.market_name + ' Logo', alt=marketdata.market_name + ' Logo')
|
||||
strong(style='color:var(--bs-body-color)') #{settings.localization.mkt_buy_orders}
|
||||
table#buy-orders.table.table-striped.table-bordered.table-hover.order-table.bottom-border-0
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center #{settings.localization.mkt_price}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{marketdata.coin})
|
||||
th.text-center #{settings.localization.mkt_total}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
tbody
|
||||
if marketdata.data.buys != null
|
||||
each buy in marketdata.data.buys
|
||||
- var splitPrice = buy.price.split('.');
|
||||
- var splitQuantity = buy.quantity.split('.');
|
||||
- var splitTotal = buy.total.split('.');
|
||||
tr
|
||||
td.text-center.text-success.fw-bold #{splitPrice[0]}.
|
||||
span.decimal #{splitPrice[1]}
|
||||
td.text-center #{splitQuantity[0]}.
|
||||
span.decimal #{splitQuantity[1]}
|
||||
td.text-center #{splitTotal[0]}.
|
||||
span.decimal #{splitTotal[1]}
|
||||
.col-md-6.col-xs-12.cardSpacer
|
||||
.card.card-default.border-0.wrapper-border-0(class=theadClasses)
|
||||
.card-header(style='border-bottom-width:1px;')
|
||||
if marketdata.market_logo != null && marketdata.market_logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + marketdata.market_logo, title=marketdata.market_name + ' Logo', alt=marketdata.market_name + ' Logo')
|
||||
strong(style='color:var(--bs-body-color)') #{settings.localization.mkt_sell_orders}
|
||||
table#sell-orders.table.table-striped.table-bordered.table-hover.order-table.bottom-border-0
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center #{settings.localization.mkt_price}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{marketdata.coin})
|
||||
th.text-center #{settings.localization.mkt_total}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
tbody
|
||||
if marketdata.data.sells != null
|
||||
each sell in marketdata.data.sells
|
||||
- var splitPrice = sell.price.split('.');
|
||||
- var splitQuantity = sell.quantity.split('.');
|
||||
- var splitTotal = sell.total.split('.');
|
||||
tr
|
||||
td.text-center.text-danger.fw-bold #{splitPrice[0]}.
|
||||
span.decimal #{splitPrice[1]}
|
||||
td.text-center #{splitQuantity[0]}.
|
||||
span.decimal #{splitQuantity[1]}
|
||||
td.text-center #{splitTotal[0]}.
|
||||
span.decimal #{splitTotal[1]}
|
||||
.row
|
||||
.col-md-12
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
if marketdata.market_logo != null && marketdata.market_logo != ''
|
||||
img.align-top.market-logo(src='data:image/png;base64,' + marketdata.market_logo, title=marketdata.market_name + ' Logo', alt=marketdata.market_name + ' Logo')
|
||||
strong #{settings.localization.mkt_trade_history}
|
||||
table#history-table.table.table-hover.table-bordered.table-striped.table-paging(cellspacing='0')
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center #{settings.localization.mkt_price}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{marketdata.coin})
|
||||
th.text-center #{settings.localization.mkt_total}
|
||||
span.small.fw-normal (#{marketdata.exchange})
|
||||
th.text-center #{settings.localization.mkt_time_stamp}
|
||||
tbody
|
||||
if marketdata.data.history != null
|
||||
each order in marketdata.data.history
|
||||
if order.ordertype != null
|
||||
- var splitPrice = order.price.split('.');
|
||||
- var splitQuantity = order.quantity.split('.');
|
||||
- var splitTotal = order.total.split('.');
|
||||
if order.ordertype.toUpperCase() == 'BUY'
|
||||
tr
|
||||
td.text-center.text-success.fw-bold #{splitPrice[0]}.
|
||||
span.decimal #{splitPrice[1]}
|
||||
td.text-center #{splitQuantity[0]}.
|
||||
span.decimal #{splitQuantity[1]}
|
||||
td.text-center #{splitTotal[0]}.
|
||||
span.decimal #{splitTotal[1]}
|
||||
td.text-center
|
||||
span.timestampCol=order.timestamp
|
||||
else
|
||||
tr
|
||||
td.text-center.text-danger.fw-bold #{splitPrice[0]}.
|
||||
span.decimal #{splitPrice[1]}
|
||||
td.text-center #{splitQuantity[0]}.
|
||||
span.decimal #{splitQuantity[1]}
|
||||
td.text-center #{splitTotal[0]}.
|
||||
span.decimal #{splitTotal[1]}
|
||||
td.text-center
|
||||
span.timestampCol=order.timestamp
|
||||
else
|
||||
.alert.alert-danger.alert-dismissible.fade.show(role='alert')
|
||||
button.btn-close(type='button', data-bs-dismiss='alert')
|
||||
.cardSpacer
|
||||
span.fa-solid.fa-circle-exclamation(style='margin-right:5px')
|
||||
strong #{marketdata.market_name} #{settings.localization.ex_error}
|
||||
div This market has no data to display.
|
||||
@@ -0,0 +1,239 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
var setting_txPerPage = parseInt("#{settings.masternodes_page.masternode_table.items_per_page}");
|
||||
var lengthMenuOpts = !{JSON.stringify(settings.masternodes_page.masternode_table.page_length_options)};
|
||||
var addedLength = false;
|
||||
for (i = 0; i < lengthMenuOpts.length; i++) {
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOpts[i] > setting_txPerPage) {
|
||||
lengthMenuOpts.splice(i, 0, setting_txPerPage);
|
||||
addedLength = true;
|
||||
} else if (lengthMenuOpts[i] == setting_txPerPage)
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
if (!addedLength && setting_txPerPage != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
function secondsToHms(d) {
|
||||
d = Number(d);
|
||||
var h = Math.floor(d / 3600);
|
||||
var m = Math.floor(d % 3600 / 60);
|
||||
var s = Math.floor(d % 3600 % 60);
|
||||
var dy = Math.floor(h / 24);
|
||||
var h = h % 24;
|
||||
return ('0' + dy).slice(-2) + " day" + (('0' + dy).slice(-2) == 1 ? "" : "s") + " " + ('0' + h).slice(-2) + "h " + ('0' + m).slice(-2) + "m " + ('0' + s).slice(-2) + "s";
|
||||
}
|
||||
$(document).ready(function() {
|
||||
var enabled_columns = {
|
||||
rank: false,
|
||||
network: false,
|
||||
status : false,
|
||||
addr: false,
|
||||
version : false,
|
||||
lastseen: false,
|
||||
activetime: false,
|
||||
lastpaid: false,
|
||||
ip_address: false,
|
||||
last_paid_block: false
|
||||
};
|
||||
var labels = !{JSON.stringify(settings.labels)};
|
||||
var ctable = $('#masternodes-table').dataTable({
|
||||
autoWidth: true,
|
||||
searching: true,
|
||||
ordering: true,
|
||||
order: [[ 5, 'desc' ]],
|
||||
responsive: true,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
iDisplayLength: setting_txPerPage,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
scrollX: true,
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
ajax: {
|
||||
url: '/ext/getmasternodelist',
|
||||
dataSrc: function(json) {
|
||||
for (i = 0; i < json.length; i++) {
|
||||
if (json[i]['rank'] != null && json[i]['rank'] > 0)
|
||||
enabled_columns.rank = true;
|
||||
|
||||
if (json[i]['network'] != null && json[i]['network'] != '')
|
||||
enabled_columns.network = true;
|
||||
|
||||
if (json[i]['ip_address'] != null && json[i]['ip_address'] != '')
|
||||
enabled_columns.ip_address = true;
|
||||
|
||||
if (json[i]['version'] != null && json[i]['version'] > 0)
|
||||
enabled_columns.version = true;
|
||||
|
||||
if (json[i]['lastseen'] != null && json[i]['lastseen'] > 0)
|
||||
enabled_columns.lastseen = true;
|
||||
|
||||
if (json[i]['lastpaid'] != null && json[i]['lastpaid'] > 0)
|
||||
enabled_columns.lastpaid = true;
|
||||
|
||||
if (json[i]['last_paid_block'] != null && json[i]['last_paid_block'] > 0)
|
||||
enabled_columns.last_paid_block = true;
|
||||
|
||||
if (json[i]['activetime'] != null && json[i]['activetime'] > 0)
|
||||
enabled_columns.activetime = true;
|
||||
|
||||
if (json[i]['status'] != null && json[i]['status'] != '')
|
||||
enabled_columns.status = true;
|
||||
|
||||
if (json[i]['addr'] != null && json[i]['addr'] != '')
|
||||
enabled_columns.addr = true;
|
||||
|
||||
var addr = json[i]['addr'];
|
||||
|
||||
if (json[i]['lastseen'] != null)
|
||||
json[i]['lastseen'] = '<span' + (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true ? ' data-bs-toggle="tooltip" data-bs-placement="auto" title="' + format_unixtime(json[i]['lastseen'], true) + '"' : '') + '>' + format_unixtime(json[i]['lastseen']) + '</span>';
|
||||
|
||||
if (json[i]['lastpaid'] != null && json[i]['lastpaid'] != '' && json[i]['lastpaid'] != '0')
|
||||
json[i]['lastpaid'] = '<span' + (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true ? ' data-bs-toggle="tooltip" data-bs-placement="auto" title="' + format_unixtime(json[i]['lastpaid'], true) + '"' : '') + '>' + format_unixtime(json[i]['lastpaid']) + '</span>';
|
||||
else
|
||||
json[i]['lastpaid'] = '<em>N/A</em>';
|
||||
if (json[i]['activetime'])
|
||||
json[i]['activetime'] = secondsToHms(json[i]['activetime']);
|
||||
else
|
||||
json[i]['activetime'] = '<em>N/A</em>';
|
||||
|
||||
json[i]['addr'] = "<a href='/address/" + json[i]['addr'] + "'>" + json[i]['addr'] + ('#{settings.claim_address_page.enabled}' == 'true' && json[i]['claim_name'] != null && json[i]['claim_name'] != '' ? ' <span class="small fw-normal">(' + json[i]['claim_name'] + ')</span>' : '') + "</a>";
|
||||
|
||||
if (labels[addr] != null && labels[addr].enabled == true) {
|
||||
if (labels[addr].type)
|
||||
json[i]['addr'] = '<div><label class="badge bg-' + labels[addr].type + '" style="margin-bottom:10px;">' + labels[addr].label + (labels[addr].url ? '<a href="' + labels[addr].url + '" target="_blank", alt="Visit site", title="Visit site" data-bs-toggle="tooltip" data-bs-placement="top"><span class="fa-solid fa-circle-question" style="margin-left:5px"></span></a>' : '') + '</label></div>' + json[i]['addr'];
|
||||
else
|
||||
json[i]['addr'] = '<div><label class="badge bg-default" style="margin-bottom:10px;">' + labels[addr].label + (labels[addr].url ? '<a href="' + labels[addr].url + '" target="_blank", alt="Visit site", title="Visit site" data-bs-toggle="tooltip" data-bs-placement="top"><span class="fa-solid fa-circle-question" style="margin-left:5px"></span></a>' : '') + '</label></div>' + json[i]['addr'];
|
||||
}
|
||||
}
|
||||
|
||||
return json;
|
||||
}
|
||||
},
|
||||
columns: [
|
||||
{ name: 'ip_address', data: 'ip_address', className: "ipAddressCol" },
|
||||
{ name: 'rank', data: 'rank', className: "rankCol" },
|
||||
{ name: 'network', data: 'network', className: "networkCol" },
|
||||
{ name: 'addr', data: 'addr', className: "addressCol" },
|
||||
{ name: 'version', data: 'version', className: "versionCol" },
|
||||
{ name: 'lastseen', data: 'lastseen', className: "lastSeenCol" },
|
||||
{ name: 'lastpaid', data: 'lastpaid', className: "lastPaidCol" },
|
||||
{ name: 'last_paid_block', data: 'last_paid_block', className: "lastPaidBlockCol" },
|
||||
{ name: 'activetime', data: 'activetime', className: "activeTimeCol" },
|
||||
{ name: 'status', data: 'status', className: "statusCol" }
|
||||
],
|
||||
rowCallback: function(row, data, index) {
|
||||
$("td.addressCol", row).addClass("breakWord");
|
||||
$("td.ipAddressCol", row).addClass("breakWord");
|
||||
|
||||
switch (data['status'].toUpperCase()) {
|
||||
case 'ENABLED':
|
||||
$("td.statusCol", row).addClass('table-success');
|
||||
break;
|
||||
case 'REMOVE':
|
||||
$("td.statusCol", row).addClass('table-danger');
|
||||
break;
|
||||
case 'EXPIRED':
|
||||
case 'WATCHDOG_EXPIRED':
|
||||
case 'NEW_START_REQUIRED':
|
||||
case 'UPDATE_REQUIRED':
|
||||
case 'POSE_BANNED':
|
||||
$("td.statusCol", row).addClass('table-warning');
|
||||
break;
|
||||
default:
|
||||
$("td.statusCol", row).addClass('table-info');
|
||||
break;
|
||||
}
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
enableTooltips();
|
||||
},
|
||||
fnInitComplete: function(settings, json) {
|
||||
setTimeout(function () {
|
||||
// Hide/show columns based on whether they have data or not
|
||||
ctable.api().column('rank:name').visible(enabled_columns.rank, false);
|
||||
ctable.api().column('network:name').visible(enabled_columns.network, false);
|
||||
ctable.api().column('version:name').visible(enabled_columns.version, false);
|
||||
ctable.api().column('lastseen:name').visible(enabled_columns.lastseen, false);
|
||||
ctable.api().column('activetime:name').visible(enabled_columns.activetime, false);
|
||||
ctable.api().column('ip_address:name').visible(enabled_columns.ip_address, false);
|
||||
ctable.api().column('last_paid_block:name').visible(enabled_columns.last_paid_block, false);
|
||||
ctable.api().column('status:name').visible(enabled_columns.status, false);
|
||||
ctable.api().column('addr:name').visible(enabled_columns.addr, false);
|
||||
ctable.api().column('lastpaid:name').visible(enabled_columns.lastpaid, false);
|
||||
fixDataTableColumns();
|
||||
}, 0);
|
||||
}
|
||||
});
|
||||
|
||||
if ('#{settings.masternodes_page.page_header.show_last_updated}' == 'true') {
|
||||
const lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.masternodes_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.col-md-12.cardSpacer
|
||||
if settings.masternodes_page.page_header.show_img == true || settings.masternodes_page.page_header.show_title == true || settings.masternodes_page.page_header.show_last_updated == true || settings.masternodes_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.masternodes_page.page_header.show_img == true && settings.masternodes_page.page_header.show_title == true && settings.masternodes_page.page_header.show_last_updated == true && settings.masternodes_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.masternodes_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.masternodes_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.mn_title.replace('{1}', settings.coin.name)}
|
||||
if settings.masternodes_page.page_header.show_last_updated == true
|
||||
if settings.masternodes_page.page_header.show_title != true && settings.masternodes_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.masternodes_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.masternodes_page.page_header.show_description == true
|
||||
if settings.masternodes_page.page_header.show_title != true && settings.masternodes_page.page_header.show_last_updated != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.mn_description.replace('{1}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.mn_description.replace('{1}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
strong Masternode List
|
||||
table#masternodes-table.table.table-bordered.table-striped.table-paging.table-hover
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center IP address
|
||||
th.text-center Pay rank
|
||||
th.text-center Network
|
||||
th.text-center Wallet address
|
||||
th.text-center Protocol
|
||||
th.text-center Last seen
|
||||
th.text-center Last paid
|
||||
th.text-center Last paid block
|
||||
th.text-center Active since
|
||||
th.text-center Status
|
||||
tbody.text-center
|
||||
@@ -0,0 +1,164 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
var setting_maxTxCount = parseInt("#{settings.api_page.public_apis.ext.getlasttxs.max_items_per_query}");
|
||||
var setting_txPerPage = parseInt("#{settings.movement_page.movement_table.items_per_page}");
|
||||
var lengthMenuOptsAdd = !{JSON.stringify(settings.movement_page.movement_table.page_length_options)};
|
||||
var lengthMenuOpts = [];
|
||||
var addedLength = false;
|
||||
for (i = 0; i < lengthMenuOptsAdd.length; i++) {
|
||||
if (setting_maxTxCount >= lengthMenuOptsAdd[i]) {
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOptsAdd[i] > setting_txPerPage) {
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
|
||||
lengthMenuOpts.push(lengthMenuOptsAdd[i]);
|
||||
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOptsAdd[i] > setting_txPerPage)
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
if (lengthMenuOptsAdd[i] == setting_txPerPage || lengthMenuOptsAdd[i] > setting_txPerPage)
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!addedLength && setting_txPerPage <= setting_maxTxCount && setting_txPerPage != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
if (!addedLength && setting_txPerPage > setting_maxTxCount && setting_maxTxCount != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_maxTxCount);
|
||||
if (setting_maxTxCount < setting_txPerPage)
|
||||
var displayLengthMax = setting_maxTxCount;
|
||||
else
|
||||
var displayLengthMax = setting_txPerPage;
|
||||
$(document).ready(function() {
|
||||
var rtable = $('#movement-table').dataTable({
|
||||
autoWidth: true,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
iDisplayLength: displayLengthMax,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
scrollX: true,
|
||||
ajax: {
|
||||
url: '/ext/getlasttxs/#{settings.movement_page.movement_table.min_amount}',
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = settings.url.substring(0, settings.url.indexOf('?')) + '/' + getParameterByName('start', settings.url) + '/' + getParameterByName('length', settings.url) + '/internal';
|
||||
return true;
|
||||
}
|
||||
},
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
rowCallback: function(row, data, index) {
|
||||
// variables for better readability
|
||||
var blockindex = data[0];
|
||||
var blockhash = data[1];
|
||||
var txhash = data[2];
|
||||
var outputs = data[3];
|
||||
var amountString = data[4];
|
||||
var timestamp = data[5];
|
||||
|
||||
var amount = Number(amountString.replace(/,/g, ''));
|
||||
var amountParts = amountString.split('.');
|
||||
var amountStr = amountParts[0] + '.<span class="decimal">' + amountParts[1] + '</span>';
|
||||
var total = "<label class='badge bg-" + (amount > '#{settings.movement_page.movement_table.high_warning_flag}' ? 'danger' : (amount > '#{settings.movement_page.movement_table.low_warning_flag}' ? 'warning' : 'success')) + "' style='margin-bottom:0;'>" + amountStr + "</label>";
|
||||
|
||||
$("td:eq(0)", row).html('<a href="/tx/' + txhash + '"><span class="fa-regular fa-eye" data-bs-toggle="tooltip" data-bs-placement="top" title="#{settings.localization.view_tx}"></span></a>').addClass('text-center d-table-cell d-md-none');
|
||||
$("td:eq(1)", row).html('<a href="/tx/' + txhash + '">' + txhash + '</a>').addClass('breakWord d-none d-md-table-cell');
|
||||
$("td:eq(2)", row).html(total).addClass('text-center');
|
||||
$("td:eq(3)", row).html('<span' + (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true ? ' data-bs-toggle="tooltip" data-bs-placement="auto" title="' + format_unixtime(timestamp, true) + '"' : '') + '>' + format_unixtime(timestamp) + '</span>').addClass('text-center');
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
enableTooltips();
|
||||
}
|
||||
});
|
||||
|
||||
function update_last_updated(lastUpdatedDate) {
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true)).attr('data-bs-original-title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
|
||||
var setting_reload_table_seconds = parseInt("#{settings.movement_page.movement_table.reload_table_seconds}");
|
||||
if (setting_reload_table_seconds > 0) {
|
||||
setInterval(function () {
|
||||
rtable.api().ajax.reload(null, false);
|
||||
}, (setting_reload_table_seconds * 1000));
|
||||
|
||||
if ('#{settings.movement_page.page_header.show_last_updated}' == 'true') {
|
||||
setInterval(function () {
|
||||
$.ajax({url: '/ext/getlastupdated/movement', headers: { Accept: 'application/json, text/javascript, */*; q=0.01' }, success: function(json) {
|
||||
if (json != null && json.last_updated_date != null)
|
||||
update_last_updated(json.last_updated_date);
|
||||
else
|
||||
update_last_updated(0);
|
||||
}});
|
||||
}, (setting_reload_table_seconds * 1000));
|
||||
}
|
||||
}
|
||||
|
||||
if ('#{settings.movement_page.page_header.show_last_updated}' == 'true') {
|
||||
var lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
update_last_updated(lastUpdatedDate);
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.movement_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.col-md-12
|
||||
if settings.movement_page.page_header.show_img == true || settings.movement_page.page_header.show_title == true || settings.movement_page.page_header.show_last_updated == true || settings.movement_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.movement_page.page_header.show_img == true && settings.movement_page.page_header.show_title == true && settings.movement_page.page_header.show_last_updated == true && settings.movement_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.movement_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.movement_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.move_title.replace('{1}', settings.coin.name)}
|
||||
if settings.movement_page.page_header.show_last_updated == true
|
||||
if settings.movement_page.page_header.show_title != true && settings.movement_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.movement_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.movement_page.page_header.show_description == true
|
||||
if settings.movement_page.page_header.show_title != true && settings.movement_page.page_header.show_last_updated != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.move_description.replace('{1}', settings.movement_page.movement_table.min_amount).replace('{2}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.move_description.replace('{1}', settings.movement_page.movement_table.min_amount).replace('{2}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
strong="Latest Movement"
|
||||
table#movement-table.table.table-bordered.table-striped.table-paging.table-hover.mobile-border-right
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.d-table-cell.d-md-none
|
||||
th.d-none.d-md-table-cell #{settings.localization.tx_hash}
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center #{settings.localization.timestamp}
|
||||
tbody
|
||||
@@ -0,0 +1,279 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
function generateLengthMenu(setting_txPerPage, lengthMenuOpts) {
|
||||
var addedLength = false;
|
||||
for (i = 0; i < lengthMenuOpts.length; i++) {
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOpts[i] > setting_txPerPage) {
|
||||
lengthMenuOpts.splice(i, 0, setting_txPerPage);
|
||||
addedLength = true;
|
||||
} else if (lengthMenuOpts[i] == setting_txPerPage)
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
if (!addedLength && setting_txPerPage != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
return lengthMenuOpts;
|
||||
}
|
||||
$(document).ready(function() {
|
||||
$.ajax({
|
||||
method: 'GET',
|
||||
url: '/ext/getnetworkpeers/internal',
|
||||
dataType: 'json'
|
||||
}).done(function(peers) {
|
||||
const connection_table_enabled = #{settings.network_page.connections_table.enabled};
|
||||
|
||||
if (connection_table_enabled) {
|
||||
const setting_con_txPerPage = parseInt("#{settings.network_page.connections_table.items_per_page}");
|
||||
const setting_con_port_filter = "#{settings.network_page.connections_table.port_filter}";
|
||||
const column_width = (setting_con_port_filter == '-1' ? '25%' : '20%');
|
||||
let columns = [];
|
||||
|
||||
columns.push({ data: 'address', width: column_width });
|
||||
|
||||
if (setting_con_port_filter != '' && setting_con_port_filter != '-1')
|
||||
columns.push({ data: 'port', width: column_width });
|
||||
|
||||
columns.push({ data: 'protocol', width: column_width });
|
||||
columns.push({ data: 'version', width: column_width });
|
||||
columns.push({ data: 'country', width: column_width });
|
||||
|
||||
$('#connections-table').dataTable({
|
||||
autoWidth: true,
|
||||
searching: false,
|
||||
ordering: true,
|
||||
order: [],
|
||||
responsive: true,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
iDisplayLength: setting_con_txPerPage,
|
||||
lengthMenu: generateLengthMenu(setting_con_txPerPage, !{JSON.stringify(settings.network_page.connections_table.page_length_options)}),
|
||||
scrollX: true,
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
data: peers.connection_peers,
|
||||
rowCallback: function (row, data, index) {
|
||||
const flagBlock = (data['country_code'].length > 1 ? '<span class="margin-left-5 fi fi-'+data['country_code'].toLowerCase()+'"></span>' : '');
|
||||
let colIndex = 1;
|
||||
|
||||
$("td:eq(0)", row).html(data['address']).addClass('breakWord');
|
||||
|
||||
if (setting_con_port_filter != '' && setting_con_port_filter != '-1') {
|
||||
$("td:eq(1)", row).html(data['port'] || '');
|
||||
colIndex = 2;
|
||||
}
|
||||
|
||||
$(`td:eq(${colIndex})`, row).html(data['protocol']);
|
||||
$(`td:eq(${colIndex + 1})`, row).html(data['version']);
|
||||
$(`td:eq(${colIndex + 2})`, row).html(data['country'] + flagBlock);
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
},
|
||||
columns: columns
|
||||
});
|
||||
}
|
||||
|
||||
const addnode_table_enabled = #{settings.network_page.addnodes_table.enabled};
|
||||
|
||||
if (addnode_table_enabled) {
|
||||
const setting_add_txPerPage = parseInt("#{settings.network_page.addnodes_table.items_per_page}");
|
||||
const setting_add_port_filter = "#{settings.network_page.addnodes_table.port_filter}";
|
||||
|
||||
$('#addnodes-table').dataTable({
|
||||
autoWidth: true,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: true,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
iDisplayLength: setting_add_txPerPage,
|
||||
lengthMenu: generateLengthMenu(setting_add_txPerPage, !{JSON.stringify(settings.network_page.addnodes_table.page_length_options)}),
|
||||
scrollX: true,
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
data: peers.addnode_peers,
|
||||
rowCallback: function(row, data, index) {
|
||||
const nodes = 'addnode=' + (data['address'] != null && data['address'].indexOf(':') > -1 ? '[' + data['address'] + ']' : data['address']) + (data['port'] == null || data['port'] == '' || setting_add_port_filter == '' || setting_add_port_filter == '-1' ? '' : ':' + data['port']);
|
||||
$("td:eq(0)", row).css('white-space', 'nowrap').html(`<button class="btn btn-sm btn-copy" type="button"><i class="fa-regular fa-copy"></i></button> <span>${nodes}</span>`);
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
},
|
||||
columns: [
|
||||
{data: null, width: '100%'}
|
||||
],
|
||||
columnDefs: [
|
||||
{targets: '_all', className: 'text-start'}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
const onetry_table_enabled = #{settings.network_page.onetry_table.enabled};
|
||||
|
||||
if (onetry_table_enabled) {
|
||||
const setting_one_txPerPage = parseInt("#{settings.network_page.onetry_table.items_per_page}");
|
||||
const setting_one_port_filter = "#{settings.network_page.onetry_table.port_filter}";
|
||||
|
||||
$('#onetry-table').dataTable({
|
||||
autoWidth: true,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: true,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
iDisplayLength: setting_one_txPerPage,
|
||||
lengthMenu: generateLengthMenu(setting_one_txPerPage, !{JSON.stringify(settings.network_page.onetry_table.page_length_options)}),
|
||||
scrollX: true,
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
data: peers.onetry_peers,
|
||||
rowCallback: function(row, data, index) {
|
||||
const nodes = 'addnode ' + (data['address'] != null && data['address'].indexOf(':') > -1 ? '[' + data['address'] + ']' : data['address']) + (data['port'] == null || data['port'] == '' || setting_one_port_filter == '' || setting_one_port_filter == '-1' ? '' : ':' + data['port']) + ' onetry';
|
||||
$("td:eq(0)", row).css('white-space', 'nowrap').html(`<button class="btn btn-sm btn-copy" type="button"><i class="fa-regular fa-copy"></i></button> <span>${nodes}</span>`);
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
},
|
||||
columns: [
|
||||
{data: null, width: '100%'}
|
||||
],
|
||||
columnDefs: [
|
||||
{targets: '_all', className: 'text-start'}
|
||||
]
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('a[data-bs-toggle="tab"]').on('shown.bs.tab', function (e) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
});
|
||||
|
||||
if ('#{settings.network_page.page_header.show_last_updated}' == 'true') {
|
||||
const lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.network_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
|
||||
$('#addnodes').on('click', 'button.btn-copy', function (event) {
|
||||
const btn = $(this);
|
||||
|
||||
if (btn.html().indexOf('fa-copy') > -1) {
|
||||
const tmp = $('<input>');
|
||||
|
||||
$('body').append(tmp);
|
||||
tmp.val(btn.parent().find('span').html()).select();
|
||||
document.execCommand('copy');
|
||||
tmp.remove();
|
||||
|
||||
btn.tooltip({title: 'Copied!', placement: 'top', trigger: 'manual'}).tooltip('show');
|
||||
btn.html('<i class="fa-solid fa-check"></i>');
|
||||
|
||||
setTimeout(function() {
|
||||
btn.html('<i class="fa-regular fa-copy"></i>');
|
||||
btn.tooltip('dispose');
|
||||
}, 1500);
|
||||
}
|
||||
});
|
||||
});
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
.col-md-12.cardSpacer
|
||||
.container
|
||||
if settings.network_page.page_header.show_img == true || settings.network_page.page_header.show_title == true || settings.network_page.page_header.show_last_updated == true || settings.network_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.network_page.page_header.show_img == true && settings.network_page.page_header.show_title == true && settings.network_page.page_header.show_last_updated == true && settings.network_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.network_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.network_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.net_title.replace('{1}', settings.coin.name)}
|
||||
if settings.network_page.page_header.show_last_updated == true
|
||||
if settings.network_page.page_header.show_title != true && settings.network_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.network_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.network_page.page_header.show_description == true
|
||||
if settings.network_page.page_header.show_title != true && settings.network_page.page_header.show_last_updated != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.net_description.replace('{1}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.net_description.replace('{1}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
ul.nav.nav-tabs(role='tablist')
|
||||
if settings.network_page.connections_table.enabled
|
||||
li.nav-item(role='presentation')
|
||||
a.nav-link.active(href='#connections', aria-controls='connections', role='tab', data-bs-toggle='tab') #{settings.localization.net_connections}
|
||||
if settings.network_page.addnodes_table.enabled || settings.network_page.onetry_table.enabled
|
||||
li.nav-item(role='presentation')
|
||||
a.nav-link(class=(settings.network_page.connections_table.enabled ? '' : 'active'), href='#addnodes', aria-controls='addnodes', role='tab', data-bs-toggle='tab') #{settings.localization.net_addnodes}
|
||||
.tab-content
|
||||
if settings.network_page.connections_table.enabled
|
||||
#connections.container.tab-pane.active(style='margin-top:0;border-top:0;')
|
||||
.card.card-default.border-0
|
||||
table#connections-table.table.table-bordered.table-striped.table-paging.table-hover.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center #{settings.localization.net_address}
|
||||
if settings.network_page.connections_table.port_filter != null && settings.network_page.connections_table.port_filter != -1
|
||||
th.text-center='Port'
|
||||
th.text-center #{settings.localization.net_protocol}
|
||||
th.text-center #{settings.localization.net_subversion}
|
||||
th.text-center #{settings.localization.net_country}
|
||||
tbody.text-center
|
||||
if settings.network_page.addnodes_table.enabled || settings.network_page.onetry_table.enabled
|
||||
#addnodes.container.tab-pane(class=(settings.network_page.connections_table.enabled ? '' : 'active'), style='margin-top:0;border-top:0;')
|
||||
.card.card-default.border-0
|
||||
if settings.network_page.addnodes_table.enabled
|
||||
.card-body.border-top-0
|
||||
p If you have trouble syncing your wallet, add these lines to your coin daemon .conf file and restart the wallet.
|
||||
p
|
||||
em Typically you can access the config file through QT-wallet menu, Tools > Open Wallet Configuration File
|
||||
table#addnodes-table.table.table-bordered.table-striped.table-paging.table-hover.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th AddNode Config Lines
|
||||
tbody
|
||||
if settings.network_page.onetry_table.enabled
|
||||
.card-body.border-top-0
|
||||
p If you have trouble syncing your wallet, run these lines in the coin wallet debug window, or add them with
|
||||
em coindaemon-cli
|
||||
table#onetry-table.table.table-bordered.table-striped.table-paging.table-hover.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th OneTry Node Lines
|
||||
tbody
|
||||
@@ -0,0 +1,122 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
var setting_txPerPage = parseInt("#{settings.orphans_page.orphans_table.items_per_page}");
|
||||
var lengthMenuOpts = !{JSON.stringify(settings.orphans_page.orphans_table.page_length_options)};
|
||||
var addedLength = false;
|
||||
for (i = 0; i < lengthMenuOpts.length; i++) {
|
||||
if (!addedLength) {
|
||||
if (lengthMenuOpts[i] > setting_txPerPage) {
|
||||
lengthMenuOpts.splice(i, 0, setting_txPerPage);
|
||||
addedLength = true;
|
||||
} else if (lengthMenuOpts[i] == setting_txPerPage)
|
||||
addedLength = true;
|
||||
}
|
||||
}
|
||||
if (!addedLength && setting_txPerPage != lengthMenuOpts[lengthMenuOpts.length - 1])
|
||||
lengthMenuOpts.push(setting_txPerPage);
|
||||
$(document).ready(function() {
|
||||
var otable = $('#orphans-table').dataTable({
|
||||
autoWidth: true,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
lengthChange: true,
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
iDisplayLength: setting_txPerPage,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
scrollX: true,
|
||||
ajax: {
|
||||
url: '/ext/getorphanlist',
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = settings.url.substring(0, settings.url.indexOf('?')) + '/' + getParameterByName('start', settings.url) + '/' + getParameterByName('length', settings.url);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
language: {
|
||||
paginate: {
|
||||
previous: '<',
|
||||
next: '>'
|
||||
}
|
||||
},
|
||||
rowCallback: function(row, data, index) {
|
||||
var blockindex = data[0];
|
||||
var orphan_blockhash = data[1];
|
||||
var good_blockhash = data[2];
|
||||
var prev_blockhash = data[3];
|
||||
var next_blockhash = data[4];
|
||||
$("td:eq(0)", row).html('<a href="/block/' + orphan_blockhash + '"><span class="fa-regular fa-eye" data-bs-toggle="tooltip" data-bs-placement="top" title="#{settings.localization.view_orphan}"></span></a>').addClass('text-center d-table-cell d-md-none');
|
||||
$("td:eq(1)", row).html('<a href="/block/' + orphan_blockhash + '">' + orphan_blockhash + '</a>').addClass('breakWord d-none d-md-table-cell');
|
||||
$("td:eq(2)", row).html('<a href="/block/' + good_blockhash + '">' + blockindex.toString() + '</a>').addClass('text-center');
|
||||
$("td:eq(3)", row).html('<a href="/block/' + prev_blockhash + '">' + (blockindex - 1).toString() + '</a>').addClass('text-center');
|
||||
|
||||
if (next_blockhash == null)
|
||||
$("td:eq(4)", row).html(' ');
|
||||
else
|
||||
$("td:eq(4)", row).html('<a href="/block/' + next_blockhash + '">' + (blockindex + 1).toString() + '</a>').addClass('text-center');
|
||||
},
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
fixFooterHeightAndPosition();
|
||||
enableTooltips();
|
||||
}
|
||||
});
|
||||
|
||||
if ('#{settings.orphans_page.page_header.show_last_updated}' == 'true') {
|
||||
var lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.orphans_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.col-md-12
|
||||
if settings.orphans_page.page_header.show_img == true || settings.orphans_page.page_header.show_title == true || settings.orphans_page.page_header.show_last_updated == true || settings.orphans_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.orphans_page.page_header.show_img == true && settings.orphans_page.page_header.show_title == true && settings.orphans_page.page_header.show_last_updated == true && settings.orphans_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.orphans_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.orphans_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.orphan_title.replace('{1}', settings.coin.name)}
|
||||
if settings.orphans_page.page_header.show_last_updated == true
|
||||
if settings.orphans_page.page_header.show_title != true && settings.orphans_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.orphans_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.orphans_page.page_header.show_description == true
|
||||
if settings.orphans_page.page_header.show_title != true && settings.orphans_page.page_header.show_last_updated != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.orphan_description
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.orphan_description
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
strong=settings.localization.orphan_block_list
|
||||
table#orphans-table.table.table-bordered.table-striped.table-paging.table-hover.mobile-border-right
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.d-table-cell.d-md-none
|
||||
th.d-none.d-md-table-cell #{settings.localization.orphan_block_hash}
|
||||
th.text-center #{settings.localization.orphan_actual_block}
|
||||
th.text-center #{settings.localization.orphan_prev_block}
|
||||
th.text-center #{settings.localization.orphan_next_block}
|
||||
tbody
|
||||
@@ -0,0 +1,198 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
$('.summary-table').dataTable({
|
||||
info: false,
|
||||
paging: false,
|
||||
searching: false,
|
||||
ordering: false,
|
||||
responsive: true,
|
||||
scrollX: true,
|
||||
fnDrawCallback: function(settings) {
|
||||
fixDataTableColumns();
|
||||
}
|
||||
});
|
||||
|
||||
if ('#{settings.blockchain_specific.heavycoin.reward_page.page_header.show_last_updated}' == 'true') {
|
||||
var lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.blockchain_specific.heavycoin.reward_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.row(style='margin-left:0;margin-right:0;')
|
||||
.col-xs-12.col-md-12
|
||||
if settings.blockchain_specific.heavycoin.reward_page.page_header.show_img == true || settings.blockchain_specific.heavycoin.reward_page.page_header.show_title == true || settings.blockchain_specific.heavycoin.reward_page.page_header.show_last_updated == true || settings.blockchain_specific.heavycoin.reward_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.blockchain_specific.heavycoin.reward_page.page_header.show_img == true && settings.blockchain_specific.heavycoin.reward_page.page_header.show_title == true && settings.blockchain_specific.heavycoin.reward_page.page_header.show_last_updated == true && settings.blockchain_specific.heavycoin.reward_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.blockchain_specific.heavycoin.reward_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.blockchain_specific.heavycoin.reward_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.heavy_title.replace('{1}', settings.coin.name)}
|
||||
if settings.blockchain_specific.heavycoin.reward_page.page_header.show_last_updated == true
|
||||
if settings.blockchain_specific.heavycoin.reward_page.page_header.show_title != true && settings.blockchain_specific.heavycoin.reward_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.blockchain_specific.heavycoin.reward_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.blockchain_specific.heavycoin.reward_page.page_header.show_description == true
|
||||
if settings.blockchain_specific.heavycoin.reward_page.page_header.show_title != true && settings.blockchain_specific.heavycoin.reward_page.page_header.show_last_updated != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.heavy_description.replace('{1}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.heavy_description.replace('{1}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.card-address-reward
|
||||
.card-header(style='position:relative;')
|
||||
strong #{settings.localization.heavy_reward_voting_info}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
table#reward-summary.table.table-bordered.table-striped.summary-table.single-row-table(style='border-top:0;border-bottom:0;margin-top:0 !important;')
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center #{settings.localization.ex_supply}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center #{settings.localization.heavy_cap}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center #{settings.localization.heavy_phase}
|
||||
th.text-center #{settings.localization.heavy_maxvote}
|
||||
th.text-center #{settings.localization.heavy_reward}
|
||||
th.text-center #{settings.localization.heavy_estnext}
|
||||
tbody
|
||||
- var splitSupply = heavy.supplyFixed.split('.');
|
||||
- var splitCap = heavy.capFixed.split('.');
|
||||
- var splitReward = heavy.rewardFixed.split('.');
|
||||
- var splitNext = heavy.estnextFixed.split('.');
|
||||
tr
|
||||
td.text-center #{splitSupply[0]}.
|
||||
span.decimal #{splitSupply[1]}
|
||||
td.text-center #{splitCap[0]}.
|
||||
span.decimal #{splitCap[1]}
|
||||
td.text-center
|
||||
=heavy.phase
|
||||
td.text-center
|
||||
=heavy.maxvote
|
||||
td.text-center #{splitReward[0]}.
|
||||
span.decimal #{splitReward[1]}
|
||||
td.text-center #{splitNext[0]}.
|
||||
span.decimal #{splitNext[1]}
|
||||
.row(style='margin-left:0;margin-right:0;')
|
||||
.col-md-3
|
||||
.card.card-default.border-0
|
||||
.card-body
|
||||
div.text-center
|
||||
canvas.d-inline(id="rewardChange", width="150", height="150" style="max-width:150px;max-height:150px;")
|
||||
script.
|
||||
var ctx = document.getElementById("rewardChange").getContext("2d");
|
||||
var data = {
|
||||
labels: [
|
||||
"Est. Next",
|
||||
"Current Reward"
|
||||
],
|
||||
datasets: [
|
||||
{
|
||||
data: [(((#{stats.count}/3600)%1)*100).toFixed(2), ((1-((#{stats.count}/3600)%1))*100).toFixed(2)],
|
||||
backgroundColor: ["rgba(92,184,92,1.0)", "#222"]
|
||||
}
|
||||
]
|
||||
};
|
||||
var options = {
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false
|
||||
},
|
||||
crosshair: false
|
||||
}
|
||||
};
|
||||
new Chart(ctx, { type: 'doughnut', data: data, options: options });
|
||||
h5 #{settings.localization.heavy_changein}
|
||||
h5
|
||||
=heavy.nextin
|
||||
form
|
||||
table.table
|
||||
tbody
|
||||
tr
|
||||
th #{settings.localization.heavy_key}
|
||||
td
|
||||
tr
|
||||
th #{settings.localization.heavy_vote}
|
||||
td
|
||||
div(style="width:20px;height:20px;background-color:#428bca")
|
||||
tr
|
||||
th #{settings.localization.heavy_current}
|
||||
td
|
||||
div(style="width:20px;height:20px;background-color:#222")
|
||||
tr
|
||||
th #{settings.localization.heavy_estnext}
|
||||
td
|
||||
div(style="width:20px;height:20px;background-color:rgba(92,184,92,1.0)")
|
||||
.col-md-9
|
||||
.card.card-default.border-0
|
||||
.card-body
|
||||
div.text-center
|
||||
.div
|
||||
strong #{settings.localization.heavy_lastxvotes}
|
||||
.div
|
||||
canvas.d-inline(id="lastVotes", width="800", height="300", style="margin-left:-30px;margin-top:30px;max-width:800px;")
|
||||
script.
|
||||
var ctx = document.getElementById("lastVotes").getContext("2d");
|
||||
var options = {
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false
|
||||
},
|
||||
crosshair: false
|
||||
},
|
||||
scales: {
|
||||
y: {
|
||||
beginAtZero: true,
|
||||
min: 0,
|
||||
suggestedMax: 8,
|
||||
ticks: {
|
||||
stepSize: 1,
|
||||
maxTicksLimit: 8
|
||||
}
|
||||
},
|
||||
},
|
||||
line: {
|
||||
tension: 0
|
||||
}
|
||||
};
|
||||
var data = {
|
||||
labels: [#{(votes.length > 0 ? votes[0].count : 0)},#{(votes.length > 1 ? votes[1].count : 0)},#{(votes.length > 2 ? votes[2].count : 0)},#{(votes.length > 3 ? votes[3].count : 0)},#{(votes.length > 4 ? votes[4].count : 0)},#{(votes.length > 5 ? votes[5].count : 0)},#{(votes.length > 6 ? votes[6].count : 0)},#{(votes.length > 7 ? votes[7].count : 0)},#{(votes.length > 8 ? votes[8].count : 0)},#{(votes.length > 9 ? votes[9].count : 0)},#{(votes.length > 10 ? votes[10].count : 0)},#{(votes.length > 11 ? votes[11].count : 0)},#{(votes.length > 12 ? votes[12].count : 0)},#{(votes.length > 13 ? votes[13].count : 0)},#{(votes.length > 14 ? votes[14].count : 0)},#{(votes.length > 15 ? votes[15].count : 0)},#{(votes.length > 16 ? votes[16].count : 0)},#{(votes.length > 17 ? votes[17].count : 0)},#{(votes.length > 18 ? votes[18].count : 0)},#{(votes.length > 19 ? votes[19].count : 0)}],
|
||||
datasets: [
|
||||
{
|
||||
backgroundColor: "rgba(66,139,202,0.5)",
|
||||
borderColor: "rgba(66,139,202,0.8)",
|
||||
pointBackgroundColor: '#428bca',
|
||||
pointBorderColor: "#fff",
|
||||
data: [#{(votes.length > 0 ? votes[0].vote : 0)},#{(votes.length > 1 ? votes[1].vote : 0)},#{(votes.length > 2 ? votes[2].vote : 0)},#{(votes.length > 3 ? votes[3].vote : 0)},#{(votes.length > 4 ? votes[4].vote : 0)},#{(votes.length > 5 ? votes[5].vote : 0)},#{(votes.length > 6 ? votes[6].vote : 0)},#{(votes.length > 7 ? votes[7].vote : 0)},#{(votes.length > 8 ? votes[8].vote : 0)},#{(votes.length > 9 ? votes[9].vote : 0)},#{(votes.length > 10 ? votes[10].vote : 0)},#{(votes.length > 11 ? votes[11].vote : 0)},#{(votes.length > 12 ? votes[12].vote : 0)},#{(votes.length > 13 ? votes[13].vote : 0)},#{(votes.length > 14 ? votes[14].vote : 0)},#{(votes.length > 15 ? votes[15].vote : 0)},#{(votes.length > 16 ? votes[16].vote : 0)},#{(votes.length > 17 ? votes[17].vote : 0)},#{(votes.length > 18 ? votes[18].vote : 0)},#{(votes.length > 19 ? votes[19].vote : 0)}]
|
||||
},
|
||||
{
|
||||
backgroundColor: "rgba(151,187,205,0.0)",
|
||||
borderColor: '#222',
|
||||
pointBackgroundColor: "rgba(0,0,0,0)",
|
||||
pointBorderColor: "rgba(0,0,0,0.0)",
|
||||
data: [#{(votes.length > 0 ? votes[0].reward : 0)},#{(votes.length > 1 ? votes[1].reward : 0)},#{(votes.length > 2 ? votes[2].reward : 0)},#{(votes.length > 3 ? votes[3].reward : 0)},#{(votes.length > 4 ? votes[4].reward : 0)},#{(votes.length > 5 ? votes[5].reward : 0)},#{(votes.length > 6 ? votes[6].reward : 0)},#{(votes.length > 7 ? votes[7].reward : 0)},#{(votes.length > 8 ? votes[8].reward : 0)},#{(votes.length > 9 ? votes[9].reward : 0)},#{(votes.length > 10 ? votes[10].reward : 0)},#{(votes.length > 11 ? votes[11].reward : 0)},#{(votes.length > 12 ? votes[12].reward : 0)},#{(votes.length > 13 ? votes[13].reward : 0)},#{(votes.length > 14 ? votes[14].reward : 0)},#{(votes.length > 15 ? votes[15].reward : 0)},#{(votes.length > 16 ? votes[16].reward : 0)},#{(votes.length > 17 ? votes[17].reward : 0)},#{(votes.length > 18 ? votes[18].reward : 0)},#{(votes.length > 19 ? votes[19].reward : 0)}]
|
||||
}
|
||||
]
|
||||
};
|
||||
var myNewChart = new Chart(ctx, { type: 'line', data: data, options: options });
|
||||
@@ -0,0 +1,265 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
if ('#{settings.richlist_page.page_header.show_last_updated}' == 'true') {
|
||||
const lastUpdatedDate = #{(last_updated == null || last_updated == '0' ? 0 : last_updated)};
|
||||
|
||||
if (lastUpdatedDate != 0) {
|
||||
$('span#lastUpdatedDate').html(' ' + format_unixtime(lastUpdatedDate));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#lastUpdatedDate').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(lastUpdatedDate, true));
|
||||
enableTooltips();
|
||||
}
|
||||
} else
|
||||
$('span#lastUpdatedDate').html(' N/A');
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.richlist_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
if settings.richlist_page.wealth_distribution.show_distribution_chart == true
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
let xValues = ['Top 1-25', 'Top 26-50', 'Top 51-75', 'Top 76-100', '101+'];
|
||||
let yValues = ['!{dista.total}', '!{distb.total}', '!{distc.total}', '!{distd.total}', '!{diste.total}'];
|
||||
let totals = ['!{dista.totalFixed}', '!{distb.totalFixed}', '!{distc.totalFixed}', '!{distd.totalFixed}', '!{diste.totalFixed}'];
|
||||
let percentages = ['!{dista.percentFixed}', '!{distb.percentFixed}', '!{distc.percentFixed}', '!{distd.percentFixed}', '!{diste.percentFixed}'];
|
||||
const burned = !{JSON.stringify(burned)};
|
||||
|
||||
if ('#{settings.richlist_page.burned_coins.include_burned_coins_in_distribution}' == 'true' && burned != null && burned != '' && burned.total != null && parseFloat(burned.total) > 0) {
|
||||
xValues.push('Burned Coins');
|
||||
yValues.push(burned.total);
|
||||
totals.push(burned.totalFixed);
|
||||
percentages.push(burned.percentFixed);
|
||||
}
|
||||
|
||||
new Chart("pieChart", {
|
||||
type: "pie",
|
||||
data: {
|
||||
labels: xValues,
|
||||
datasets: [{
|
||||
backgroundColor: !{JSON.stringify(settings.richlist_page.wealth_distribution.colors)},
|
||||
data: yValues
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false
|
||||
},
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function(context) {
|
||||
return `${totals[xValues.indexOf(context.label)]} (${percentages[xValues.indexOf(context.label)]}%)`;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
if settings.richlist_page.page_header.show_img == true || settings.richlist_page.page_header.show_title == true || settings.richlist_page.page_header.show_last_updated == true || settings.richlist_page.page_header.show_description == true
|
||||
.row(style='margin: 0 0 5px 0;')
|
||||
div(class=(settings.richlist_page.wealth_distribution.show_distribution_table == true || settings.richlist_page.wealth_distribution.show_distribution_chart == true ? 'col-xs-12' : 'col-12'))
|
||||
.container
|
||||
#page-header-container(style='align-items:' + (settings.richlist_page.page_header.show_img == true && settings.richlist_page.page_header.show_title == true && settings.richlist_page.page_header.show_last_updated == true && settings.richlist_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.richlist_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.richlist_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.rl_title.replace('{1}', settings.coin.name)}
|
||||
if settings.richlist_page.page_header.show_last_updated == true
|
||||
if settings.richlist_page.page_header.show_title != true && settings.richlist_page.page_header.show_description != true
|
||||
#page-title-container
|
||||
.sub-page-header
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
else
|
||||
.sub-page-header(style='margin-bottom:' + (settings.richlist_page.page_header.show_description == true ? '5' : '0') + 'px')
|
||||
span.fw-bold=settings.localization.last_updated + ':'
|
||||
span.text-muted#lastUpdatedDate
|
||||
if settings.richlist_page.page_header.show_description == true
|
||||
if settings.richlist_page.page_header.show_title != true && settings.richlist_page.page_header.show_last_updated != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.rl_description.replace('{1}', settings.coin.name)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.rl_description.replace('{1}', settings.coin.name)
|
||||
.cardSpacer.clearfix
|
||||
.row(style='margin-left:0;margin-right:0;')
|
||||
if settings.richlist_page.show_current_balance == true || settings.richlist_page.show_received_coins == true
|
||||
div(class=(settings.richlist_page.wealth_distribution.show_distribution_table == true || settings.richlist_page.wealth_distribution.show_distribution_chart == true ? 'col-xs-12 col-lg-8' : 'col-12'))
|
||||
.container
|
||||
ul.nav.nav-tabs(role='tablist')
|
||||
if settings.richlist_page.show_current_balance == true
|
||||
li.nav-item(role='presentation')
|
||||
a(class='nav-link' + (settings.richlist_page.show_current_balance == true ? ' active' : ''), href='#balance', aria-controls='balance', role='tab', data-bs-toggle='tab') #{settings.localization.rl_current_balance}
|
||||
if settings.richlist_page.show_received_coins == true
|
||||
li.nav-item(role='presentation')
|
||||
a(class='nav-link' + (!settings.richlist_page.show_current_balance ? ' active' : ''), href='#received', aria-controls='received', role='tab', data-bs-toggle='tab') #{settings.localization.rl_received_coins}
|
||||
.tab-content
|
||||
if settings.richlist_page.show_current_balance == true
|
||||
#balance(class='container tab-pane' + (settings.richlist_page.show_current_balance == true ? ' active' : ''), style='margin-top:0;')
|
||||
.card.card-default.border-0
|
||||
table.table.table-hover.table-bordered.table-striped.summary-table.right-border-0(style='margin-bottom:0;', cellspacing='0')
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center
|
||||
span.fa-solid.fa-flag-checkered
|
||||
th #{settings.localization.tx_address}
|
||||
th.text-center #{settings.localization.rl_balance}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center %
|
||||
tbody
|
||||
- let count = 0;
|
||||
each address in balance
|
||||
- count++;
|
||||
- const itemFixedParts = address.balanceFixed.split('.');
|
||||
- const percentParts = address.percentFixed.split('.');
|
||||
tr
|
||||
td.text-center
|
||||
=count
|
||||
td
|
||||
if settings.claim_address_page.enabled == false || address.claim_name == null || address.claim_name == ''
|
||||
a.breakWord(href='/address/' + address.a_id) #{address.a_id}
|
||||
else
|
||||
a.breakWord(href='/address/' + address.a_id) #{address.claim_name}
|
||||
include ./includes/rl_labels.pug
|
||||
td.text-center #{itemFixedParts[0]}.
|
||||
span.decimal #{itemFixedParts[1]}
|
||||
td.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
if settings.richlist_page.show_received_coins == true
|
||||
#received(class='container tab-pane' + (!settings.richlist_page.show_current_balance ? ' active' : ''), style='margin-top:0;')
|
||||
.card.card-default.border-0
|
||||
table.table.table-hover.table-bordered.table-striped.summary-table.right-border-0(style='margin-bottom:0;', cellspacing='0')
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center
|
||||
span.fa-solid.fa-flag-checkered
|
||||
th #{settings.localization.tx_address}
|
||||
th.text-center #{settings.localization.rl_received}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
tbody
|
||||
- let count = 0;
|
||||
each address in received
|
||||
- count++;
|
||||
- const itemFixedParts = address.receivedFixed.split('.');
|
||||
tr
|
||||
td.text-center
|
||||
=count
|
||||
td
|
||||
if settings.claim_address_page.enabled == false || address.claim_name == null || address.claim_name == ''
|
||||
a.breakWord(href='/address/' + address.a_id) #{address.a_id}
|
||||
else
|
||||
a.breakWord(href='/address/' + address.a_id) #{address.claim_name}
|
||||
include ./includes/rl_labels.pug
|
||||
td.text-center #{itemFixedParts[0]}.
|
||||
span.decimal #{itemFixedParts[1]}
|
||||
if settings.richlist_page.wealth_distribution.show_distribution_table == true || settings.richlist_page.wealth_distribution.show_distribution_chart == true
|
||||
div(class=(settings.richlist_page.show_received_coins == true || settings.richlist_page.show_current_balance == true ? 'col-xs-12 col-lg-4' : 'col-12'))
|
||||
if settings.richlist_page.wealth_distribution.show_distribution_table == true
|
||||
#summary-panel.card.card-default.border-0(style='margin-top:' + (settings.richlist_page.show_current_balance == true || settings.richlist_page.show_received_coins == true ? '34' : '0') + 'px;')
|
||||
.card-header
|
||||
strong #{settings.localization.rl_wealth}
|
||||
table.table.table-hover.table-bordered.summary-table.right-border-0(style='margin-bottom:0;')
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th
|
||||
th.text-center Amount
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
th.text-center %
|
||||
tbody
|
||||
tr
|
||||
td.fw-bold
|
||||
div.float-start.wealth-dist-color-box(style=('background-color:' + settings.richlist_page.wealth_distribution.colors[0] + ';'))
|
||||
span #{settings.localization.rl_top25}
|
||||
- var totalParts = dista.totalFixed.split('.');
|
||||
- var percentParts = dista.percentFixed.split('.');
|
||||
td.text-center.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
tr
|
||||
td.fw-bold
|
||||
div.float-start.wealth-dist-color-box(style=('background-color:' + settings.richlist_page.wealth_distribution.colors[1] + ';'))
|
||||
span #{settings.localization.rl_top50}
|
||||
- var totalParts = distb.totalFixed.split('.');
|
||||
- var percentParts = distb.percentFixed.split('.');
|
||||
td.text-center.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
tr
|
||||
td.fw-bold
|
||||
div.float-start.wealth-dist-color-box(style=('background-color:' + settings.richlist_page.wealth_distribution.colors[2] + ';'))
|
||||
span #{settings.localization.rl_top75}
|
||||
- var totalParts = distc.totalFixed.split('.');
|
||||
- var percentParts = distc.percentFixed.split('.');
|
||||
td.text-center.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
tr
|
||||
td.fw-bold
|
||||
div.float-start.wealth-dist-color-box(style=('background-color:' + settings.richlist_page.wealth_distribution.colors[3] + ';'))
|
||||
span #{settings.localization.rl_top100}
|
||||
- var totalParts = distd.totalFixed.split('.');
|
||||
- var percentParts = distd.percentFixed.split('.');
|
||||
td.text-center.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
tr.text-end
|
||||
td.fw-bold
|
||||
span #{settings.localization.total_top_100}
|
||||
- var totalParts = distsubtotal.totalFixed.split('.');
|
||||
- var percentParts = distsubtotal.percentFixed.split('.');
|
||||
td.text-center.fw-bold.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.fw-bold.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
tr
|
||||
td.fw-bold
|
||||
div.float-start.wealth-dist-color-box(style=('background-color:' + settings.richlist_page.wealth_distribution.colors[4] + ';'))
|
||||
span 101+
|
||||
- var totalParts = diste.totalFixed.split('.');
|
||||
- var percentParts = diste.percentFixed.split('.');
|
||||
td.text-center.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
if settings.richlist_page.burned_coins.include_burned_coins_in_distribution == true && burned != null && parseFloat(burned.total) > 0
|
||||
tr
|
||||
td.fw-bold
|
||||
div.float-start.wealth-dist-color-box(style=('background-color:' + settings.richlist_page.wealth_distribution.colors[5] + ';'))
|
||||
span Burned Coins
|
||||
- var totalParts = burned.totalFixed.split('.');
|
||||
- var percentParts = burned.percentFixed.split('.');
|
||||
td.text-center.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
tr.text-end
|
||||
td.fw-bold
|
||||
span #{settings.localization.total}
|
||||
- var totalParts = disttotal.totalFixed.split('.');
|
||||
- var percentParts = disttotal.percentFixed.split('.');
|
||||
td.text-center.fw-bold.breakWord #{totalParts[0]}.
|
||||
span.decimal.breakWord #{totalParts[1]}
|
||||
td.fw-bold.text-center #{percentParts[0]}.
|
||||
span.decimal #{percentParts[1]}
|
||||
if settings.richlist_page.wealth_distribution.show_address_count == true
|
||||
tr.text-end
|
||||
td.fw-bold
|
||||
span Total Wallet Addresses
|
||||
td.text-center.breakWord(colspan='2')
|
||||
span #{address_count}
|
||||
if settings.richlist_page.wealth_distribution.show_distribution_chart == true
|
||||
canvas#pieChart(style="margin-top:10px;max-height:305px;")
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
- var theadClasses = [];
|
||||
if settings.shared_pages.table_header_bgcolor != null && settings.shared_pages.table_header_bgcolor != ''
|
||||
- theadClasses.push('table-' + settings.shared_pages.table_header_bgcolor);
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
$('span#timestampCol').html(format_unixtime(#{tx.timestamp}));
|
||||
|
||||
if (#{settings.shared_pages.date_time.enable_alt_timezone_tooltips} == true) {
|
||||
$('span#timestampCol').attr('data-bs-toggle', 'tooltip').attr('data-bs-placement', 'auto').attr('title', format_unixtime(#{tx.timestamp}, true));
|
||||
enableTooltips();
|
||||
}
|
||||
if (#{settings.shared_pages.page_header.page_title_image.enable_animation} == true && #{settings.transaction_page.page_header.show_img} == true)
|
||||
startRotateElement('img#header-img');
|
||||
});
|
||||
.col-xs-12.col-md-12
|
||||
if orphan != null && orphan == true
|
||||
.col-12
|
||||
.alert.alert-warning.alert-dismissible.fade.show(role='alert')
|
||||
button.btn-close(type='button', data-bs-dismiss='alert')
|
||||
.cardSpacer
|
||||
span.fa-solid.fa-triangle-exclamation(style='margin-right:5px')
|
||||
strong=settings.localization.ex_warning
|
||||
div="This is an orphaned transaction"
|
||||
if settings.transaction_page.page_header.show_img == true || settings.transaction_page.page_header.show_title == true || settings.transaction_page.page_header.show_description == true
|
||||
#page-header-container(style='align-items:' + (settings.transaction_page.page_header.show_img == true && settings.transaction_page.page_header.show_title == true && settings.transaction_page.page_header.show_description == true ? 'flex-start' : 'center'))
|
||||
if settings.transaction_page.page_header.show_img == true
|
||||
#header-img-container
|
||||
img#header-img(src=(settings.shared_pages.page_header.page_title_image == null || settings.shared_pages.page_header.page_title_image.image_path == null || settings.shared_pages.page_header.page_title_image.image_path == '' ? '/img/page-title-img.png' : settings.shared_pages.page_header.page_title_image.image_path))
|
||||
#page-title-container
|
||||
if settings.transaction_page.page_header.show_title == true
|
||||
h3#page-title #{settings.localization.tx_title.replace('{1}', settings.coin.name)}
|
||||
if settings.transaction_page.page_header.show_description == true
|
||||
if settings.transaction_page.page_header.show_title != true
|
||||
#page-title-container
|
||||
.sub-page-header.text-muted=settings.localization.tx_description.replace('{1}', settings.coin.name).replace('{2}', tx.blockindex)
|
||||
else
|
||||
.sub-page-header.text-muted=settings.localization.tx_description.replace('{1}', settings.coin.name).replace('{2}', tx.blockindex)
|
||||
.cardSpacer.clearfix
|
||||
.card.card-default.border-0.cardSpacer
|
||||
.card-header
|
||||
strong=settings.localization.tx_hash + ': ' + tx.txid
|
||||
if settings.api_page.public_apis.rpc.getrawtransaction.enabled == true
|
||||
a.d-none.d-md-inline(href=`/api/getrawtransaction?txid=${tx.txid}&decrypt=1`, style='color: var(--bs-body-color);')
|
||||
span.fa-solid.fa-circle-info.float-end(data-bs-toggle='tooltip', data-bs-placement='top', title=settings.localization.view_raw_tx_data)
|
||||
table#tx-table.table.table-bordered.table-striped.summary-table.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th.text-center.d-table-cell.d-md-none
|
||||
th.d-none.d-md-table-cell #{settings.localization.tx_block_hash}
|
||||
if settings.transaction_page.show_extracted_by == true && extracted_by_addresses != null && extracted_by_addresses.length > 0
|
||||
th.text-center='Extracted By'
|
||||
if settings.transaction_page.show_op_return == true
|
||||
th='OP_RETURN'
|
||||
th.text-center #{settings.localization.confirmations}
|
||||
th.text-center #{settings.localization.timestamp}
|
||||
tbody
|
||||
- var confirms = (blockcount - tx.blockindex + 1);
|
||||
tr
|
||||
td.text-center.d-table-cell.d-md-none
|
||||
a(href='/block/' + tx.blockhash)
|
||||
span.fa-regular.fa-eye(data-bs-toggle='tooltip', data-bs-placement='top', title=settings.localization.view_block)
|
||||
td.d-none.d-md-table-cell
|
||||
a.breakWord(href='/block/' + tx.blockhash) #{tx.blockhash}
|
||||
if settings.transaction_page.show_extracted_by == true && extracted_by_addresses != null && extracted_by_addresses.length > 0
|
||||
td.text-center
|
||||
each address in extracted_by_addresses
|
||||
div(style='overflow: auto;')
|
||||
a(href=`/address/${address.a_id}`)=(address.claimname == '' ? address.a_id : address.claimname)
|
||||
include ./includes/rl_labels.pug
|
||||
if settings.transaction_page.show_op_return == true
|
||||
td.breakWord #{tx.op_return}
|
||||
if confirms >= confirmations
|
||||
td.text-center.table-success #{confirms}
|
||||
else if confirms < (confirmations / 2)
|
||||
td.text-center.table-danger #{confirms}
|
||||
else
|
||||
td.text-center.table-warning #{confirms}
|
||||
td.text-center
|
||||
span#timestampCol
|
||||
if tx.vout.length < 1
|
||||
.alert.alert-info.text-center(role='alert', style='margin-bottom:0;')
|
||||
strong #{settings.localization.tx_nonstandard}
|
||||
else
|
||||
.row
|
||||
.col-md-6.cardSpacer
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
strong #{settings.localization.tx_contributors}
|
||||
span.fa-solid.fa-arrow-right.float-end.d-none.d-md-block
|
||||
table.table.table-bordered.table-striped.table-hover.summary-table.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th #{settings.localization.tx_address}
|
||||
if (tx.vin.length > 0)
|
||||
if tx.vin[0].addresses != 'coinbase'
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
tbody
|
||||
if tx.vin.length > 0
|
||||
each address in tx.vin
|
||||
if address.addresses == 'coinbase'
|
||||
tr.table-info.text-center
|
||||
td #{settings.localization.new_coins}
|
||||
else
|
||||
- var ramountParts = address.amountFixed.split('.');
|
||||
tr
|
||||
td
|
||||
if address.addresses != 'hidden_address' && address.addresses != 'unknown_address'
|
||||
a.breakWord(href='/address/' + address.addresses)
|
||||
if address.claim_name == null || address.claim_name == ''
|
||||
=address.addresses
|
||||
else
|
||||
=address.claim_name
|
||||
include ./includes/rl_labels.pug
|
||||
else if address.addresses == 'hidden_address'
|
||||
if settings.address_page.enable_hidden_address_view == true
|
||||
a.breakWord(href='/address/hidden_address')
|
||||
=settings.localization.hidden_sender
|
||||
else
|
||||
=settings.localization.hidden_sender
|
||||
else
|
||||
if settings.address_page.enable_unknown_address_view == true
|
||||
a.breakWord(href='/address/unknown_address')
|
||||
=settings.localization.unknown_sender
|
||||
else
|
||||
=settings.localization.unknown_sender
|
||||
td.table-danger.text-center #{ramountParts[0]}.
|
||||
span.decimal #{ramountParts[1]}
|
||||
else
|
||||
tr.table-info.text-center
|
||||
td.bottom-border-1 #{settings.localization.proof_of_stake}
|
||||
.col-md-6.cardSpacer
|
||||
.card.card-default.border-0
|
||||
.card-header
|
||||
strong #{settings.localization.tx_recipients}
|
||||
table.table.table-bordered.table-striped.table-hover.summary-table.mobile-border-right
|
||||
thead
|
||||
tr(class=theadClasses)
|
||||
th #{settings.localization.tx_address}
|
||||
th.text-center #{settings.localization.mkt_amount}
|
||||
span.small.fw-normal (#{settings.coin.symbol})
|
||||
tbody
|
||||
each address in tx.vout
|
||||
- var ramountParts = address.amountFixed.split('.');
|
||||
if tx.vout.length > 0
|
||||
tr
|
||||
if address.addresses != 'hidden_address' && address.addresses != 'unknown_address'
|
||||
td
|
||||
a.breakWord(href='/address/' + address.addresses)
|
||||
if address.claim_name == null || address.claim_name == ''
|
||||
=address.addresses
|
||||
else
|
||||
=address.claim_name
|
||||
include ./includes/rl_labels.pug
|
||||
td.table-success.text-center #{ramountParts[0]}.
|
||||
span.decimal #{ramountParts[1]}
|
||||
else if address.amount > 0
|
||||
td
|
||||
if address.addresses == 'hidden_address'
|
||||
if settings.address_page.enable_hidden_address_view == true
|
||||
a.breakWord(href='/address/hidden_address')
|
||||
=settings.localization.hidden_recipient
|
||||
else
|
||||
=settings.localization.hidden_recipient
|
||||
else
|
||||
if settings.address_page.enable_unknown_address_view == true
|
||||
a.breakWord(href='/address/unknown_address')
|
||||
=settings.localization.unknown_recipient
|
||||
else
|
||||
=settings.localization.unknown_recipient
|
||||
td.table-success.text-center #{ramountParts[0]}.
|
||||
span.decimal #{ramountParts[1]}
|
||||
else
|
||||
td(colspan='2')
|
||||
if address.addresses == 'hidden_address'
|
||||
if settings.address_page.enable_hidden_address_view == true
|
||||
a.breakWord(href='/address/hidden_address')
|
||||
=settings.localization.hidden_recipient
|
||||
else
|
||||
=settings.localization.hidden_recipient
|
||||
else
|
||||
if settings.address_page.enable_unknown_address_view == true
|
||||
a.breakWord(href='/address/unknown_address')
|
||||
=settings.localization.unknown_recipient
|
||||
else
|
||||
=settings.localization.unknown_recipient
|
||||
else
|
||||
tr
|
||||
td
|
||||
a.breakWord(href='/address/' + address.addresses)
|
||||
if address.claim_name == null || address.claim_name == ''
|
||||
=address.addresses
|
||||
else
|
||||
=address.claim_name
|
||||
include ./includes/rl_labels.pug
|
||||
td.table-success.text-center #{ramountParts[0]}.
|
||||
span.decimal #{ramountParts[1]}
|
||||
Reference in new issue
Block a user