# Protocols

The following protocols are available globally.

- `CompactBlockDownloading`

  Represents what a compact block downloaded should provide to its clients

  See more

  #### Declaration

  Swift

      public protocol CompactBlockDownloading

- `EnhancementProgress`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol EnhancementProgress

- `ZcashNetwork`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol ZcashNetwork

- `NetworkConstants`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol NetworkConstants

- `PendingTransactionEntity`

  Represents a sent transaction that has not been confirmed yet on the blockchain

  See more

  #### Declaration

  Swift

      public protocol PendingTransactionEntity : AbstractTransaction, RawIdentifiable, SignedTransactionEntity

- `ConfirmedTransactionEntity`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol ConfirmedTransactionEntity : MinedTransactionEntity, SignedTransactionEntity

- `TransactionEntity`

  convenience representation of all transaction types

  See more

  #### Declaration

  Swift

      public protocol TransactionEntity

- `AbstractTransaction`

  Abstract representation of all transaction types

  See more

  #### Declaration

  Swift

      public protocol AbstractTransaction

- `SignedTransactionEntity`

  Capabilites of a signed transaction

  See more

  #### Declaration

  Swift

      public protocol SignedTransactionEntity

- `RawIdentifiable`

  Capabilities of an entity that can be uniquely identified by a raw transaction id

  See more

  #### Declaration

  Swift

      public protocol RawIdentifiable

- `MinedTransactionEntity`

  Attributes that a Mined transaction must have

  See more

  #### Declaration

  Swift

      public protocol MinedTransactionEntity : AbstractTransaction, RawIdentifiable

- `UnspentTransactionOutputEntity`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol UnspentTransactionOutputEntity

- `UnifiedViewingKey`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol UnifiedViewingKey

- `UnifiedAddress`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol UnifiedAddress

- `WalletBalance`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol WalletBalance

- `ResourceProvider`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol ResourceProvider

- `PaginatedTransactionRepository`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol PaginatedTransactionRepository

- `ZcashRustBackendWelding`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol ZcashRustBackendWelding

- `LightWalletdInfo`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol LightWalletdInfo

- `CancellableCall`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol CancellableCall

- `LightWalletServiceResponse`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol LightWalletServiceResponse

- `LightWalletService`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol LightWalletService

- `Synchronizer`

  Primary interface for interacting with the SDK. Defines the contract that specific implementations like SdkSynchronizer fulfill.

  See more

  #### Declaration

  Swift

      public protocol Synchronizer

- `KeyValidation`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol KeyValidation

- `KeyDeriving`

  Undocumented

  See more

  #### Declaration

  Swift

      public protocol KeyDeriving

- `Logger`

  Represents what’s expected from a logging entity

  See more

  #### Declaration

  Swift

      public protocol Logger

© 2022 Francisco Gindre and Jack Grigg. All rights reserved. (Last updated: 2022-04-07)

Generated by jazzy ♪♫ v0.14.2, a Realm project.