bernoulliFeeRate function
strike_exposure_config::raw_bernoulli_fee_rate — base_fee · sqrt(p·(1−p)), the fee rate before the min_fee floor and the expiry
ramp. Zero at the certain ends.
Implementation
BigInt bernoulliFeeRate(BigInt baseFee, BigInt probability) {
_assertUint(baseFee, 'baseFee', maximum: FLOAT_SCALING);
_assertUint(probability, 'probability (EInvalidFeeProbability)',
maximum: FLOAT_SCALING);
if (probability == BigInt.zero || probability == FLOAT_SCALING) {
return BigInt.zero;
}
return _mulDown(
baseFee, sqrtDown(_mulDown(probability, FLOAT_SCALING - probability)));
}