Send user FLO if low (cash-to-token)
- Send FLO to user if their balance is below user_flo_threshold - Automatically converts rupee token equivalent of send_user_flo value using exchangeAPI - user_flo_threshold and send_user_flo are blockchain configured
This commit is contained in:
parent
6c17afb913
commit
eacc2fc655
@ -97,8 +97,8 @@ User.findCashier = function() {
|
|||||||
if (cashierStatus[c] && cashierUPI[c])
|
if (cashierStatus[c] && cashierUPI[c])
|
||||||
online.push(c);
|
online.push(c);
|
||||||
if (!online.length) {
|
if (!online.length) {
|
||||||
if (floGlobals.settings.defaultCashier && floGlobals.settings.defaultCashier in cashierUPI)
|
if (floGlobals.settings.default_cashier && floGlobals.settings.default_cashier in cashierUPI)
|
||||||
return floGlobals.settings.defaultCashier;
|
return floGlobals.settings.default_cashier;
|
||||||
else
|
else
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
@ -138,9 +138,9 @@ User.tokenToCash = function(cashier, amount, blkTxID, upiID) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
User.sendToken = function(receiverID, amount, remark = '') {
|
User.sendToken = function(receiverID, amount, remark = '', options = {}) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
floTokenAPI.sendToken(myPrivKey, amount, receiverID, remark)
|
floTokenAPI.sendToken(myPrivKey, amount, receiverID, remark, options)
|
||||||
.then(result => resolve(result))
|
.then(result => resolve(result))
|
||||||
.catch(error => reject(error))
|
.catch(error => reject(error))
|
||||||
})
|
})
|
||||||
|
|||||||
@ -371,15 +371,23 @@ function completeCashToTokenRequest(request) {
|
|||||||
|
|
||||||
function confirmTopUp() {
|
function confirmTopUp() {
|
||||||
const { message: { amount }, vectorClock, senderID } = floGlobals.cashierProcessingRequest;
|
const { message: { amount }, vectorClock, senderID } = floGlobals.cashierProcessingRequest;
|
||||||
User.sendToken(senderID, amount, 'for cash-to-token').then(txid => {
|
floBlockchainAPI.getBalance(senderID).then(async user_balance => {
|
||||||
console.warn(`${amount} cash-to-token for ${senderID}`, txid);
|
let sendAmt_FLO = floGlobals.sendAmt;
|
||||||
Cashier.finishRequest(floGlobals.cashierProcessingRequest, txid).then(result => {
|
if(user_balance < floGlobals.settings.user_flo_threshold){
|
||||||
console.log(result);
|
let cur_rate = await floExchangeAPI.getRates("FLO");
|
||||||
console.info('Completed cash-to-token request:', vectorClock);
|
sendAmt_FLO = floGlobals.settings.send_user_flo;
|
||||||
notify("Completed request", 'success');
|
amount -= cur_rate * sendAmt_FLO;
|
||||||
hidePopup()
|
}
|
||||||
|
User.sendToken(senderID, amount, 'for cash-to-token', {sendAmt: sendAmt_FLO}).then(txid => {
|
||||||
|
console.warn(`${amount} cash-to-token for ${senderID}`, txid);
|
||||||
|
Cashier.finishRequest(floGlobals.cashierProcessingRequest, txid).then(result => {
|
||||||
|
console.log(result);
|
||||||
|
console.info('Completed cash-to-token request:', vectorClock);
|
||||||
|
notify("Completed request", 'success');
|
||||||
|
hidePopup()
|
||||||
|
}).catch(error => console.error(error))
|
||||||
}).catch(error => console.error(error))
|
}).catch(error => console.error(error))
|
||||||
}).catch(error => console.error(error))
|
}).catch(error => reject(error))
|
||||||
}
|
}
|
||||||
|
|
||||||
getRef('top_up__reason_selector').addEventListener('change', e => {
|
getRef('top_up__reason_selector').addEventListener('change', e => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user