Page MenuHomePhabricator

D6822.diff
No OneTemporary

D6822.diff

diff --git a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
--- a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
+++ b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
@@ -839,35 +839,59 @@
} catch (const std::exception &e) {
error = e.what();
}
+
+ folly::dynamic parsedPrimary = folly::parseJson(primaryKeysResult);
+ auto primaryCurve25519Cpp{parsedPrimary["curve25519"].asString()};
+ auto primaryEd25519Cpp{parsedPrimary["ed25519"].asString()};
+
+ folly::dynamic parsedNotifications =
+ folly::parseJson(notificationsKeysResult);
+ auto notificationsCurve25519Cpp{
+ parsedNotifications["curve25519"].asString()};
+ auto notificationsEd25519Cpp{
+ parsedNotifications["ed25519"].asString()};
+
+ folly::dynamic blobPayloadJSON = folly::dynamic::object(
+ "primaryIdentityPublicKeys",
+ folly::dynamic::object("ed25519", primaryEd25519Cpp)(
+ "curve25519", primaryCurve25519Cpp))(
+ "notificationIdentityPublicKeys",
+ folly::dynamic::object("ed25519", notificationsEd25519Cpp)(
+ "curve25519", notificationsCurve25519Cpp));
+
+ auto blobPayloadCpp = folly::toJson(blobPayloadJSON);
+ auto signatureCpp = this->cryptoModule->signMessage(blobPayloadCpp);
+
this->jsInvoker_->invokeAsync([=, &innerRt]() {
if (error.size()) {
promise->reject(error);
return;
}
- folly::dynamic parsedPrimary = folly::parseJson(primaryKeysResult);
- auto primaryCurve25519{jsi::String::createFromUtf8(
- innerRt, parsedPrimary["curve25519"].asString())};
- auto primaryEd25519{jsi::String::createFromUtf8(
- innerRt, parsedPrimary["ed25519"].asString())};
+ auto primaryCurve25519{
+ jsi::String::createFromUtf8(innerRt, primaryCurve25519Cpp)};
+ auto primaryEd25519{
+ jsi::String::createFromUtf8(innerRt, primaryEd25519Cpp)};
auto jsiPrimaryIdentityPublicKeys = jsi::Object(innerRt);
jsiPrimaryIdentityPublicKeys.setProperty(
innerRt, "ed25519", primaryEd25519);
jsiPrimaryIdentityPublicKeys.setProperty(
innerRt, "curve25519", primaryCurve25519);
- folly::dynamic parsedNotifications =
- folly::parseJson(notificationsKeysResult);
auto notificationsCurve25519{jsi::String::createFromUtf8(
- innerRt, parsedNotifications["curve25519"].asString())};
- auto notificationsEd25519{jsi::String::createFromUtf8(
- innerRt, parsedNotifications["ed25519"].asString())};
+ innerRt, notificationsCurve25519Cpp)};
+ auto notificationsEd25519{
+ jsi::String::createFromUtf8(innerRt, notificationsEd25519Cpp)};
auto jsiNotificationIdentityPublicKeys = jsi::Object(innerRt);
jsiNotificationIdentityPublicKeys.setProperty(
innerRt, "ed25519", notificationsEd25519);
jsiNotificationIdentityPublicKeys.setProperty(
innerRt, "curve25519", notificationsCurve25519);
+ auto blobPayload{
+ jsi::String::createFromUtf8(innerRt, blobPayloadCpp)};
+ auto signature{jsi::String::createFromUtf8(innerRt, signatureCpp)};
+
auto jsiClientPublicKeys = jsi::Object(innerRt);
jsiClientPublicKeys.setProperty(
innerRt,
@@ -877,6 +901,9 @@
innerRt,
"notificationIdentityPublicKeys",
jsiNotificationIdentityPublicKeys);
+ jsiClientPublicKeys.setProperty(
+ innerRt, "blobPayload", blobPayload);
+ jsiClientPublicKeys.setProperty(innerRt, "signature", signature);
promise->resolve(std::move(jsiClientPublicKeys));
});
};
diff --git a/native/schema/CommCoreModuleSchema.js b/native/schema/CommCoreModuleSchema.js
--- a/native/schema/CommCoreModuleSchema.js
+++ b/native/schema/CommCoreModuleSchema.js
@@ -33,6 +33,8 @@
+ed25519: string,
+curve25519: string,
},
+ +blobPayload: string,
+ +signature: string,
};
export interface Spec extends TurboModule {

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 1, 3:30 PM (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2605349
Default Alt Text
D6822.diff (4 KB)

Event Timeline