package octez-protocol-alpha-libs

  1. Overview
  2. Docs
Octez protocol alpha libraries

Install

Dune Dependency

Authors

Maintainers

Sources

octez-19.1.tar.gz
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053

doc/octez-protocol-alpha-libs.test-helpers/Tezos_alpha_test_helpers/Rewards/index.html

Module Tezos_alpha_test_helpers.RewardsSource

The tables are precomputed using this the following formulas:

let max_attestations = 256 let max_reward = 40

let r = 0.5 let a = 3. let b = 1.5

let ( -- ) i j = List.init (j - i + 1) (fun x -> x + i)

let baking_rewards = let reward p e = let r_aux = if p = 0 then r *. (float_of_int max_reward) else a in let r = r_aux /. (float_of_int max_attestations) in let r = 1_000_000. *. r in Float.to_int ((float_of_int e) *. (ceil r)) in

let ps = 0 -- 2 in let es = 0 -- max_attestations in

List.map (fun p -> List.map (fun e -> reward p e ) es |> Array.of_list ) ps |> Array.of_list

let attesting_rewards = let reward p e = let r_aux = (1. -. r) *. (float_of_int max_reward) /. (float_of_int max_attestations) in let r = if p = 0 then r_aux else r_aux /. b in let r = 1_000_000. *. r in Float.to_int ((float_of_int e) *. (floor r)) in

let ps = 0 -- 2 in let es = 0 -- max_attestations in

List.map (fun p -> List.map (fun e -> reward p e ) es |> Array.of_list ) ps |> Array.of_list

Sourceval baking_rewards : int array array
Sourceval attesting_rewards : int array array
OCaml

Innovation. Community. Security.