Module Mavryk_raw_protocol_alpha.Shared_stake

type shared = {
  1. baker_part : Tez_repr.t;
  2. stakers_part : Tez_repr.t;
}

share ~rounding ctxt delegate amount shares amount between a baker_part and a stakers_part proportionally to their shares in delegate's frozen deposits. rounding controls where the extra mumav goes in case the split doesn't fall on integer values.

pay_rewards ctxt ?active_stake source delegate transfers the rewards to the delegate spendable balance and frozen balance.

The distribution is based on the baker's staking parameters.

If adaptive issuance is enabled, it also accounts for the repartition of the delegate's active_stake between delegated token and frozen deposits. If active_stake is not provided, it will be retrieved from the context.