From 263bf64e289b133413183c29933bf59ad24db901 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Sat, 19 Oct 2024 12:51:16 -0700 Subject: [PATCH] check the chain id --- Sources/XMTPiOS/Client.swift | 11 +++++++---- Sources/XMTPiOS/SigningKey.swift | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Sources/XMTPiOS/Client.swift b/Sources/XMTPiOS/Client.swift index e9039bde..f87c0e3f 100644 --- a/Sources/XMTPiOS/Client.swift +++ b/Sources/XMTPiOS/Client.swift @@ -161,7 +161,7 @@ public final class Client { } } - private static func initializeClient( + static func initializeClient( accountAddress: String, options: ClientOptions, signingKey: SigningKey?, @@ -210,8 +210,8 @@ public final class Client { ) } - public static func buildV3(address: String, scwChainId: Int64? = nil, options: ClientOptions) async throws -> Client { - let accountAddress = if(scwChainId != nil) { "eip155:\(String(describing: scwChainId)):\(address.lowercased())" } else { address } + public static func buildV3(address: String, chainId: Int64? = nil, options: ClientOptions) async throws -> Client { + let accountAddress = if(chainId != nil) { "eip155:\(String(describing: chainId)):\(address.lowercased())" } else { address } let inboxId = try await getOrCreateInboxId(options: options, address: accountAddress) return try await initializeClient( @@ -275,10 +275,13 @@ public final class Client { if let signingKey = signingKey { do { if signingKey.isSmartContractWallet { + guard let chainId = signingKey.chainId else { + throw ClientError.creationError("Chain id must be present to sign Smart Contract Wallet") + } let signedData = try await signingKey.signSCW(message: signatureRequest.signatureText()) try await signatureRequest.addScwSignature(signatureBytes: signedData, address: signingKey.address, - chainId: UInt64(signingKey.chainId), + chainId: UInt64(chainId), blockNumber: signingKey.blockNumber.flatMap { $0 >= 0 ? UInt64($0) : nil }) } else { diff --git a/Sources/XMTPiOS/SigningKey.swift b/Sources/XMTPiOS/SigningKey.swift index 20523242..70d29de7 100644 --- a/Sources/XMTPiOS/SigningKey.swift +++ b/Sources/XMTPiOS/SigningKey.swift @@ -45,8 +45,8 @@ extension SigningKey { return false } - public var chainId: Int64 { - return 1 + public var chainId: Int64? { + return nil } public var blockNumber: Int64? {