Tezos_raw_protocol_alpha.Liquidity_baking_reprSourceOptions available for the Liquidity Baking per-block vote
val liquidity_baking_toggle_vote_encoding :
liquidity_baking_toggle_vote
Tezos_protocol_environment_alpha.Data_encoding.encodingExponential moving average of toggle votes. Represented as an int32 between 0 and 2,000,000. It is an exponential moving average of the LB_off votes over a window of the most recent 2000 blocks that did not vote LB_pass.
val compute_new_ema :
toggle_vote:liquidity_baking_toggle_vote ->
Toggle_EMA.t ->
Toggle_EMA.tcompute_new_ema ~toggle_vote old_ema returns the value new_ema of the exponential moving average old_ema updated by the vote toggle_vote.
It is updated as follows:
toggle_vote is LB_pass then new_ema = old_ema,toggle_vote is LB_off, then new_ema = (1999 * eman // 2000) + 1,000,000,toggle_vote is LB_on, then new_ema = (1999 * eman // 2000).The multiplication is performed in Z.t to avoid overflows, division is rounded toward 1,000,000,000 (the middle of the interval).