diff --git a/android/src/main/java/com/reactlibrary/IndySdkModule.java b/android/src/main/java/com/reactlibrary/IndySdkModule.java index 5203144..2c2df72 100644 --- a/android/src/main/java/com/reactlibrary/IndySdkModule.java +++ b/android/src/main/java/com/reactlibrary/IndySdkModule.java @@ -1011,6 +1011,17 @@ public void generateNonce(Promise promise) { } } + @ReactMethod + public void generateWalletKey(String configJson, Promise promise) { + try { + String walletKey = Wallet.generateWalletKey(configJson).get(); + promise.resolve(walletKey); + } catch (Exception e) { + IndySdkRejectResponse rejectResponse = new IndySdkRejectResponse(e); + promise.reject(rejectResponse.getCode(), rejectResponse.toJson(), e); + } + } + @ReactMethod public void createRevocationState( int blobStorageReaderHandle, diff --git a/ios/IndySdk.m b/ios/IndySdk.m index a0167a6..a00e760 100644 --- a/ios/IndySdk.m +++ b/ios/IndySdk.m @@ -306,6 +306,10 @@ @interface RCT_EXTERN_MODULE(IndySdk, NSObject) RCT_EXTERN_METHOD(generateNonce: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) +RCT_EXTERN_METHOD(generateWalletKey: (NSString *) configJson + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) + RCT_EXTERN_METHOD(createRevocationState: (nonnull NSNumber *)blobStorageReaderHandle revRegDef:(NSString *)revRegDef revRegDelta:(NSString *)revRegDelta diff --git a/ios/IndySdk.swift b/ios/IndySdk.swift index fdcfedb..234c8d8 100644 --- a/ios/IndySdk.swift +++ b/ios/IndySdk.swift @@ -507,11 +507,17 @@ class IndySdk : NSObject { ) } - @objc func generateNonce(_ resolve: @escaping RCTPromiseResolveBlock, - rejecter reject: @escaping RCTPromiseRejectBlock) { + @objc func generateNonce(_ resolve: @escaping RCTPromiseResolveBlock, + rejecter reject: @escaping RCTPromiseRejectBlock) { IndyAnoncreds.generateNonce(completionWithString(resolve, reject)); } + @objc func generateWalletKey(_ configJson: String, + resolver resolve: @escaping RCTPromiseResolveBlock, + rejecter reject: @escaping RCTPromiseRejectBlock) { + IndyWallet.generateKey(forConfig: configJson, completion: completionWithString(resolve, reject)); + } + @objc func createRevocationState(_ blobStorageReaderHandle: NSNumber, revRegDef: String, revRegDelta: String, timestamp: NSNumber, credRevId: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void { diff --git a/src/index.js b/src/index.js index 67ec784..4e02ec4 100644 --- a/src/index.js +++ b/src/index.js @@ -750,6 +750,10 @@ const indy = { return IndySdk.generateNonce() }, + async generateWalletKey(config?: { seed?: string } = {}) { + return IndySdk.generateWalletKey(JSON.stringify(config)) + }, + async appendTxnAuthorAgreementAcceptanceToRequest( request: LedgerRequest, text: string,