ledgerwallet

Ledger wallet library for OCaml
IN THIS PACKAGE
module Status : sig ... end
module Header : sig ... end
type transport_error =
| Hidapi of string
| Incomplete_write of int
| Incomplete_read of int
type error =
| AppError of {
status : Status.t;
msg : string;
}
| ApduError of Header.Error.t
| TransportError of transport_error
val app_error : msg:string -> ( 'a, Status.t ) result -> ( 'a, error ) result
val pp_error : Format.formatter -> error -> unit
val write_apdu : ?pp:Format.formatter -> ?buf:Cstruct.t -> Hidapi.t -> Apdu.t -> ( unit, error ) result

write_apdu ?pp ?buf ledger apdu writes apdu to ledger.

val read : ?pp:Format.formatter -> ?buf:Cstruct.t -> Hidapi.t -> ( Status.t * Cstruct.t, error ) result

read ?pp ?buf ledger reads from ledger a status response and a payload.

val ping : ?pp:Format.formatter -> ?buf:Cstruct.t -> Hidapi.t -> ( unit, error ) result

ping ?pp ?buf ledger writes a ping packet to ledger, optionally containing buf.

val apdu : ?pp:Format.formatter -> ?msg:string -> ?buf:Cstruct.t -> Hidapi.t -> Apdu.t -> ( Cstruct.t, error ) result

apdu ?pp ?msg ?buf ledger apdu writes apdu to ledger and returns the response.

val write_payload : ?pp:Format.formatter -> ?msg:string -> ?buf:Cstruct.t -> ?mark_last:bool -> cmd:Apdu.cmd -> ?p1:int -> ?p2:int -> Hidapi.t -> Cstruct.t -> ( Cstruct.t, error ) result

write_payload ?pp ?msg ?buf ?mark_last ~cmd ?p1 ?p2 ledger payload writes the payload of cmd into ledger and returns the response.