Update blockUnlocker.js
support for solofee and finders reward
This commit is contained in:
@@ -223,7 +223,9 @@ function runInterval () {
|
|||||||
block.reward
|
block.reward
|
||||||
].join(':')])
|
].join(':')])
|
||||||
|
|
||||||
let feePercent = config.blockUnlocker.poolFee / 100
|
let feePercent = (config.blockUnlocker.poolFee > 0 ? config.blockUnlocker.poolFee : 0) / 100
|
||||||
|
if (block.rewardType === 'solo')
|
||||||
|
feePercent = (config.blockUnlocker.soloFee >= 0 ? config.blockUnlocker.soloFee : (config.blockUnlocker.poolFee > 0 ? config.blockUnlocker.poolFee : 0)) / 100
|
||||||
|
|
||||||
if (Object.keys(donations)
|
if (Object.keys(donations)
|
||||||
.length) {
|
.length) {
|
||||||
@@ -235,9 +237,18 @@ function runInterval () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let reward = Math.round(block.reward - (block.reward * feePercent))
|
let reward = 0
|
||||||
|
let finderReward = 0
|
||||||
|
|
||||||
log('info', logSystem, 'Unlocked %d block with reward %d and donation fee %d. Miners reward: %d', [block.height, block.reward, feePercent, reward])
|
if (block.rewardType === 'solo') {
|
||||||
|
reward = Math.round(block.reward - (block.reward * feePercent))
|
||||||
|
log('info', logSystem, 'Unlocked SOLO block %d with reward %d and donation fee %d. Miners reward: %d', [block.height, block.reward, feePercent, reward])
|
||||||
|
} else {
|
||||||
|
let finderPercent = (config.blockUnlocker.finderReward > 0 ? config.blockUnlocker.finderReward : 0) / 100
|
||||||
|
finderReward = Math.round(block.reward * finderPercent)
|
||||||
|
reward = Math.round(block.reward - (block.reward * (feePercent + finderPercent)))
|
||||||
|
log('info', logSystem, 'Unlocked PROP block %d with reward %d, finders fee %d, and donation fee %d. Miners reward: %d Finders Reward: %d', [block.height, block.reward, finderPercent, feePercent, reward, finderReward])
|
||||||
|
}
|
||||||
|
|
||||||
if (block.workerScores) {
|
if (block.workerScores) {
|
||||||
let totalScore = parseFloat(block.score)
|
let totalScore = parseFloat(block.score)
|
||||||
@@ -251,7 +262,7 @@ function runInterval () {
|
|||||||
.forEach(function (worker) {
|
.forEach(function (worker) {
|
||||||
let percent = block.workerScores[worker] / totalScore
|
let percent = block.workerScores[worker] / totalScore
|
||||||
let workerReward = Math.round(reward * percent)
|
let workerReward = Math.round(reward * percent)
|
||||||
payments[worker] = (payments[worker] || 0) + workerReward
|
payments[worker] = block.login === worker ? (payments[worker] || 0) + (workerReward + finderReward) : (payments[worker] || 0) + workerReward
|
||||||
log('info', logSystem, 'PROP Block %d payment to %s for %d%% of total block score: %d', [block.height, worker, percent * 100, payments[worker]])
|
log('info', logSystem, 'PROP Block %d payment to %s for %d%% of total block score: %d', [block.height, worker, percent * 100, payments[worker]])
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user