Mavryk_raw_protocol_alpha.Sc_rollup_storage
val originate :
?whitelist:Sc_rollup_whitelist_repr.t ->
Raw_context.t ->
kind:Sc_rollups.Kind.t ->
parameters_ty:Script_repr.lazy_expr ->
genesis_commitment:Sc_rollup_commitment_repr.t ->
(Sc_rollup_repr.Address.t
* Mavryk_protocol_environment_alpha.Z.t
* Sc_rollup_commitment_repr.Hash.t
* Raw_context.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
originate ?whitelist context ~kind ~parameters_ty ~genesis_commitment
produces an address a
for a smart contract rollup using the origination nonce found in context
. This function also initializes the storage with a new entry indexed by a
to remember the kind
of the rollup at address a
.
Also returns the number of allocated bytes.
val raw_originate :
?whitelist:Sc_rollup_whitelist_repr.t ->
Raw_context.t ->
kind:Sc_rollups.Kind.t ->
parameters_ty:Script_repr.lazy_expr ->
genesis_commitment:Sc_rollup_commitment_repr.t ->
address:Sc_rollup_repr.Address.t ->
(Mavryk_protocol_environment_alpha.Z.t
* Sc_rollup_commitment_repr.Hash.t
* Raw_context.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
raw_originate ?whitelist context ~kind ~parameters_ty ~genesis_commitment ~address
is exactly originate
but provides the rollup's address (address
) instead of randomly generating it.
This should not be used by apply.ml
, this is needed for bootstrap smart rollups only.
val kind :
Raw_context.t ->
Sc_rollup_repr.t ->
(Raw_context.t * Sc_rollups.Kind.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
kind context address
returns the kind of the given rollup address
iff address
is an existing rollup. Fails with an Sc_rollup_does_not_exist
error in case the rollup does not exist.
val list_unaccounted :
Raw_context.t ->
Sc_rollup_repr.t list Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
val genesis_info :
Raw_context.t ->
Sc_rollup_repr.t ->
(Raw_context.t * Sc_rollup_commitment_repr.genesis_info)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
genesis_info ctxt sc_rollup
returns the level at which a sc_rollup
was originated, and its genesis commitment hash.
val get_metadata :
Raw_context.t ->
Sc_rollup_repr.t ->
(Raw_context.t * Sc_rollup_metadata_repr.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
get_metadata ctxt rollup
retrieves the origination level of the rollup
using Sc_rollup_commitment_repr.genesis_info
and creates a Sc_rollup_metadata_repr.t
. Fails with Sc_rollup_does_not_exist {rollup}
if the genesis info is missing.
val parameters_type :
Raw_context.t ->
Sc_rollup_repr.t ->
(Script_repr.lazy_expr option * Raw_context.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
parameters_type ctxt rollup
returns the registered type of a rollup. Returns None
in case there is no registered type for the rollup.
val must_exist :
Raw_context.t ->
Sc_rollup_repr.t ->
Raw_context.t Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
must_exist ctxt rollup
checks whether the given rollup
exists in ctxt
. If rollup
exists, a new context is returned with gas consumed for the lookup cost. If it does not exist, an error is returned.