Module Network.Node

type t
val id : t -> string
val network_keypair : t -> Network_keypair.t option
val start : fresh_state:bool -> t -> unit Malleable_error.t
val stop : t -> unit Malleable_error.t
type signed_command_result = {
id : string;
hash : Mina_transaction.Transaction_hash.t;
nonce : Mina_numbers.Account_nonce.t;
}
val graphql_uri : t -> string
val send_payment : logger:Logger.t -> t -> sender_pub_key:Signature_lib.Public_key.Compressed.t -> receiver_pub_key:Signature_lib.Public_key.Compressed.t -> amount:Currency.Amount.t -> fee:Currency.Fee.t -> signed_command_result Async_kernel.Deferred.Or_error.t
val send_payment_with_raw_sig : logger:Logger.t -> t -> sender_pub_key:Signature_lib.Public_key.Compressed.t -> receiver_pub_key:Signature_lib.Public_key.Compressed.t -> amount:Currency.Amount.t -> fee:Currency.Fee.t -> nonce:Mina_numbers.Account_nonce.t -> memo:string -> valid_until:Mina_numbers.Global_slot.t -> raw_signature:string -> signed_command_result Async_kernel.Deferred.Or_error.t
val must_send_payment_with_raw_sig : logger:Logger.t -> t -> sender_pub_key:Signature_lib.Public_key.Compressed.t -> receiver_pub_key:Signature_lib.Public_key.Compressed.t -> amount:Currency.Amount.t -> fee:Currency.Fee.t -> nonce:Mina_numbers.Account_nonce.t -> memo:string -> valid_until:Mina_numbers.Global_slot.t -> raw_signature:string -> signed_command_result Malleable_error.t
val send_delegation : logger:Logger.t -> t -> sender_pub_key:Signature_lib.Public_key.Compressed.t -> receiver_pub_key:Signature_lib.Public_key.Compressed.t -> fee:Currency.Fee.t -> signed_command_result Async_kernel.Deferred.Or_error.t
val must_send_delegation : logger:Logger.t -> t -> sender_pub_key:Signature_lib.Public_key.Compressed.t -> receiver_pub_key:Signature_lib.Public_key.Compressed.t -> fee:Currency.Fee.t -> signed_command_result Malleable_error.t
val send_zkapp : logger:Logger.t -> t -> zkapp_command:Mina_base.Zkapp_command.t -> string Async_kernel.Deferred.Or_error.t

returned string is the transaction id

val must_send_test_payments : repeat_count:Unsigned.UInt32.t -> repeat_delay_ms:Unsigned.UInt32.t -> logger:Logger.t -> t -> senders:Signature_lib.Private_key.t list -> receiver_pub_key:Signature_lib.Public_key.Compressed.t -> amount:Currency.Amount.t -> fee:Currency.Fee.t -> unit Malleable_error.t
type account_data = {
nonce : Mina_numbers.Account_nonce.t;
total_balance : Currency.Balance.t;
liquid_balance_opt : Currency.Balance.t option;
locked_balance_opt : Currency.Balance.t option;
}
val get_account_data : logger:Logger.t -> t -> account_id:Mina_base.Account_id.t -> account_data Async_kernel.Deferred.Or_error.t
val must_get_account_data : logger:Logger.t -> t -> account_id:Mina_base.Account_id.t -> account_data Malleable_error.t
val get_account_permissions : logger:Logger.t -> t -> account_id:Mina_base.Account_id.t -> Mina_base.Permissions.t Async_kernel.Deferred.Or_error.t
val get_account_update : logger:Logger.t -> t -> account_id:Mina_base.Account_id.t -> Mina_base.Account_update.Update.t Async_kernel.Deferred.Or_error.t

the returned Update.t is constructed from the fields of the given account, as if it had been applied to the account

val get_peer_id : logger:Logger.t -> t -> (string * string list) Async_kernel.Deferred.Or_error.t
val must_get_peer_id : logger:Logger.t -> t -> (string * string list) Malleable_error.t
val get_best_chain : ?max_length:int -> logger:Logger.t -> t -> Intf.best_chain_block list Async_kernel.Deferred.Or_error.t
val must_get_best_chain : ?max_length:int -> logger:Logger.t -> t -> Intf.best_chain_block list Malleable_error.t
val dump_archive_data : logger:Logger.t -> t -> data_file:string -> unit Malleable_error.t
val run_replayer : logger:Logger.t -> t -> string Malleable_error.t
val dump_mina_logs : logger:Logger.t -> t -> log_file:string -> unit Malleable_error.t
val dump_precomputed_blocks : logger:Logger.t -> t -> unit Malleable_error.t
val get_metrics : logger:Logger.t -> t -> Intf.metrics_t Async_kernel.Deferred.Or_error.t