A BlockID message contains identifiers to select a block: a height or a
hash. Specification by hash is not implemented, but may be in the future.
BlockRange specifies a series of blocks from start to end inclusive.
Both BlockIDs must be heights; specification by hash is not yet supported.
Chainspec is a placeholder to allow specification of a particular chain fork.
Duration is currently used only for testing, so that the Ping rpc
can simulate a delay, to create many simultaneous connections. Units
are microseconds.
Empty is for gRPCs that take no arguments, currently only GetLightdInfo.
Results are sorted by height, which makes it easy to issue another
request that picks up from where the previous left off.
LightdInfo returns various information about this lightwalletd instance
and the state of the blockchain.
PingResponse is used to indicate concurrency, how many Ping rpcs
are executing upon entry and upon exit (after the delay).
This rpc is used for testing only.
RawTransaction contains the complete transaction data. It also optionally includes
the block height in which the transaction was included, or, when returned
by GetMempoolStream(), the latest block height.
A SendResponse encodes an error code and a string. It is currently used
only by SendTransaction(). If error code is zero, the operation was
successful; if non-zero, it and the message specify the failure.
TransparentAddressBlockFilter restricts the results to the given address
or block range.
The TreeState is derived from the Zcash z_gettreestate rpc.
A TxFilter contains the information needed to identify a particular
transaction: either a block and an index, or a direct transaction hash.
Currently, only specification by hash is supported.