struct TickerIdentifier: Codable, Identifiable {
    
    let id: String
    
    var title: String {
        "\(firstCurrencyIdentifier)/\(secondCurrencyIdentifier)"
    }
    
    var firstCurrencyIdentifier: String {
        currencyIdentifier.first ?? ""
    }
    
    var secondCurrencyIdentifier: String {
        currencyIdentifier.last ?? ""
    }
    
    var firstCurrencyFullName: String?
    var secondCurrencyFullName: String?
    
    func tagsContain(searchTerm: String) -> Bool {
        for tag in tags {
            if tag.localizedCaseInsensitiveContains(searchTerm) {
                return true
            }
        }
        
        return false
    }
    
    private var currencyIdentifier: [String] {
        id.components(separatedBy: "-")
    }
    
    private var tags: [String] {
        var tags: [String] = [title]
        
        if let firstCurrencyFullName = firstCurrencyFullName {
            tags.append(firstCurrencyFullName)
        }
        
        if let secondCurrencyFullName = secondCurrencyFullName {
            tags.append(secondCurrencyFullName)
        }
        
        return tags
    }
}

extension TickerIdentifier: Equatable {
    
    static func == (lhs: TickerIdentifier, rhs: TickerIdentifier) -> Bool {
        return lhs.id == rhs.id
    }
    
}

struct TickerIdentifier: Codable, Equatable, Identifiable {
    
    let id: String
    
    var title: String {
        "\(firstCurrencyIdentifier)/\(secondCurrencyIdentifier)"
    }
    
    var firstCurrencyIdentifier: String {
        currencyIdentifier.first ?? ""
    }
    
    var secondCurrencyIdentifier: String {
        currencyIdentifier.last ?? ""
    }
    
    var firstCurrencyFullName: String?
    var secondCurrencyFullName: String?
    
    func tagsContain(searchTerm: String) -> Bool {
        for tag in tags {
            if tag.localizedCaseInsensitiveContains(searchTerm) {
                return true
            }
        }
        
        return false
    }
    
    private var currencyIdentifier: [String] {
        id.components(separatedBy: "-")
    }
    
    private var tags: [String] {
        var tags: [String] = [title]
        
        if let firstCurrencyFullName = firstCurrencyFullName {
            tags.append(firstCurrencyFullName)
        }
        
        if let secondCurrencyFullName = secondCurrencyFullName {
            tags.append(secondCurrencyFullName)
        }
        
        return tags
    }
}

--- 
+++ 
@@ -1,4 +1,4 @@
-struct TickerIdentifier: Codable, Equatable, Identifiable {
+struct TickerIdentifier: Codable, Identifiable {
     
     let id: String
     
@@ -45,3 +45,11 @@
         return tags
     }
 }
+
+extension TickerIdentifier: Equatable {
+    
+    static func == (lhs: TickerIdentifier, rhs: TickerIdentifier) -> Bool {
+        return lhs.id == rhs.id
+    }
+    
+}
Fix filtering available tickers on "Adder" view
