 
     override func viewDidAppear(_ animated: Bool) {
         super.viewDidAppear(animated)
-        guard let walletManager = self.walletManager else { return }
-        if LAContext.canUseTouchID && !walletManager.pinLoginRequired && !hasAttemptedToShowTouchId {
+        if shouldUseTouchId && !hasAttemptedToShowTouchId {
             hasAttemptedToShowTouchId = true
             touchIdTapped()
         }

    }

    private func addTouchIdButton() {
        guard let walletManager = walletManager else { return }
        guard LAContext.canUseTouchID && !walletManager.pinLoginRequired else { return }
        view.addSubview(touchId)
        touchId.addTarget(self, action: #selector(touchIdTapped), for: .touchUpInside)
        touchId.constrain([

        }
    }

    private var shouldUseTouchId: Bool {
        guard let walletManager = self.walletManager else { return false }
        return LAContext.canUseTouchID && !walletManager.pinLoginRequired && walletManager.spendingLimit > 0
    }

    @objc func touchIdTapped() {
        walletManager?.authenticate(touchIDPrompt: S.LoginScreen.touchIdPrompt, completion: { success in
            if success {
