package tezos-protocol-alpha
Tezos protocol alpha package
Install
Dune Dependency
Authors
Maintainers
Sources
octez-19.1.tar.gz
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053
doc/src/tezos_raw_protocol_alpha/frozen_staker_repr.ml.html
Source file frozen_staker_repr.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
(*****************************************************************************) (* *) (* SPDX-License-Identifier: MIT *) (* Copyright (c) 2023 Nomadic Labs, <contact@nomadic-labs.com> *) (* *) (*****************************************************************************) type t = | Baker of Signature.public_key_hash | Single_staker of { staker : Contract_repr.t; delegate : Signature.public_key_hash; } let baker pkh = Baker pkh let single_staker ~staker ~delegate = match (staker : Contract_repr.t) with | Implicit pkh when Signature.Public_key_hash.(pkh = delegate) -> Baker pkh | _ -> Single_staker {staker; delegate} let ~delegate = Shared_between_stakers {delegate} let encoding = let open Data_encoding in let single_tag = 0 in let single_encoding = obj2 (req "contract" Contract_repr.encoding) (req "delegate" Signature.Public_key_hash.encoding) in let = 1 in let = obj1 (req "delegate" Signature.Public_key_hash.encoding) in let baker_tag = 2 in let baker_encoding = obj1 (req "baker" Signature.Public_key_hash.encoding) in def ~title:"frozen_staker" ~description: "Abstract notion of staker used in operation receipts for frozen \ deposits, either a single staker or all the stakers delegating to some \ delegate." "frozen_staker" @@ matching (function | Baker baker -> matched baker_tag baker_encoding baker | Single_staker {staker; delegate} -> matched single_tag single_encoding (staker, delegate) | Shared_between_stakers {delegate} -> matched shared_tag shared_encoding delegate) [ case ~title:"Single" (Tag single_tag) single_encoding (function | Single_staker {staker; delegate} -> Some (staker, delegate) | _ -> None) (fun (staker, delegate) -> single_staker ~staker ~delegate); case ~title:"Shared" (Tag shared_tag) shared_encoding (function | Shared_between_stakers {delegate} -> Some delegate | _ -> None) (fun delegate -> Shared_between_stakers {delegate}); case ~title:"Baker" (Tag baker_tag) baker_encoding (function Baker baker -> Some baker | _ -> None) (fun baker -> Baker baker); ] let compare sa sb = match (sa, sb) with | Baker ba, Baker bb -> Signature.Public_key_hash.compare ba bb | Baker _, _ -> -1 | _, Baker _ -> 1 | ( Single_staker {staker = sa; delegate = da}, Single_staker {staker = sb; delegate = db} ) -> Compare.or_else (Contract_repr.compare sa sb) (fun () -> Signature.Public_key_hash.compare da db) | ( Shared_between_stakers {delegate = da}, Shared_between_stakers {delegate = db} ) -> Signature.Public_key_hash.compare da db | Single_staker _, Shared_between_stakers _ -> -1 | Shared_between_stakers _, Single_staker _ -> 1
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>