Module Mavryk_client_alpha.Annotated_manager_operation

Annotated manager operations are wrappers used to accumulate information (especially about limits) on the operation prior to the injection.

type packed =
  1. | Annotated_manager_operation : 'kind t -> packed
type _ annotated_list =
  1. | Single_manager : 'kind t -> 'kind annotated_list
  2. | Cons_manager : 'kind t * 'rest annotated_list -> ('kind * 'rest) annotated_list

The annotated_list type helps making contents_list from a list of manager_operations. Its construction mimics contents_list in order to keep consistent types when calling inject_manager_operation and inject_operation.

type packed_annotated_list =
  1. | Manager_list : 'kind annotated_list -> packed_annotated_list
val manager_to_list : packed_annotated_list -> packed list

Convert a list of annotated operations to a list of packed annotated operations

val manager_of_list : packed list -> packed_annotated_list

Converse of manager_to_list

join_fee fee op updates op.fee to Limit.join op.fee fee and fails if the join fails

set_fee fee op updates op.fee to fee

See join_fee

See set_fee

val join_storage_limit : Z.t Limit.t -> 'a t -> 'a t Mavryk_base.TzPervasives.tzresult

See join_fee

val set_storage_limit : Z.t Limit.t -> 'a t -> 'a t

See set_fee

Set the counter of the annotated operation. Fail if the counter is already set.

Set the source of the operation. Fail if the source is already set.

Convert an annotated manager operation to a proper manager operation. Fail if some fields in the annotated operation are not set.