From 0c6d0ab351c1a1acdbc54b1f9696ce074152ae51 Mon Sep 17 00:00:00 2001 From: jk234ert Date: Wed, 25 May 2022 14:08:03 +0800 Subject: [PATCH] feat: support fetch raw data of persona's public key --- Maskbook/Persona/JsonWebKey.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Maskbook/Persona/JsonWebKey.swift b/Maskbook/Persona/JsonWebKey.swift index 04cf22a0..d3da10f9 100644 --- a/Maskbook/Persona/JsonWebKey.swift +++ b/Maskbook/Persona/JsonWebKey.swift @@ -8,6 +8,7 @@ import Foundation import SwiftMsgPack +import web3swift struct JsonWebKey: Codable { struct RsaOtherPrimesInfo: Codable { @@ -80,3 +81,16 @@ extension JsonWebKey { privateKeyPackedData?.base64EncodedString() } } + +extension JsonWebKey { + func getRawData() -> Data? { + guard let x = x, let y = y else { + return nil + } + guard let xData = Data(base64Encoded: x), + let yData = Data(base64Encoded: y) else { + return nil + } + return SECP256K1.combineSerializedPublicKeys(keys: [xData, yData], outputCompressed: true) + } +}