RPC.Scriptsmodule S : sig ... endmodule type UNPARSING_MODE = sig ... endmodule Traced_interpreter (Unparsing_mode : UNPARSING_MODE) : sig ... endmodule Unparse_types : sig ... endmodule Normalize_stack : sig ... endval pp_instr_name :
'a 'b 'c 'd. Tezos_protocol_alpha.Environment.Format.formatter ->
('a, 'b, 'c, 'd) Tezos_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
unitval run_operation_service :
Services_registration.rpc_context ->
'a ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
* Tezos_protocol_environment_alpha.Chain_id.t) ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_protocol_data
* Tezos_raw_protocol_alpha.Apply_results.packed_operation_metadata,
Tezos_protocol_alpha.Environment.Error_monad.error
Tezos_protocol_environment_alpha.Error_monad.trace)
Stdlib.result
Lwt.tValidate and apply the operation but skip signature checks; do not support consensus operations.
Return the unchanged operation protocol data, and the operation receipt ie. metadata containing balance updates, consumed gas, application success or failure, etc.
val simulate_operation_service :
Services_registration.rpc_context ->
< version : 'a.. > ->
(int32 option
* Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation
* Tezos_protocol_environment_alpha.Chain_id.t
* int) ->
(Tezos_protocol_alpha.Protocol.Alpha_context.packed_protocol_data
* Tezos_raw_protocol_alpha.Apply_results.packed_operation_metadata,
Tezos_protocol_alpha.Environment.Error_monad.error
Tezos_protocol_environment_alpha.Error_monad.trace)
Stdlib.result
Lwt.ttype run_code_config = {balance : Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t;self : Tezos_protocol_alpha.Protocol.Contract_hash.t;payer : Tezos_protocol_alpha.Environment.Signature.public_key_hash;sender : Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t;}val default_balance : Tezos_protocol_alpha.Protocol.Alpha_context.Tez.tval run_code :
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode option ->
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
entrypoint:Tezos_protocol_alpha.Protocol.Alpha_context.Entrypoint.t ->
balance:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t option ->
other_contracts:S.other_contract_description list option ->
extra_big_maps:S.extra_big_map_description list option ->
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
storage:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
input:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
amount:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
chain_id:Tezos_protocol_alpha.Environment.Chain_id.t ->
sender:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t option ->
payer:Tezos_protocol_environment_alpha.Signature.Public_key_hash.t option ->
self:Tezos_raw_protocol_alpha.Contract_hash.t option ->
now:Tezos_protocol_alpha.Protocol.Script_timestamp.t option ->
level:
Tezos_protocol_alpha.Protocol.Script_int.n
Tezos_protocol_alpha.Protocol.Script_int.num
option ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
* Tezos_protocol_alpha.Protocol.Apply_internal_results.packed_internal_operation
list
* Tezos_protocol_alpha.Protocol.Alpha_context.Lazy_storage.diffs option)
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval trace_code :
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode option ->
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
entrypoint:Tezos_protocol_alpha.Protocol.Alpha_context.Entrypoint.t ->
balance:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t option ->
other_contracts:S.other_contract_description list option ->
extra_big_maps:S.extra_big_map_description list option ->
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
storage:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
input:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
amount:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
chain_id:Tezos_protocol_alpha.Environment.Chain_id.t ->
sender:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t option ->
payer:Tezos_protocol_environment_alpha.Signature.Public_key_hash.t option ->
self:Tezos_raw_protocol_alpha.Contract_hash.t option ->
now:Tezos_protocol_alpha.Protocol.Script_timestamp.t option ->
level:
Tezos_protocol_alpha.Protocol.Script_int.n
Tezos_protocol_alpha.Protocol.Script_int.num
option ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
* Tezos_protocol_alpha.Protocol.Apply_internal_results.packed_internal_operation
list
* Tezos_protocol_alpha.Protocol.Script_typed_ir.execution_trace
* Tezos_protocol_alpha.Protocol.Alpha_context.Lazy_storage.diffs option)
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval run_tzip4_view :
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
other_contracts:S.other_contract_description list option ->
extra_big_maps:S.extra_big_map_description list option ->
contract:Tezos_raw_protocol_alpha.Contract_hash.t ->
entrypoint:Tezos_protocol_alpha.Protocol.Alpha_context.Entrypoint.t ->
input:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
chain_id:Tezos_protocol_alpha.Environment.Chain_id.t ->
now:Tezos_protocol_alpha.Protocol.Script_timestamp.t option ->
level:
Tezos_protocol_alpha.Protocol.Script_int.n
Tezos_protocol_alpha.Protocol.Script_int.num
option ->
sender:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t option ->
payer:Tezos_protocol_environment_alpha.Signature.Public_key_hash.t option ->
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval run_script_view :
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
other_contracts:S.other_contract_description list option ->
extra_big_maps:S.extra_big_map_description list option ->
contract:Tezos_raw_protocol_alpha.Contract_hash.t ->
view:string ->
input:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
unlimited_gas:bool ->
chain_id:Tezos_protocol_alpha.Environment.Chain_id.t ->
now:Tezos_protocol_alpha.Protocol.Script_timestamp.t option ->
level:
Tezos_protocol_alpha.Protocol.Script_int.n
Tezos_protocol_alpha.Protocol.Script_int.num
option ->
sender:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t option ->
payer:Tezos_protocol_environment_alpha.Signature.Public_key_hash.t option ->
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.trun_script_view is an helper function to call the corresponding RPC.
val run_instr :
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
legacy:bool ->
input:
(Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
* Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr)
list ->
code:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
chain_id:Tezos_protocol_alpha.Environment.Chain_id.t ->
now:Tezos_protocol_alpha.Protocol.Script_timestamp.t option ->
level:
Tezos_protocol_alpha.Protocol.Script_int.n
Tezos_protocol_alpha.Protocol.Script_int.num
option ->
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode option ->
source:Tezos_protocol_environment_alpha.Signature.Public_key_hash.t option ->
sender:Tezos_protocol_alpha.Protocol.Alpha_context.Contract.t option ->
self:Tezos_raw_protocol_alpha.Contract_hash.t option ->
parameter:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr option ->
amount:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t ->
balance:Tezos_protocol_alpha.Protocol.Alpha_context.Tez.t option ->
other_contracts:S.other_contract_description list option ->
extra_big_maps:S.extra_big_map_description list option ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
((Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
* Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr)
list
* Tezos_protocol_alpha.Protocol.Alpha_context.Gas.t)
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval typecheck_code :
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
legacy:bool ->
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
show_types:bool ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
((Tezos_raw_protocol_alpha.Alpha_context.Script.location
* (Tezos_raw_protocol_alpha.Alpha_context.Script.expr list
* Tezos_raw_protocol_alpha.Alpha_context.Script.expr list))
list
* Tezos_protocol_alpha.Protocol.Alpha_context.Gas.t)
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval script_size :
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
legacy:bool ->
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
storage:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
int Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval typecheck_data :
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
legacy:bool ->
data:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
ty:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
Tezos_protocol_alpha.Protocol.Alpha_context.Gas.t
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval pack_data :
gas:Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral option ->
data:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
ty:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
(Tezos_protocol_environment_alpha.Bytes.t
* Tezos_protocol_alpha.Protocol.Alpha_context.Gas.t)
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval normalize_data :
legacy:bool ->
other_contracts:S.other_contract_description list option ->
extra_big_maps:S.extra_big_map_description list option ->
data:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
ty:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval normalize_stack :
legacy:bool ->
other_contracts:S.other_contract_description list option ->
extra_big_maps:S.extra_big_map_description list option ->
stack:
(Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
* Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr)
list ->
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
(Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
* Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr)
list
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval normalize_script :
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
unparsing_mode:
Tezos_protocol_alpha.Protocol.Script_ir_unparser.unparsing_mode ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval normalize_type :
ty:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval run_operation :
op:Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed ->
chain_id:Tezos_protocol_alpha.Environment.Chain_id.t ->
?version:version ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
(Tezos_raw_protocol_alpha.Alpha_context.Operation.packed_protocol_data
* Tezos_protocol_alpha.Protocol.Apply_results.packed_operation_metadata,
Tezos_base.TzPervasives.Error_monad.tztrace)
Stdlib.result
Lwt.tval simulate_operation :
op:Tezos_protocol_alpha.Protocol.Alpha_context.Operation.packed ->
chain_id:Tezos_protocol_alpha.Environment.Chain_id.t ->
latency:int ->
?version:version ->
?successor_level:bool ->
?blocks_before_activation:int32 ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
(Tezos_raw_protocol_alpha.Alpha_context.Operation.packed_protocol_data
* Tezos_protocol_alpha.Protocol.Apply_results.packed_operation_metadata,
Tezos_base.TzPervasives.Error_monad.tztrace)
Stdlib.result
Lwt.tval entrypoint_type :
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
entrypoint:Tezos_protocol_alpha.Protocol.Alpha_context.Entrypoint.t ->
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.tval list_entrypoints :
'a Tezos_protocol_alpha.Environment.RPC_context.simple ->
'a ->
script:Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr ->
(Tezos_protocol_alpha.Protocol.Michelson_v1_primitives.prim list list
* (string * Tezos_protocol_alpha.Protocol.Alpha_context.Script.expr) list)
Tezos_protocol_environment_alpha.Error_monad.shell_tzresult
Tezos_protocol_environment_alpha.Lwt.t