zcash-android-wallet-sdk / cash.z.wallet.sdk.block / CompactBlockProcessor / State

State

sealed class State

Sealed class representing the various states of this processor.

Types

Connected

Marker interface for State instances that represent when the wallet is connected.

interface Connected

Disconnected

State for when we have no connection to lightwalletd.

object Disconnected : State

Downloading

State for when the wallet is actively downloading compact blocks because the latest block height available from the server is greater than what we have locally. We move out of this state once our local height matches the server.

object Downloading : Connected, Syncing, State

Initialized

State the initial state of the processor, once it is constructed.

object Initialized : State

Scanned

State for when we are done decrypting blocks, for now.

class Scanned : Connected, Syncing, State

Scanning

State for when the blocks that have been downloaded are actively being decrypted.

object Scanning : Connected, Syncing, State

Stopped

State for when stop has been called. For simplicity, processors should not be restarted but they are not prevented from this behavior.

object Stopped : State

Syncing

Marker interface for State instances that represent when the wallet is syncing.

interface Syncing

Validating

State for when the blocks that have been downloaded are actively being validated to ensure that there are no gaps and that every block is chain-sequential to the previous block, which determines whether a reorg has happened on our watch.

object Validating : Connected, Syncing, State