# 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.

#### Parameters

`height` | the height at the time the wallet was born
`hash` | the block hash corresponding to the given height
`time` | the time the wallet was born, in seconds
`tree` | the sapling tree corresponding to the given height. This takes around 15 minutes of processing to generate from scratch because all blocks since activation need to be considered. So when it is calculated in advance it can save the user a lot of time.

- `height`

  Undocumented

  #### Declaration

  Swift

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

- `hash`

  Undocumented

  #### Declaration

  Swift

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

- `time`

  Undocumented

  #### Declaration

  Swift

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

- `tree`

  Undocumented

  #### Declaration

  Swift

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

- `birthday(with:network:)`

  Undocumented

  #### Declaration

  Swift

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

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

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