WalletBirthday

public struct WalletBirthday

Represents the wallet’s birthday which can be thought of as a checkpoint at the earliest moment in history where transactions related to this wallet could exist. Ideally, this would correspond to the latest block height at the time the wallet key was created. Worst case, the height of Sapling activation could be used (280000).

Knowing a wallet’s birthday can significantly reduce the amount of data that it needs to download because none of the data before that height needs to be scanned for transactions. However, we do need the Sapling tree data in order to construct valid transactions from that point forward. This birthday contains that tree data, allowing us to avoid downloading all the compact blocks required in order to generate it.

New wallets can ignore any blocks created before their birthday.

  • Undocumented

    Declaration

    Swift

    public private(set) var height: BlockHeight { get }
  • Undocumented

    Declaration

    Swift

    public private(set) var hash: String { get }
  • Undocumented

    Declaration

    Swift

    public private(set) var time: UInt32 { get }
  • Undocumented

    Declaration

    Swift

    public private(set) var tree: String { get }
  • Undocumented

    Declaration

    Swift

    static func birthday(with height: BlockHeight) -> WalletBirthday