From 18bc435a56b876e4f5535909d43777bc8b2f7ec4 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Tue, 7 Jun 2022 12:04:20 +0200
Subject: [PATCH] Use Identity model in ContactFromIdentityProvider

---
 .../ElixxirDAppsSDK/ContactFromIdentityProvider.swift | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/Sources/ElixxirDAppsSDK/ContactFromIdentityProvider.swift b/Sources/ElixxirDAppsSDK/ContactFromIdentityProvider.swift
index 1643a0cd..292f217d 100644
--- a/Sources/ElixxirDAppsSDK/ContactFromIdentityProvider.swift
+++ b/Sources/ElixxirDAppsSDK/ContactFromIdentityProvider.swift
@@ -1,16 +1,21 @@
 import Bindings
 
 public struct ContactFromIdentityProvider {
-  public var get: (Data) throws -> Data
+  public var get: (Identity) throws -> Data
 
-  public func callAsFunction(identity: Data) throws -> Data {
+  public func callAsFunction(identity: Identity) throws -> Data {
     try get(identity)
   }
 }
 
 extension ContactFromIdentityProvider {
   public static func live(bindingsClient: BindingsClient) -> ContactFromIdentityProvider {
-    ContactFromIdentityProvider(get: bindingsClient.getContactFromIdentity(_:))
+    ContactFromIdentityProvider { identity in
+      let encoder = JSONEncoder()
+      let identityData = try encoder.encode(identity)
+      let contactData = try bindingsClient.getContactFromIdentity(identityData)
+      return contactData
+    }
   }
 }
 
-- 
GitLab