0.0.73
This commit is contained in:
parent
b6bb5cd856
commit
0e20f9d314
@ -408,6 +408,10 @@ textarea {
|
|||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#prompt .flex {
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.refresh {
|
.refresh {
|
||||||
margin-top: 0.6em;
|
margin-top: 0.6em;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
@ -664,6 +668,9 @@ details p {
|
|||||||
#deposit .display-balance {
|
#deposit .display-balance {
|
||||||
grid-template-areas: "rupee rupee" "flo flo";
|
grid-template-areas: "rupee rupee" "flo flo";
|
||||||
}
|
}
|
||||||
|
#deposit sm-tab-header {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
.display-balance {
|
.display-balance {
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
|||||||
2
css/main.min.css
vendored
2
css/main.min.css
vendored
File diff suppressed because one or more lines are too long
@ -419,6 +419,11 @@ textarea {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#prompt{
|
||||||
|
.flex{
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.refresh {
|
.refresh {
|
||||||
margin-top: 0.6em;
|
margin-top: 0.6em;
|
||||||
@ -684,6 +689,9 @@ details{
|
|||||||
.display-balance {
|
.display-balance {
|
||||||
grid-template-areas: 'rupee rupee' 'flo flo';
|
grid-template-areas: 'rupee rupee' 'flo flo';
|
||||||
}
|
}
|
||||||
|
sm-tab-header{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.display-balance {
|
.display-balance {
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
|||||||
124
index.html
124
index.html
@ -26,9 +26,9 @@
|
|||||||
<sm-popup id="prompt">
|
<sm-popup id="prompt">
|
||||||
<h4 id="prompt_message">Some input required</h4>
|
<h4 id="prompt_message">Some input required</h4>
|
||||||
<sm-input id="prompt_field"></sm-input>
|
<sm-input id="prompt_field"></sm-input>
|
||||||
<div class="btns">
|
<div class="flex align-center">
|
||||||
<button class="hover cancel-btn">Cancel</button>
|
<sm-button variant="no-outline" class="cancel-btn">Cancel</sm-button>
|
||||||
<button class="hover submit-btn">Ok</button>
|
<sm-button variant="no-outline" class="submit-btn">OK</button>
|
||||||
</div>
|
</div>
|
||||||
</sm-popup>
|
</sm-popup>
|
||||||
<sm-notifications id="show_message"></sm-notifications>
|
<sm-notifications id="show_message"></sm-notifications>
|
||||||
@ -905,7 +905,10 @@
|
|||||||
</sm-tab-panels>
|
</sm-tab-panels>
|
||||||
</section>
|
</section>
|
||||||
<section id="activity_page" class="page">
|
<section id="activity_page" class="page">
|
||||||
<h3>Activity</h3>
|
<div class="flex align-center space-between">
|
||||||
|
<h3>Activity</h3>
|
||||||
|
<sm-button onclick="showActivities()">Refresh</sm-button>
|
||||||
|
</div>
|
||||||
<sm-tab-header variant="tab" class="round" target="user_activities">
|
<sm-tab-header variant="tab" class="round" target="user_activities">
|
||||||
<sm-tab>Sent</sm-tab>
|
<sm-tab>Sent</sm-tab>
|
||||||
<sm-tab>Received</sm-tab>
|
<sm-tab>Received</sm-tab>
|
||||||
@ -1065,7 +1068,8 @@
|
|||||||
card.classList.add('request')
|
card.classList.add('request')
|
||||||
setAttributes(card, {
|
setAttributes(card, {
|
||||||
'data-user-flo-id': floId,
|
'data-user-flo-id': floId,
|
||||||
'data-txid': txid
|
'data-txid': txid,
|
||||||
|
'data-amount': amount
|
||||||
})
|
})
|
||||||
card.innerHTML = `
|
card.innerHTML = `
|
||||||
<div>
|
<div>
|
||||||
@ -1092,7 +1096,8 @@
|
|||||||
setAttributes(card, {
|
setAttributes(card, {
|
||||||
'data-txid': txid,
|
'data-txid': txid,
|
||||||
'data-user-flo-id': floId,
|
'data-user-flo-id': floId,
|
||||||
'data-upi': upiId
|
'data-upi': upiId,
|
||||||
|
'data-amount': amount
|
||||||
})
|
})
|
||||||
card.innerHTML = `
|
card.innerHTML = `
|
||||||
<div>
|
<div>
|
||||||
@ -2068,7 +2073,9 @@
|
|||||||
if (await confirmation('Confirm this deposit request?')) {
|
if (await confirmation('Confirm this deposit request?')) {
|
||||||
let depositRequest = e.target.closest('.request'),
|
let depositRequest = e.target.closest('.request'),
|
||||||
status = await transfer_token(depositRequest.dataset.userFloId,
|
status = await transfer_token(depositRequest.dataset.userFloId,
|
||||||
depositRequest.dataset.txid)
|
depositRequest.dataset.txid, parseInt(depositRequest.dataset
|
||||||
|
.amount))
|
||||||
|
console.log(depositRequest)
|
||||||
if (status) {
|
if (status) {
|
||||||
refresh_balance()
|
refresh_balance()
|
||||||
depositRequest.remove()
|
depositRequest.remove()
|
||||||
@ -2082,7 +2089,8 @@
|
|||||||
if (await confirmation('Confirm this withdraw request?')) {
|
if (await confirmation('Confirm this withdraw request?')) {
|
||||||
let withdrawRequest = e.target.closest('.request'),
|
let withdrawRequest = e.target.closest('.request'),
|
||||||
status = await cash_sent(withdrawRequest.dataset.txid, withdrawRequest
|
status = await cash_sent(withdrawRequest.dataset.txid, withdrawRequest
|
||||||
.dataset.userFloId, withdrawRequest.dataset.upi)
|
.dataset.userFloId, withdrawRequest.dataset.upi, parseInt(withdrawRequest.dataset
|
||||||
|
.amount))
|
||||||
if (status) {
|
if (status) {
|
||||||
refresh_balance()
|
refresh_balance()
|
||||||
withdrawRequest.remove()
|
withdrawRequest.remove()
|
||||||
@ -2474,7 +2482,6 @@
|
|||||||
showPersonName.contentEditable = 'true'
|
showPersonName.contentEditable = 'true'
|
||||||
showPersonName.focus()
|
showPersonName.focus()
|
||||||
document.execCommand('selectAll', false, null);
|
document.execCommand('selectAll', false, null);
|
||||||
document.getSelection().collapseToEnd();
|
|
||||||
personName = showPersonName.textContent
|
personName = showPersonName.textContent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2527,9 +2534,9 @@
|
|||||||
document.getElementById('navbar').classList.add('hide-completely')
|
document.getElementById('navbar').classList.add('hide-completely')
|
||||||
document.getElementById('main_header').classList.add('hide-completely')
|
document.getElementById('main_header').classList.add('hide-completely')
|
||||||
floDapps.clearCredentials()
|
floDapps.clearCredentials()
|
||||||
|
delete token_app.master_configurations;
|
||||||
onLoadStartUp()
|
onLoadStartUp()
|
||||||
notifications.clearAll()
|
notifications.clearAll()
|
||||||
delete token_app.master_configurations;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -12114,9 +12121,7 @@
|
|||||||
showDepositRequests()
|
showDepositRequests()
|
||||||
showWithdrawRequests()
|
showWithdrawRequests()
|
||||||
showPayThruCashierRequests()
|
showPayThruCashierRequests()
|
||||||
getSentRupeeList()
|
showActivities()
|
||||||
|
|
||||||
getReceivedRupeeList()
|
|
||||||
userType.forEach(user => user.textContent = 'Cashier')
|
userType.forEach(user => user.textContent = 'Cashier')
|
||||||
showPage('deposit', 'deposit_page_btn')
|
showPage('deposit', 'deposit_page_btn')
|
||||||
}
|
}
|
||||||
@ -12172,10 +12177,7 @@
|
|||||||
|
|
||||||
pay_through_cashier();
|
pay_through_cashier();
|
||||||
|
|
||||||
getSentRupeeList()
|
showActivities()
|
||||||
|
|
||||||
getReceivedRupeeList()
|
|
||||||
showAllUserActivities()
|
|
||||||
}
|
}
|
||||||
this.retrieveLatestContent();
|
this.retrieveLatestContent();
|
||||||
},
|
},
|
||||||
@ -12523,13 +12525,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function transfer_token(receiver_flo_id = '', user_upi_txid = '') {
|
async function transfer_token(receiver_flo_id = '', user_upi_txid = '', amountToSend) {
|
||||||
try {
|
try {
|
||||||
if (user_upi_txid.length < 1 || receiver_flo_id.length < 1) {
|
if (user_upi_txid.length < 1 || receiver_flo_id.length < 1) {
|
||||||
notify("Receiver FLO id or UPI txid not found.");
|
notify("Receiver FLO id or UPI txid not found.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const amount_of_tokens_to_transfer = prompt('Enter the amount of rupee to transfer', 0);
|
const amount_of_tokens_to_transfer = parseInt(await askPrompt('Enter the amount of rupee to transfer', amountToSend));
|
||||||
|
if(!amount_of_tokens_to_transfer) return
|
||||||
|
if (amountToSend !== amount_of_tokens_to_transfer) {
|
||||||
|
let amount_mismatch = await confirmation(
|
||||||
|
"Amount mismatch: Your amount does not match what user entered. Continue?");
|
||||||
|
if (!amount_mismatch) return;
|
||||||
|
}
|
||||||
if (amount_of_tokens_to_transfer > 0) {
|
if (amount_of_tokens_to_transfer > 0) {
|
||||||
let flo_comment = `transfer ${amount_of_tokens_to_transfer} rupee#`;
|
let flo_comment = `transfer ${amount_of_tokens_to_transfer} rupee#`;
|
||||||
let flo_txid = await floBlockchainAPI.sendTx(myFloID, receiver_flo_id, 0.001, myPrivKey,
|
let flo_txid = await floBlockchainAPI.sendTx(myFloID, receiver_flo_id, 0.001, myPrivKey,
|
||||||
@ -12589,7 +12597,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function cash_sent(token_id, withdraw_flo_id, withdraw_upi) {
|
async function cash_sent(token_id, withdraw_flo_id, withdraw_upi, amountToWithdraw) {
|
||||||
try {
|
try {
|
||||||
let input_data = {
|
let input_data = {
|
||||||
token_txid: token_id,
|
token_txid: token_id,
|
||||||
@ -12613,7 +12621,7 @@
|
|||||||
}
|
}
|
||||||
let tx_comment = token_tx.parsedFloData.flodata;
|
let tx_comment = token_tx.parsedFloData.flodata;
|
||||||
|
|
||||||
let amount_to_transfer = Number(tx_comment.match(/\d+/)[0]);
|
let amount_to_transfer = parseInt(tx_comment.match(/\d+/)[0]);
|
||||||
|
|
||||||
if (typeof amount_to_transfer !== "number" || amount_to_transfer < 1) {
|
if (typeof amount_to_transfer !== "number" || amount_to_transfer < 1) {
|
||||||
notify("Invalid transfer amount");
|
notify("Invalid transfer amount");
|
||||||
@ -12623,13 +12631,17 @@
|
|||||||
notify("Please transfer INR " + amount_to_transfer + " to " + input_data["withdrawer_upi"], '',
|
notify("Please transfer INR " + amount_to_transfer + " to " + input_data["withdrawer_upi"], '',
|
||||||
true, true);
|
true, true);
|
||||||
|
|
||||||
let transfer_upi_txid = prompt("Enter the UPI txid for transferred amount.", "");
|
let transfer_upi_txid = await askPrompt("Enter the UPI txid for transferred amount.", '');
|
||||||
if (transfer_upi_txid.length < 1) {
|
if(!transfer_upi_txid){
|
||||||
notify("UPI Txid length cannot be less than 1 charecter.");
|
notifications.clearAll()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (transfer_upi_txid.length !== 12) {
|
||||||
|
notify("UPI Txid can't be less than 12 character long.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
input_data["withdrawn_upi_txid"] = transfer_upi_txid;
|
input_data["withdrawn_upi_txid"] = transfer_upi_txid;
|
||||||
|
notifications.clearAll()
|
||||||
compactIDB.addData("cash_sent_details", input_data, input_data["token_txid"])
|
compactIDB.addData("cash_sent_details", input_data, input_data["token_txid"])
|
||||||
|
|
||||||
// Add data into personal ledger as well
|
// Add data into personal ledger as well
|
||||||
@ -12656,7 +12668,7 @@
|
|||||||
btnLoading('send_tokens_btn', 'start')
|
btnLoading('send_tokens_btn', 'start')
|
||||||
const token_sender = myFloID;
|
const token_sender = myFloID;
|
||||||
const token_receiver = document.getElementById('token_receiver').value.trim();
|
const token_receiver = document.getElementById('token_receiver').value.trim();
|
||||||
const token_amount = Number(document.getElementById('token_amount').value);
|
const token_amount = parseInt(document.getElementById('token_amount').value);
|
||||||
const token_name_radio = 'rupee';
|
const token_name_radio = 'rupee';
|
||||||
const flo_comment =
|
const flo_comment =
|
||||||
`transfer ${token_amount} ${token_name_radio}# to ${token_receiver}`;
|
`transfer ${token_amount} ${token_name_radio}# to ${token_receiver}`;
|
||||||
@ -12780,16 +12792,17 @@
|
|||||||
if (vendor_flo_id.length < 1) throw new Error("Invalid Receiver Id");
|
if (vendor_flo_id.length < 1) throw new Error("Invalid Receiver Id");
|
||||||
if (sender_flo_id.length < 1) throw new Error("Invalid Sender Id");
|
if (sender_flo_id.length < 1) throw new Error("Invalid Sender Id");
|
||||||
if (upi_txid.length < 1) throw new Error("Invalid UPI Txid");
|
if (upi_txid.length < 1) throw new Error("Invalid UPI Txid");
|
||||||
const amount_to_pay = Number(prompt('Enter amount to pay', 0));
|
const amount_to_pay = parseInt(await askPrompt('Enter amount to pay', usr_amount_to_pay));
|
||||||
|
if(!amount_to_pay) return
|
||||||
if (typeof amount_to_pay !== "number" || amount_to_pay <= 0)
|
if (typeof amount_to_pay !== "number" || amount_to_pay <= 0)
|
||||||
return notify("Invalid amount.", 'error', '', true);
|
return notify("Invalid amount.", 'error', '', true);
|
||||||
if (Number(usr_amount_to_pay) !== amount_to_pay) {
|
if (parseInt(usr_amount_to_pay) !== amount_to_pay) {
|
||||||
let amount_mismatch = confirm(
|
let amount_mismatch = await confirmation(
|
||||||
"Amount mismatch: Your amount does not match what user entered. Continue?");
|
"Amount mismatch: Your amount does not match what user entered. Continue?");
|
||||||
if (!amount_mismatch) return;
|
if (!amount_mismatch) return;
|
||||||
}
|
}
|
||||||
let flo_statement = `transfer ${amount_to_pay} rupee# on behalf of ${sender_flo_id}`;
|
let flo_statement = `transfer ${amount_to_pay} rupee# on behalf of ${sender_flo_id}`;
|
||||||
let send_token_cnf = confirm(`Send ${amount_to_pay} to ${vendor_flo_id} ?`);
|
let send_token_cnf = await confirmation(`Send ${amount_to_pay} to ${vendor_flo_id} ?`);
|
||||||
if (send_token_cnf == true) {
|
if (send_token_cnf == true) {
|
||||||
const token_balance_url =
|
const token_balance_url =
|
||||||
`https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rupee&floAddress=${myFloID}`;
|
`https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rupee&floAddress=${myFloID}`;
|
||||||
@ -12940,7 +12953,7 @@
|
|||||||
if (typeof date !== 'number'
|
if (typeof date !== 'number'
|
||||||
|| (new Date(data.datetime * 1000).getDate() !== new Date(date).getDate())) continue;
|
|| (new Date(data.datetime * 1000).getDate() !== new Date(date).getDate())) continue;
|
||||||
|
|
||||||
let tokens_transferred = Number(data.tokens_transferred);
|
let tokens_transferred = parseInt(data.tokens_transferred);
|
||||||
if (isNaN(tokens_transferred)) tokens_transferred = 0;
|
if (isNaN(tokens_transferred)) tokens_transferred = 0;
|
||||||
total += tokens_transferred;
|
total += tokens_transferred;
|
||||||
}
|
}
|
||||||
@ -13006,7 +13019,7 @@
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
btnLoading('withdraw_cash_btn', 'start')
|
btnLoading('withdraw_cash_btn', 'start')
|
||||||
const withdraw_cash_amount = Number(document.getElementById('withdraw_cash_amount').value);
|
const withdraw_cash_amount = parseInt(document.getElementById('withdraw_cash_amount').value);
|
||||||
const user_withdraw_upi = selectedUPI.value
|
const user_withdraw_upi = selectedUPI.value
|
||||||
const token_balance_url =
|
const token_balance_url =
|
||||||
`https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rupee&floAddress=${myFloID}`;
|
`https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rupee&floAddress=${myFloID}`;
|
||||||
@ -13017,7 +13030,7 @@
|
|||||||
hidePopup()
|
hidePopup()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const current_balance = Number(user_token_balance_object.balance);
|
const current_balance = parseInt(user_token_balance_object.balance);
|
||||||
if (current_balance < withdraw_cash_amount) {
|
if (current_balance < withdraw_cash_amount) {
|
||||||
hidePopup()
|
hidePopup()
|
||||||
showTransactionStatus('failure', 'Insufficient Balance', `You have only ₹${user_token_balance_object.balance} balance`)
|
showTransactionStatus('failure', 'Insufficient Balance', `You have only ₹${user_token_balance_object.balance} balance`)
|
||||||
@ -13081,7 +13094,7 @@
|
|||||||
btnLoading('withdraw_cash_btn', 'start')
|
btnLoading('withdraw_cash_btn', 'start')
|
||||||
const paying_amount_div = document.getElementById('recvr_amount_to_pay')
|
const paying_amount_div = document.getElementById('recvr_amount_to_pay')
|
||||||
const recvr_id = document.getElementById('recvr_id').value;
|
const recvr_id = document.getElementById('recvr_id').value;
|
||||||
let amount_to_pay = Number(paying_amount_div.value);
|
let amount_to_pay = parseInt(paying_amount_div.value);
|
||||||
let paid_cashier_upi = selectedUPI.value;
|
let paid_cashier_upi = selectedUPI.value;
|
||||||
paid_cashier_upi = toAlphanumeric(paid_cashier_upi);
|
paid_cashier_upi = toAlphanumeric(paid_cashier_upi);
|
||||||
if (recvr_id.length < 1 ||
|
if (recvr_id.length < 1 ||
|
||||||
@ -13114,6 +13127,33 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showActivities(){
|
||||||
|
depositActivityContainer.innerHTML = ''
|
||||||
|
withdrawActivityContainer.innerHTML = ''
|
||||||
|
payCashierActivityContainer.innerHTML = ''
|
||||||
|
sentActivityContainer.innerHTML = ''
|
||||||
|
receivedActivityContainer.innerHTML = ''
|
||||||
|
|
||||||
|
for(let i = 0; i < 8; i++){
|
||||||
|
frag.append(render.activityPlaceholder())
|
||||||
|
}
|
||||||
|
let frag1 = frag.cloneNode(true),
|
||||||
|
frag2 = frag.cloneNode(true),
|
||||||
|
frag3 = frag.cloneNode(true),
|
||||||
|
frag4 = frag.cloneNode(true)
|
||||||
|
depositActivityContainer.append(frag)
|
||||||
|
withdrawActivityContainer.append(frag1)
|
||||||
|
payCashierActivityContainer.append(frag2)
|
||||||
|
sentActivityContainer.append(frag3)
|
||||||
|
receivedActivityContainer.append(frag4)
|
||||||
|
getSentRupeeList()
|
||||||
|
getReceivedRupeeList()
|
||||||
|
if(!token_app.master_configurations.cashiers[myFloID]){
|
||||||
|
showAllUserActivities()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
const sentActivityContainer = document.getElementById('sent_activity_container'),
|
const sentActivityContainer = document.getElementById('sent_activity_container'),
|
||||||
receivedActivityContainer = document.getElementById('received_activity_container'),
|
receivedActivityContainer = document.getElementById('received_activity_container'),
|
||||||
depositActivityContainer = document.getElementById('deposit_activity_container'),
|
depositActivityContainer = document.getElementById('deposit_activity_container'),
|
||||||
@ -13123,20 +13163,6 @@
|
|||||||
|
|
||||||
async function showAllUserActivities() {
|
async function showAllUserActivities() {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
depositActivityContainer.innerHTML = ''
|
|
||||||
withdrawActivityContainer.innerHTML = ''
|
|
||||||
payCashierActivityContainer.innerHTML = ''
|
|
||||||
|
|
||||||
for(let i = 0; i < 8; i++){
|
|
||||||
frag.append(render.activityPlaceholder())
|
|
||||||
}
|
|
||||||
let frag1 = frag.cloneNode(true)
|
|
||||||
let frag2 = frag.cloneNode(true)
|
|
||||||
depositActivityContainer.append(frag)
|
|
||||||
withdrawActivityContainer.append(frag1)
|
|
||||||
payCashierActivityContainer.append(frag2)
|
|
||||||
|
|
||||||
await token_app.actions.retrieveLatestContent();
|
await token_app.actions.retrieveLatestContent();
|
||||||
|
|
||||||
let deposit_msg = removeDuplicates(floDapps.getNextGeneralData(token_app.master_configurations.TYPE_DEPOSITS, "0"));
|
let deposit_msg = removeDuplicates(floDapps.getNextGeneralData(token_app.master_configurations.TYPE_DEPOSITS, "0"));
|
||||||
@ -13589,7 +13615,7 @@
|
|||||||
if (delete subject_deposit)
|
if (delete subject_deposit)
|
||||||
floCloudAPI.updateObjectData(token_app.master_configurations.TYPE_UNCONFIRMED_RUPEE_DEPOSITS, { receiverID });
|
floCloudAPI.updateObjectData(token_app.master_configurations.TYPE_UNCONFIRMED_RUPEE_DEPOSITS, { receiverID });
|
||||||
} else {
|
} else {
|
||||||
unconfirmed_balance += Number(subject_deposit["tokens_transferred"]);
|
unconfirmed_balance += parseInt(subject_deposit["tokens_transferred"]);
|
||||||
let dt1 = new Date(subject_deposit["datetime"]);
|
let dt1 = new Date(subject_deposit["datetime"]);
|
||||||
let dt2 = new Date();
|
let dt2 = new Date();
|
||||||
// If 48 hours has passed since unconfirmed balance and is not already claimed, send claim request
|
// If 48 hours has passed since unconfirmed balance and is not already claimed, send claim request
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user