From cbf28fe329b89ef4a9a817f3a055fb53a34589cb Mon Sep 17 00:00:00 2001 From: ethella Date: Tue, 25 Oct 2022 12:22:12 -0700 Subject: [PATCH 1/2] * Add signTypedDataV4 API --- .../MagicSDK/Modules/Web3/Web3Extension.swift | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Sources/MagicSDK/Modules/Web3/Web3Extension.swift b/Sources/MagicSDK/Modules/Web3/Web3Extension.swift index c1bee2a..aed4794 100644 --- a/Sources/MagicSDK/Modules/Web3/Web3Extension.swift +++ b/Sources/MagicSDK/Modules/Web3/Web3Extension.swift @@ -64,6 +64,22 @@ public extension Web3.Eth { ) properties.provider.send(request: req, response: response) } + + func signTypedDataV4( + account: EthereumAddress, + data: EIP712TypedData, + response: @escaping Web3ResponseCompletion + ) { + let req = RPCRequest( + id: properties.rpcId, + jsonrpc: Web3.jsonrpc, + method: "eth_signTypedData_v4", + params: SignTypedDataCallParams( + account: account, data: data + ) + ) + properties.provider.send(request: req, response: response) + } } // MARK: - web3 extension Promises @@ -95,6 +111,20 @@ public extension Web3.Eth { signTypedDataV3(account: account, data: data, response: promiseResolver(resolver)) } } + + func signTypedDataV4( + account: EthereumAddress, data: EIP712TypedData) -> Promise { + return Promise { resolver in + signTypedDataV4(account: account, data: data, response: promiseResolver(resolver)) + } + } + + func ecRecover( + message: String, signature: String) -> Promise { + return Promise { resolver in + ecRecover(message: message, signature: signature, response: promiseResolver(resolver)) + } + } } public extension RPCRequest { From 716c3e8f90edc8555dbc8acd96c80e27a56cbfc8 Mon Sep 17 00:00:00 2001 From: ethella Date: Tue, 25 Oct 2022 14:46:49 -0700 Subject: [PATCH 2/2] * Remove ecRecover --- Sources/MagicSDK/Modules/Web3/Web3Extension.swift | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Sources/MagicSDK/Modules/Web3/Web3Extension.swift b/Sources/MagicSDK/Modules/Web3/Web3Extension.swift index aed4794..f63e733 100644 --- a/Sources/MagicSDK/Modules/Web3/Web3Extension.swift +++ b/Sources/MagicSDK/Modules/Web3/Web3Extension.swift @@ -118,13 +118,6 @@ public extension Web3.Eth { signTypedDataV4(account: account, data: data, response: promiseResolver(resolver)) } } - - func ecRecover( - message: String, signature: String) -> Promise { - return Promise { resolver in - ecRecover(message: message, signature: signature, response: promiseResolver(resolver)) - } - } } public extension RPCRequest {