ligo/src/client/embedded/alpha/client_proto_rpcs.mli

360 lines
10 KiB
OCaml
Raw Normal View History

2016-09-08 21:13:10 +04:00
(**************************************************************************)
(* *)
(* Copyright (c) 2014 - 2016. *)
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
(* *)
(* All rights reserved. No warranty, explicit or implicit, provided. *)
(* *)
(**************************************************************************)
val string_of_errors: error list -> string
val handle_error: Client_commands.context -> 'a tzresult -> 'a Lwt.t
2016-09-08 21:13:10 +04:00
type block = [
| `Genesis
| `Head of int | `Prevalidation
| `Test_head of int | `Test_prevalidation
| `Hash of Block_hash.t
]
module Constants : sig
val errors:
Client_rpcs.config ->
block -> Json_schema.schema tzresult Lwt.t
val cycle_length:
Client_rpcs.config ->
block -> int32 tzresult Lwt.t
val voting_period_length:
Client_rpcs.config ->
block -> int32 tzresult Lwt.t
val time_before_reward:
Client_rpcs.config ->
block -> Period.t tzresult Lwt.t
val slot_durations:
Client_rpcs.config ->
block -> (Period.t list) tzresult Lwt.t
val first_free_mining_slot:
Client_rpcs.config ->
block -> int tzresult Lwt.t
val max_signing_slot:
Client_rpcs.config ->
block -> int tzresult Lwt.t
val instructions_per_transaction:
Client_rpcs.config ->
block -> int tzresult Lwt.t
val stamp_threshold:
Client_rpcs.config ->
block -> int64 tzresult Lwt.t
2016-09-08 21:13:10 +04:00
end
module Context : sig
val level:
Client_rpcs.config ->
block -> Level.t tzresult Lwt.t
2017-03-08 21:47:01 +04:00
(** [level cctxt blk] returns the (protocol view of the) level of
[blk]. *)
val next_level:
Client_rpcs.config ->
block -> Level.t tzresult Lwt.t
2017-03-08 21:47:01 +04:00
(** [next_level cctxt blk] returns the (protocol view of the) level
of the successor of [blk]. *)
val faucet_counter:
Client_rpcs.config ->
block -> int32 tzresult Lwt.t
val voting_period_kind:
Client_rpcs.config ->
block -> Voting_period.kind tzresult Lwt.t
(** [voting_period_kind cctxt blk] returns the voting period kind
of [blk]. *)
2016-09-08 21:13:10 +04:00
module Nonce : sig
val hash:
Client_rpcs.config ->
block -> Nonce_hash.t tzresult Lwt.t
2016-09-08 21:13:10 +04:00
type nonce_info =
| Revealed of Nonce.t
| Missing of Nonce_hash.t
| Forgotten
val get:
Client_rpcs.config ->
block -> Raw_level.t -> nonce_info tzresult Lwt.t
2016-09-08 21:13:10 +04:00
end
module Key : sig
val get :
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
public_key_hash -> (public_key_hash * public_key) tzresult Lwt.t
val list :
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
((public_key_hash * public_key) list) tzresult Lwt.t
end
module Contract : sig
val list:
Client_rpcs.config ->
block -> Contract.t list tzresult Lwt.t
2016-09-08 21:13:10 +04:00
type info = {
manager: public_key_hash ;
balance: Tez.t ;
spendable: bool ;
delegate: bool * public_key_hash option ;
script: Script.t option ;
2016-09-08 21:13:10 +04:00
counter: int32 ;
}
val get:
Client_rpcs.config ->
block -> Contract.t -> info tzresult Lwt.t
2016-09-08 21:13:10 +04:00
val balance:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> Contract.t ->
Tez.t tzresult Lwt.t
val manager:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> Contract.t ->
public_key_hash tzresult Lwt.t
val delegate:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> Contract.t ->
public_key_hash option tzresult Lwt.t
val counter:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> Contract.t ->
int32 tzresult Lwt.t
val spendable:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> Contract.t ->
bool tzresult Lwt.t
val delegatable:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> Contract.t ->
bool tzresult Lwt.t
val script:
Client_rpcs.config ->
block -> Contract.t -> Script.t option tzresult Lwt.t
2016-09-08 21:13:10 +04:00
end
end
module Helpers : sig
val minimal_time:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> ?prio:int -> unit -> Time.t tzresult Lwt.t
2017-03-08 21:47:01 +04:00
(** [minimal_time cctxt blk ?prio ()] is the minimal acceptable
timestamp for the successor of [blk]. [?prio] defaults to
[0]. *)
val apply_operation:
Client_rpcs.config ->
block -> Block_hash.t -> Operation_hash.t -> MBytes.t -> MBytes.t option ->
(Contract.t list) tzresult Lwt.t
val run_code:
Client_rpcs.config ->
block -> Script.code ->
(Script.expr * Script.expr) ->
(Script.expr * Script.expr) tzresult Lwt.t
val trace_code:
Client_rpcs.config ->
block -> Script.code ->
(Script.expr * Script.expr) ->
(Script.expr * Script.expr *
(Script.location * int * Script.expr list) list) tzresult Lwt.t
val typecheck_code:
Client_rpcs.config ->
block -> Script.code -> Script_ir_translator.type_map tzresult Lwt.t
val typecheck_data:
Client_rpcs.config ->
block -> Script.expr * Script.expr -> unit tzresult Lwt.t
val hash_data:
Client_rpcs.config ->
block -> Script.expr -> string tzresult Lwt.t
val level:
Client_rpcs.config ->
block -> ?offset:int32 -> Raw_level.t -> Level.t tzresult Lwt.t
val levels:
Client_rpcs.config ->
block -> Cycle.t -> (Raw_level.t * Raw_level.t) tzresult Lwt.t
2016-09-08 21:13:10 +04:00
module Rights : sig
type mining_slot = Raw_level.t * int * Time.t
type endorsement_slot = Raw_level.t * int
2016-09-08 21:13:10 +04:00
val mining_rights_for_delegate:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> public_key_hash ->
?max_priority:int -> ?first_level:Raw_level.t ->
?last_level:Raw_level.t -> unit ->
(mining_slot list) tzresult Lwt.t
2016-09-08 21:13:10 +04:00
val endorsement_rights_for_delegate:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block -> public_key_hash ->
?max_priority:int -> ?first_level:Raw_level.t -> ?last_level:Raw_level.t -> unit ->
(endorsement_slot list) tzresult Lwt.t
2016-09-08 21:13:10 +04:00
end
module Forge : sig
module Manager : sig
val operations:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
source:Contract.t ->
?sourcePubKey:public_key ->
counter:int32 ->
fee:Tez.t ->
manager_operation list ->
MBytes.t tzresult Lwt.t
2016-09-08 21:13:10 +04:00
val transaction:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
source:Contract.t ->
?sourcePubKey:public_key ->
counter:int32 ->
amount:Tez.t ->
destination:Contract.t ->
?parameters:Script.expr ->
fee:Tez.t ->
unit -> MBytes.t tzresult Lwt.t
val origination:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
source:Contract.t ->
?sourcePubKey:public_key ->
counter:int32 ->
managerPubKey:public_key_hash ->
balance:Tez.t ->
?spendable:bool ->
?delegatable:bool ->
?delegatePubKey: public_key_hash ->
?script:Script.t ->
2016-09-08 21:13:10 +04:00
fee:Tez.t->
unit ->
MBytes.t tzresult Lwt.t
2016-09-08 21:13:10 +04:00
val delegation:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
source:Contract.t ->
?sourcePubKey:public_key ->
counter:int32 ->
fee:Tez.t ->
public_key_hash option ->
MBytes.t tzresult Lwt.t
end
module Dictator : sig
val operation:
Client_rpcs.config ->
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
dictator_operation ->
MBytes.t tzresult Lwt.t
val activate:
Client_rpcs.config ->
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
Protocol_hash.t ->
MBytes.t tzresult Lwt.t
val activate_testnet:
Client_rpcs.config ->
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
Protocol_hash.t ->
MBytes.t tzresult Lwt.t
end
2016-09-08 21:13:10 +04:00
module Delegate : sig
val operations:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
source:public_key ->
delegate_operation list ->
MBytes.t tzresult Lwt.t
val endorsement:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
source:public_key ->
block:Block_hash.t ->
slot:int ->
unit -> MBytes.t tzresult Lwt.t
val proposals:
Client_rpcs.config ->
block ->
net:Net_id.t ->
source:public_key ->
period:Voting_period.t ->
proposals:Hash.Protocol_hash.t list ->
unit -> MBytes.t tzresult Lwt.t
val ballot:
Client_rpcs.config ->
block ->
net:Net_id.t ->
source:public_key ->
period:Voting_period.t ->
proposal:Hash.Protocol_hash.t ->
ballot:Vote.ballot ->
2016-09-08 21:13:10 +04:00
unit -> MBytes.t tzresult Lwt.t
end
module Anonymous : sig
val operations:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
anonymous_operation list ->
MBytes.t tzresult Lwt.t
val seed_nonce_revelation:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
level:Raw_level.t ->
nonce:Nonce.t ->
unit -> MBytes.t tzresult Lwt.t
2017-02-28 05:48:51 +04:00
val faucet:
Client_rpcs.config ->
2017-02-28 05:48:51 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2017-02-28 05:48:51 +04:00
id:public_key_hash ->
int32 -> MBytes.t tzresult Lwt.t
2016-09-08 21:13:10 +04:00
end
2016-10-19 22:47:04 +04:00
val block:
Client_rpcs.config ->
2016-09-08 21:13:10 +04:00
block ->
2017-03-31 15:04:05 +04:00
net:Net_id.t ->
2016-09-08 21:13:10 +04:00
predecessor:Block_hash.t ->
timestamp:Time.t ->
fitness:Fitness.t ->
operations_hash:Operation_list_list_hash.t ->
2016-09-08 21:13:10 +04:00
level:Raw_level.t ->
priority:int ->
proto_level:int ->
2016-09-08 21:13:10 +04:00
seed_nonce_hash:Nonce_hash.t ->
proof_of_work_nonce:MBytes.t ->
unit -> MBytes.t tzresult Lwt.t
2017-03-08 21:47:01 +04:00
(** [block cctxt root ~net ~predecessor ~timestamp ~fitness
~operations ~level ~priority ~seed_nonce_hash
~proof_of_work_nonce ()] returns the binary serialization of
a block header (comprising the shell and protocol-specific
part), rooted at [root], belonging to [net], with
predecessor [predecessor], [timestamp], [fitness],
associated operations [operations], level [level] (the
protocol cannot deduce it from [predecessor] on its own),
priority [priority] (the priority of this miner in the
mining queue associated to [level]), [seed_nonce_hash] (the
chosen seed that we will reveal in the next cycle). *)
2016-09-08 21:13:10 +04:00
end
module Parse : sig
2017-03-30 16:31:16 +04:00
val operations:
Client_rpcs.config ->
2017-03-30 16:31:16 +04:00
block -> ?check:bool -> Updater.raw_operation list ->
proto_operation list tzresult Lwt.t
val block:
Client_rpcs.config ->
2017-04-14 00:48:07 +04:00
block -> Updater.shell_block_header -> MBytes.t ->
Block.proto_header tzresult Lwt.t
2016-09-08 21:13:10 +04:00
end
end