feat: add bill math cassette-agnostic solution
fix: multiple generic fixes related with the recyclers fix: slight UI data changes
This commit is contained in:
parent
2d010fc359
commit
f3ab63766e
15 changed files with 173 additions and 353 deletions
|
|
@ -116,7 +116,7 @@ function plugins (settings, deviceId) {
|
|||
|
||||
const sumTxs = (sum, tx) => {
|
||||
// cash-out-helper sends 0 as fallback value, need to filter it out as there are no '0' denominations
|
||||
const bills = _.filter(it => it.denomination > 0, tx.bills)
|
||||
const bills = _.filter(it => _.includes('cassette', it.name) && it.denomination > 0, tx.bills)
|
||||
const sameDenominations = a => a[0]?.denomination === a[1]?.denomination
|
||||
|
||||
const doDenominationsMatch = _.every(sameDenominations, _.zip(cassettes, bills))
|
||||
|
|
@ -139,6 +139,7 @@ function plugins (settings, deviceId) {
|
|||
const computedCassettes = []
|
||||
_.forEach(it => {
|
||||
computedCassettes.push({
|
||||
name: cassettes[it].name,
|
||||
denomination: cassettes[it].denomination,
|
||||
count: counts[it]
|
||||
})
|
||||
|
|
@ -152,7 +153,7 @@ function plugins (settings, deviceId) {
|
|||
|
||||
const sumTxs = (sum, tx) => {
|
||||
// cash-out-helper sends 0 as fallback value, need to filter it out as there are no '0' denominations
|
||||
const bills = _.filter(it => it.denomination > 0, tx.bills)
|
||||
const bills = _.filter(it => _.includes('stacker', it.name) && it.denomination > 0, tx.bills)
|
||||
const sameDenominations = a => a[0]?.denomination === a[1]?.denomination
|
||||
|
||||
const doDenominationsMatch = _.every(sameDenominations, _.zip(stackers, bills))
|
||||
|
|
@ -175,6 +176,7 @@ function plugins (settings, deviceId) {
|
|||
const computedStackers = []
|
||||
_.forEach(it => {
|
||||
computedStackers.push({
|
||||
name: stackers[it].name,
|
||||
denomination: stackers[it].denomination,
|
||||
count: counts[it]
|
||||
})
|
||||
|
|
@ -210,6 +212,7 @@ function plugins (settings, deviceId) {
|
|||
const cassettes = []
|
||||
_.forEach(it => {
|
||||
cassettes.push({
|
||||
name: `cassette${it + 1}`,
|
||||
denomination: parseInt(denominations[it], 10),
|
||||
count: parseInt(counts[it], 10)
|
||||
})
|
||||
|
|
@ -241,10 +244,10 @@ function plugins (settings, deviceId) {
|
|||
|
||||
const denominations = []
|
||||
_.forEach(it => {
|
||||
denominations.push(cashOutConfig[`stacker${it + 1}f`], cashOutConfig[`stacker${it + 1}r`])
|
||||
denominations.push([cashOutConfig[`stacker${it + 1}f`], cashOutConfig[`stacker${it + 1}r`]])
|
||||
}, _.times(_.identity(), _stackers.numberOfStackers))
|
||||
|
||||
const virtualStackers = [Math.max(...denominations) * 2]
|
||||
const virtualStackers = [Math.max(..._.flatten(denominations)) * 2]
|
||||
|
||||
const counts = _stackers.counts
|
||||
|
||||
|
|
@ -255,10 +258,16 @@ function plugins (settings, deviceId) {
|
|||
const stackers = []
|
||||
_.forEach(it => {
|
||||
stackers.push({
|
||||
denomination: parseInt(denominations[it], 10),
|
||||
count: parseInt(counts[it], 10)
|
||||
name: `stacker${it + 1}f`,
|
||||
denomination: parseInt(denominations[it][0], 10),
|
||||
count: parseInt(counts[it][0], 10)
|
||||
})
|
||||
}, _.times(_.identity(), _stackers.numberOfStackers * 2))
|
||||
stackers.push({
|
||||
name: `stacker${it + 1}r`,
|
||||
denomination: parseInt(denominations[it][1], 10),
|
||||
count: parseInt(counts[it][1], 10)
|
||||
})
|
||||
}, _.times(_.identity(), _stackers.numberOfStackers))
|
||||
|
||||
try {
|
||||
return {
|
||||
|
|
@ -275,6 +284,11 @@ function plugins (settings, deviceId) {
|
|||
})
|
||||
}
|
||||
|
||||
function buildAvailableUnits (excludeTxId) {
|
||||
return Promise.all([buildAvailableCassettes(excludeTxId), buildAvailableStackers(excludeTxId)])
|
||||
.then(([cassettes, stackers]) => ({ cassettes: cassettes.cassettes, stackers: stackers.stackers }))
|
||||
}
|
||||
|
||||
function fetchCurrentConfigVersion () {
|
||||
const sql = `select id from user_config
|
||||
where type=$1
|
||||
|
|
@ -1051,7 +1065,6 @@ function plugins (settings, deviceId) {
|
|||
sendMessage,
|
||||
checkBalances,
|
||||
getMachineNames,
|
||||
buildAvailableCassettes,
|
||||
buy,
|
||||
sell,
|
||||
getNotificationConfig,
|
||||
|
|
@ -1062,7 +1075,8 @@ function plugins (settings, deviceId) {
|
|||
isValidWalletScore,
|
||||
getTransactionHash,
|
||||
getInputAddresses,
|
||||
isWalletScoringEnabled
|
||||
isWalletScoringEnabled,
|
||||
buildAvailableUnits
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue