diff --git a/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift b/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift index 0fca1df3f70537edc4e8fe62800d6ae093942f88..8dd0ed98e4ed1e8449b1df3c628c71798784de23 100644 --- a/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift +++ b/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift @@ -1,17 +1,22 @@ import Bindings public struct ContactFactsSetter { - public var set: (Data, Data) throws -> Data + public var set: (Data, [Fact]) throws -> Data - public func callAsFunction(contact: Data, facts: Data) throws -> Data { + public func callAsFunction( + contact: Data, + facts: [Fact] + ) throws -> Data { try set(contact, facts) } } extension ContactFactsSetter { public static let live = ContactFactsSetter { contact, facts in + let encoder = JSONEncoder() + let factsData = try encoder.encode(facts) var error: NSError? - let updatedContact = BindingsSetFactsOnContact(contact, facts, &error) + let updatedContact = BindingsSetFactsOnContact(contact, factsData, &error) if let error = error { throw error }