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])
|
||||
online.push(c);
|
||||
if (!online.length) {
|
||||
if (floGlobals.settings.defaultCashier && floGlobals.settings.defaultCashier in cashierUPI)
|
||||
return floGlobals.settings.defaultCashier;
|
||||
if (floGlobals.settings.default_cashier && floGlobals.settings.default_cashier in cashierUPI)
|
||||
return floGlobals.settings.default_cashier;
|
||||
else
|
||||
return null;
|
||||
} 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) => {
|
||||
floTokenAPI.sendToken(myPrivKey, amount, receiverID, remark)
|
||||
floTokenAPI.sendToken(myPrivKey, amount, receiverID, remark, options)
|
||||
.then(result => resolve(result))
|
||||
.catch(error => reject(error))
|
||||
})
|
||||
|
||||
@ -371,15 +371,23 @@ function completeCashToTokenRequest(request) {
|
||||
|
||||
function confirmTopUp() {
|
||||
const { message: { amount }, vectorClock, senderID } = floGlobals.cashierProcessingRequest;
|
||||
User.sendToken(senderID, amount, 'for cash-to-token').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()
|
||||
floBlockchainAPI.getBalance(senderID).then(async user_balance => {
|
||||
let sendAmt_FLO = floGlobals.sendAmt;
|
||||
if(user_balance < floGlobals.settings.user_flo_threshold){
|
||||
let cur_rate = await floExchangeAPI.getRates("FLO");
|
||||
sendAmt_FLO = floGlobals.settings.send_user_flo;
|
||||
amount -= cur_rate * sendAmt_FLO;
|
||||
}
|
||||
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 => reject(error))
|
||||
}
|
||||
|
||||
getRef('top_up__reason_selector').addEventListener('change', e => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user