Tezos_alpha_test_helpers.Op
The operation representation handled most often in test helpers.
val pack_operation :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.signature option ->
'a Tezos_protocol_alpha.Protocol.Alpha_context.contents_list ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
Assemble the given signature and contents_list
into a packed_operation
.
The context argument is used to retrieve the branch.
If the signature option
argument is None
, then the resulting operation is unsigned.
This function is mainly useful to craft an operation with a missing or invalid signatue. Otherwise, it is often better to use one of the helpers below: they handle the signature internally to directly return well-signed operations.
val sign :
?watermark:Signature.watermark ->
Context.t ->
Signature.secret_key ->
Tezos_base.TzPervasives.Block_hash.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_contents_list ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Tezos_protocol_alpha.Environment.Lwt.t
val create_proof :
Signature.secret_key ->
Tezos_alpha_test_helpers.Signature.Bls.t option
val raw_attestation :
?delegate:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
?slot:Tezos_protocol_alpha.Protocol.Alpha_context.Slot.t ->
?level:Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
?round:Tezos_protocol_alpha.Protocol.Alpha_context.Round.t ->
?block_payload_hash:Tezos_protocol_alpha.Protocol.Block_payload_hash.t ->
?dal_content:Tezos_protocol_alpha.Protocol.Alpha_context.dal_content ->
?branch:Tezos_base.TzPervasives.Block_hash.t ->
Block.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.attestation
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.t
Tezos_base.TzPervasives.tzresult
Lwt.t
Create an unpacked attestation that is expected for given Block.t
.
Optional parameters allow to specify the attested values: level
, round
, block_payload_hash
, and/or dal_content
.
They also allow to specify the attester (delegate
), and/or the slot
. These default to the first slot and its delegate.
Finally, the operation branch
can be specified. It defaults to the predecessor of the attested block.
val raw_preattestation :
?delegate:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
?slot:Tezos_protocol_alpha.Protocol.Alpha_context.Slot.t ->
?level:Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
?round:Tezos_protocol_alpha.Protocol.Alpha_context.Round.t ->
?block_payload_hash:Tezos_protocol_alpha.Protocol.Block_payload_hash.t ->
?branch:Tezos_base.TzPervasives.Block_hash.t ->
Block.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.preattestation
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.t
Tezos_base.TzPervasives.tzresult
Lwt.t
Create an unpacked preattestation that is expected for a given Block.t
.
Optional parameters are the same than raw_attestation
.
val attestation :
?delegate:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
?slot:Tezos_protocol_alpha.Protocol.Alpha_context.Slot.t ->
?level:Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
?round:Tezos_protocol_alpha.Protocol.Alpha_context.Round.t ->
?block_payload_hash:Tezos_protocol_alpha.Protocol.Block_payload_hash.t ->
?dal_content:Tezos_protocol_alpha.Protocol.Alpha_context.dal_content ->
?branch:Tezos_base.TzPervasives.Block_hash.t ->
Block.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
Create a packed attestation that is expected for a given Block.t
by packing the result of raw_attestation
.
val attestations_aggregate :
?committee:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash list ->
?level:Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
?round:Tezos_protocol_alpha.Protocol.Alpha_context.Round.t ->
?block_payload_hash:Tezos_protocol_alpha.Protocol.Block_payload_hash.t ->
?branch:Tezos_base.TzPervasives.Block_hash.t ->
Block.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
Create a packed attestations_aggregate that is expected for a given Block.t
. Block context is expected to include at least one delegate with a BLS key (or a registered consensus keys).
val raw_aggregate :
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.attestation_consensus_kind
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.consensus
Tezos_protocol_alpha.Protocol.Alpha_context.operation
Tezos_base.TzPervasives.trace ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.attestations_aggregate
Tezos_protocol_alpha.Protocol.Alpha_context.operation
option
Aggregate a list of attestations in a single Attestations_aggregate. Attestations signed by non-bls delegates are ignored. Evaluates to None
if no bls-signed attestations are found or if signature_aggregation failed (due to unreadable signature representation).
val aggregate :
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.attestation_consensus_kind
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.consensus
Tezos_protocol_alpha.Protocol.Alpha_context.operation
Tezos_base.TzPervasives.trace ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed option
Same as raw_aggregate
but returns the packed operation.
val preattestation :
?delegate:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
?slot:Tezos_protocol_alpha.Protocol.Alpha_context.Slot.t ->
?level:Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
?round:Tezos_protocol_alpha.Protocol.Alpha_context.Round.t ->
?block_payload_hash:Tezos_protocol_alpha.Protocol.Block_payload_hash.t ->
?branch:Tezos_base.TzPervasives.Block_hash.t ->
Block.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
Create a packed preattestation that is expected for a given Block.t
by packing the result of raw_preattestation
.
val raw_preattestations_aggregate :
?committee:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash list ->
?level:Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
?round:Tezos_protocol_alpha.Protocol.Alpha_context.Round.t ->
?block_payload_hash:Tezos_protocol_alpha.Protocol.Block_payload_hash.t ->
?branch:Tezos_base.TzPervasives.Block_hash.t ->
Block.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.preattestations_aggregate
Tezos_protocol_alpha.Protocol.Alpha_context.operation
Tezos_base.TzPervasives.tzresult
Lwt.t
Create a packed preattestations_aggregate that is expected for a given Block.t
. Block context is expected to include at least one delegate with a BLS key (or a registered consensus keys).
val preattestations_aggregate :
?committee:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash list ->
?level:Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
?round:Tezos_protocol_alpha.Protocol.Alpha_context.Round.t ->
?block_payload_hash:Tezos_protocol_alpha.Protocol.Block_payload_hash.t ->
?branch:Tezos_base.TzPervasives.Block_hash.t ->
Block.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
Same as raw_preattestations_aggregate
but returns the packed operation.
val raw_aggregate_preattestations :
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.preattestation_consensus_kind
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.consensus
Tezos_protocol_alpha.Protocol.Alpha_context.operation
Tezos_base.TzPervasives.trace ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.preattestations_aggregate
Tezos_protocol_alpha.Protocol.Alpha_context.operation
option
Aggregate a list of preattestations in a single Preattestations_aggregate. Preattestations signed by non-bls delegates are ignored. Evaluates to None
if no bls-signed attestations are found or if signature_aggregation failed.
val aggregate_preattestations :
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.preattestation_consensus_kind
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.consensus
Tezos_protocol_alpha.Protocol.Alpha_context.operation
Tezos_base.TzPervasives.trace ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed option
Same as raw_aggregate_preattestations
but returns the packed operation.
type gas_limit =
| Max
Max corresponds to the max_gas_limit_per_operation
constant.
| High
High corresponds to 50_000
gas unit which should cover a majority of use-cases. This is the default used when forging manager operations.
| Low
Low corresponds to the gas entry cost of a manager operation
*)| Zero
| Custom_gas of Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral
val pp_gas_limit : Stdlib.Format.formatter -> gas_limit -> unit
Pretty printer for gas_limit type.
val manager_operation :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?public_key:Tezos_protocol_alpha.Protocol.Alpha_context.public_key ->
source:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Context.t ->
'a Tezos_protocol_alpha.Protocol.Alpha_context.manager_operation ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_contents_list
Tezos_base.TzPervasives.tzresult
Lwt.t
Packs a manager operation into a contents list.
val transaction :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?parameters:Tezos_protocol_alpha.Protocol.Alpha_context.Script.lazy_expr ->
?entrypoint:Tezos_protocol_alpha.Protocol.Alpha_context.Entrypoint.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val unsafe_transaction :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?parameters:
Tezos_protocol_alpha.Protocol.Michelson_v1_primitives.prim
Tezos_micheline.Micheline.canonical
Tezos_base.TzPervasives.Data_encoding.lazy_t ->
?entrypoint:Tezos_protocol_alpha.Protocol.Entrypoint_repr.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
Tezos_base.TzPervasives.tzresult
Lwt.t
Same as transaction
, but with a more generic destination parameter. It is said unsafe because it can construct transactions that will always fail, such as
Optional arguments allow to override defaults:
?force_reveal:bool
: prepend the operation to reveal source
's public key if the latter has not been revealed yet. Disabled (set to false
) by default.val delegation :
?force_reveal:bool ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash option ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val set_deposits_limit :
?force_reveal:bool ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t option ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val increase_paid_storage :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
source:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
destination:Tezos_protocol_alpha.Protocol.Contract_hash.t ->
Z.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val revelation :
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?forge_pkh:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash option ->
?forge_proof:Tezos_alpha_test_helpers.Signature.Bls.t option ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.public_key ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
revelation ?fee ?gas_limit ?forge_pkh ?forge_proof ctxt pkh
Creates a new Reveal
manager_operation
to reveal a public key pkh
applying to current context ctxt
.
Optional arguments allow to override defaults:
?fee:Tez.t
: specify a fee, otherwise set to Tez.zero
.?gas_limit:Gas.Arith.integral
: force a gas limit, otherwise set to 10000 gas units.?forge_pkh
: use a provided pkh
as source, instead of hashing pkh
. Useful for forging non-honest reveal operations?forge_proof
: use a provided proof
instead of creating a correct proof for pkh
. Useful for forging non-honest reveal operations?storage_limit:Z.t
: forces a storage limit, otherwise set to Z.zero
val failing_noop :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
string ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val contract_origination :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?delegate:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.t ->
?public_key:Tezos_protocol_alpha.Protocol.Alpha_context.public_key ->
?credit:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
* Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t)
Tezos_base.TzPervasives.tzresult
Lwt.t
contract_origination ctxt source
Create a new contract origination operation, sign it with source
and returns it alongside the contract address. The contract address is using the initial origination nonce with the hash of the operation. If this operation is combined with combine_operations
then the contract address is false as the nonce is not based on the correct operation hash.
Optional arguments allow to override defaults:
?force_reveal:bool
: prepend the operation to reveal source
's public key if the latter has not been revealed yet. Disabled (set to false
) by default.val contract_origination_hash :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?delegate:Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.t ->
?public_key:Tezos_protocol_alpha.Protocol.Alpha_context.public_key ->
?credit:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
* Tezos_protocol_alpha.Protocol.Contract_hash.t)
Tezos_base.TzPervasives.tzresult
Lwt.t
val originated_contract :
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t
val register_global_constant :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?public_key:Signature.public_key ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
source:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
value:Tezos_protocol_alpha.Protocol.Alpha_context.Script.lazy_expr ->
(Tezos_protocol_alpha.Protocol.operation, Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
val double_attestation :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.attestation
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.attestation
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
val double_preattestation :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.preattestation
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.preattestation
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
val dal_entrapment :
Context.t ->
'a Tezos_protocol_alpha.Protocol.Alpha_context.Kind.consensus
Tezos_protocol_alpha.Protocol.Alpha_context.operation ->
consensus_slot:Tezos_protocol_alpha.Protocol.Alpha_context.Slot.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Dal.Slot_index.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Dal.Shard_with_proof.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
val combine_operations :
?public_key:Tezos_protocol_alpha.Protocol.Alpha_context.public_key ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?spurious_operation:
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation ->
source:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation list ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
Tezos_base.TzPervasives.tzresult
Lwt.t
val batch_operations :
?recompute_counters:bool ->
source:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation list ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
Tezos_base.TzPervasives.tzresult
Lwt.t
Batch a list of (already signed) operations and (re-)sign with the source
. No revelation is inserted and the counters are kept as they are unless recompute_counters
is set to true
(defaults false).
val seed_nonce_revelation :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Raw_level.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Nonce.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Reveals a seed_nonce that was previously committed at a certain level
val vdf_revelation :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Seed.vdf_solution ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Reveals a VDF with a proof of correctness
val proposals_contents :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
?period:int32 ->
Tezos_base.TzPervasives.Protocol_hash.t list ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.proposals
Tezos_protocol_alpha.Protocol.Alpha_context.contents_list
Tezos_base.TzPervasives.tzresult
Lwt.t
Craft the contents_list
for a Proposals operation.
Invocation: proposals_contents ctxt source ?period proposals
.
val proposals :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
?period:int32 ->
Tezos_base.TzPervasives.Protocol_hash.t list ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
Craft a Proposals operation.
Invocation: proposals ctxt source ?period proposals
.
val ballot_contents :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
?period:int32 ->
Tezos_base.TzPervasives.Protocol_hash.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Vote.ballot ->
Tezos_protocol_alpha.Protocol.Alpha_context.Kind.ballot
Tezos_protocol_alpha.Protocol.Alpha_context.contents_list
Tezos_base.TzPervasives.tzresult
Lwt.t
Craft the contents_list
for a Ballot operation.
Invocation: ballot_contents ctxt source ?period proposal ballot
.
val ballot :
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
?period:int32 ->
Tezos_base.TzPervasives.Protocol_hash.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Vote.ballot ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
Craft a Ballot operation.
Invocation: ballot ctxt source ?period proposal ballot
.
val dummy_script : Tezos_protocol_alpha.Protocol.Alpha_context.Script.t
val dummy_script_cost : Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t
val transfer_ticket :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
source:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
contents:Tezos_protocol_alpha.Protocol.Alpha_context.Script.lazy_expr ->
ty:Tezos_protocol_alpha.Protocol.Alpha_context.Script.lazy_expr ->
ticketer:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
amount:Tezos_protocol_alpha.Protocol.Ticket_amount.t ->
destination:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
entrypoint:Tezos_protocol_alpha.Protocol.Entrypoint_repr.t ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
transfer_ticket
allows an implicit account to transfer tickets they owned.
The arguments are:
Context.t
: the context on which to apply the operationsource:Contract.t
: the source contract of the operationTx_rollup.t
: the rollup to which the withdrawal pertainsTx_rollup_level.t
: the level on which the withdrawal was commitedcontents:Script.lazy_expr
: the contents of the ticket of the withdrawalty:Script.lazy_expr
: the type of the ticket of the withdrawalticketer:Contract.t
: the ticketer of the ticket of the withdrawalZ.t
: the quantity of the ticket of the withdrawaldestination:Contract.t
: the destination contract that should receive the ticket of the withdrawalEntrypoint_repr.t
: the entrypoint of the destination contract to which the ticket should be sentOptional arguments allow to override defaults:
?force_reveal:bool
: prepend the operation to reveal source
's public key if the latter has not been revealed yet. Disabled (set to false
) by default.val sc_rollup_origination :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?whitelist:Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.Whitelist.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.Kind.t ->
boot_sector:string ->
parameters_ty:Tezos_protocol_alpha.Protocol.Alpha_context.Script.lazy_expr ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
* Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.t)
Tezos_base.TzPervasives.tzresult
Lwt.t
sc_rollup_origination ctxt source kind boot_sector
originates a new smart contract rollup of some given kind
booting using boot_sector
.
Optional arguments allow to override defaults:
?force_reveal:bool
: prepend the operation to reveal source
's public key if the latter has not been revealed yet. Disabled (set to false
) by default.val sc_rollup_publish :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.Commitment.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
sc_rollup_publish ctxt source rollup commitment
tries to publish a commitment to the SCORU. Optional arguments allow to override defaults:
Optional arguments allow to override defaults:
?force_reveal:bool
: prepend the operation to reveal source
's public key if the latter has not been revealed yet. Disabled (set to false
) by default.val sc_rollup_cement :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
sc_rollup_cement ctxt source rollup
tries to cement a commitment.
Optional arguments allow to override defaults:
?force_reveal:bool
: prepend the operation to reveal source
's public key if the latter has not been revealed yet. Disabled (set to false
) by default.val sc_rollup_execute_outbox_message :
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?force_reveal:bool ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.Commitment.Hash.t ->
output_proof:string ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
val sc_rollup_recover_bond :
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?force_reveal:bool ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
sc_rollup_recover_bond ctxt source sc_rollup staker
recovers the commitment bond of staker
.
val sc_rollup_add_messages :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
string list ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val sc_rollup_refute :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.public_key_hash ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.Game.refutation ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val sc_rollup_timeout :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Sc_rollup.Game.Index.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
val dal_publish_commitment :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Dal.Operations.Publish_commitment.t ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
val zk_rollup_origination :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
public_parameters:Plonk.Main_protocol.verifier_public_parameters ->
circuits_info:
[ `Public | `Private | `Fee ]
Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.Account.SMap.t ->
init_state:Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.State.t ->
nb_ops:int ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
* Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.t)
Tezos_base.TzPervasives.tzresult
Lwt.t
zk_rollup_origination ctxt source ~public_parameters ~circuits_info
~init_state ~nb_ops
tries to originate a ZK Rollup.
val update_consensus_key :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?proof_signer:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
?forge_proof:Tezos_alpha_test_helpers.Signature.Bls.t option ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.public_key ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
val update_companion_key :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
?proof_signer:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
?forge_proof:Tezos_alpha_test_helpers.Signature.Bls.t option ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.public_key ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation,
Tezos_base.TzPervasives.tztrace)
Stdlib.result
Lwt.t
val drain_delegate :
Context.t ->
consensus_key:Tezos_alpha_test_helpers.Signature.Public_key_hash.t ->
delegate:Tezos_alpha_test_helpers.Signature.Public_key_hash.t ->
destination:Tezos_alpha_test_helpers.Signature.Public_key_hash.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
Tezos_base.TzPervasives.tzresult
Lwt.t
val zk_rollup_publish :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
zk_rollup:Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.t ->
ops:
(Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.Operation.t
* Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.Ticket.t option)
list ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
zk_rollup_publish ctxt source ~zk_rollup ~op
tries to add an operation to the pending list of a ZK Rollup.
val zk_rollup_update :
?force_reveal:bool ->
?counter:Tezos_protocol_alpha.Protocol.Alpha_context.Manager_counter.t ->
?fee:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
?gas_limit:gas_limit ->
?storage_limit:Z.t ->
Context.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t ->
zk_rollup:Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.t ->
update:Tezos_protocol_alpha.Protocol.Alpha_context.Zk_rollup.Update.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed
Tezos_base.TzPervasives.tzresult
Lwt.t
zk_rollup_update ctxt source ~zk_rollup ~update
tries to apply an update to a ZK Rollup.
module Micheline = Tezos_micheline.Micheline
Protocol.mode
-related helpers
val check_validation_and_application :
loc:string ->
?error:(Tezos_protocol_alpha.Environment.Error_monad.error -> bool) ->
predecessor:Block.t ->
tested_mode ->
t ->
unit Tezos_base.TzPervasives.tzresult Lwt.t
check_validation_and_application ~loc ?error ~predecessor
tested_mode operation
tests the validation and application of operation
in tested_mode
.
tested_mode
is Application
or Construction
, a block containing operation
is baked on top of predecessor
in the specified mode.tested_mode
is Mempool
, a mempool is initialized using predecessor
as head, then Incremental.add_operation
is called on operation
.When error
is None
, we check that everything succeeds, otherwise we check that the error identified by error
is returned.
val check_validation_and_application_all_modes_different_outcomes :
loc:string ->
?application_error:
(Tezos_protocol_alpha.Environment.Error_monad.error -> bool) ->
?construction_error:
(Tezos_protocol_alpha.Environment.Error_monad.error -> bool) ->
?mempool_error:(Tezos_protocol_alpha.Environment.Error_monad.error -> bool) ->
predecessor:Block.t ->
t ->
unit Tezos_base.TzPervasives.tzresult Lwt.t
Calls check_validation_and_application
on all tested_mode
s successively, with respective errors.
val check_validation_and_application_all_modes :
loc:string ->
?error:(Tezos_protocol_alpha.Environment.Error_monad.error -> bool) ->
predecessor:Block.t ->
t ->
unit Tezos_base.TzPervasives.tzresult Lwt.t
Calls check_validation_and_application
on all tested_mode
s successively, with the same error
provided for each mode.
val get_op_signature :
t ->
Tezos_protocol_alpha.Protocol.Alpha_context.signature option
val set_op_signature :
t ->
Tezos_protocol_alpha.Protocol.Alpha_context.signature option ->
t