39 lines
1.0 KiB
JavaScript
Raw Normal View History

function pricePerSlotPerSecond(request) {
return request.ask.pricePerBytePerSecond * request.ask.slotSize
}
2025-03-24 17:36:21 +01:00
function protocolFee(request, config) {
2025-03-25 13:50:42 +01:00
let requestPrice =
request.ask.slots * request.ask.duration * pricePerSlotPerSecond(request)
2025-03-24 17:36:21 +01:00
return (requestPrice / 1000) * config.protocolFeePermille
}
function maxPrice(request) {
return (
request.ask.slots * request.ask.duration * pricePerSlotPerSecond(request)
)
}
2025-03-24 17:36:21 +01:00
function maxPriceWithProtocolFee(request, config) {
return maxPrice(request) + protocolFee(request, config)
}
function maxPriceWithProtocolFee(request, config) {
2025-03-25 13:50:42 +01:00
let requestPrice =
request.ask.slots * request.ask.duration * pricePerSlotPerSecond(request)
2025-03-24 17:36:21 +01:00
let protocolFee = (requestPrice / 1000) * config.protocolFeePermille
return requestPrice + protocolFee
}
function payoutForDuration(request, start, end) {
return (end - start) * pricePerSlotPerSecond(request)
}
2025-03-25 13:50:42 +01:00
module.exports = {
maxPrice,
maxPriceWithProtocolFee,
protocolFee,
pricePerSlotPerSecond,
payoutForDuration,
}