react-native-instantpay-code-push 1.1.6 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +3 -0
- package/android/src/main/java/com/instantpaycodepush/BundleFileStorageService.kt +0 -5
- package/android/src/main/java/com/instantpaycodepush/BundleMetadata.kt +4 -9
- package/android/src/main/java/com/instantpaycodepush/CommonHelper.kt +12 -8
- package/android/src/main/java/com/instantpaycodepush/DecompressService.kt +1 -2
- package/android/src/main/java/com/instantpaycodepush/HashUtils.kt +0 -1
- package/android/src/main/java/com/instantpaycodepush/InstantpayCodePushModule.kt +20 -2
- package/android/src/main/java/com/instantpaycodepush/IpayCodePush.kt +5 -0
- package/android/src/main/java/com/instantpaycodepush/IpayCodePushImpl.kt +1 -3
- package/android/src/main/java/com/instantpaycodepush/OkHttpDownloadService.kt +0 -1
- package/android/src/main/java/com/instantpaycodepush/SignatureVerifier.kt +139 -1
- package/android/src/main/java/com/instantpaycodepush/ZipDecompressionStrategy.kt +0 -1
- package/lib/module/NativeInstantpayCodePush.js.map +1 -1
- package/lib/module/error.js +6 -0
- package/lib/module/error.js.map +1 -1
- package/lib/module/index.js +12 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/native.js +10 -0
- package/lib/module/native.js.map +1 -1
- package/lib/module/types.js +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/NativeInstantpayCodePush.d.ts +1 -0
- package/lib/typescript/src/NativeInstantpayCodePush.d.ts.map +1 -1
- package/lib/typescript/src/error.d.ts +6 -0
- package/lib/typescript/src/error.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +10 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native.d.ts +6 -0
- package/lib/typescript/src/native.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeInstantpayCodePush.ts +1 -0
- package/src/error.ts +7 -0
- package/src/index.tsx +13 -0
- package/src/native.ts +11 -0
- package/src/types.ts +2 -1
package/android/build.gradle
CHANGED
|
@@ -40,6 +40,9 @@ android {
|
|
|
40
40
|
def minBundleId = project.hasProperty("MIN_BUNDLE_ID") ? project.properties["MIN_BUNDLE_ID"] : null
|
|
41
41
|
buildConfigField "String", "MIN_BUNDLE_ID", minBundleId == null ? "\"null\"" : "\"${minBundleId}\""
|
|
42
42
|
|
|
43
|
+
//For Debug Log
|
|
44
|
+
def ipayCodePushLogEnable = project.hasProperty("IpayCodePush_Log") ? project.properties["IpayCodePush_Log"] : null
|
|
45
|
+
buildConfigField "boolean", "IpayCodePush_Log", ipayCodePushLogEnable == null ? "false" : "${ipayCodePushLogEnable}"
|
|
43
46
|
|
|
44
47
|
}
|
|
45
48
|
|
|
@@ -2,7 +2,6 @@ package com.instantpaycodepush
|
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
4
|
import android.os.StatFs
|
|
5
|
-
import android.util.Log
|
|
6
5
|
import kotlinx.coroutines.Dispatchers
|
|
7
6
|
import kotlinx.coroutines.withContext
|
|
8
7
|
import java.io.File
|
|
@@ -168,7 +167,6 @@ class BundleFileStorageService(
|
|
|
168
167
|
}
|
|
169
168
|
} catch (e: Exception) {
|
|
170
169
|
CommonHelper.logPrint(CLASS_TAG, "Error checking isolationKey: ${e.message}")
|
|
171
|
-
Log.e(CLASS_TAG, "Error checking isolationKey: ${e.message}")
|
|
172
170
|
}
|
|
173
171
|
}
|
|
174
172
|
|
|
@@ -194,7 +192,6 @@ class BundleFileStorageService(
|
|
|
194
192
|
}
|
|
195
193
|
} catch (e: Exception) {
|
|
196
194
|
CommonHelper.logPrint(CLASS_TAG,"Error removing bundle ${file.name}: ${e.message}")
|
|
197
|
-
Log.e(CLASS_TAG, "Error removing bundle ${file.name}: ${e.message}")
|
|
198
195
|
}
|
|
199
196
|
}
|
|
200
197
|
}
|
|
@@ -202,7 +199,6 @@ class BundleFileStorageService(
|
|
|
202
199
|
CommonHelper.logPrint(CLASS_TAG, "Migration cleanup complete: removed $cleanedCount bundles")
|
|
203
200
|
} catch (e: Exception) {
|
|
204
201
|
CommonHelper.logPrint(CLASS_TAG, "Error during migration cleanup: ${e.message}")
|
|
205
|
-
Log.e(CLASS_TAG, "Error during migration cleanup: ${e.message}")
|
|
206
202
|
}
|
|
207
203
|
}
|
|
208
204
|
|
|
@@ -828,7 +824,6 @@ class BundleFileStorageService(
|
|
|
828
824
|
""
|
|
829
825
|
} catch (e: Exception) {
|
|
830
826
|
CommonHelper.logPrint(CLASS_TAG, "Error getting base URL: ${e.message}")
|
|
831
|
-
Log.e(CLASS_TAG, "Error getting base URL: ${e.message}")
|
|
832
827
|
""
|
|
833
828
|
}
|
|
834
829
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
package com.instantpaycodepush
|
|
2
2
|
|
|
3
|
-
import android.util.Log
|
|
4
3
|
import org.json.JSONArray
|
|
5
4
|
import org.json.JSONObject
|
|
6
5
|
import java.io.File
|
|
@@ -92,8 +91,7 @@ data class BundleMetadata(
|
|
|
92
91
|
|
|
93
92
|
metadata
|
|
94
93
|
} catch (e: Exception) {
|
|
95
|
-
CommonHelper.logPrint(CLASS_TAG, "Failed to load metadata from file $e")
|
|
96
|
-
Log.e(CLASS_TAG, "Failed to load metadata from file", e)
|
|
94
|
+
CommonHelper.logPrint(CLASS_TAG, "Failed to load metadata from file and Error Message : ${e.message} and Raw Error : $e")
|
|
97
95
|
null
|
|
98
96
|
}
|
|
99
97
|
|
|
@@ -119,8 +117,7 @@ data class BundleMetadata(
|
|
|
119
117
|
CommonHelper.logPrint(CLASS_TAG, "Saved metadata to file: ${file.absolutePath}")
|
|
120
118
|
true
|
|
121
119
|
} catch (e: Exception) {
|
|
122
|
-
CommonHelper.logPrint(CLASS_TAG, "Failed to save metadata to file: $e")
|
|
123
|
-
Log.e(CLASS_TAG, "Failed to save metadata to file", e)
|
|
120
|
+
CommonHelper.logPrint(CLASS_TAG, "Failed to save metadata to file! and Error Message : ${e.message} and Raw Error : $e")
|
|
124
121
|
false
|
|
125
122
|
}
|
|
126
123
|
}
|
|
@@ -184,8 +181,7 @@ data class CrashedHistory(
|
|
|
184
181
|
val json = JSONObject(jsonString)
|
|
185
182
|
fromJson(json)
|
|
186
183
|
} catch (e: Exception) {
|
|
187
|
-
CommonHelper.logPrint(CLSSS_TAG, "Failed to load crashed history from file: $e")
|
|
188
|
-
Log.e(CLSSS_TAG, "Failed to load crashed history from file", e)
|
|
184
|
+
CommonHelper.logPrint(CLSSS_TAG, "Failed to load crashed history from file! and Error Message : ${e.message} and Raw Error: $e")
|
|
189
185
|
CrashedHistory()
|
|
190
186
|
}
|
|
191
187
|
}
|
|
@@ -206,8 +202,7 @@ data class CrashedHistory(
|
|
|
206
202
|
CommonHelper.logPrint(CLSSS_TAG, "Saved crashed history to file: ${file.absolutePath}")
|
|
207
203
|
true
|
|
208
204
|
} catch (e: Exception) {
|
|
209
|
-
CommonHelper.logPrint(CLSSS_TAG, "Failed to save crashed history to file: $e")
|
|
210
|
-
Log.e(CLSSS_TAG, "Failed to save crashed history to file", e)
|
|
205
|
+
CommonHelper.logPrint(CLSSS_TAG, "Failed to save crashed history to file and Error Message : ${e.message} and Raw Error: $e")
|
|
211
206
|
false
|
|
212
207
|
}
|
|
213
208
|
|
|
@@ -17,7 +17,9 @@ object CommonHelper {
|
|
|
17
17
|
|
|
18
18
|
val fullTagName = "$MAIN_LOG_TAG $classTag"
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
if(BuildConfig.IpayCodePush_Log){
|
|
21
|
+
Log.i(fullTagName, value)
|
|
22
|
+
}
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
fun logPrint(type:String,classTag:String, value: String?) {
|
|
@@ -27,13 +29,15 @@ object CommonHelper {
|
|
|
27
29
|
|
|
28
30
|
val fullTagName = "$MAIN_LOG_TAG $classTag"
|
|
29
31
|
|
|
30
|
-
if(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
if(BuildConfig.IpayCodePush_Log){
|
|
33
|
+
if(type == "WARNING_LOG"){
|
|
34
|
+
Log.i(fullTagName, value)
|
|
35
|
+
} else if(type == "ERROR_LOG") {
|
|
36
|
+
Log.e(fullTagName, value)
|
|
37
|
+
}
|
|
38
|
+
else{
|
|
39
|
+
Log.i(fullTagName, value)
|
|
40
|
+
}
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
package com.instantpaycodepush
|
|
2
2
|
|
|
3
|
-
import android.util.Log
|
|
4
3
|
import java.io.File
|
|
5
4
|
|
|
6
5
|
/**
|
|
@@ -64,7 +63,7 @@ class DecompressService {
|
|
|
64
63
|
Please verify the file is not corrupted and matches one of the supported formats.
|
|
65
64
|
""".trimIndent()
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
CommonHelper.logPrint(CommonHelper.ERROR_LOG,CLASS_TAG, errorMessage)
|
|
68
67
|
return false
|
|
69
68
|
}
|
|
70
69
|
|
|
@@ -16,6 +16,7 @@ import kotlinx.coroutines.launch
|
|
|
16
16
|
|
|
17
17
|
import android.os.Handler
|
|
18
18
|
import android.os.Looper
|
|
19
|
+
import org.json.JSONObject
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
@ReactModule(name = InstantpayCodePushModule.NAME)
|
|
@@ -86,11 +87,28 @@ class InstantpayCodePushModule(reactContext: ReactApplicationContext) : NativeIn
|
|
|
86
87
|
|
|
87
88
|
val fileHash = params.getString("fileHash")
|
|
88
89
|
|
|
90
|
+
//Verify Bundle Url Signature
|
|
91
|
+
val decryptSignatureData = SignatureVerifier.decryptSignatureUrl(fileUrl)
|
|
92
|
+
|
|
93
|
+
if (decryptSignatureData.isEmpty()){
|
|
94
|
+
promise.reject("INVALID_URL_SIGNATURE", "Invalid 'fileUrl' Signature: $fileUrl")
|
|
95
|
+
return@launch
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
val planSignatureData = JSONObject(decryptSignatureData)
|
|
99
|
+
|
|
100
|
+
if(planSignatureData.getString("fileHash") != fileHash){
|
|
101
|
+
promise.reject("INVALID_URL_SIGNATURE", "Invalid 'fileUrl' Hash: $fileUrl")
|
|
102
|
+
return@launch
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
val fileUrlPlan = planSignatureData.getString("bundleUrl")
|
|
106
|
+
|
|
89
107
|
val impl = getInstance()
|
|
90
108
|
|
|
91
109
|
impl.updateBundle(
|
|
92
110
|
bundleId,
|
|
93
|
-
|
|
111
|
+
fileUrlPlan,
|
|
94
112
|
fileHash,
|
|
95
113
|
) { progress ->
|
|
96
114
|
// Post to Main thread for React Native event emission
|
|
@@ -127,6 +145,7 @@ class InstantpayCodePushModule(reactContext: ReactApplicationContext) : NativeIn
|
|
|
127
145
|
constants["APP_VERSION"] = IpayCodePush.getAppVersion(mReactApplicationContext)
|
|
128
146
|
constants["CHANNEL"] = IpayCodePush.getChannel(mReactApplicationContext)
|
|
129
147
|
constants["FINGERPRINT_HASH"] = IpayCodePush.getFingerprintHash(mReactApplicationContext)
|
|
148
|
+
constants["KEYSTORE_PUBLIC_KEY"] = IpayCodePush.getKeyStorePublicKey()
|
|
130
149
|
return constants
|
|
131
150
|
}
|
|
132
151
|
|
|
@@ -178,5 +197,4 @@ class InstantpayCodePushModule(reactContext: ReactApplicationContext) : NativeIn
|
|
|
178
197
|
val impl = getInstance()
|
|
179
198
|
return impl.getBaseURL()
|
|
180
199
|
}
|
|
181
|
-
|
|
182
200
|
}
|
|
@@ -2,7 +2,6 @@ package com.instantpaycodepush
|
|
|
2
2
|
|
|
3
3
|
import android.app.Activity
|
|
4
4
|
import android.content.Context
|
|
5
|
-
import android.util.Log
|
|
6
5
|
import kotlinx.coroutines.Dispatchers
|
|
7
6
|
import kotlinx.coroutines.withContext
|
|
8
7
|
|
|
@@ -294,8 +293,7 @@ class IpayCodePushImpl {
|
|
|
294
293
|
reactIntegrationManager.reload(reactApplication)
|
|
295
294
|
}
|
|
296
295
|
} catch (e: Exception) {
|
|
297
|
-
CommonHelper.logPrint(CLASS_TAG, "Failed to reload application $e")
|
|
298
|
-
Log.e(CLASS_TAG, "Failed to reload application", e)
|
|
296
|
+
CommonHelper.logPrint(CommonHelper.ERROR_LOG,CLASS_TAG, "Failed to reload application and Error Message : ${e.message} and Raw Error : $e")
|
|
299
297
|
}
|
|
300
298
|
}
|
|
301
299
|
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
package com.instantpaycodepush
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
|
+
import android.net.Uri
|
|
5
|
+
import android.security.keystore.KeyGenParameterSpec
|
|
6
|
+
import android.security.keystore.KeyProperties
|
|
4
7
|
import android.util.Base64
|
|
5
|
-
import android.util.Log
|
|
6
8
|
import java.io.File
|
|
7
9
|
import java.security.KeyFactory
|
|
10
|
+
import java.security.KeyPairGenerator
|
|
11
|
+
import java.security.KeyStore
|
|
8
12
|
import java.security.PublicKey
|
|
9
13
|
import java.security.Signature
|
|
10
14
|
import java.security.spec.X509EncodedKeySpec
|
|
15
|
+
import javax.crypto.Cipher
|
|
16
|
+
import javax.crypto.spec.IvParameterSpec
|
|
17
|
+
import javax.crypto.spec.SecretKeySpec
|
|
11
18
|
|
|
12
19
|
/**
|
|
13
20
|
* Prefix for signed file hash format.
|
|
@@ -72,6 +79,13 @@ sealed class SignatureVerificationException(
|
|
|
72
79
|
) : SignatureVerificationException(
|
|
73
80
|
"Security framework error during verification: ${cause.message}",
|
|
74
81
|
)
|
|
82
|
+
|
|
83
|
+
class KeyStoreFailed(
|
|
84
|
+
cause: Throwable,
|
|
85
|
+
) :
|
|
86
|
+
SignatureVerificationException(
|
|
87
|
+
"Failed to generate KeyStore: ${cause.message}",
|
|
88
|
+
)
|
|
75
89
|
}
|
|
76
90
|
|
|
77
91
|
|
|
@@ -351,4 +365,128 @@ object SignatureVerifier {
|
|
|
351
365
|
throw SignatureVerificationException.InvalidSignatureFormat()
|
|
352
366
|
}
|
|
353
367
|
}
|
|
368
|
+
|
|
369
|
+
private const val KEY_ALIAS = "com.ipaycodepush.security.rsa"
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Generate a new EC key pair entry in the Android Keystore by
|
|
373
|
+
* using the KeyPairGenerator API. The private key can only be
|
|
374
|
+
* used for signing or verification and only with SHA-256 or
|
|
375
|
+
* SHA-512 as the message digest.
|
|
376
|
+
*/
|
|
377
|
+
private fun generateKeyStore(){
|
|
378
|
+
|
|
379
|
+
val existingKeyStore = KeyStore.getInstance("AndroidKeyStore")
|
|
380
|
+
existingKeyStore.load(null)
|
|
381
|
+
|
|
382
|
+
if (existingKeyStore.containsAlias(KEY_ALIAS)) return
|
|
383
|
+
|
|
384
|
+
val kpg = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, "AndroidKeyStore")
|
|
385
|
+
|
|
386
|
+
val spec = KeyGenParameterSpec.Builder(
|
|
387
|
+
KEY_ALIAS,
|
|
388
|
+
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT
|
|
389
|
+
)
|
|
390
|
+
.setKeySize(2048)
|
|
391
|
+
.setEncryptionPaddings(
|
|
392
|
+
KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1
|
|
393
|
+
)
|
|
394
|
+
.setDigests(
|
|
395
|
+
KeyProperties.DIGEST_SHA256,
|
|
396
|
+
KeyProperties.DIGEST_SHA512
|
|
397
|
+
)
|
|
398
|
+
.build()
|
|
399
|
+
|
|
400
|
+
kpg.initialize(spec)
|
|
401
|
+
kpg.generateKeyPair()
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Get Public Key from KeyStore
|
|
406
|
+
*/
|
|
407
|
+
fun getPublicKeyBase64(): String{
|
|
408
|
+
|
|
409
|
+
try {
|
|
410
|
+
val keyStore = KeyStore.getInstance("AndroidKeyStore")
|
|
411
|
+
keyStore.load(null)
|
|
412
|
+
|
|
413
|
+
// Generate key if not exists
|
|
414
|
+
if (!keyStore.containsAlias(KEY_ALIAS)) {
|
|
415
|
+
generateKeyStore()
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// Get public key
|
|
419
|
+
val entry = keyStore.getEntry(
|
|
420
|
+
KEY_ALIAS,
|
|
421
|
+
null
|
|
422
|
+
) as KeyStore.PrivateKeyEntry
|
|
423
|
+
|
|
424
|
+
return Base64.encodeToString(
|
|
425
|
+
entry.certificate.publicKey.encoded,
|
|
426
|
+
Base64.NO_WRAP
|
|
427
|
+
)
|
|
428
|
+
}
|
|
429
|
+
catch (e: Exception) {
|
|
430
|
+
CommonHelper.logPrint(CommonHelper.ERROR_LOG, CLASS_TAG, "Failed to generate keystore Error Message: ${e.message} and Raw Error : $e")
|
|
431
|
+
throw SignatureVerificationException.KeyStoreFailed(e)
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* Decrypt signature from bundle Url.
|
|
437
|
+
* @param bundleUrl The signed url
|
|
438
|
+
* @return plan Url to downlaod Bundle
|
|
439
|
+
*/
|
|
440
|
+
fun decryptSignatureUrl(bundleUrl: String?): String {
|
|
441
|
+
|
|
442
|
+
try {
|
|
443
|
+
|
|
444
|
+
val parseUri = Uri.parse(bundleUrl)
|
|
445
|
+
|
|
446
|
+
val signatureData = parseUri.getQueryParameter("signatureData")
|
|
447
|
+
|
|
448
|
+
val encryptedKey = parseUri.getQueryParameter("itemData")
|
|
449
|
+
|
|
450
|
+
val rawIv = parseUri.getQueryParameter("raw")
|
|
451
|
+
|
|
452
|
+
//Decrypt AES Key (RSA)
|
|
453
|
+
val ks = KeyStore.getInstance("AndroidKeyStore")
|
|
454
|
+
ks.load(null)
|
|
455
|
+
|
|
456
|
+
val privateKey = (ks.getEntry(
|
|
457
|
+
KEY_ALIAS,
|
|
458
|
+
null
|
|
459
|
+
) as KeyStore.PrivateKeyEntry).privateKey
|
|
460
|
+
|
|
461
|
+
val rsaCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding")
|
|
462
|
+
rsaCipher.init(Cipher.DECRYPT_MODE, privateKey)
|
|
463
|
+
|
|
464
|
+
val aesKeyBytes = rsaCipher.doFinal(
|
|
465
|
+
Base64.decode(encryptedKey, Base64.DEFAULT)
|
|
466
|
+
)
|
|
467
|
+
|
|
468
|
+
//Decrypt Payload (AES)
|
|
469
|
+
val secretKey = SecretKeySpec(aesKeyBytes, "AES")
|
|
470
|
+
|
|
471
|
+
val aesCipher = Cipher.getInstance("AES/CBC/PKCS7Padding")
|
|
472
|
+
aesCipher.init(
|
|
473
|
+
Cipher.DECRYPT_MODE,
|
|
474
|
+
secretKey,
|
|
475
|
+
IvParameterSpec(Base64.decode(rawIv, Base64.DEFAULT))
|
|
476
|
+
)
|
|
477
|
+
|
|
478
|
+
val finalData = aesCipher.doFinal(
|
|
479
|
+
Base64.decode(signatureData, Base64.DEFAULT)
|
|
480
|
+
)
|
|
481
|
+
|
|
482
|
+
val planData = String(finalData, Charsets.UTF_8)
|
|
483
|
+
|
|
484
|
+
return planData
|
|
485
|
+
}
|
|
486
|
+
catch (e: Exception){
|
|
487
|
+
CommonHelper.logPrint(CommonHelper.ERROR_LOG, CLASS_TAG, "Failed to decrypt bundleUrl Signature Url; Error Message: ${e.message} and Raw Error : $e")
|
|
488
|
+
return ""
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
354
492
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeInstantpayCodePush.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeInstantpayCodePush.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;AA+GpE,eAAeA,mBAAmB,CAACC,YAAY,CAAO,oBAAoB,CAAC","ignoreList":[]}
|
package/lib/module/error.js
CHANGED
|
@@ -32,6 +32,12 @@ export let IpayCodePushErrorCode = /*#__PURE__*/function (IpayCodePushErrorCode)
|
|
|
32
32
|
* @retryable false
|
|
33
33
|
*/
|
|
34
34
|
IpayCodePushErrorCode["INVALID_FILE_URL"] = "INVALID_FILE_URL";
|
|
35
|
+
/**
|
|
36
|
+
* File URL Signature is invalid or malformed.
|
|
37
|
+
* Thrown when fileUrl parameter cannot be verified as a valid URL.
|
|
38
|
+
* @retryable false
|
|
39
|
+
*/
|
|
40
|
+
IpayCodePushErrorCode["INVALID_URL_SIGNATURE"] = "INVALID_URL_SIGNATURE";
|
|
35
41
|
// ==================== Bundle Storage Errors ====================
|
|
36
42
|
/**
|
|
37
43
|
* Failed to create required directory for bundle storage.
|
package/lib/module/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IpayCodePushErrorCode","isIpayCodePushError","error","code","Object","values","includes","IpayCodePushError","Error","constructor","message","name"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAYA,qBAAqB,0BAArBA,qBAAqB;EAC7B;EAEA;AACJ;AACA;AACA;AACA;EAPYA,qBAAqB;EAU7B;AACJ;AACA;AACA;AACA;EAdYA,qBAAqB;EAiB7B;EAEA;AACJ;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["IpayCodePushErrorCode","isIpayCodePushError","error","code","Object","values","includes","IpayCodePushError","Error","constructor","message","name"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAYA,qBAAqB,0BAArBA,qBAAqB;EAC7B;EAEA;AACJ;AACA;AACA;AACA;EAPYA,qBAAqB;EAU7B;AACJ;AACA;AACA;AACA;EAdYA,qBAAqB;EAiB7B;AACJ;AACA;AACA;AACA;EArBYA,qBAAqB;EAwB7B;EAEA;AACJ;AACA;AACA;AACA;EA9BYA,qBAAqB;EAiC7B;AACJ;AACA;AACA;AACA;AACA;EAtCYA,qBAAqB;EAyC7B;AACJ;AACA;AACA;AACA;AACA;EA9CYA,qBAAqB;EAiD7B;AACJ;AACA;AACA;AACA;AACA;EAtDYA,qBAAqB;EAyD7B;AACJ;AACA;AACA;AACA;AACA;EA9DYA,qBAAqB;EAiE7B;AACJ;AACA;AACA;AACA;AACA;EAtEYA,qBAAqB;EAyE7B;AACJ;AACA;AACA;AACA;AACA;EA9EYA,qBAAqB;EAiF7B;AACJ;AACA;AACA;AACA;AACA;AACA;EAvFYA,qBAAqB;EA0F7B;AACJ;AACA;AACA;AACA;AACA;EA/FYA,qBAAqB;EAkG7B;EACA;EAEA;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EA9GYA,qBAAqB;EAiH7B;AACJ;AACA;AACA;AACA;AACA;EAtHYA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;;AA0HjC;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAC/BC,KAAc,EAC2C;EACzD,OACI,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,MAAM,IAAIA,KAAK,IACf,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,IAC9BC,MAAM,CAACC,MAAM,CAACL,qBAAqB,CAAC,CAACM,QAAQ,CACzCJ,KAAK,CAACC,IACV,CAAC;AAET;;AAEA;AACA;AACA;AACA,OAAO,MAAMI,iBAAiB,SAASC,KAAK,CAAC;EACzCC,WAAWA,CAACC,OAAe,EAAE;IACzB,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,mBAAmB;EACnC;AACJ","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { checkForUpdate } from "./checkForUpdate.js";
|
|
4
4
|
import { createDefaultResolver } from "./DefaultResolver.js";
|
|
5
|
-
import { addListener, clearCrashHistory, getAppVersion, getBaseURL, getBundleId, getChannel, getCrashHistory, getFingerprintHash, getMinBundleId, reload, updateBundle } from "./native.js";
|
|
5
|
+
import { addListener, clearCrashHistory, getAppVersion, getBaseURL, getBundleId, getChannel, getCrashHistory, getFingerprintHash, getMinBundleId, reload, updateBundle, getPublicKey } from "./native.js";
|
|
6
6
|
import { ipayCodePushStore } from "./store.js";
|
|
7
7
|
import { wrap } from "./wrap.js";
|
|
8
8
|
export * from "./store.js";
|
|
@@ -284,7 +284,17 @@ function createIpayCodePushClient() {
|
|
|
284
284
|
* IpayCodePush.clearCrashHistory();
|
|
285
285
|
* ```
|
|
286
286
|
*/
|
|
287
|
-
clearCrashHistory
|
|
287
|
+
clearCrashHistory,
|
|
288
|
+
/**
|
|
289
|
+
* Get Public Key which is generated for the particular device
|
|
290
|
+
*
|
|
291
|
+
* @returns {string} Public key
|
|
292
|
+
* @example
|
|
293
|
+
* ```ts
|
|
294
|
+
* IpayCodePush.getPublicKey();
|
|
295
|
+
* ```
|
|
296
|
+
*/
|
|
297
|
+
getPublicKey
|
|
288
298
|
};
|
|
289
299
|
}
|
|
290
300
|
export const IpayCodePush = createIpayCodePushClient();
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["checkForUpdate","createDefaultResolver","addListener","clearCrashHistory","getAppVersion","getBaseURL","getBundleId","getChannel","getCrashHistory","getFingerprintHash","getMinBundleId","reload","updateBundle","ipayCodePushStore","wrap","extractSignatureFailure","isSignatureVerificationError","progress","setState","registerGlobalGetBaseURL","fn","globalThis","IpayCodePushGetBaseURL","global","createIpayCodePushClient","globalConfig","resolver","ensureGlobalResolver","methodName","Error","options","normalizedOptions","baseURL","rest","requestHeaders","requestTimeout","isUpdateDownloaded","getSnapshot","config","mergedConfig","params","IpayCodePush"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAEIA,cAAc,QAEX,qBAAkB;AAEzB,SAASC,qBAAqB,QAAQ,sBAAmB;AAEzD,SACIC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,eAAe,EACfC,kBAAkB,EAClBC,cAAc,EACdC,MAAM,EAENC,YAAY,QACT,aAAU;AAEjB,SAASC,iBAAiB,QAAQ,YAAS;AAI3C,SAA6DC,IAAI,QAAQ,WAAQ;AAIjF,cAAc,YAAS;AAEvB,SACIC,uBAAuB,EAEvBC,4BAA4B,QAIzB,YAAS;
|
|
1
|
+
{"version":3,"names":["checkForUpdate","createDefaultResolver","addListener","clearCrashHistory","getAppVersion","getBaseURL","getBundleId","getChannel","getCrashHistory","getFingerprintHash","getMinBundleId","reload","updateBundle","getPublicKey","ipayCodePushStore","wrap","extractSignatureFailure","isSignatureVerificationError","progress","setState","registerGlobalGetBaseURL","fn","globalThis","IpayCodePushGetBaseURL","global","createIpayCodePushClient","globalConfig","resolver","ensureGlobalResolver","methodName","Error","options","normalizedOptions","baseURL","rest","requestHeaders","requestTimeout","isUpdateDownloaded","getSnapshot","config","mergedConfig","params","IpayCodePush"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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CQI,cAAc;IAEd;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQH,UAAU;IAEV;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQL,WAAW;IAEX;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQF,cAAc,EAAGuC,MAA6B,IAAK;MAC/C,MAAMZ,QAAQ,GAAGC,oBAAoB,CAAC,gBAAgB,CAAC;MAEvD,MAAMY,YAA2C,GAAG;QAChD,GAAGD,MAAM;QACTZ,QAAQ;QACRQ,cAAc,EAAE;UAChB,GAAGT,YAAY,CAACS,cAAc;UAC9B,GAAGI,MAAM,CAACJ;QACV,CAAC;QACDC,cAAc,EAAEG,MAAM,CAACH,cAAc,IAAIV,YAAY,CAACU;MAC1D,CAAC;MAED,OAAOpC,cAAc,CAACwC,YAAY,CAAC;IACvC,CAAC;IAED;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ5B,YAAY,EAAG6B,MAAoB,IAAK;MACpCb,oBAAoB,CAAC,cAAc,CAAC;MACpC,OAAOhB,YAAY,CAAC6B,MAAM,CAAC;IAC/B,CAAC;IAED;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQhC,kBAAkB;IAElB;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQD,eAAe;IAEf;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQL,iBAAiB;IAEjB;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQU;EAEJ,CAAC;AACL;AAEA,OAAO,MAAM6B,YAAY,GAAGjB,wBAAwB,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/native.js
CHANGED
|
@@ -230,4 +230,14 @@ export const getBaseURL = () => {
|
|
|
230
230
|
}
|
|
231
231
|
return null;
|
|
232
232
|
};
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Fetches the Public Key for the app.
|
|
236
|
+
*
|
|
237
|
+
* @returns {string | null} Resolves with the public key
|
|
238
|
+
*/
|
|
239
|
+
export const getPublicKey = () => {
|
|
240
|
+
const constants = IpayCodePushNative.getConstants();
|
|
241
|
+
return constants.KEYSTORE_PUBLIC_KEY;
|
|
242
|
+
};
|
|
233
243
|
//# sourceMappingURL=native.js.map
|
package/lib/module/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","IpayCodePushErrorCode","isIpayCodePushError","IpayCodePushNative","NIL_UUID","__IPAY_CODE_PUSH_BUNDLE_ID","undefined","IpayCodePushConstants","IPAY_CODE_PUSH_BUNDLE_ID","addListener","eventName","listener","eventEmitter","subscription","remove","inflightUpdates","Map","lastInstalledBundleId","updateBundle","paramsOrBundleId","fileUrl","updateBundleId","bundleId","status","currentBundleId","getBundleId","localeCompare","Error","existing","get","targetFileUrl","targetFileHash","fileHash","promise","ok","delete","set","getAppVersion","constants","getConstants","APP_VERSION","reload","getMinBundleId","MIN_BUNDLE_ID","getChannel","CHANNEL","getFingerprintHash","FINGERPRINT_HASH","notifyAppReady","result","JSON","parse","getCrashHistory","clearCrashHistory","getBaseURL"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","IpayCodePushErrorCode","isIpayCodePushError","IpayCodePushNative","NIL_UUID","__IPAY_CODE_PUSH_BUNDLE_ID","undefined","IpayCodePushConstants","IPAY_CODE_PUSH_BUNDLE_ID","addListener","eventName","listener","eventEmitter","subscription","remove","inflightUpdates","Map","lastInstalledBundleId","updateBundle","paramsOrBundleId","fileUrl","updateBundleId","bundleId","status","currentBundleId","getBundleId","localeCompare","Error","existing","get","targetFileUrl","targetFileHash","fileHash","promise","ok","delete","set","getAppVersion","constants","getConstants","APP_VERSION","reload","getMinBundleId","MIN_BUNDLE_ID","getChannel","CHANNEL","getFingerprintHash","FINGERPRINT_HASH","notifyAppReady","result","JSON","parse","getCrashHistory","clearCrashHistory","getBaseURL","getPublicKey","KEYSTORE_PUBLIC_KEY"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/types.js
CHANGED
|
@@ -35,7 +35,7 @@ export function isSignatureVerificationError(error) {
|
|
|
35
35
|
|
|
36
36
|
// Match iOS SignatureVerificationError messages
|
|
37
37
|
// Match Android SignatureVerificationException messages
|
|
38
|
-
return message.includes("signature verification") || message.includes("public key not configured") || message.includes("public key format is invalid") || message.includes("signature format is invalid") || message.includes("bundle may be corrupted or tampered");
|
|
38
|
+
return message.includes("signature verification") || message.includes("public key not configured") || message.includes("public key format is invalid") || message.includes("signature format is invalid") || message.includes("bundle may be corrupted or tampered") || message.includes("KeyStore");
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isSignatureVerificationError","error","Error","message","toLowerCase","includes","extractSignatureFailure","bundleId","normalizedError","String"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AACA;AACA;AACA;;AAgDA;AACA;AACA;;AA0BA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,4BAA4BA,CAACC,KAAc,EAAW;EAClE,IAAI,EAAEA,KAAK,YAAYC,KAAK,CAAC,EAAE;IAC3B,OAAO,KAAK;EAChB;EAEA,MAAMC,OAAO,GAAGF,KAAK,CAACE,OAAO,CAACC,WAAW,CAAC,CAAC;;EAE3C;EACA;EACA,OACID,OAAO,CAACE,QAAQ,CAAC,wBAAwB,CAAC,IAC1CF,OAAO,CAACE,QAAQ,CAAC,2BAA2B,CAAC,IAC7CF,OAAO,CAACE,QAAQ,CAAC,8BAA8B,CAAC,IAChDF,OAAO,CAACE,QAAQ,CAAC,6BAA6B,CAAC,IAC/CF,OAAO,CAACE,QAAQ,CAAC,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"names":["isSignatureVerificationError","error","Error","message","toLowerCase","includes","extractSignatureFailure","bundleId","normalizedError","String"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AACA;AACA;AACA;;AAgDA;AACA;AACA;;AA0BA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,4BAA4BA,CAACC,KAAc,EAAW;EAClE,IAAI,EAAEA,KAAK,YAAYC,KAAK,CAAC,EAAE;IAC3B,OAAO,KAAK;EAChB;EAEA,MAAMC,OAAO,GAAGF,KAAK,CAACE,OAAO,CAACC,WAAW,CAAC,CAAC;;EAE3C;EACA;EACA,OACID,OAAO,CAACE,QAAQ,CAAC,wBAAwB,CAAC,IAC1CF,OAAO,CAACE,QAAQ,CAAC,2BAA2B,CAAC,IAC7CF,OAAO,CAACE,QAAQ,CAAC,8BAA8B,CAAC,IAChDF,OAAO,CAACE,QAAQ,CAAC,6BAA6B,CAAC,IAC/CF,OAAO,CAACE,QAAQ,CAAC,qCAAqC,CAAC,IACvDF,OAAO,CAACE,QAAQ,CAAC,UAAU,CAAC;AAEpC;;AAEA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CACnCL,KAAc,EACdM,QAAgB,EACY;EAC5B,MAAMC,eAAe,GACjBP,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAG,IAAIC,KAAK,CAACO,MAAM,CAACR,KAAK,CAAC,CAAC;EAE7D,OAAO;IACHM,QAAQ;IACRJ,OAAO,EAAEK,eAAe,CAACL,OAAO;IAChCF,KAAK,EAAEO;EACX,CAAC;AACL;;AAKA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeInstantpayCodePush.d.ts","sourceRoot":"","sources":["../../../src/NativeInstantpayCodePush.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IAGrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;;;;;;;OAUG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QAC1C,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;QAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;OAKG;IACH,eAAe,IAAI,MAAM,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,iBAAiB,IAAI,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;IAGzB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,QAAQ,CAAC,YAAY,EAAE,MAAM;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeInstantpayCodePush.d.ts","sourceRoot":"","sources":["../../../src/NativeInstantpayCodePush.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IAGrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;;;;;;;OAUG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QAC1C,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;QAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;OAKG;IACH,eAAe,IAAI,MAAM,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,iBAAiB,IAAI,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;IAGzB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,QAAQ,CAAC,YAAY,EAAE,MAAM;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC;CACL;;AAED,wBAA4E"}
|
|
@@ -28,6 +28,12 @@ export declare enum IpayCodePushErrorCode {
|
|
|
28
28
|
* @retryable false
|
|
29
29
|
*/
|
|
30
30
|
INVALID_FILE_URL = "INVALID_FILE_URL",
|
|
31
|
+
/**
|
|
32
|
+
* File URL Signature is invalid or malformed.
|
|
33
|
+
* Thrown when fileUrl parameter cannot be verified as a valid URL.
|
|
34
|
+
* @retryable false
|
|
35
|
+
*/
|
|
36
|
+
INVALID_URL_SIGNATURE = "INVALID_URL_SIGNATURE",
|
|
31
37
|
/**
|
|
32
38
|
* Failed to create required directory for bundle storage.
|
|
33
39
|
* Thrown when bundle directory creation fails due to permissions or disk errors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,oBAAY,qBAAqB;IAG7B;;;;OAIG;IACH,iBAAiB,sBAAsB;IAEvC;;;;OAIG;IACH,gBAAgB,qBAAqB;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,oBAAY,qBAAqB;IAG7B;;;;OAIG;IACH,iBAAiB,sBAAsB;IAEvC;;;;OAIG;IACH,gBAAgB,qBAAqB;IAErC;;;;OAIG;IACH,qBAAqB,0BAA0B;IAI/C;;;;OAIG;IACH,yBAAyB,8BAA8B;IAEvD;;;;;OAKG;IACH,eAAe,oBAAoB;IAEnC;;;;;OAKG;IACH,mBAAmB,wBAAwB;IAE3C;;;;;OAKG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACH,cAAc,mBAAmB;IAEjC;;;;;OAKG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACH,6BAA6B,kCAAkC;IAE/D;;;;;;OAMG;IACH,qBAAqB,0BAA0B;IAE/C;;;;;OAKG;IACH,yBAAyB,8BAA8B;IAOvD;;;;;;;OAOG;IACH,gBAAgB,qBAAqB;IAErC;;;;;OAKG;IACH,aAAa,kBAAkB;CAClC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,OAAO,GACf,KAAK,IAAI;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAU3D;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI9B"}
|
|
@@ -199,5 +199,15 @@ export declare const IpayCodePush: {
|
|
|
199
199
|
* ```
|
|
200
200
|
*/
|
|
201
201
|
clearCrashHistory: () => boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Get Public Key which is generated for the particular device
|
|
204
|
+
*
|
|
205
|
+
* @returns {string} Public key
|
|
206
|
+
* @example
|
|
207
|
+
* ```ts
|
|
208
|
+
* IpayCodePush.getPublicKey();
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
getPublicKey: () => string | null;
|
|
202
212
|
};
|
|
203
213
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,qBAAqB,EAG7B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAWH,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,qBAAqB,EAG7B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAWH,KAAK,YAAY,EAGpB,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,KAAK,mBAAmB,EAAkC,MAAM,QAAQ,CAAC;AAElF,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAExE,cAAc,SAAS,CAAC;AAExB,OAAO,EACH,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GACpC,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AA0V5E,eAAO,MAAM,YAAY;IAjRjB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;oBACa,mBAAmB;IAsCnC;;OAEG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;6BACsB,qBAAqB;IAgB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;2BACoB,YAAY;IAKnC;;;;;;;;;;OAUG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;;;;;OAQG;;CAM2C,CAAC"}
|
|
@@ -125,4 +125,10 @@ export declare const clearCrashHistory: () => boolean;
|
|
|
125
125
|
* @returns {string | null} Base URL string (e.g., "file:///data/.../bundle-store/abc123") or null if not available
|
|
126
126
|
*/
|
|
127
127
|
export declare const getBaseURL: () => string | null;
|
|
128
|
+
/**
|
|
129
|
+
* Fetches the Public Key for the app.
|
|
130
|
+
*
|
|
131
|
+
* @returns {string | null} Resolves with the public key
|
|
132
|
+
*/
|
|
133
|
+
export declare const getPublicKey: () => string | null;
|
|
128
134
|
//# sourceMappingURL=native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAA2B,EACvB,KAAK,kBAAkB,EAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;AAMtD,eAAO,MAAM,qBAAqB;;CAEjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,iBAAiB,EACzD,WAAW,CAAC,EACZ,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,eAQjC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC5C,MAAM,EAAE,YAAY,CAAC;CACxB,CAAC;AAQF;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3E;;GAEG;AACH,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;AA2DpB;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,MAAM,GAAG,IAGzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,qBAElB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,QAAO,MAGjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAO,MAI9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MAG7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAG9C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,cAAc,QAAO,oBAYjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAO,MAAM,EAWxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAEpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAAO,MAAM,GAAG,IAMtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAA2B,EACvB,KAAK,kBAAkB,EAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;AAMtD,eAAO,MAAM,qBAAqB;;CAEjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,iBAAiB,EACzD,WAAW,CAAC,EACZ,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,eAQjC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC5C,MAAM,EAAE,YAAY,CAAC;CACxB,CAAC;AAQF;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3E;;GAEG;AACH,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;AA2DpB;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,MAAM,GAAG,IAGzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,qBAElB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,QAAO,MAGjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAO,MAI9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MAG7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAG9C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,cAAc,QAAO,oBAYjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAO,MAAM,EAWxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAEpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAAO,MAAM,GAAG,IAMtC,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,IAGxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAE5B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;IAE7C;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;;;;OAKG;IACH,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAE5C;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,EAAE,CACV,MAAM,EAAE,yBAAyB,KAChC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,EAAE,CACb,MAAM,EAAE,4BAA4B,KACnC,OAAO,CAAC,SAAS,CAAC,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAE5B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;IAE7C;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;;;;OAKG;IACH,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAE5C;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,EAAE,CACV,MAAM,EAAE,yBAAyB,KAChC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,EAAE,CACb,MAAM,EAAE,4BAA4B,KACnC,OAAO,CAAC,SAAS,CAAC,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiBpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACjB,4BAA4B,CAS9B;AAGD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;IACjE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
|
package/package.json
CHANGED
package/src/error.ts
CHANGED
|
@@ -33,6 +33,13 @@ export enum IpayCodePushErrorCode {
|
|
|
33
33
|
*/
|
|
34
34
|
INVALID_FILE_URL = "INVALID_FILE_URL",
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* File URL Signature is invalid or malformed.
|
|
38
|
+
* Thrown when fileUrl parameter cannot be verified as a valid URL.
|
|
39
|
+
* @retryable false
|
|
40
|
+
*/
|
|
41
|
+
INVALID_URL_SIGNATURE = "INVALID_URL_SIGNATURE",
|
|
42
|
+
|
|
36
43
|
// ==================== Bundle Storage Errors ====================
|
|
37
44
|
|
|
38
45
|
/**
|
package/src/index.tsx
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
reload,
|
|
20
20
|
type UpdateParams,
|
|
21
21
|
updateBundle,
|
|
22
|
+
getPublicKey,
|
|
22
23
|
} from "./native";
|
|
23
24
|
|
|
24
25
|
import { ipayCodePushStore } from "./store";
|
|
@@ -371,6 +372,18 @@ function createIpayCodePushClient() {
|
|
|
371
372
|
* ```
|
|
372
373
|
*/
|
|
373
374
|
clearCrashHistory,
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Get Public Key which is generated for the particular device
|
|
378
|
+
*
|
|
379
|
+
* @returns {string} Public key
|
|
380
|
+
* @example
|
|
381
|
+
* ```ts
|
|
382
|
+
* IpayCodePush.getPublicKey();
|
|
383
|
+
* ```
|
|
384
|
+
*/
|
|
385
|
+
getPublicKey,
|
|
386
|
+
|
|
374
387
|
};
|
|
375
388
|
}
|
|
376
389
|
|
package/src/native.ts
CHANGED
|
@@ -277,4 +277,15 @@ export const getBaseURL = (): string | null => {
|
|
|
277
277
|
return result;
|
|
278
278
|
}
|
|
279
279
|
return null;
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Fetches the Public Key for the app.
|
|
285
|
+
*
|
|
286
|
+
* @returns {string | null} Resolves with the public key
|
|
287
|
+
*/
|
|
288
|
+
export const getPublicKey = (): string | null => {
|
|
289
|
+
const constants = IpayCodePushNative.getConstants();
|
|
290
|
+
return constants.KEYSTORE_PUBLIC_KEY;
|
|
280
291
|
};
|
package/src/types.ts
CHANGED
|
@@ -174,7 +174,8 @@ export function isSignatureVerificationError(error: unknown): boolean {
|
|
|
174
174
|
message.includes("public key not configured") ||
|
|
175
175
|
message.includes("public key format is invalid") ||
|
|
176
176
|
message.includes("signature format is invalid") ||
|
|
177
|
-
message.includes("bundle may be corrupted or tampered")
|
|
177
|
+
message.includes("bundle may be corrupted or tampered") ||
|
|
178
|
+
message.includes("KeyStore")
|
|
178
179
|
);
|
|
179
180
|
}
|
|
180
181
|
|