package tezos-protocol-019-PtParisB
type Tezos_protocol_environment_019_PtParisB.Error_monad.error +=
| Unrevealed_manager_key of Contract_repr.t
| Inconsistent_hash of {
public_key : Tezos_protocol_environment_019_PtParisB.Signature.Public_key.t;
expected_hash : Tezos_protocol_environment_019_PtParisB.Signature.Public_key_hash.t;
provided_hash : Tezos_protocol_environment_019_PtParisB.Signature.Public_key_hash.t;
}
| Previously_revealed_key of Contract_repr.t
| Missing_manager_contract of Contract_repr.t
val init :
Raw_context.t ->
Contract_repr.t ->
Manager_repr.manager_key ->
Raw_context.t Tezos_protocol_environment_019_PtParisB.Error_monad.tzresult
Tezos_protocol_environment_019_PtParisB.Lwt.t
init ctxt contract manager
associates manager
to contract
. This function is undefined if contract
has already a manager associated to it.
val check_public_key :
Tezos_protocol_environment_019_PtParisB.Signature.Public_key.t ->
Tezos_protocol_environment_019_PtParisB.Signature.Public_key_hash.t ->
unit Tezos_protocol_environment_019_PtParisB.Error_monad.tzresult
check_publick_key pk pkh
asserts that the provided pk
is consistent with the expected public key hash pkh
, otherwise fails with an Inconsistent_hash
error.
val reveal_manager_key :
?check_consistency:bool ->
Raw_context.t ->
Tezos_protocol_environment_019_PtParisB.Signature.Public_key_hash.t ->
Tezos_protocol_environment_019_PtParisB.Signature.Public_key.t ->
Raw_context.t Tezos_protocol_environment_019_PtParisB.Error_monad.tzresult
Tezos_protocol_environment_019_PtParisB.Lwt.t
reveal_manager_key ?check_consistency ctxt manager pk
reveals the public key pk
for a given unrevealed manager
. If the optional ?check_consistency
flag is set (and it is set by default), it will re-check the same consistency checks than check_public_key
above, otherwise it will assume manager
is indeed the hash of pk
. It is expected to fail with Previously_revealed_key contract
if manager
was already revealed, and with Inconsistent_hash
if the (unrevealed) manager
doesn't match the expected hash of the implicit contract associated to pk
.
val get_manager_key :
?error:Tezos_protocol_environment_019_PtParisB.Error_monad.error ->
Raw_context.t ->
Tezos_protocol_environment_019_PtParisB.Signature.Public_key_hash.t ->
Tezos_protocol_environment_019_PtParisB.Signature.Public_key.t
Tezos_protocol_environment_019_PtParisB.Error_monad.tzresult
Tezos_protocol_environment_019_PtParisB.Lwt.t
get_manager_key ?error ctxt pkh
returns the revealed manager key of the contract represented by pkh
. When error
is not provided this function fails with "get_manager_key" error if pkh
does not have a manager, and with Unrevealed_manager_key
error if the manager has not revealed its key. When error
is provided, the function fails with the provided error
in both cases.