package tezos-protocol-alpha
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=dbc3b675aee59c2c574e5d0a771193a2ecfca31e7a5bc5aed66598080596ce1c
sha512=b97ed762b9d24744305c358af0d20f394376b64bfdd758dd4a81775326caf445caa57c4f6445da3dd6468ff492de18e4c14af6f374dfcbb7e4d64b7b720e5e2a
doc/tezos_raw_protocol_alpha/Tezos_raw_protocol_alpha/Staking/index.html
Module Tezos_raw_protocol_alpha.Staking
Source
val stake :
Alpha_context.context ->
sender:Alpha_context.public_key_hash ->
delegate:Alpha_context.public_key_hash ->
Alpha_context.Tez.t ->
(Alpha_context.context * Alpha_context.Receipt.balance_updates)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
stake ctxt ~sender ~delegate amount
add amount
as sender
's stake to delegate
.
val request_unstake :
Alpha_context.context ->
sender_contract:Alpha_context.Contract.t ->
delegate:Alpha_context.public_key_hash ->
Alpha_context.Tez.t ->
(Alpha_context.context * Alpha_context.Receipt.balance_updates)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
request_unstake ctxt ~sender_contract ~delegate amount
records a request from sender_contract
to unstake amount
from delegate
.
val finalize_unstake :
Alpha_context.context ->
Alpha_context.Contract.t ->
(Alpha_context.context * Alpha_context.Receipt.balance_updates)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
finalize_unstake ctxt contract
performs the finalization of all unstake requests from contract
that can be finalized. An unstake request can be finalized if it is old enough, specifically the requested amount must not be at stake anymore and must not be slashable anymore, i.e. after preserved_cycles + max_slashing_period
after the request. Amounts are transferred from the contract
's delegate (at request time) unstaked frozen deposits to contract
's spendable balance, minus slashing the requested stake undergone in between.
val punish_delegate :
Alpha_context.context ->
Alpha_context.public_key_hash ->
Alpha_context.Level.t ->
[ `Double_baking | `Double_attesting ] ->
rewarded:Alpha_context.Contract.t ->
(Alpha_context.context * Alpha_context.Receipt.balance_updates)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
punish_delegate ctxt delegate level mistake ~rewarded
slashes delegate
for a mistake
at level
and rewards rewarded
.