mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-10 19:29:50 +08:00
Fix cache token accounting and tiered pricing
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
export function roundTierPrice(value: number): number {
|
||||
return Number.parseFloat(Math.max(0, value).toFixed(6))
|
||||
}
|
||||
|
||||
export function cachePriceFromInputMultiplier(inputPrice: number, multiplier: number): number {
|
||||
const normalizedMultiplier = Number.isFinite(multiplier) && multiplier >= 0 ? multiplier : 0
|
||||
return roundTierPrice(inputPrice * normalizedMultiplier)
|
||||
}
|
||||
|
||||
export function cacheMultiplierFromPrice(
|
||||
inputPrice: number,
|
||||
cachePrice: number | undefined,
|
||||
fallback: number,
|
||||
): number {
|
||||
if (cachePrice == null || inputPrice <= 0) return fallback
|
||||
return roundTierPrice(cachePrice / inputPrice)
|
||||
}
|
||||
Reference in New Issue
Block a user