diff --git a/CHANGELOG.MD b/CHANGELOG.MD
index dc8530d..db00035 100644
--- a/CHANGELOG.MD
+++ b/CHANGELOG.MD
@@ -1,5 +1,10 @@
# OST Wallet SDK Changelog
+## Version 2.3.10
+* OstWalletSdk supports custom loader for OstWalletUI. To use custom loader, please update downstream sdk.
+iOS:`v2.3.5`
+Android:`v2.3.6`
+
## Version 2.3.9
* Downstream iOS Sdk updated to `v2.3.4`
diff --git a/README.md b/README.md
index d80b329..7ef4255 100644
--- a/README.md
+++ b/README.md
@@ -127,7 +127,9 @@ Starting version `2.3.1` application can also pass SDK config in the initialize
"REQUEST_TIMEOUT_DURATION": 60,
"SESSION_BUFFER_TIME": 3600,
"PRICE_POINT_CURRENCY_SYMBOL": "USD",
- "USE_SEED_PASSWORD": false
+ "USE_SEED_PASSWORD": false,
+ "NO_OF_SESSIONS_ON_ACTIVATE_USER": 1,
+ "ENABLE_IOS_DEVICE_RESTORE": false
};
/**
diff --git a/android/build.gradle b/android/build.gradle
index b900699..b9c192a 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -45,5 +45,5 @@ repositories {
dependencies {
implementation 'com.facebook.react:react-native:+'
- implementation 'com.ost:ost-wallet-sdk-android:2.3.5'
+ implementation 'com.ost:ost-wallet-sdk-android:2.3.6'
}
diff --git a/android/src/main/java/com/ostwalletrnsdk/OstRNSdkJsonApiModule.java b/android/src/main/java/com/ostwalletrnsdk/OstRNSdkJsonApiModule.java
index aa76e52..49db67e 100644
--- a/android/src/main/java/com/ostwalletrnsdk/OstRNSdkJsonApiModule.java
+++ b/android/src/main/java/com/ostwalletrnsdk/OstRNSdkJsonApiModule.java
@@ -15,6 +15,8 @@
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableMap;
+import com.ost.walletsdk.annotations.NonNull;
+import com.ost.walletsdk.annotations.Nullable;
import com.ost.walletsdk.network.OstJsonApi;
import com.ost.walletsdk.network.OstJsonApiCallback;
import com.ost.walletsdk.workflows.errors.OstError;
@@ -25,9 +27,6 @@
import java.util.HashMap;
import java.util.Map;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
public class OstRNSdkJsonApiModule extends ReactContextBaseJavaModule {
private final ReactApplicationContext reactContext;
@@ -174,7 +173,7 @@ public void onOstJsonApiSuccess(@Nullable JSONObject data) {
}
@Override
- public void onOstJsonApiError(@Nonnull OstError err, @Nullable JSONObject data) {
+ public void onOstJsonApiError(@NonNull OstError err, @Nullable JSONObject data) {
try {
if (null == data) data = new JSONObject();
diff --git a/android/src/main/java/com/ostwalletrnsdk/OstWalletRnSdkModule.java b/android/src/main/java/com/ostwalletrnsdk/OstWalletRnSdkModule.java
index 50ee61a..fda3cbc 100644
--- a/android/src/main/java/com/ostwalletrnsdk/OstWalletRnSdkModule.java
+++ b/android/src/main/java/com/ostwalletrnsdk/OstWalletRnSdkModule.java
@@ -11,8 +11,6 @@
package com.ostwalletrnsdk;
import android.graphics.Bitmap;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Base64;
import android.util.Log;
@@ -22,6 +20,8 @@
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableMap;
import com.ost.walletsdk.OstSdk;
+import com.ost.walletsdk.annotations.NonNull;
+import com.ost.walletsdk.annotations.Nullable;
import com.ost.walletsdk.ecKeyInteracts.UserPassphrase;
import com.ost.walletsdk.models.entities.OstDevice;
import com.ost.walletsdk.models.entities.OstSession;
diff --git a/android/src/main/java/com/ostwalletrnsdk/OstWorkFlowCallbackImpl.java b/android/src/main/java/com/ostwalletrnsdk/OstWorkFlowCallbackImpl.java
index 8bd5d80..f9910f9 100644
--- a/android/src/main/java/com/ostwalletrnsdk/OstWorkFlowCallbackImpl.java
+++ b/android/src/main/java/com/ostwalletrnsdk/OstWorkFlowCallbackImpl.java
@@ -17,6 +17,7 @@
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.ost.walletsdk.OstSdk;
+import com.ost.walletsdk.annotations.Nullable;
import com.ost.walletsdk.models.entities.OstBaseEntity;
import com.ost.walletsdk.workflows.OstContextEntity;
import com.ost.walletsdk.workflows.OstWorkflowContext;
@@ -34,8 +35,6 @@
import java.util.HashMap;
-import javax.annotation.Nullable;
-
public class OstWorkFlowCallbackImpl implements OstWorkFlowCallback {
private static final String LOG_TAG = "OstWorkFlowCallbackImpl";
diff --git a/android/src/main/java/com/ostwalletrnsdk/ui/OstUICallbackImpl.java b/android/src/main/java/com/ostwalletrnsdk/ui/OstUICallbackImpl.java
index d01c5ec..30f8d8a 100644
--- a/android/src/main/java/com/ostwalletrnsdk/ui/OstUICallbackImpl.java
+++ b/android/src/main/java/com/ostwalletrnsdk/ui/OstUICallbackImpl.java
@@ -8,6 +8,7 @@
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.ost.walletsdk.OstSdk;
+import com.ost.walletsdk.annotations.Nullable;
import com.ost.walletsdk.models.entities.OstBaseEntity;
import com.ost.walletsdk.ui.OstPassphraseAcceptor;
import com.ost.walletsdk.ui.OstUserPassphraseCallback;
@@ -24,8 +25,6 @@
import java.util.HashMap;
-import javax.annotation.Nullable;
-
public class OstUICallbackImpl implements OstUserPassphraseCallback,
RequestAcknowledgedListener,
FlowInterruptListener,
diff --git a/documentation/OstWalletUI.md b/documentation/OstWalletUI.md
index 1dea54d..41d091c 100644
--- a/documentation/OstWalletUI.md
+++ b/documentation/OstWalletUI.md
@@ -18,7 +18,7 @@ import {OstWalletSdkUI} from '@ostdotcom/ost-wallet-sdk-react-native';
```
### Set Theme Config
-Theme for OstWalletSdkUI can be initialized by calling `setThemeConfig` API which setup OstWalletSdkUI theme config. To define custom theme config, please refer to [Theme Config](https://github.com/ostdotcom/ost-wallet-sdk-android/blob/release-2.3/documentation/ThemeConfig.md) documentation.
+Theme for OstWalletSdkUI can be initialized by calling `setThemeConfig` API which setup OstWalletSdkUI theme config. To define custom theme config, please refer to [Theme Config Android](https://github.com/ostdotcom/ost-wallet-sdk-android/blob/release-2.3/documentation/ThemeConfig.md)/[Theme Config iOS](https://github.com/ostdotcom/ost-wallet-sdk-ios/blob/release-2.3/documentation/ThemeConfig.md) documentation.
```js
// Define the content config
@@ -39,7 +39,7 @@ Theme for OstWalletSdkUI can be initialized by calling `setThemeConfig` API whic
### Set Content Config
Content for OstWalletSdkUI can be initialized by calling `setContentConfig` API which set-up OstWalletSdkUI content config.
-To define custom content config, please refer to [Content Config](https://github.com/ostdotcom/ost-wallet-sdk-android/blob/release-2.3/documentation/ContentConfig.md) documentation.
+To define custom content config, please refer to [Content Config Android](https://github.com/ostdotcom/ost-wallet-sdk-android/blob/release-2.3/documentation/ContentConfig.md)/[Content Config iOS](https://github.com/ostdotcom/ost-wallet-sdk-ios/blob/release-2.3/documentation/ContentConfig.md) documentation.
```js
// Please update terms_and_condition.url as per your needs.
@@ -68,6 +68,15 @@ To define custom content config, please refer to [Content Config](https://github
*/
OstWalletSdkUI.setContentConfig(content_config);
```
+### Set Loader Manager
+
+Application loader for OstWalletUI can be initialized by calling `setLoaderManager` API. This API is available in native SDK.
+Custom loader is supported from OstWalletSdk-native version Android v`2.3.6` Or iOS v`2.3.5`
+Please, verify OstWalletSdk version in `Cartfile`.
+
+Custom loader needs to be written in native code (java, swift/Objective-C).
+Sample code for custom loader is available in respective platform directory. For [iOS](https://github.com/ostdotcom/ost-wallet-sdk-ios/blob/release-2.3/Samples/CustomLoader/OstMockCustomLoader.md) and [Android](https://github.com/ostdotcom/ost-wallet-sdk-android/blob/tem/customLoader/Samples/CustomLoader/OstMockCustomLoader.md)
+
### Setup your Passphrase Prefix Delegate
`Passphrase Prefix` is a salt provided by your application that assists in generation of User's recovery key using user's PIN.
diff --git a/documentation/android_setup.md b/documentation/android_setup.md
index 577af3d..9d66d3c 100644
--- a/documentation/android_setup.md
+++ b/documentation/android_setup.md
@@ -49,6 +49,15 @@ Create file `./android/app/src/main/assets/ost-mobilesdk.json` with application
"USE_SEED_PASSWORD": false
}
```
+
+1. BlockGenerationTime: The time in seconds it takes to mine a block on auxiliary chain.
+2. PricePointTokenSymbol: This is the symbol of base currency. So its value will be OST.
+3. PricePointCurrencySymbol: It is the symbol of quote currency used in price conversion.
+4. RequestTimeoutDuration: Request timeout in seconds for https calls made by ostWalletSdk.
+5. PinMaxRetryCount: Maximum retry count to get the wallet Pin from user.
+6. SessionBufferTime: Buffer expiration time for session keys in seconds. Default value is 3600 seconds.
+7. UseSeedPassword: The seed password is salt to PBKDF2 used to generate seed from the mnemonic. When UseSeedPassword set to `true`, different deterministic salts are used for different keys.
+
**NOTE: These configurations are MANDATORY for successful operation. Failing to set them will significantly impact usage.**
diff --git a/documentation/ios_setup.md b/documentation/ios_setup.md
index 3adea7f..69222e3 100644
--- a/documentation/ios_setup.md
+++ b/documentation/ios_setup.md
@@ -15,7 +15,7 @@ Carthage looks at a file called `Cartfile` to determine which libraries to insta
Add following entry in your `Cartfile`
```bash
- github "ostdotcom/ost-wallet-sdk-ios" == 2.3.4
+ github "ostdotcom/ost-wallet-sdk-ios" == 2.3.5
```
Now to actually install everything run the following in your terminal:
@@ -95,37 +95,41 @@ Create `OstWalletSdk.plist` file. This file has configuration attributes used by
```
-
-
-
- BlockGenerationTime
- 3
- PricePointCurrencySymbol
- USD
- RequestTimeoutDuration
- 30
- PinMaxRetryCount
- 3
- SessionBufferTime
- 3600
- UseSeedPassword
-
-
-
+
+
+
+ BlockGenerationTime
+ 3
+ PricePointTokenSymbol
+ OST
+ PricePointCurrencySymbol
+ USD
+ RequestTimeoutDuration
+ 30
+ PinMaxRetryCount
+ 3
+ SessionBufferTime
+ 3600
+ UseSeedPassword
+
+ EnableIOSDeviceRestore
+
+
+
```
1. BlockGenerationTime: The time in seconds it takes to mine a block on auxiliary chain.
-2. PricePointCurrencySymbol: It is the symbol of quote currency used in price conversion.
-3. RequestTimeoutDuration: Request timeout in seconds for https calls made by ostWalletSdk.
-4. PinMaxRetryCount: Maximum retry count to get the wallet Pin from user.
-5. SessionBufferTime: Buffer expiration time for session keys in seconds.
-6. UseSeedPassword: Uses mnemonics and password to generate seed.
+2. PricePointTokenSymbol: This is the symbol of base currency. So its value will be OST.
+3. PricePointCurrencySymbol: It is the symbol of quote currency used in price conversion.
+4. RequestTimeoutDuration: Request timeout in seconds for https calls made by ostWalletSdk.
+5. PinMaxRetryCount: Maximum retry count to get the wallet Pin from user.
+6. SessionBufferTime: Buffer expiration time for session keys in seconds. Default value is 3600 seconds.
+7. UseSeedPassword: The seed password is salt to PBKDF2 used to generate seed from the mnemonic. When UseSeedPassword set to `true`, different deterministic salts are used for different keys.
+8. EnableIOSDeviceRestore: When EnableIOSDeviceRestore is set to `true`, After app re-installation, SDK checks for available device key in Keychain for given user id.
**These configurations are MANDATORY for successful operation. Failing to set them will significantly impact usage.**
-
-
# Next Steps
1. [SDK Usage](../README.md#sdk-usage)
diff --git a/package.json b/package.json
index f294595..af517bb 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@ostdotcom/ost-wallet-sdk-react-native",
- "version": "2.3.9",
+ "version": "2.3.10",
"description": "OST Wallet SDK for React Native applications.",
"main": "./js/index.js",
"repository": {