react-native-instantpay-code-push 1.1.7 → 1.1.9

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.
Files changed (43) hide show
  1. package/InstantpayCodePush.podspec +4 -0
  2. package/android/src/main/java/com/instantpaycodepush/InstantpayCodePushModule.kt +20 -2
  3. package/android/src/main/java/com/instantpaycodepush/IpayCodePush.kt +5 -0
  4. package/android/src/main/java/com/instantpaycodepush/SignatureVerifier.kt +139 -0
  5. package/ios/BundleFileStorageService.swift +1269 -0
  6. package/ios/BundleMetadata.swift +208 -0
  7. package/ios/DecompressService.swift +116 -0
  8. package/ios/FileManagerService.swift +104 -0
  9. package/ios/HashUtils.swift +73 -0
  10. package/ios/InstantpayCodePush-Bridging-Header.h +16 -0
  11. package/ios/InstantpayCodePush.h +39 -1
  12. package/ios/InstantpayCodePush.mm +332 -4
  13. package/ios/IpayCodePushHelper.swift +57 -0
  14. package/ios/IpayCodePushImpl.swift +297 -0
  15. package/ios/NotificationExtension.swift +13 -0
  16. package/ios/SignatureVerifier.swift +358 -0
  17. package/ios/URLSessionDownloadService.swift +251 -0
  18. package/ios/VersionedPreferencesService.swift +93 -0
  19. package/ios/ZipDecompressionStrategy.swift +175 -0
  20. package/lib/module/NativeInstantpayCodePush.js.map +1 -1
  21. package/lib/module/error.js +6 -0
  22. package/lib/module/error.js.map +1 -1
  23. package/lib/module/index.js +12 -2
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/native.js +10 -0
  26. package/lib/module/native.js.map +1 -1
  27. package/lib/module/types.js +1 -1
  28. package/lib/module/types.js.map +1 -1
  29. package/lib/typescript/src/NativeInstantpayCodePush.d.ts +1 -0
  30. package/lib/typescript/src/NativeInstantpayCodePush.d.ts.map +1 -1
  31. package/lib/typescript/src/error.d.ts +6 -0
  32. package/lib/typescript/src/error.d.ts.map +1 -1
  33. package/lib/typescript/src/index.d.ts +10 -0
  34. package/lib/typescript/src/index.d.ts.map +1 -1
  35. package/lib/typescript/src/native.d.ts +6 -0
  36. package/lib/typescript/src/native.d.ts.map +1 -1
  37. package/lib/typescript/src/types.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/src/NativeInstantpayCodePush.ts +1 -0
  40. package/src/error.ts +7 -0
  41. package/src/index.tsx +13 -0
  42. package/src/native.ts +11 -0
  43. package/src/types.ts +2 -1
@@ -0,0 +1,93 @@
1
+ //
2
+ // VersionedPreferencesService.swift
3
+ // InstantpayCodePush
4
+ //
5
+ // Created by Dhananjay kumar on 09/02/26.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ enum PreferencesError: Error {
11
+ case configurationError
12
+ case setItemError(String)
13
+ case getItemError(String)
14
+ }
15
+
16
+ protocol PreferencesService {
17
+ func setItem(_ value: String?, forKey key: String) throws
18
+ func getItem(forKey key: String) throws -> String?
19
+ }
20
+
21
+ class VersionedPreferencesService: PreferencesService {
22
+
23
+ private let userDefaults: UserDefaults
24
+ private var isolationKey: String = ""
25
+
26
+ let CLASS_TAG = "*PreferencesService"
27
+
28
+ init(userDefaults: UserDefaults = .standard) {
29
+ self.userDefaults = userDefaults
30
+ }
31
+
32
+ /**
33
+ * Configures the service with isolation key.
34
+ * @param isolationKey The complete isolation key to use for storage
35
+ */
36
+ func configure(isolationKey: String) {
37
+ self.isolationKey = isolationKey
38
+ IpayCodePushHelper.logPrint(classTag: self.CLASS_TAG, log: "Configured with isolation key: \(self.isolationKey)")
39
+ }
40
+
41
+ /**
42
+ * Creates a prefixed key for UserDefaults storage.
43
+ * @param key The base key to prefix
44
+ * @return The prefixed key
45
+ * @throws PreferencesError if configuration is missing
46
+ */
47
+ private func prefixedKey(forKey key: String) throws -> String {
48
+ guard !isolationKey.isEmpty else {
49
+ IpayCodePushHelper.logPrint(classTag: self.CLASS_TAG, log: "Warning: PreferencesService used before configure(isolationKey:) was called. Isolation key is empty.")
50
+ throw PreferencesError.configurationError
51
+ }
52
+ return "\(isolationKey)\(key)"
53
+ }
54
+
55
+ /**
56
+ * Sets a value in preferences.
57
+ * @param value The value to store (or nil to remove)
58
+ * @param key The key to store under
59
+ * @throws PreferencesError if key prefixing fails
60
+ */
61
+ func setItem(_ value: String?, forKey key: String) throws {
62
+ do {
63
+ let fullKey = try prefixedKey(forKey: key)
64
+ if let valueToSet = value {
65
+ userDefaults.set(valueToSet, forKey: fullKey)
66
+ IpayCodePushHelper.logPrint(classTag: self.CLASS_TAG, log: "Set '\(fullKey)' = '\(valueToSet)'")
67
+ } else {
68
+ userDefaults.removeObject(forKey: fullKey)
69
+ IpayCodePushHelper.logPrint(classTag: self.CLASS_TAG, log: "Removed '\(fullKey)'")
70
+ }
71
+ } catch {
72
+ IpayCodePushHelper.logPrint(classTag: self.CLASS_TAG, log: "Error setting key '\(key)': \(error)")
73
+ throw PreferencesError.setItemError(key)
74
+ }
75
+ }
76
+
77
+ /**
78
+ * Gets a value from preferences.
79
+ * @param key The key to retrieve
80
+ * @return The stored value or nil if not found
81
+ * @throws PreferencesError if key prefixing fails
82
+ */
83
+ func getItem(forKey key: String) throws -> String? {
84
+ do {
85
+ let fullKey = try prefixedKey(forKey: key)
86
+ return userDefaults.string(forKey: fullKey)
87
+ } catch {
88
+ IpayCodePushHelper.logPrint(classTag: self.CLASS_TAG, log: "Error getting key '\(key)': \(error)")
89
+ throw PreferencesError.getItemError(key)
90
+ }
91
+ }
92
+ }
93
+
@@ -0,0 +1,175 @@
1
+ //
2
+ // ZipDecompressionStrategy.swift
3
+ // InstantpayCodePush
4
+ //
5
+ // Created by Dhananjay kumar on 09/02/26.
6
+ //
7
+
8
+ import Foundation
9
+ import SWCompression
10
+
11
+ /**
12
+ * Strategy for handling ZIP compressed files
13
+ */
14
+ class ZipDecompressionStrategy: DecompressionStrategy {
15
+
16
+ private static let ZIP_MAGIC_NUMBER: [UInt8] = [0x50, 0x4B, 0x03, 0x04]
17
+ private static let MIN_ZIP_SIZE: UInt64 = 22
18
+ let CLASS_TAG = "ZipStrategy"
19
+
20
+ func isValid(file: String) -> Bool {
21
+ guard FileManager.default.fileExists(atPath: file) else {
22
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: file doesn't exist")
23
+ return false
24
+ }
25
+
26
+ do {
27
+ let attributes = try FileManager.default.attributesOfItem(atPath: file)
28
+ guard let fileSize = attributes[.size] as? UInt64, fileSize >= Self.MIN_ZIP_SIZE else {
29
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: file too small")
30
+ return false
31
+ }
32
+ } catch {
33
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: cannot read attributes - \(error.localizedDescription)")
34
+ return false
35
+ }
36
+
37
+ guard let fileHandle = FileHandle(forReadingAtPath: file) else {
38
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: cannot open file")
39
+ return false
40
+ }
41
+
42
+ defer {
43
+ fileHandle.closeFile()
44
+ }
45
+
46
+ guard let header = try? fileHandle.read(upToCount: 4), header.count == 4 else {
47
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: cannot read header")
48
+ return false
49
+ }
50
+
51
+ let magicBytes = [UInt8](header)
52
+ guard magicBytes == Self.ZIP_MAGIC_NUMBER else {
53
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: wrong magic number")
54
+ return false
55
+ }
56
+
57
+ guard let zipData = try? Data(contentsOf: URL(fileURLWithPath: file)) else {
58
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: cannot read file data")
59
+ return false
60
+ }
61
+
62
+ do {
63
+ _ = try ZipContainer.open(container: zipData)
64
+ return true
65
+ } catch {
66
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Invalid ZIP: structure validation failed - \(error.localizedDescription)")
67
+ return false
68
+ }
69
+ }
70
+
71
+ func decompress(file: String, to destination: String, progressHandler: @escaping (Double) -> Void) throws {
72
+
73
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Starting extraction of \(file) to \(destination)")
74
+
75
+ guard let zipData = try? Data(contentsOf: URL(fileURLWithPath: file)) else {
76
+ throw NSError(
77
+ domain: "IpayCodePush",
78
+ code: 1,
79
+ userInfo: [NSLocalizedDescriptionKey: "Failed to read ZIP file at: \(file)"]
80
+ )
81
+ }
82
+
83
+ progressHandler(0.1)
84
+
85
+ let zipEntries: [ZipEntry]
86
+ do {
87
+ zipEntries = try ZipContainer.open(container: zipData)
88
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "ZIP extraction successful, found \(zipEntries.count) entries")
89
+ } catch {
90
+ throw NSError(
91
+ domain: "IpayCodePush",
92
+ code: 2,
93
+ userInfo: [NSLocalizedDescriptionKey: "ZIP extraction failed: \(error.localizedDescription)"]
94
+ )
95
+ }
96
+
97
+ progressHandler(0.2)
98
+
99
+ let destinationURL = URL(fileURLWithPath: destination)
100
+ let canonicalDestination = destinationURL.standardized.path
101
+
102
+ let fileManager = FileManager.default
103
+ if !fileManager.fileExists(atPath: canonicalDestination) {
104
+ try fileManager.createDirectory(
105
+ atPath: canonicalDestination,
106
+ withIntermediateDirectories: true,
107
+ attributes: nil
108
+ )
109
+ }
110
+
111
+ let totalEntries = Double(zipEntries.count)
112
+ for (index, entry) in zipEntries.enumerated() {
113
+ try extractZipEntry(entry, to: canonicalDestination)
114
+ progressHandler(0.2 + (Double(index + 1) / totalEntries * 0.8))
115
+ }
116
+
117
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Successfully extracted all entries")
118
+ }
119
+
120
+ private func extractZipEntry(_ entry: ZipEntry, to destination: String) throws {
121
+ let fileManager = FileManager.default
122
+ let entryPath = entry.info.name.trimmingCharacters(in: .init(charactersIn: "/"))
123
+
124
+ guard !entryPath.isEmpty,
125
+ !entryPath.contains(".."),
126
+ !entryPath.hasPrefix("/") else {
127
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Skipping suspicious path: \(entry.info.name)")
128
+ return
129
+ }
130
+
131
+ let fullPath = (destination as NSString).appendingPathComponent(entryPath)
132
+ let fullURL = URL(fileURLWithPath: fullPath)
133
+ let canonicalFullPath = fullURL.standardized.path
134
+ let canonicalDestination = URL(fileURLWithPath: destination).standardized.path
135
+
136
+ guard canonicalFullPath.hasPrefix(canonicalDestination + "/") ||
137
+ canonicalFullPath == canonicalDestination else {
138
+ throw NSError(
139
+ domain: "IpayCodePush",
140
+ code: 3,
141
+ userInfo: [NSLocalizedDescriptionKey: "Path traversal attempt detected: \(entry.info.name)"]
142
+ )
143
+ }
144
+
145
+ if entry.info.type == .directory {
146
+ if !fileManager.fileExists(atPath: canonicalFullPath) {
147
+ try fileManager.createDirectory(
148
+ atPath: canonicalFullPath,
149
+ withIntermediateDirectories: true,
150
+ attributes: nil
151
+ )
152
+ }
153
+ return
154
+ }
155
+
156
+ if entry.info.type == .regular {
157
+ let parentPath = (canonicalFullPath as NSString).deletingLastPathComponent
158
+ if !fileManager.fileExists(atPath: parentPath) {
159
+ try fileManager.createDirectory(
160
+ atPath: parentPath,
161
+ withIntermediateDirectories: true,
162
+ attributes: nil
163
+ )
164
+ }
165
+
166
+ guard let data = entry.data else {
167
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Skipping file with no data: \(entry.info.name)")
168
+ return
169
+ }
170
+
171
+ try data.write(to: URL(fileURLWithPath: canonicalFullPath))
172
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Extracted: \(entryPath)")
173
+ }
174
+ }
175
+ }
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeInstantpayCodePush.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;AA8GpE,eAAeA,mBAAmB,CAACC,YAAY,CAAO,oBAAoB,CAAC","ignoreList":[]}
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":[]}
@@ -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.
@@ -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;EAvBYA,qBAAqB;EA0B7B;AACJ;AACA;AACA;AACA;AACA;EA/BYA,qBAAqB;EAkC7B;AACJ;AACA;AACA;AACA;AACA;EAvCYA,qBAAqB;EA0C7B;AACJ;AACA;AACA;AACA;AACA;EA/CYA,qBAAqB;EAkD7B;AACJ;AACA;AACA;AACA;AACA;EAvDYA,qBAAqB;EA0D7B;AACJ;AACA;AACA;AACA;AACA;EA/DYA,qBAAqB;EAkE7B;AACJ;AACA;AACA;AACA;AACA;EAvEYA,qBAAqB;EA0E7B;AACJ;AACA;AACA;AACA;AACA;AACA;EAhFYA,qBAAqB;EAmF7B;AACJ;AACA;AACA;AACA;AACA;EAxFYA,qBAAqB;EA2F7B;EACA;EAEA;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EAvGYA,qBAAqB;EA0G7B;AACJ;AACA;AACA;AACA;AACA;EA/GYA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;;AAmHjC;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":[]}
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":[]}
@@ -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();
@@ -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;AAIhBd,WAAW,CAAC,YAAY,EAAE,CAAC;EAAEe;AAAS,CAAC,KAAK;EACxCJ,iBAAiB,CAACK,QAAQ,CAAC;IACvBD;EACJ,CAAC,CAAC;AACN,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,MAAME,wBAAwB,GAAGA,CAAA,KAAM;EACnC,MAAMC,EAAE,GAAGf,UAAU;;EAErB;EACA,IAAI,OAAOgB,UAAU,KAAK,WAAW,EAAE;IAEnC,IAAI,CAACA,UAAU,CAACC,sBAAsB,EAAE;MACpCD,UAAU,CAACC,sBAAsB,GAAGF,EAAE;IAC1C;EACJ;;EAEA;EACA,IAAI,OAAOG,MAAM,KAAK,WAAW,EAAE;IAC/B,IAAI,CAACA,MAAM,CAACD,sBAAsB,EAAE;MAChCC,MAAM,CAACD,sBAAsB,GAAGF,EAAE;IACtC;EACJ;AACJ,CAAC;;AAED;AACAD,wBAAwB,CAAC,CAAC;;AAG1B;AACA;AACA;AACA;;AAEA,SAASK,wBAAwBA,CAAA,EAAG;EAEhC;EACA,MAAMC,YAIL,GAAG;IACAC,QAAQ,EAAE;EACd,CAAC;EAED,MAAMC,oBAAoB,GAAIC,UAAkB,IAAK;IACjD,IAAI,CAACH,YAAY,CAACC,QAAQ,EAAE;MACxB,MAAM,IAAIG,KAAK,CACX,kBAAkBD,UAAU,+CAA+C,GAC3E,2EAA2E,GAC3E,oCAAoC,GACpC,wCAAwC,GACxC,4CAA4C,GAC5C,qCAAqC,GACrC,0BAA0B,GAC1B,gBAAgB,GAChB,+CAA+C,GAC/C,wCAAwC,GACxC,4CAA4C,GAC5C,4BAA4B,GAC5B,gBACJ,CAAC;IACL;IACA,OAAOH,YAAY,CAACC,QAAQ;EAChC,CAAC;EAED,OAAO;IACH;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQZ,IAAI,EAAGgB,OAA4B,IAAK;MACpC,IAAIC,iBAAsC;MAE1C,IAAI,SAAS,IAAID,OAAO,IAAIA,OAAO,CAACE,OAAO,EAAE;QACzC,MAAM;UAAEA,OAAO;UAAE,GAAGC;QAAK,CAAC,GAAGH,OAAO;QACpCC,iBAAiB,GAAG;UAChB,GAAGE,IAAI;UACPP,QAAQ,EAAEzB,qBAAqB,CAAC+B,OAAO;QAC3C,CAAC;MACL,CAAC,MAAM,IAAI,UAAU,IAAIF,OAAO,IAAIA,OAAO,CAACJ,QAAQ,EAAE;QAClDK,iBAAiB,GAAGD,OAAO;MAC/B,CAAC,MAAM;QACH,MAAM,IAAID,KAAK,CACf,iEAAiE,GAC7D,wDAAwD,GACxD,wCAAwC,GACxC,4CAA4C,GAC5C,qCAAqC,GACrC,0BAA0B,GAC1B,gBAAgB,GAChB,8CAA8C,GAC9C,wCAAwC,GACxC,mBAAmB,GACnB,gEAAgE,GAChE,kEAAkE,GAClE,UAAU,GACV,4BAA4B,GAC5B,gBACJ,CAAC;MACL;MAEAJ,YAAY,CAACC,QAAQ,GAAGK,iBAAiB,CAACL,QAAQ;MAClDD,YAAY,CAACS,cAAc,GAAGJ,OAAO,CAACI,cAAc;MACpDT,YAAY,CAACU,cAAc,GAAGL,OAAO,CAACK,cAAc;MAEpD,OAAOrB,IAAI,CAACiB,iBAAiB,CAAC;IAClC,CAAC;IAED;AACR;AACA;IACQpB,MAAM;IAEN;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQyB,kBAAkB,EAAEA,CAAA,KAAMvB,iBAAiB,CAACwB,WAAW,CAAC,CAAC,CAACD,kBAAkB;IAE5E;AACR;AACA;IACQhC,aAAa;IAEb;AACR;AACA;IACQE,WAAW;IAEX;AACR;AACA;IACQI,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,EAAGsC,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,OAAOnC,cAAc,CAACuC,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;IACQ3B,YAAY,EAAG4B,MAAoB,IAAK;MACpCb,oBAAoB,CAAC,cAAc,CAAC;MACpC,OAAOf,YAAY,CAAC4B,MAAM,CAAC;IAC/B,CAAC;IAED;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ/B,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;EACJ,CAAC;AACL;AAEA,OAAO,MAAMsC,YAAY,GAAGjB,wBAAwB,CAAC,CAAC","ignoreList":[]}
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":[]}
@@ -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
@@ -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":";;AAAA,SAASA,kBAAkB,QAAQ,cAAc;AACjD,SAASC,qBAAqB,EAAEC,mBAAmB,QAAQ,YAAS;AAGpE,OAAOC,kBAAkB,MAElB,+BAA4B;AAGnC,SAASF,qBAAqB,EAAEC,mBAAmB;AAEnD,MAAME,QAAQ,GAAG,sCAAsC;AAEvD,MAAMC,0BAA0B,GAACC,SAAS;AAE1C,OAAO,MAAMC,qBAAqB,GAAG;EACjCC,wBAAwB,EAAEH,0BAA0B,IAAID;AAC5D,CAAC;AASD,OAAO,MAAMK,WAAW,GAAGA,CACvBC,SAAY,EACZC,QAA8B,CAAE;AAAA,KAC/B;EACD,MAAMC,YAAY,GAAG,IAAIZ,kBAAkB,CAACG,kBAAkB,CAAC;EAC/D,MAAMU,YAAY,GAAGD,YAAY,CAACH,WAAW,CAACC,SAAS,EAAEC,QAAQ,CAAC;EAElE,OAAO,MAAM;IACTE,YAAY,CAACC,MAAM,CAAC,CAAC;EACzB,CAAC;AACL,CAAC;AAMD;AACA,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAA2B,CAAC;;AAE3D;AACA,IAAIC,qBAAoC,GAAG,IAAI;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,OAAO,eAAeC,YAAYA,CAC9BC,gBAAuC,EACvCC,OAAuB,EACP;EAEhB,MAAMC,cAAc,GAAG,OAAOF,gBAAgB,KAAK,QAAQ,GAAGA,gBAAgB,GAAGA,gBAAgB,CAACG,QAAQ;EAE1G,MAAMC,MAAM,GAAG,OAAOJ,gBAAgB,KAAK,QAAQ,GAAG,QAAQ,GAAGA,gBAAgB,CAACI,MAAM;;EAExF;EACA,IAAIA,MAAM,KAAK,QAAQ,IAAIN,qBAAqB,KAAKI,cAAc,EAAE;IACjE,OAAO,IAAI;EACf;EAEA,MAAMG,eAAe,GAAGC,WAAW,CAAC,CAAC;;EAErC;EACA,IACIF,MAAM,KAAK,QAAQ,IACnBF,cAAc,CAACK,aAAa,CAACF,eAAe,CAAC,IAAI,CAAC,EACpD;IACE,MAAM,IAAIG,KAAK,CACX,yFACJ,CAAC;EACL;;EAEA;EACA,MAAMC,QAAQ,GAAGb,eAAe,CAACc,GAAG,CAACR,cAAc,CAAC;EACpD,IAAIO,QAAQ,EAAE,OAAOA,QAAQ;EAE7B,MAAME,aAAa,GAAG,OAAOX,gBAAgB,KAAK,QAAQ,GAAIC,OAAO,IAAI,IAAI,GAAID,gBAAgB,CAACC,OAAO;EAEzG,MAAMW,cAAc,GAAG,OAAOZ,gBAAgB,KAAK,QAAQ,GAAGb,SAAS,GAAGa,gBAAgB,CAACa,QAAQ;EAEnG,MAAMC,OAAO,GAAG,CAAC,YAAY;IACzB,IAAI;MACA,MAAMC,EAAE,GAAG,MAAM/B,kBAAkB,CAACe,YAAY,CAAC;QAC7CI,QAAQ,EAAED,cAAc;QACxBD,OAAO,EAAEU,aAAa;QACtBE,QAAQ,EAAED,cAAc,IAAI;MAChC,CAAC,CAAC;MAEF,IAAIG,EAAE,EAAE;QACJjB,qBAAqB,GAAGI,cAAc;MAC1C;MAEA,OAAOa,EAAE;IAEb,CAAC,SAAS;MACNnB,eAAe,CAACoB,MAAM,CAACd,cAAc,CAAC;IAC1C;EACJ,CAAC,EAAE,CAAC;EAEJN,eAAe,CAACqB,GAAG,CAACf,cAAc,EAAEY,OAAO,CAAC;EAC5C,OAAOA,OAAO;AAClB;;AAEA;AACA;AACA;AACA,OAAO,MAAMI,aAAa,GAAGA,CAAA,KAAqB;EAC9C,MAAMC,SAAS,GAAGnC,kBAAkB,CAACoC,YAAY,CAAC,CAAC;EACnD,OAAOD,SAAS,EAAEE,WAAW,IAAI,IAAI;AACzC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAG,MAAAA,CAAA,KAAY;EAC9B,MAAMtC,kBAAkB,CAACsC,MAAM,CAAC,CAAC;AACrC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAc;EACxC,MAAMJ,SAAS,GAAGnC,kBAAkB,CAACoC,YAAY,CAAC,CAAC;EACnD,OAAOD,SAAS,CAACK,aAAa;AAClC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMlB,WAAW,GAAGA,CAAA,KAAc;EACvC,OAAOlB,qBAAqB,CAACC,wBAAwB,KAAKJ,QAAQ,GAC9DsC,cAAc,CAAC,CAAC,GAChBnC,qBAAqB,CAACC,wBAAwB;AACpD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMoC,UAAU,GAAGA,CAAA,KAAc;EACpC,MAAMN,SAAS,GAAGnC,kBAAkB,CAACoC,YAAY,CAAC,CAAC;EACnD,OAAOD,SAAS,CAACO,OAAO;AAC5B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAqB;EACnD,MAAMR,SAAS,GAAGnC,kBAAkB,CAACoC,YAAY,CAAC,CAAC;EACnD,OAAOD,SAAS,CAACS,gBAAgB;AACrC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;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,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAA4B;EACtD,MAAM1B,QAAQ,GAAGG,WAAW,CAAC,CAAC;EAC9B,MAAMwB,MAAM,GAAG9C,kBAAkB,CAAC6C,cAAc,CAAC;IAAE1B;EAAS,CAAC,CAAC;EAC9D;EACA,IAAI,OAAO2B,MAAM,KAAK,QAAQ,EAAE;IAC5B,IAAI;MACA,OAAOC,IAAI,CAACC,KAAK,CAACF,MAAM,CAAC;IAC7B,CAAC,CAAC,MAAM;MACJ,OAAO;QAAE1B,MAAM,EAAE;MAAS,CAAC;IAC/B;EACJ;EACA,OAAO0B,MAAM;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,eAAe,GAAGA,CAAA,KAAgB;EAC3C,MAAMH,MAAM,GAAG9C,kBAAkB,CAACiD,eAAe,CAAC,CAAC;EACnD;EACA,IAAI,OAAOH,MAAM,KAAK,QAAQ,EAAE;IAC5B,IAAI;MACA,OAAOC,IAAI,CAACC,KAAK,CAACF,MAAM,CAAC;IAC7B,CAAC,CAAC,MAAM;MACJ,OAAO,EAAE;IACb;EACJ;EACA,OAAOA,MAAM;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,iBAAiB,GAAGA,CAAA,KAAe;EAC5C,OAAOlD,kBAAkB,CAACkD,iBAAiB,CAAC,CAAC;AACjD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAqB;EAC3C,MAAML,MAAM,GAAG9C,kBAAkB,CAACmD,UAAU,CAAC,CAAC;EAC9C,IAAI,OAAOL,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,EAAE,EAAE;IAC7C,OAAOA,MAAM;EACjB;EACA,OAAO,IAAI;AACf,CAAC","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":[]}
@@ -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
  /**
@@ -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;AAE/D;;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
+ {"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":[]}
@@ -93,6 +93,7 @@ export interface Spec extends TurboModule {
93
93
  APP_VERSION: string | null;
94
94
  CHANNEL: string;
95
95
  FINGERPRINT_HASH: string | null;
96
+ KEYSTORE_PUBLIC_KEY: string | null;
96
97
  };
97
98
  }
98
99
  declare const _default: Spec;
@@ -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;KACnC,CAAC;CACL;;AAED,wBAA4E"}
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;IAIrC;;;;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"}
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,EAEpB,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;AA8U5E,eAAO,MAAM,YAAY;IArQjB;;;;;;;;;;;;;;;;;;;;;;;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;;CAK2C,CAAC"}
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,CAgBpE;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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-instantpay-code-push",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "React Native plugin for the CodePush service",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -105,6 +105,7 @@ export interface Spec extends TurboModule {
105
105
  APP_VERSION: string | null;
106
106
  CHANNEL: string;
107
107
  FINGERPRINT_HASH: string | null;
108
+ KEYSTORE_PUBLIC_KEY: string | null;
108
109
  };
109
110
  }
110
111
 
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