 
 private let WalletSecAttrService = "org.voisine.breadwallet"
 private let SeedEntropyLength = (128/8)
+private let BIP39CreationTime = TimeInterval(BIP39_CREATION_TIME) - NSTimeIntervalSince1970
 
 /// WalletAuthenticator is a protocol whose implementors are able to interact with wallet authentication
 public protocol WalletAuthenticator {

            BRBIP39DeriveKey(&seed.u8.0, nfkdPhrase as String, nil)
            self.masterPubKey = BRBIP32MasterPubKey(&seed, MemoryLayout<UInt512>.size)
            seed = UInt512() // clear seed
            self.earliestKeyTime = TimeInterval(BIP39_CREATION_TIME) - NSTimeIntervalSince1970
            try setKeychainItem(key: KeychainKey.masterPubKey, item: Data(masterPubKey: self.masterPubKey))
            return true
        }

            return
        }
        
        var earliestKeyTime = BIP39CreationTime
        if let creationTime: Data = try keychainItem(key: KeychainKey.creationTime),
            creationTime.count == MemoryLayout<TimeInterval>.stride {
            creationTime.withUnsafeBytes({ earliestKeyTime = $0.pointee })
