package octez-protocol-020-PsParisC-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/octez-protocol-020-PsParisC-libs.test-helpers/Tezos_020_PsParisC_test_helpers/Operation_generator/index.html
Module Tezos_020_PsParisC_test_helpers.Operation_generator
Source
These generators aims at generating operations which are not necessary correct. The goal is to tests functions such as
Operation.compare
with as much as possible parameters that play a role in operation weight
computation.
When adding a new operation, one should also add its weight computation, hence knows which kind of generator should be provided for this new operation.
Operations kind labelling.
val anonymous_kinds :
[> `KActivate_account
| `KDouble_attestation
| `KDouble_baking
| `KDouble_preattestation
| `KSeed_nonce_revelation
| `KVdf_revelation ]
list
val manager_kinds :
[> `KDal_publish_commitment
| `KDelegation
| `KIncrease_paid_storage
| `KOrigination
| `KRegister_global_constant
| `KReveal
| `KSc_rollup_add_messages
| `KSc_rollup_cement
| `KSc_rollup_execute_outbox_message
| `KSc_rollup_originate
| `KSc_rollup_publish
| `KSc_rollup_recover_bond
| `KSc_rollup_refute
| `KSc_rollup_timeout
| `KSet_deposits_limit
| `KTransaction
| `KTransfer_ticket ]
list
val pass_to_operation_kinds :
[< `PAnonymous | `PConsensus | `PManager | `PVote ] ->
[> `KActivate_account
| `KAttestation
| `KBallot
| `KDouble_attestation
| `KDouble_baking
| `KDouble_preattestation
| `KManager
| `KPreattestation
| `KProposals
| `KSeed_nonce_revelation
| `KVdf_revelation ]
list
val pp_kind :
Format.formatter ->
[< `KActivate_account
| `KAttestation
| `KBallot
| `KDal_attestation
| `KDouble_attestation
| `KDouble_baking
| `KDouble_preattestation
| `KManager
| `KPreattestation
| `KProposals
| `KSeed_nonce_revelation
| `KVdf_revelation ] ->
unit
Generators
Selection in hashes list
val random_payload_hash :
Tezos_protocol_020_PsParisC.Protocol.Block_payload_hash.t QCheck2.Gen.t
val random_keys :
(Tezos_base.TzPervasives.Signature.public_key_hash
* Tezos_base.TzPervasives.Signature.public_key
* Tezos_base.TzPervasives.Signature.secret_key)
QCheck2.Gen.t
val random_tz1 :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash
QCheck2.Gen.t
val random_tz2 :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash
QCheck2.Gen.t
val random_tz3 :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash
QCheck2.Gen.t
val random_tz4 :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash
QCheck2.Gen.t
val random_pkh :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash
QCheck2.Gen.t
val block_headers :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Block_header.block_header
list
val random_block_header :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Block_header.block_header
QCheck2.Gen.t
val random_sc_rollup :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Sc_rollup.Address.t
QCheck2.Gen.t
val random_code :
Tezos_protocol_020_PsParisC.Protocol.Blinded_public_key_hash.activation_code
QCheck2.Gen.t
Operations parameters generators
val gen_level :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Raw_level.raw_level
QCheck2.Gen.t
val generate_consensus_content :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.consensus_content
QCheck2.Gen.t
val random_contract :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Contract.t QCheck2.Gen.t
val gen_counters :
Tezos_raw_protocol_020_PsParisC__Alpha_context.Manager_counter.t
QCheck2.Gen.t
val gen_gas_limit :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Gas.Arith.integral
QCheck2.Gen.t
val random_nonce :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Nonce.nonce QCheck2.Gen.t
val vdf_solutions :
(Tezos_protocol_020_PsParisC.Environment.Vdf.result
* Tezos_protocol_020_PsParisC.Environment.Vdf.proof)
list
Generators for each Operation Kind
val wrap_operation :
Tezos_protocol_environment_020_PsParisC.Operation.shell_header ->
'kind Tezos_protocol_020_PsParisC.Protocol.Alpha_context.protocol_data ->
'kind Tezos_protocol_020_PsParisC.Protocol.Alpha_context.operation
val generate_op :
'kind Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t ->
'kind Tezos_protocol_020_PsParisC.Protocol.Alpha_context.operation
QCheck2.Gen.t
val generate_preattestation :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.preattestation
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_attestation :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.attestation
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_vdf_revelation :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.vdf_revelation
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_seed_nonce_revelation :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.seed_nonce_revelation
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_double_preattestation :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.double_preattestation_evidence
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_double_attestation :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.double_attestation_evidence
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_double_baking :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.double_baking_evidence
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_activate_account :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.activate_account
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_proposals :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.proposals
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_ballot :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.ballot
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_manager_aux :
?source:Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash ->
'a Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t ->
'a Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.manager
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.contents
QCheck2.Gen.t
val generate_manager :
?source:Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash ->
'a Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t ->
'a Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.manager
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.operation
QCheck2.Gen.t
val generate_reveal :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.reveal
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_transaction :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.transaction
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_origination :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.origination
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_delegation :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.delegation
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_increase_paid_storage :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.increase_paid_storage
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_set_deposits_limit :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.set_deposits_limit
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_register_global_constant :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.register_global_constant
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_transfer_ticket :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.transfer_ticket
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_dal_publish_commitment :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.dal_publish_commitment
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_sc_rollup_originate :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_originate
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_sc_rollup_add_messages :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_add_messages
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val sc_dummy_commitment :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Sc_rollup.Commitment.t
val generate_sc_rollup_cement :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_cement
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_sc_rollup_publish :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_publish
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_sc_rollup_refute :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_refute
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_sc_rollup_timeout :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_timeout
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_sc_rollup_execute_outbox_message :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_execute_outbox_message
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
val generate_sc_rollup_recover_bond :
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.Kind.sc_rollup_recover_bond
Tezos_protocol_020_PsParisC.Protocol.Alpha_context.manager_operation
QCheck2.Gen.t
By Kind Operation Generator
val generator_of :
?source:Tezos_protocol_020_PsParisC.Protocol.Alpha_context.public_key_hash ->
[< `KDal_publish_commitment
| `KDelegation
| `KIncrease_paid_storage
| `KOrigination
| `KRegister_global_constant
| `KReveal
| `KSc_rollup_add_messages
| `KSc_rollup_cement
| `KSc_rollup_execute_outbox_message
| `KSc_rollup_originate
| `KSc_rollup_publish
| `KSc_rollup_recover_bond
| `KSc_rollup_refute
| `KSc_rollup_timeout
| `KSet_deposits_limit
| `KTransaction
| `KTransfer_ticket ] ->
Tezos_raw_protocol_020_PsParisC__Alpha_context.packed_operation QCheck2.Gen.t
val generate_non_manager_operation :
Tezos_raw_protocol_020_PsParisC__Alpha_context.packed_operation QCheck2.Gen.t
val generate_manager_operation :
int ->
Tezos_raw_protocol_020_PsParisC__Alpha_context.packed_operation QCheck2.Gen.t
The default upper bound on the number of manager operations in a batch.
As of December 2022, there is no batch maximal size enforced anywhere in the protocol. However, the Octez Shell only accepts batches of at most operations_batch_size
operations, which has a default value of 50
in src/lib_shell_services/shell_limits.ml
. The protocol tests do not necessarily have to align with this value, but there is no reason either to choose a different one. Therefore, they use the same bound, but decremented once to account for some tests adding a reveal at the front of the batch as needed.
val generate_operation :
([ `KActivate_account
| `KAttestation
| `KBallot
| `KDouble_attestation
| `KDouble_baking
| `KDouble_preattestation
| `KManager
| `KPreattestation
| `KProposals
| `KSeed_nonce_revelation
| `KVdf_revelation ]
* (Tezos_protocol_environment_020_PsParisC.Operation_hash.t
* Tezos_raw_protocol_020_PsParisC__Alpha_context.packed_operation))
QCheck2.Gen.t