Skip to content

Commit

Permalink
fix chaos
Browse files Browse the repository at this point in the history
  • Loading branch information
Dylan DesRosier committed Jun 15, 2023
1 parent e61a1b9 commit 192d3e3
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions src/tools/LiquidatorSimulator/utils/randomNumber.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,31 +21,38 @@ export function randomWithSeed(seed: number) {
* @param range
*/
export function applyRandomScaling(value: bigint, seed: number, chaosLevel: ChaosLevel) {
if (chaosLevel === ChaosLevel.None) {
return value
}
if (value === BigInt(0)) {
if (chaosLevel === ChaosLevel.None || value === BigInt(0)) {
return value
}

let percent = 0
let skipThreshold = 0
switch (chaosLevel) {
case ChaosLevel.Low:
percent = 1
skipThreshold = 0.75
break
case ChaosLevel.Medium:
percent = 3
skipThreshold = 0.5
break
case ChaosLevel.High:
percent = 10
skipThreshold = 0.25
break
}

const skipChance = randomWithSeed(seed + 2)
if (skipChance < skipThreshold) {
return value
}

const random = randomWithSeed(seed + Number(value) + percent)
const direction = randomWithSeed(seed + 1)
const maxDelta = value - (value * BigInt(100 + percent)) / BigInt(100)
const delta = maxDelta - (maxDelta * BigInt(Math.round(random * 100000))) / BigInt(100000)

console.log({ value, maxDelta, delta, random, percent })
const scaledValue = random > 0.5 ? value + delta : value - delta
const scaledValue = direction > 0.5 ? value + delta : value - delta
return scaledValue
}

0 comments on commit 192d3e3

Please sign in to comment.