(*****************************************************************************) (* *) (* Open Source License *) (* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining a *) (* copy of this software and associated documentation files (the "Software"),*) (* to deal in the Software without restriction, including without limitation *) (* the rights to use, copy, modify, merge, publish, distribute, sublicense, *) (* and/or sell copies of the Software, and to permit persons to whom the *) (* Software is furnished to do so, subject to the following conditions: *) (* *) (* The above copyright notice and this permission notice shall be included *) (* in all copies or substantial portions of the Software. *) (* *) (* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*) (* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *) (* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *) (* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*) (* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *) (* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *) (* DEALINGS IN THE SOFTWARE. *) (* *) (*****************************************************************************) open Alpha_context type error += Cannot_parse_operation (* `Branch *) val current_level: 'a #RPC_context.simple -> ?offset:int32 -> 'a -> Level.t shell_tzresult Lwt.t val levels_in_current_cycle: 'a #RPC_context.simple -> ?offset:int32 -> 'a -> (Raw_level.t * Raw_level.t) shell_tzresult Lwt.t module Scripts : sig val run_code: 'a #RPC_context.simple -> 'a -> Script.expr -> (Script.expr * Script.expr * Tez.t * Chain_id.t * Contract.t option * Contract.t option * Z.t option * string) -> (Script.expr * packed_internal_operation list * Contract.big_map_diff option) shell_tzresult Lwt.t val trace_code: 'a #RPC_context.simple -> 'a -> Script.expr -> (Script.expr * Script.expr * Tez.t * Chain_id.t * Contract.t option * Contract.t option * Z.t option * string) -> (Script.expr * packed_internal_operation list * Script_interpreter.execution_trace * Contract.big_map_diff option) shell_tzresult Lwt.t val typecheck_code: 'a #RPC_context.simple -> 'a -> (Script.expr * Z.t option) -> (Script_tc_errors.type_map * Gas.t) shell_tzresult Lwt.t val typecheck_data: 'a #RPC_context.simple -> 'a -> Script.expr * Script.expr * Z.t option -> Gas.t shell_tzresult Lwt.t val pack_data: 'a #RPC_context.simple -> 'a -> Script.expr * Script.expr * Z.t option -> (MBytes.t * Gas.t) shell_tzresult Lwt.t val run_operation: 'a #RPC_context.simple -> 'a -> packed_operation * Chain_id.t -> (packed_protocol_data * Apply_results.packed_operation_metadata) shell_tzresult Lwt.t val entrypoint_type: 'a #RPC_context.simple -> 'a -> Script.expr * string -> Script.expr shell_tzresult Lwt.t val list_entrypoints: 'a #RPC_context.simple -> 'a -> Script.expr -> (Michelson_v1_primitives.prim list list * (string * Script.expr) list) shell_tzresult Lwt.t end module Forge : sig module Manager : sig val operations: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> source:public_key_hash -> ?sourcePubKey:public_key -> counter:counter -> fee:Tez.t -> gas_limit:Z.t -> storage_limit:Z.t -> packed_manager_operation list -> MBytes.t shell_tzresult Lwt.t val reveal: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> source:public_key_hash -> sourcePubKey:public_key -> counter:counter -> fee:Tez.t -> unit -> MBytes.t shell_tzresult Lwt.t val transaction: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> source:public_key_hash -> ?sourcePubKey:public_key -> counter:counter -> amount:Tez.t -> destination:Contract.t -> ?entrypoint:string -> ?parameters:Script.expr -> gas_limit:Z.t -> storage_limit:Z.t -> fee:Tez.t -> unit -> MBytes.t shell_tzresult Lwt.t val origination: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> source:public_key_hash -> ?sourcePubKey:public_key -> counter:counter -> balance:Tez.t -> ?delegatePubKey: public_key_hash -> script:Script.t -> gas_limit:Z.t -> storage_limit:Z.t -> fee:Tez.t-> unit -> MBytes.t shell_tzresult Lwt.t val delegation: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> source:public_key_hash -> ?sourcePubKey:public_key -> counter:counter -> fee:Tez.t -> public_key_hash option -> MBytes.t shell_tzresult Lwt.t end val endorsement: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> level:Raw_level.t -> unit -> MBytes.t shell_tzresult Lwt.t val proposals: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> source:public_key_hash -> period:Voting_period.t -> proposals:Protocol_hash.t list -> unit -> MBytes.t shell_tzresult Lwt.t val ballot: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> source:public_key_hash -> period:Voting_period.t -> proposal:Protocol_hash.t -> ballot:Vote.ballot -> unit -> MBytes.t shell_tzresult Lwt.t val seed_nonce_revelation: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> level:Raw_level.t -> nonce:Nonce.t -> unit -> MBytes.t shell_tzresult Lwt.t val double_baking_evidence: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> bh1: Block_header.t -> bh2: Block_header.t -> unit -> MBytes.t shell_tzresult Lwt.t val double_endorsement_evidence: 'a #RPC_context.simple -> 'a -> branch:Block_hash.t -> op1: Kind.endorsement operation -> op2: Kind.endorsement operation -> unit -> MBytes.t shell_tzresult Lwt.t val protocol_data: 'a #RPC_context.simple -> 'a -> priority: int -> ?seed_nonce_hash: Nonce_hash.t -> ?proof_of_work_nonce: MBytes.t -> unit -> MBytes.t shell_tzresult Lwt.t end module Parse : sig val operations: 'a #RPC_context.simple -> 'a -> ?check:bool -> Operation.raw list -> Operation.packed list shell_tzresult Lwt.t val block: 'a #RPC_context.simple -> 'a -> Block_header.shell_header -> MBytes.t -> Block_header.protocol_data shell_tzresult Lwt.t end val register: unit -> unit