package tezos-protocol-019-PtParisB
Tezos protocol 019-PtParisB package
Install
Dune Dependency
Authors
Maintainers
Sources
tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/src/tezos_raw_protocol_019_PtParisB/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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
(*****************************************************************************) (* *) (* 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; } | Baker_edge of Signature.public_key_hash let baker pkh = Baker pkh let baker_edge pkh = Baker_edge 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_own_stake" Signature.Public_key_hash.encoding) in let baker_edge_tag = 3 in let baker_edge_encoding = obj1 (req "baker_edge" 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 | Baker_edge baker -> matched baker_edge_tag baker_edge_encoding baker) [ 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); case ~title:"Baker_edge" (Tag baker_edge_tag) baker_edge_encoding (function Baker_edge baker -> Some baker | _ -> None) (fun baker -> Baker_edge 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 | Baker_edge ba, Baker_edge bb -> Signature.Public_key_hash.compare ba bb | Baker_edge _, _ -> -1 | _, Baker_edge _ -> 1
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>