diff --git a/Sources/MagicSDK/Modules/Web3/Web3Extension.swift b/Sources/MagicSDK/Modules/Web3/Web3Extension.swift index c1bee2a..f63e733 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,13 @@ 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)) + } + } } public extension RPCRequest {