@onekeyfe/react-native-lite-card 1.0.0 → 1.0.2

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/android/build.gradle +1 -1
  2. package/android/src/main/AndroidManifest.xml +1 -1
  3. package/android/src/main/java/so/onekey/app/wallet/{LoggerManager.kt → lite/LoggerManager.kt} +2 -2
  4. package/android/src/main/java/so/onekey/app/wallet/{OKLiteManager.kt → lite/OKLiteManager.kt} +55 -49
  5. package/android/src/main/java/so/onekey/app/wallet/{OKLitePackage.kt → lite/OKLitePackage.kt} +1 -1
  6. package/android/src/main/java/so/onekey/app/wallet/{keys → lite/keys}/KeysNativeProvider.kt +1 -1
  7. package/android/src/main/java/so/onekey/app/wallet/{nfc → lite/nfc}/Exceptions.kt +1 -1
  8. package/android/src/main/java/so/onekey/app/wallet/{nfc → lite/nfc}/NfcUtils.kt +2 -2
  9. package/android/src/main/java/so/onekey/app/wallet/{nfc → lite/nfc}/broadcast/NfcStatusChangeBroadcastReceiver.kt +1 -1
  10. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/NfcConstant.kt +2 -2
  11. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/OnekeyLiteCard.kt +9 -18
  12. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/entitys/APDUParam.kt +1 -1
  13. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/entitys/CardInfo.java +1 -1
  14. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/entitys/CardResponse.java +1 -1
  15. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/entitys/CardState.kt +1 -1
  16. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/entitys/ParsedCertInfo.java +1 -1
  17. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/entitys/SecureChanelParam.java +1 -1
  18. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/entitys/SendResponse.kt +2 -2
  19. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/nfc/CommandGenerator.kt +6 -6
  20. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/nfc/Connection.kt +12 -12
  21. package/android/src/main/java/so/onekey/app/wallet/{onekeyLite → lite/onekeyLite}/nfc/GPCAPDUGenerator.kt +3 -3
  22. package/android/src/main/java/so/onekey/app/wallet/{utils → lite/utils}/EventUtils.kt +1 -1
  23. package/android/src/main/java/so/onekey/app/wallet/{utils → lite/utils}/GpsUtil.kt +1 -1
  24. package/android/src/main/java/so/onekey/app/wallet/{utils → lite/utils}/HexUtils.java +1 -1
  25. package/android/src/main/java/so/onekey/app/wallet/{utils → lite/utils}/LogUtil.kt +3 -3
  26. package/android/src/main/java/so/onekey/app/wallet/{utils → lite/utils}/MiUtil.kt +5 -5
  27. package/android/src/main/java/so/onekey/app/wallet/{utils → lite/utils}/NfcPermissionUtils.kt +1 -1
  28. package/android/src/main/java/so/onekey/app/wallet/{utils → lite/utils}/Utils.java +1 -1
  29. package/ios/Classes/OKLiteManager.m +5 -19
  30. package/ios/GPChannelSDKCore.framework/GPChannelSDKCore +0 -0
  31. package/ios/GPChannelSDKCore.framework/Headers/GPChannelSDK.h +0 -0
  32. package/ios/GPChannelSDKCore.framework/Headers/GPChannelSDKCore.h +0 -0
  33. package/keys/keys.c +1 -1
  34. package/lib/commonjs/index.js +8 -52
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/module/index.js +8 -52
  37. package/lib/module/index.js.map +1 -1
  38. package/lib/typescript/src/index.d.ts +0 -11
  39. package/lib/typescript/src/index.d.ts.map +1 -1
  40. package/package.json +2 -2
  41. package/react-native-lite-card.podspec +1 -1
  42. package/src/index.ts +13 -69
  43. /package/android/src/main/java/so/onekey/app/wallet/{nfc → lite/nfc}/gpchannel/GPChannelNatives.kt +0 -0
@@ -44,7 +44,7 @@ def supportsNamespace() {
44
44
 
45
45
  android {
46
46
  if (supportsNamespace()) {
47
- namespace "so.onekey.app.wallet"
47
+ namespace "so.onekey.app.wallet.lite"
48
48
 
49
49
  sourceSets {
50
50
  main {
@@ -1,3 +1,3 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="so.onekey.app.wallet">
2
+ package="so.onekey.app.wallet.lite">
3
3
  </manifest>
@@ -1,10 +1,10 @@
1
- package so.onekey.app.wallet
1
+ package so.onekey.app.wallet.lite
2
2
 
3
3
  import android.util.Log
4
4
  import com.facebook.react.bridge.ReactApplicationContext
5
5
  import com.facebook.react.bridge.ReactContextBaseJavaModule
6
6
  import com.facebook.react.bridge.ReactMethod
7
- import so.onekey.app.wallet.utils.sendEvent
7
+ import so.onekey.app.wallet.lite.utils.sendEvent
8
8
 
9
9
  class LoggerManager(private val context: ReactApplicationContext) :
10
10
  ReactContextBaseJavaModule(context) {
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet
1
+ package so.onekey.app.wallet.lite
2
2
 
3
3
  import android.content.Intent
4
4
  import android.nfc.NfcAdapter
@@ -11,13 +11,13 @@ import com.facebook.react.bridge.*
11
11
  import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
12
12
  import kotlinx.coroutines.*
13
13
  import kotlinx.coroutines.channels.Channel
14
- import so.onekey.app.wallet.nfc.NFCExceptions
15
- import so.onekey.app.wallet.nfc.NfcUtils
16
- import so.onekey.app.wallet.nfc.broadcast.NfcStatusChangeBroadcastReceiver
17
- import so.onekey.app.wallet.onekeyLite.OneKeyLiteCard
18
- import so.onekey.app.wallet.onekeyLite.entitys.CardState
19
- import so.onekey.app.wallet.utils.NfcPermissionUtils
20
- import so.onekey.app.wallet.utils.Utils
14
+ import so.onekey.app.wallet.lite.nfc.NFCExceptions
15
+ import so.onekey.app.wallet.lite.nfc.NfcUtils
16
+ import so.onekey.app.wallet.lite.nfc.broadcast.NfcStatusChangeBroadcastReceiver
17
+ import so.onekey.app.wallet.lite.onekeyLite.OneKeyLiteCard
18
+ import so.onekey.app.wallet.lite.onekeyLite.entitys.CardState
19
+ import so.onekey.app.wallet.lite.utils.NfcPermissionUtils
20
+ import so.onekey.app.wallet.lite.utils.Utils
21
21
  import java.util.concurrent.Executors
22
22
  import java.util.concurrent.atomic.AtomicInteger
23
23
 
@@ -46,6 +46,7 @@ class OKLiteManager(private val context: ReactApplicationContext) :
46
46
  }
47
47
 
48
48
  private val mNFCConnectedChannel = Channel<IsoDep?>(1)
49
+ private var lastIsoDep: IsoDep? = null
49
50
  private val mNFCState = AtomicInteger(NFCState.Dead)
50
51
  private val mShowDialogNumber = AtomicInteger(0)
51
52
  private var mCurrentCardState: CardState? = null
@@ -78,7 +79,7 @@ class OKLiteManager(private val context: ReactApplicationContext) :
78
79
  delay(100)
79
80
  if (!mNFCConnectedChannel.isEmpty) {
80
81
  Log.e(TAG, "There is no way to use NFC")
81
- mNFCConnectedChannel.receive()
82
+ // mNFCConnectedChannel.receive()
82
83
  val startRequest = OneKeyLiteCard.initRequest(isoDep)
83
84
  val dataMap = Arguments.createMap().apply {
84
85
  putInt("code", -1)
@@ -118,11 +119,11 @@ class OKLiteManager(private val context: ReactApplicationContext) :
118
119
  mNfcStateBroadcastReceiver,
119
120
  NfcStatusChangeBroadcastReceiver.nfcBroadcastReceiverIntentFilter
120
121
  )
121
- Utils.getTopActivity()?.let {
122
- launch(Dispatchers.IO) {
123
- OneKeyLiteCard.startNfc(it as FragmentActivity) {}
122
+ Utils.getTopActivity()?.let {
123
+ launch(Dispatchers.IO) {
124
+ OneKeyLiteCard.startNfc(it as FragmentActivity) {}
125
+ }
124
126
  }
125
- }
126
127
 
127
128
  }
128
129
 
@@ -211,11 +212,14 @@ class OKLiteManager(private val context: ReactApplicationContext) :
211
212
  it.putString("message", "show_connect_ui")
212
213
  })
213
214
  mShowDialogNumber.incrementAndGet()
214
- if (!mNFCConnectedChannel.isEmpty) {
215
- mNFCConnectedChannel.tryReceive()
215
+ var receiveIsoDep = lastIsoDep
216
+ val tryReceiveResult = mNFCConnectedChannel.tryReceive()
217
+ if (tryReceiveResult.isSuccess) {
218
+ receiveIsoDep = tryReceiveResult.getOrNull();
219
+ } else if (lastIsoDep == null || lastIsoDep?.isConnected == false) {
220
+ receiveIsoDep = mNFCConnectedChannel.receive()
216
221
  }
217
- val receiveIsoDep = mNFCConnectedChannel.receive()
218
- mCurrentCardState = null
222
+ lastIsoDep = receiveIsoDep
219
223
  if (receiveIsoDep == null) {
220
224
  // 取消连接
221
225
  releaseDevice()
@@ -259,27 +263,7 @@ class OKLiteManager(private val context: ReactApplicationContext) :
259
263
  callback: Callback,
260
264
  execute: (isoDep: IsoDep) -> T
261
265
  ) {
262
- val topActivity = Utils.getTopActivity()
263
- if (topActivity == null) {
264
- callback.invoke(NFCExceptions.InitializedException().createArguments(), null, null)
265
- return
266
- }
267
- val isNfcExists = NfcUtils.isNfcExits(topActivity)
268
- if (!isNfcExists) {
269
- // 没有 NFC 设备
270
- Log.d(TAG, "NFC device not found")
271
- callback.invoke(NFCExceptions.NotExistsNFC().createArguments(), null, null)
272
- return
273
- }
274
-
275
- val isNfcEnable = NfcUtils.isNfcEnable(topActivity)
276
- if (!isNfcEnable) {
277
- // 没有打开 NFC 开关
278
- Log.d(TAG, "NFC device not enable")
279
- callback.invoke(NFCExceptions.NotEnableNFC().createArguments(), null, null)
280
- return
281
- }
282
-
266
+ val topActivity = Utils.getTopActivity() ?: return
283
267
  NfcPermissionUtils.checkPermission(topActivity) {
284
268
  try {
285
269
  Log.d(TAG, "NFC permission check success")
@@ -324,17 +308,6 @@ class OKLiteManager(private val context: ReactApplicationContext) :
324
308
  }
325
309
  }
326
310
 
327
- @ReactMethod
328
- fun getCardName(callback: Callback) = launch {
329
- Log.d(TAG, "getCardName")
330
- handleOperation(callback) { isoDep ->
331
- Log.e(TAG, "getCardName Obtain the device")
332
- val cardName = OneKeyLiteCard.getCardName(isoDep)
333
- Log.e(TAG, "getCardName result $cardName")
334
- cardName
335
- }
336
- }
337
-
338
311
  @ReactMethod
339
312
  fun getLiteInfo(callback: Callback) = launch {
340
313
  Log.d(TAG, "getLiteInfo")
@@ -377,6 +350,39 @@ class OKLiteManager(private val context: ReactApplicationContext) :
377
350
  }
378
351
  }
379
352
 
353
+ @ReactMethod
354
+ fun checkNFCPermission(callback: Callback) {
355
+ val topActivity = Utils.getTopActivity()
356
+ if (topActivity == null) {
357
+ callback.invoke(NFCExceptions.InitializedException().createArguments(), null, null)
358
+ return
359
+ }
360
+ val isNfcExists = NfcUtils.isNfcExits(topActivity)
361
+ if (!isNfcExists) {
362
+ // 没有 NFC 设备
363
+ Log.d(TAG, "NFC device not found")
364
+ callback.invoke(NFCExceptions.NotExistsNFC().createArguments(), null, null)
365
+ return
366
+ }
367
+
368
+ val isNfcEnable = NfcUtils.isNfcEnable(topActivity)
369
+ if (!isNfcEnable) {
370
+ // 没有打开 NFC 开关
371
+ Log.d(TAG, "NFC device not enable")
372
+ callback.invoke(NFCExceptions.NotEnableNFC().createArguments(), null, null)
373
+ return
374
+ }
375
+ NfcPermissionUtils.checkPermission(topActivity) {
376
+ // 没有 NFC 使用权限
377
+ Log.d(TAG, "NFC device not permission")
378
+ callback.invoke(null, null, null)
379
+ return
380
+ }
381
+ // 没有 NFC 使用权限
382
+ Log.d(TAG, "NFC device not permission")
383
+ callback.invoke(NFCExceptions.NotNFCPermission().createArguments(), null, null)
384
+ }
385
+
380
386
  @ReactMethod
381
387
  fun reset(callback: Callback) = launch {
382
388
  Log.d(TAG, "reset")
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet
1
+ package so.onekey.app.wallet.lite
2
2
 
3
3
  import com.facebook.react.ReactPackage
4
4
  import com.facebook.react.bridge.NativeModule
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.keys
1
+ package so.onekey.app.wallet.lite.keys
2
2
 
3
3
  import android.content.Context
4
4
 
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.nfc
1
+ package so.onekey.app.wallet.lite.nfc
2
2
 
3
3
  sealed class NFCExceptions(val code: Int, override val message: String? = null) : Exception(message) {
4
4
  fun toJson(): String {
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.nfc
1
+ package so.onekey.app.wallet.lite.nfc
2
2
 
3
3
  import android.app.Activity
4
4
  import android.app.PendingIntent
@@ -9,7 +9,7 @@ import android.nfc.NfcAdapter
9
9
  import android.nfc.tech.*
10
10
  import android.os.Build
11
11
  import android.provider.Settings
12
- import so.onekey.app.wallet.utils.MiUtil
12
+ import so.onekey.app.wallet.lite.utils.MiUtil
13
13
 
14
14
  object NfcUtils {
15
15
 
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.nfc.broadcast
1
+ package so.onekey.app.wallet.lite.nfc.broadcast
2
2
 
3
3
  import android.content.BroadcastReceiver
4
4
  import android.content.Context
@@ -1,7 +1,7 @@
1
- package so.onekey.app.wallet.onekeyLite
1
+ package so.onekey.app.wallet.lite.onekeyLite
2
2
 
3
3
  import android.nfc.tech.IsoDep
4
- import so.onekey.app.wallet.utils.HexUtils
4
+ import so.onekey.app.wallet.lite.utils.HexUtils
5
5
  import java.io.IOException
6
6
 
7
7
 
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.onekeyLite
1
+ package so.onekey.app.wallet.lite.onekeyLite
2
2
 
3
3
  import android.app.Activity
4
4
  import android.nfc.tech.IsoDep
@@ -7,14 +7,14 @@ import androidx.fragment.app.FragmentActivity
7
7
  import com.google.gson.Gson
8
8
  import kotlinx.coroutines.Dispatchers
9
9
  import kotlinx.coroutines.withContext
10
- import so.onekey.app.wallet.nfc.NFCExceptions
11
- import so.onekey.app.wallet.nfc.NfcUtils
12
- import so.onekey.app.wallet.onekeyLite.entitys.CardState
13
- import so.onekey.app.wallet.onekeyLite.nfc.AppleCardType
14
- import so.onekey.app.wallet.onekeyLite.nfc.Connection
15
- import so.onekey.app.wallet.onekeyLite.nfc.CommandGenerator
16
- import so.onekey.app.wallet.utils.LogUtil.printLog
17
- import so.onekey.app.wallet.utils.NfcPermissionUtils
10
+ import so.onekey.app.wallet.lite.nfc.NFCExceptions
11
+ import so.onekey.app.wallet.lite.nfc.NfcUtils
12
+ import so.onekey.app.wallet.lite.onekeyLite.entitys.CardState
13
+ import so.onekey.app.wallet.lite.onekeyLite.nfc.AppleCardType
14
+ import so.onekey.app.wallet.lite.onekeyLite.nfc.Connection
15
+ import so.onekey.app.wallet.lite.onekeyLite.nfc.CommandGenerator
16
+ import so.onekey.app.wallet.lite.utils.LogUtil.printLog
17
+ import so.onekey.app.wallet.lite.utils.NfcPermissionUtils
18
18
 
19
19
  object OneKeyLiteCard {
20
20
  const val TAG = "OneKeyLiteCard"
@@ -91,15 +91,6 @@ object OneKeyLiteCard {
91
91
  return mCardConnection?.startVerifyPin(verifyPin) ?: 0
92
92
  }
93
93
 
94
- @Throws(NFCExceptions::class)
95
- fun getCardName(isoDep: IsoDep): String {
96
- val cardInfo = mCardConnection?.getSerialNumber()
97
- if (cardInfo.isNullOrEmpty() || cardInfo == NfcConstant.NOT_MATCH_DEVICE) {
98
- throw NFCExceptions.InterruptException()
99
- }
100
- return cardInfo
101
- }
102
-
103
94
  @Throws(NFCExceptions::class)
104
95
  fun getCardInfo(isoDep: IsoDep): CardState {
105
96
  return mCardConnection?.getCardInfo() ?: throw NFCExceptions.ConnectionFailException()
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.onekeyLite.entitys
1
+ package so.onekey.app.wallet.lite.onekeyLite.entitys
2
2
 
3
3
  data class APDUParam(
4
4
  val cla: Long,
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.onekeyLite.entitys;
1
+ package so.onekey.app.wallet.lite.onekeyLite.entitys;
2
2
 
3
3
 
4
4
  import com.google.gson.Gson;
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.onekeyLite.entitys;
1
+ package so.onekey.app.wallet.lite.onekeyLite.entitys;
2
2
 
3
3
  import com.google.gson.Gson;
4
4
  import com.google.gson.annotations.SerializedName;
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.onekeyLite.entitys
1
+ package so.onekey.app.wallet.lite.onekeyLite.entitys
2
2
 
3
3
  import android.nfc.tech.IsoDep
4
4
 
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.onekeyLite.entitys;
1
+ package so.onekey.app.wallet.lite.onekeyLite.entitys;
2
2
 
3
3
  /**
4
4
  * @author liyan
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.onekeyLite.entitys;
1
+ package so.onekey.app.wallet.lite.onekeyLite.entitys;
2
2
 
3
3
  import androidx.annotation.NonNull;
4
4
 
@@ -1,6 +1,6 @@
1
- package so.onekey.app.wallet.onekeyLite.entitys
1
+ package so.onekey.app.wallet.lite.onekeyLite.entitys
2
2
 
3
- import so.onekey.app.wallet.utils.HexUtils
3
+ import so.onekey.app.wallet.lite.utils.HexUtils
4
4
 
5
5
  data class SendResponse(
6
6
  // Original return result
@@ -1,14 +1,14 @@
1
- package so.onekey.app.wallet.onekeyLite.nfc
1
+ package so.onekey.app.wallet.lite.onekeyLite.nfc
2
2
 
3
3
  import com.google.gson.JsonObject
4
4
  import com.google.gson.JsonParser
5
5
  import org.haobtc.onekey.card.gpchannel.GPChannelNatives.nativeGPCParseAPDUResponse
6
6
  import org.haobtc.onekey.card.gpchannel.GPChannelNatives.nativeGPCParseSafeAPDUResponse
7
- import so.onekey.app.wallet.nfc.NFCExceptions
8
- import so.onekey.app.wallet.onekeyLite.entitys.APDUParam
9
- import so.onekey.app.wallet.onekeyLite.entitys.CardResponse
10
- import so.onekey.app.wallet.onekeyLite.entitys.SendResponse
11
- import so.onekey.app.wallet.utils.Utils
7
+ import so.onekey.app.wallet.lite.nfc.NFCExceptions
8
+ import so.onekey.app.wallet.lite.onekeyLite.entitys.APDUParam
9
+ import so.onekey.app.wallet.lite.onekeyLite.entitys.CardResponse
10
+ import so.onekey.app.wallet.lite.onekeyLite.entitys.SendResponse
11
+ import so.onekey.app.wallet.lite.utils.Utils
12
12
 
13
13
  enum class AppleCardType(val aid: String, val prefixSN: String) {
14
14
  V1("D156000132834001", "OKLFT"),
@@ -1,19 +1,19 @@
1
- package so.onekey.app.wallet.onekeyLite.nfc
1
+ package so.onekey.app.wallet.lite.onekeyLite.nfc
2
2
 
3
3
  import android.nfc.tech.IsoDep
4
4
  import org.haobtc.onekey.card.gpchannel.GPChannelNatives
5
5
  import org.haobtc.onekey.card.gpchannel.GPChannelNatives.nativeGPCFinalize
6
- import so.onekey.app.wallet.keys.KeysNativeProvider
7
- import so.onekey.app.wallet.nfc.NFCExceptions
8
- import so.onekey.app.wallet.onekeyLite.NfcConstant
9
- import so.onekey.app.wallet.onekeyLite.entitys.*
10
- import so.onekey.app.wallet.onekeyLite.nfc.GPCAPDUGenerator.buildGPCAPDU
11
- import so.onekey.app.wallet.onekeyLite.nfc.GPCAPDUGenerator.combCommand
12
- import so.onekey.app.wallet.utils.HexUtils
13
- import so.onekey.app.wallet.utils.HexUtils.byteArr2HexStr
14
- import so.onekey.app.wallet.utils.HexUtils.hexString2Bytes
15
- import so.onekey.app.wallet.utils.LogUtil.printLog
16
- import so.onekey.app.wallet.utils.Utils
6
+ import so.onekey.app.wallet.lite.keys.KeysNativeProvider
7
+ import so.onekey.app.wallet.lite.nfc.NFCExceptions
8
+ import so.onekey.app.wallet.lite.onekeyLite.NfcConstant
9
+ import so.onekey.app.wallet.lite.onekeyLite.entitys.*
10
+ import so.onekey.app.wallet.lite.onekeyLite.nfc.GPCAPDUGenerator.buildGPCAPDU
11
+ import so.onekey.app.wallet.lite.onekeyLite.nfc.GPCAPDUGenerator.combCommand
12
+ import so.onekey.app.wallet.lite.utils.HexUtils
13
+ import so.onekey.app.wallet.lite.utils.HexUtils.byteArr2HexStr
14
+ import so.onekey.app.wallet.lite.utils.HexUtils.hexString2Bytes
15
+ import so.onekey.app.wallet.lite.utils.LogUtil.printLog
16
+ import so.onekey.app.wallet.lite.utils.Utils
17
17
  import java.io.IOException
18
18
 
19
19
  class Connection(val isoDep: IsoDep, private val mCommandGenerator: CommandGenerator) {
@@ -1,9 +1,9 @@
1
- package so.onekey.app.wallet.onekeyLite.nfc
1
+ package so.onekey.app.wallet.lite.onekeyLite.nfc
2
2
 
3
3
  import com.google.gson.Gson
4
4
  import org.haobtc.onekey.card.gpchannel.GPChannelNatives
5
- import so.onekey.app.wallet.onekeyLite.entitys.APDUParam
6
- import so.onekey.app.wallet.utils.LogUtil.printLog
5
+ import so.onekey.app.wallet.lite.onekeyLite.entitys.APDUParam
6
+ import so.onekey.app.wallet.lite.utils.LogUtil.printLog
7
7
 
8
8
  object GPCAPDUGenerator {
9
9
  private const val TAG = "GPCAPDUGenerator"
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.utils
1
+ package so.onekey.app.wallet.lite.utils
2
2
 
3
3
  import com.facebook.react.bridge.ReactContext
4
4
  import com.facebook.react.modules.core.DeviceEventManagerModule
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.utils
1
+ package so.onekey.app.wallet.lite.utils
2
2
 
3
3
  import android.content.Context
4
4
  import android.content.Intent
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.utils;
1
+ package so.onekey.app.wallet.lite.utils;
2
2
 
3
3
  import java.math.BigInteger;
4
4
  import java.util.Collections;
@@ -1,7 +1,7 @@
1
- package so.onekey.app.wallet.utils
1
+ package so.onekey.app.wallet.lite.utils
2
2
 
3
- import so.onekey.app.wallet.onekeyLite.NfcConstant
4
- import so.onekey.app.wallet.LoggerManager
3
+ import so.onekey.app.wallet.lite.onekeyLite.NfcConstant
4
+ import so.onekey.app.wallet.lite.LoggerManager
5
5
 
6
6
  object LogUtil {
7
7
  @JvmStatic
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.utils
1
+ package so.onekey.app.wallet.lite.utils
2
2
 
3
3
  import android.app.AppOpsManager
4
4
  import android.content.Context
@@ -9,10 +9,10 @@ import android.provider.Settings
9
9
  import android.util.Log
10
10
  import androidx.annotation.IntDef
11
11
  import androidx.annotation.RequiresApi
12
- import so.onekey.app.wallet.utils.MiUtil.PermissionResult.Companion.PERMISSION_ASK
13
- import so.onekey.app.wallet.utils.MiUtil.PermissionResult.Companion.PERMISSION_DENIED
14
- import so.onekey.app.wallet.utils.MiUtil.PermissionResult.Companion.PERMISSION_GRANTED
15
- import so.onekey.app.wallet.utils.MiUtil.PermissionResult.Companion.PERMISSION_UNKNOWN
12
+ import so.onekey.app.wallet.lite.utils.MiUtil.PermissionResult.Companion.PERMISSION_ASK
13
+ import so.onekey.app.wallet.lite.utils.MiUtil.PermissionResult.Companion.PERMISSION_DENIED
14
+ import so.onekey.app.wallet.lite.utils.MiUtil.PermissionResult.Companion.PERMISSION_GRANTED
15
+ import so.onekey.app.wallet.lite.utils.MiUtil.PermissionResult.Companion.PERMISSION_UNKNOWN
16
16
 
17
17
  object MiUtil {
18
18
  val TAG = MiUtil::class.simpleName
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.utils
1
+ package so.onekey.app.wallet.lite.utils
2
2
 
3
3
  import android.app.Activity
4
4
  import android.os.Build
@@ -1,4 +1,4 @@
1
- package so.onekey.app.wallet.utils;
1
+ package so.onekey.app.wallet.lite.utils;
2
2
 
3
3
  import android.annotation.SuppressLint;
4
4
  import android.app.Activity;
@@ -38,26 +38,12 @@ RCT_EXPORT_MODULE();
38
38
  RCT_EXPORT_METHOD(checkNFCPermission:(RCTResponseSenderBlock)callback)
39
39
  {
40
40
  BOOL permission = [NFCNDEFReaderSession readingAvailable];
41
- if (![NFCNDEFReaderSession readingAvailable]) {
42
- callback(@[[NSNull null],@(permission),[NSNull null]]);
43
- }
44
- }
45
-
46
- RCT_EXPORT_METHOD(getCardName:(RCTResponseSenderBlock)callBack)
47
- {
48
- if ([OKLiteManager checkSDKVaild:callBack]) {
49
- __block OKNFCManager *liteManager = [[OKNFCManager alloc] init];
50
- [liteManager getLiteInfo:^(OKLiteV1 *lite, OKNFCLiteStatus status) {
51
- NSDictionary *cardInfo = [lite cardInfo];
52
- BOOL error = status == OKNFCLiteStatusError || status == OKNFCLiteStatusSNNotMatch;
53
- if (error) {
54
- callBack(@[@{@"code":@(NFCLiteExceptionsConnectionFail),@"message":@""},[NSNull null],[NSNull null]]);
55
- } else {
56
- callBack(@[[NSNull null],lite.SN,cardInfo]);
57
- }
58
- liteManager = nil;
59
- }];
41
+ if (permission) {
42
+ callback(@[[NSNull null],@(permission),[NSNull null]]);
43
+ } else {
44
+ callback(@[@{@"code":@(NFCLiteExceptionsNotExistsNFC),@"message":@""},[NSNull null],[NSNull null]]);
60
45
  }
46
+
61
47
  }
62
48
 
63
49
  RCT_EXPORT_METHOD(getLiteInfo:(RCTResponseSenderBlock)callBack)
File without changes
package/keys/keys.c CHANGED
@@ -28,7 +28,7 @@ char *getInitParams() {
28
28
  #ifdef __ANDROID__
29
29
 
30
30
  JNIEXPORT jstring JNICALL
31
- Java_so_onekey_app_wallet_keys_KeysNativeProvider_getLiteSecureChannelInitParams(JNIEnv *env,
31
+ Java_so_onekey_app_wallet_lite_keys_KeysNativeProvider_getLiteSecureChannelInitParams(JNIEnv *env,
32
32
  jobject this,
33
33
  jobject context) {
34
34
  char *result = getInitParams();
@@ -3,63 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.LiteFlag = void 0;
6
+ exports.default = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _types = require("./types");
9
9
  const {
10
10
  OKLiteManager
11
11
  } = _reactNative.NativeModules;
12
- const LiteFlag = exports.LiteFlag = {
13
- VERSION: '01',
14
- LANGUAGE: '00',
15
- // english
16
- TAG: 'ffff'
17
- };
18
- const DEFAULT_FUNCTION = value => value;
19
12
  class OnekeyLite {
20
13
  UiEventEmitter = null;
21
- mnemonicToEntropy = DEFAULT_FUNCTION;
22
- entropyToMnemonic = DEFAULT_FUNCTION;
23
- entropyToMnemonicV2 = DEFAULT_FUNCTION;
24
14
  constructor() {
25
15
  if (_reactNative.Platform.OS !== 'android') return;
26
16
  this.UiEventEmitter = new _reactNative.NativeEventEmitter(OKLiteManager);
27
17
  }
28
- async encodeMnemonic(version, language, mnemonic) {
29
- const meta = LiteFlag.TAG + version + language;
30
- const enMnemonic = await this.mnemonicToEntropy(mnemonic.trim()); // mnemonic to index
31
- return enMnemonic + meta;
32
- }
33
- async decodeMnemonic(payload) {
34
- try {
35
- if (payload.length <= 8) return Buffer.from(payload, 'hex').toString().trim();
36
- const meta = payload.slice(-8);
37
- const regexp = /^ffff[a-f0-9]{4}$/;
38
- if (regexp.test(meta)) {
39
- const version = parseInt(meta.slice(4, 6), 10);
40
- const enMnemonic = payload.slice(0, -8);
41
- if (version === 1) {
42
- const deMnemonic = await this.entropyToMnemonic(enMnemonic); // mnemonic to index
43
-
44
- return deMnemonic.trim();
45
- }
46
- if (version === 2) {
47
- const deMnemonic = await this.entropyToMnemonicV2(enMnemonic); // mnemonic to index
48
-
49
- return deMnemonic.trim();
50
- }
51
-
52
- // 当前版本不支持
53
- return '';
54
- }
55
-
56
- // 兼容 V0 旧版本
57
- return Buffer.from(payload, 'hex').toString().trim();
58
- } catch (error) {
59
- // 数据解析报错
60
- return '';
61
- }
62
- }
63
18
  addConnectListener(listener) {
64
19
  this.removeConnectListeners();
65
20
  return this.UiEventEmitter?.addListener('nfc_ui_event', listener);
@@ -72,9 +27,6 @@ class OnekeyLite {
72
27
  const eventEmitter = new _reactNative.NativeEventEmitter(OKLiteManager);
73
28
  return eventEmitter.addListener('nfc_active_connection', () => {});
74
29
  }
75
- getCardName(result) {
76
- OKLiteManager.getCardName(result);
77
- }
78
30
  getLiteInfo(result) {
79
31
  OKLiteManager.getLiteInfo(result);
80
32
  }
@@ -82,12 +34,12 @@ class OnekeyLite {
82
34
  OKLiteManager.checkNFCPermission(result);
83
35
  }
84
36
  setMnemonic(mnemonic, pwd, result, overwrite = false) {
85
- this.encodeMnemonic(LiteFlag.VERSION, LiteFlag.LANGUAGE, mnemonic).then(payload => OKLiteManager.setMnemonic(payload, pwd, overwrite, result));
37
+ OKLiteManager.setMnemonic(mnemonic, pwd, overwrite, result);
86
38
  }
87
39
  getMnemonicWithPin(pwd, result) {
88
40
  try {
89
41
  OKLiteManager.getMnemonicWithPin(pwd, async (error, data, state) => {
90
- result(error, data ? await this.decodeMnemonic(data) : null, state);
42
+ result(error, data ? await data : null, state);
91
43
  });
92
44
  } catch (error) {
93
45
  result({
@@ -106,7 +58,11 @@ class OnekeyLite {
106
58
  if (_reactNative.Platform.OS === 'android') OKLiteManager.cancel();
107
59
  }
108
60
  intoSetting() {
109
- if (_reactNative.Platform.OS === 'android') OKLiteManager.intoSetting();
61
+ if (_reactNative.Platform.OS === 'android') {
62
+ OKLiteManager.intoSetting();
63
+ } else {
64
+ _reactNative.Linking.openSettings();
65
+ }
110
66
  }
111
67
  }
112
68
  const onekeyLite = new OnekeyLite();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_types","OKLiteManager","NativeModules","LiteFlag","exports","VERSION","LANGUAGE","TAG","DEFAULT_FUNCTION","value","OnekeyLite","UiEventEmitter","mnemonicToEntropy","entropyToMnemonic","entropyToMnemonicV2","constructor","Platform","OS","NativeEventEmitter","encodeMnemonic","version","language","mnemonic","meta","enMnemonic","trim","decodeMnemonic","payload","length","Buffer","from","toString","slice","regexp","test","parseInt","deMnemonic","error","addConnectListener","listener","removeConnectListeners","addListener","removeAllListeners","addAccordListener","eventEmitter","getCardName","result","getLiteInfo","checkNFCPermission","setMnemonic","pwd","overwrite","then","getMnemonicWithPin","data","state","code","CardErrors","ExecFailure","message","changePin","oldPin","newPin","reset","cancel","intoSetting","onekeyLite","_default","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAIA,MAAM;EAAEE;AAAc,CAAC,GAAGC,0BAAa;AAEhC,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACtBE,OAAO,EAAE,IAAI;EACbC,QAAQ,EAAE,IAAI;EAAE;EAChBC,GAAG,EAAE;AACP,CAAC;AAOD,MAAMC,gBAAgB,GAAIC,KAAa,IAAKA,KAAK;AAEjD,MAAMC,UAAU,CAAC;EACfC,cAAc,GAA8B,IAAI;EAEhDC,iBAAiB,GAAGJ,gBAAgB;EAEpCK,iBAAiB,GAAGL,gBAAgB;EACpCM,mBAAmB,GAAGN,gBAAgB;EAEtCO,WAAWA,CAAA,EAAG;IACZ,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC/B,IAAI,CAACN,cAAc,GAAG,IAAIO,+BAAkB,CAACjB,aAAa,CAAC;EAC7D;EAEA,MAAMkB,cAAcA,CAClBC,OAAe,EACfC,QAAgB,EAChBC,QAAgB,EACC;IACjB,MAAMC,IAAI,GAAGpB,QAAQ,CAACI,GAAG,GAAGa,OAAO,GAAGC,QAAQ;IAC9C,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACZ,iBAAiB,CAACU,QAAQ,CAACG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAOD,UAAU,GAAGD,IAAI;EAC1B;EAEA,MAAMG,cAAcA,CAACC,OAAe,EAAE;IACpC,IAAI;MACF,IAAIA,OAAO,CAACC,MAAM,IAAI,CAAC,EACrB,OAAOC,MAAM,CAACC,IAAI,CAACH,OAAO,EAAE,KAAK,CAAC,CAACI,QAAQ,CAAC,CAAC,CAACN,IAAI,CAAC,CAAC;MAEtD,MAAMF,IAAI,GAAGI,OAAO,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC;MAE9B,MAAMC,MAAM,GAAG,mBAAmB;MAClC,IAAIA,MAAM,CAACC,IAAI,CAACX,IAAI,CAAC,EAAE;QACrB,MAAMH,OAAO,GAAGe,QAAQ,CAACZ,IAAI,CAACS,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAMR,UAAU,GAAGG,OAAO,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,IAAIZ,OAAO,KAAK,CAAC,EAAE;UACjB,MAAMgB,UAAU,GAAG,MAAM,IAAI,CAACvB,iBAAiB,CAACW,UAAU,CAAC,CAAC,CAAC;;UAE7D,OAAOY,UAAU,CAACX,IAAI,CAAC,CAAC;QAC1B;QAEA,IAAIL,OAAO,KAAK,CAAC,EAAE;UACjB,MAAMgB,UAAU,GAAG,MAAM,IAAI,CAACtB,mBAAmB,CAACU,UAAU,CAAC,CAAC,CAAC;;UAE/D,OAAOY,UAAU,CAACX,IAAI,CAAC,CAAC;QAC1B;;QAEA;QACA,OAAO,EAAE;MACX;;MAEA;MACA,OAAOI,MAAM,CAACC,IAAI,CAACH,OAAO,EAAE,KAAK,CAAC,CAACI,QAAQ,CAAC,CAAC,CAACN,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,OAAOY,KAAK,EAAE;MACd;MACA,OAAO,EAAE;IACX;EACF;EAEAC,kBAAkBA,CAACC,QAA4C,EAAE;IAC/D,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC7B,cAAc,EAAE8B,WAAW,CAAC,cAAc,EAAEF,QAAQ,CAAC;EACnE;EAEAC,sBAAsBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC7B,cAAc,EAAE+B,kBAAkB,CAAC,cAAc,CAAC;EAChE;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAI3B,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC/B,MAAM2B,YAAY,GAAG,IAAI1B,+BAAkB,CAACjB,aAAa,CAAC;IAC1D,OAAO2C,YAAY,CAACH,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;EACpE;EAEAI,WAAWA,CAACC,MAAwB,EAAE;IACpC7C,aAAa,CAAC4C,WAAW,CAACC,MAAM,CAAC;EACnC;EAEAC,WAAWA,CAACD,MAA0B,EAAE;IACtC7C,aAAa,CAAC8C,WAAW,CAACD,MAAM,CAAC;EACnC;EAEAE,kBAAkBA,CAACF,MAAyB,EAAE;IAC5C7C,aAAa,CAAC+C,kBAAkB,CAACF,MAAM,CAAC;EAC1C;EAEAG,WAAWA,CACT3B,QAAgB,EAChB4B,GAAW,EACXJ,MAAyB,EACzBK,SAAS,GAAG,KAAK,EACjB;IACA,IAAI,CAAChC,cAAc,CAAChB,QAAQ,CAACE,OAAO,EAAEF,QAAQ,CAACG,QAAQ,EAAEgB,QAAQ,CAAC,CAAC8B,IAAI,CACpEzB,OAAO,IAAK1B,aAAa,CAACgD,WAAW,CAACtB,OAAO,EAAEuB,GAAG,EAAEC,SAAS,EAAEL,MAAM,CACxE,CAAC;EACH;EAEAO,kBAAkBA,CAACH,GAAW,EAAEJ,MAAwB,EAAE;IACxD,IAAI;MACF7C,aAAa,CAACoD,kBAAkB,CAC9BH,GAAG,EACH,OACEb,KAA2B,EAC3BiB,IAAmB,EACnBC,KAAsB,KACnB;QACHT,MAAM,CAACT,KAAK,EAAEiB,IAAI,GAAG,MAAM,IAAI,CAAC5B,cAAc,CAAC4B,IAAI,CAAC,GAAG,IAAI,EAAEC,KAAK,CAAC;MACrE,CACF,CAAC;IACH,CAAC,CAAC,OAAOlB,KAAK,EAAE;MACdS,MAAM,CAAC;QAAEU,IAAI,EAAEC,iBAAU,CAACC,WAAW;QAAEC,OAAO,EAAE;MAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IACrE;EACF;EAEAC,SAASA,CAACC,MAAc,EAAEC,MAAc,EAAEhB,MAAyB,EAAE;IACnE7C,aAAa,CAAC2D,SAAS,CAACC,MAAM,EAAEC,MAAM,EAAEhB,MAAM,CAAC;EACjD;EAEAiB,KAAKA,CAACjB,MAAyB,EAAE;IAC/B7C,aAAa,CAAC8D,KAAK,CAACjB,MAAM,CAAC;EAC7B;EAEAkB,MAAMA,CAAA,EAAG;IACP,IAAIhD,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAEhB,aAAa,CAAC+D,MAAM,CAAC,CAAC;EACvD;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAIjD,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAEhB,aAAa,CAACgE,WAAW,CAAC,CAAC;EAC5D;AACF;AAEA,MAAMC,UAAU,GAAG,IAAIxD,UAAU,CAAC,CAAC;AAAC,IAAAyD,QAAA,GAAA/D,OAAA,CAAAgE,OAAA,GACrBF,UAAU"}
1
+ {"version":3,"names":["_reactNative","require","_types","OKLiteManager","NativeModules","OnekeyLite","UiEventEmitter","constructor","Platform","OS","NativeEventEmitter","addConnectListener","listener","removeConnectListeners","addListener","removeAllListeners","addAccordListener","eventEmitter","getLiteInfo","result","checkNFCPermission","setMnemonic","mnemonic","pwd","overwrite","getMnemonicWithPin","error","data","state","code","CardErrors","ExecFailure","message","changePin","oldPin","newPin","reset","cancel","intoSetting","Linking","openSettings","onekeyLite","_default","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AAIA,MAAM;EAAEE;AAAc,CAAC,GAAGC,0BAAa;AAOvC,MAAMC,UAAU,CAAC;EACfC,cAAc,GAA8B,IAAI;EAEhDC,WAAWA,CAAA,EAAG;IACZ,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC/B,IAAI,CAACH,cAAc,GAAG,IAAII,+BAAkB,CAACP,aAAa,CAAC;EAC7D;EAEAQ,kBAAkBA,CAACC,QAA4C,EAAE;IAC/D,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAC7B,OAAO,IAAI,CAACP,cAAc,EAAEQ,WAAW,CAAC,cAAc,EAAEF,QAAQ,CAAC;EACnE;EAEAC,sBAAsBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAACP,cAAc,EAAES,kBAAkB,CAAC,cAAc,CAAC;EAChE;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAIR,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC/B,MAAMQ,YAAY,GAAG,IAAIP,+BAAkB,CAACP,aAAa,CAAC;IAC1D,OAAOc,YAAY,CAACH,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;EACpE;EAEAI,WAAWA,CAACC,MAA0B,EAAE;IACtChB,aAAa,CAACe,WAAW,CAACC,MAAM,CAAC;EACnC;EAEAC,kBAAkBA,CAACD,MAAyB,EAAE;IAC5ChB,aAAa,CAACiB,kBAAkB,CAACD,MAAM,CAAC;EAC1C;EAEAE,WAAWA,CACTC,QAAgB,EAChBC,GAAW,EACXJ,MAAyB,EACzBK,SAAS,GAAG,KAAK,EACjB;IACArB,aAAa,CAACkB,WAAW,CAACC,QAAQ,EAAEC,GAAG,EAAEC,SAAS,EAAEL,MAAM,CAAC;EAC7D;EAEAM,kBAAkBA,CAACF,GAAW,EAAEJ,MAAwB,EAAE;IACxD,IAAI;MACFhB,aAAa,CAACsB,kBAAkB,CAC9BF,GAAG,EACH,OACEG,KAA2B,EAC3BC,IAAmB,EACnBC,KAAsB,KACnB;QACHT,MAAM,CAACO,KAAK,EAAEC,IAAI,GAAG,MAAMA,IAAI,GAAG,IAAI,EAAEC,KAAK,CAAC;MAChD,CACF,CAAC;IACH,CAAC,CAAC,OAAOF,KAAK,EAAE;MACdP,MAAM,CAAC;QAAEU,IAAI,EAAEC,iBAAU,CAACC,WAAW;QAAEC,OAAO,EAAE;MAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IACrE;EACF;EAEAC,SAASA,CAACC,MAAc,EAAEC,MAAc,EAAEhB,MAAyB,EAAE;IACnEhB,aAAa,CAAC8B,SAAS,CAACC,MAAM,EAAEC,MAAM,EAAEhB,MAAM,CAAC;EACjD;EAEAiB,KAAKA,CAACjB,MAAyB,EAAE;IAC/BhB,aAAa,CAACiC,KAAK,CAACjB,MAAM,CAAC;EAC7B;EAEAkB,MAAMA,CAAA,EAAG;IACP,IAAI7B,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAEN,aAAa,CAACkC,MAAM,CAAC,CAAC;EACvD;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAI9B,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7BN,aAAa,CAACmC,WAAW,CAAC,CAAC;IAC7B,CAAC,MAAM;MACLC,oBAAO,CAACC,YAAY,CAAC,CAAC;IACxB;EACF;AACF;AAEA,MAAMC,UAAU,GAAG,IAAIpC,UAAU,CAAC,CAAC;AAAC,IAAAqC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACrBH,UAAU"}
@@ -1,59 +1,14 @@
1
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
1
+ import { Linking, NativeEventEmitter, NativeModules, Platform } from 'react-native';
2
2
  import { CardErrors } from './types';
3
3
  const {
4
4
  OKLiteManager
5
5
  } = NativeModules;
6
- export const LiteFlag = {
7
- VERSION: '01',
8
- LANGUAGE: '00',
9
- // english
10
- TAG: 'ffff'
11
- };
12
- const DEFAULT_FUNCTION = value => value;
13
6
  class OnekeyLite {
14
7
  UiEventEmitter = null;
15
- mnemonicToEntropy = DEFAULT_FUNCTION;
16
- entropyToMnemonic = DEFAULT_FUNCTION;
17
- entropyToMnemonicV2 = DEFAULT_FUNCTION;
18
8
  constructor() {
19
9
  if (Platform.OS !== 'android') return;
20
10
  this.UiEventEmitter = new NativeEventEmitter(OKLiteManager);
21
11
  }
22
- async encodeMnemonic(version, language, mnemonic) {
23
- const meta = LiteFlag.TAG + version + language;
24
- const enMnemonic = await this.mnemonicToEntropy(mnemonic.trim()); // mnemonic to index
25
- return enMnemonic + meta;
26
- }
27
- async decodeMnemonic(payload) {
28
- try {
29
- if (payload.length <= 8) return Buffer.from(payload, 'hex').toString().trim();
30
- const meta = payload.slice(-8);
31
- const regexp = /^ffff[a-f0-9]{4}$/;
32
- if (regexp.test(meta)) {
33
- const version = parseInt(meta.slice(4, 6), 10);
34
- const enMnemonic = payload.slice(0, -8);
35
- if (version === 1) {
36
- const deMnemonic = await this.entropyToMnemonic(enMnemonic); // mnemonic to index
37
-
38
- return deMnemonic.trim();
39
- }
40
- if (version === 2) {
41
- const deMnemonic = await this.entropyToMnemonicV2(enMnemonic); // mnemonic to index
42
-
43
- return deMnemonic.trim();
44
- }
45
-
46
- // 当前版本不支持
47
- return '';
48
- }
49
-
50
- // 兼容 V0 旧版本
51
- return Buffer.from(payload, 'hex').toString().trim();
52
- } catch (error) {
53
- // 数据解析报错
54
- return '';
55
- }
56
- }
57
12
  addConnectListener(listener) {
58
13
  this.removeConnectListeners();
59
14
  return this.UiEventEmitter?.addListener('nfc_ui_event', listener);
@@ -66,9 +21,6 @@ class OnekeyLite {
66
21
  const eventEmitter = new NativeEventEmitter(OKLiteManager);
67
22
  return eventEmitter.addListener('nfc_active_connection', () => {});
68
23
  }
69
- getCardName(result) {
70
- OKLiteManager.getCardName(result);
71
- }
72
24
  getLiteInfo(result) {
73
25
  OKLiteManager.getLiteInfo(result);
74
26
  }
@@ -76,12 +28,12 @@ class OnekeyLite {
76
28
  OKLiteManager.checkNFCPermission(result);
77
29
  }
78
30
  setMnemonic(mnemonic, pwd, result, overwrite = false) {
79
- this.encodeMnemonic(LiteFlag.VERSION, LiteFlag.LANGUAGE, mnemonic).then(payload => OKLiteManager.setMnemonic(payload, pwd, overwrite, result));
31
+ OKLiteManager.setMnemonic(mnemonic, pwd, overwrite, result);
80
32
  }
81
33
  getMnemonicWithPin(pwd, result) {
82
34
  try {
83
35
  OKLiteManager.getMnemonicWithPin(pwd, async (error, data, state) => {
84
- result(error, data ? await this.decodeMnemonic(data) : null, state);
36
+ result(error, data ? await data : null, state);
85
37
  });
86
38
  } catch (error) {
87
39
  result({
@@ -100,7 +52,11 @@ class OnekeyLite {
100
52
  if (Platform.OS === 'android') OKLiteManager.cancel();
101
53
  }
102
54
  intoSetting() {
103
- if (Platform.OS === 'android') OKLiteManager.intoSetting();
55
+ if (Platform.OS === 'android') {
56
+ OKLiteManager.intoSetting();
57
+ } else {
58
+ Linking.openSettings();
59
+ }
104
60
  }
105
61
  }
106
62
  const onekeyLite = new OnekeyLite();
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","CardErrors","OKLiteManager","LiteFlag","VERSION","LANGUAGE","TAG","DEFAULT_FUNCTION","value","OnekeyLite","UiEventEmitter","mnemonicToEntropy","entropyToMnemonic","entropyToMnemonicV2","constructor","OS","encodeMnemonic","version","language","mnemonic","meta","enMnemonic","trim","decodeMnemonic","payload","length","Buffer","from","toString","slice","regexp","test","parseInt","deMnemonic","error","addConnectListener","listener","removeConnectListeners","addListener","removeAllListeners","addAccordListener","eventEmitter","getCardName","result","getLiteInfo","checkNFCPermission","setMnemonic","pwd","overwrite","then","getMnemonicWithPin","data","state","code","ExecFailure","message","changePin","oldPin","newPin","reset","cancel","intoSetting","onekeyLite"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["Linking","NativeEventEmitter","NativeModules","Platform","CardErrors","OKLiteManager","OnekeyLite","UiEventEmitter","constructor","OS","addConnectListener","listener","removeConnectListeners","addListener","removeAllListeners","addAccordListener","eventEmitter","getLiteInfo","result","checkNFCPermission","setMnemonic","mnemonic","pwd","overwrite","getMnemonicWithPin","error","data","state","code","ExecFailure","message","changePin","oldPin","newPin","reset","cancel","intoSetting","openSettings","onekeyLite"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SACEA,OAAO,EACPC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AAErB,SAASC,UAAU,QAAQ,SAAS;AAIpC,MAAM;EAAEC;AAAc,CAAC,GAAGH,aAAa;AAOvC,MAAMI,UAAU,CAAC;EACfC,cAAc,GAA8B,IAAI;EAEhDC,WAAWA,CAAA,EAAG;IACZ,IAAIL,QAAQ,CAACM,EAAE,KAAK,SAAS,EAAE;IAC/B,IAAI,CAACF,cAAc,GAAG,IAAIN,kBAAkB,CAACI,aAAa,CAAC;EAC7D;EAEAK,kBAAkBA,CAACC,QAA4C,EAAE;IAC/D,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAC7B,OAAO,IAAI,CAACL,cAAc,EAAEM,WAAW,CAAC,cAAc,EAAEF,QAAQ,CAAC;EACnE;EAEAC,sBAAsBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAACL,cAAc,EAAEO,kBAAkB,CAAC,cAAc,CAAC;EAChE;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAIZ,QAAQ,CAACM,EAAE,KAAK,SAAS,EAAE;IAC/B,MAAMO,YAAY,GAAG,IAAIf,kBAAkB,CAACI,aAAa,CAAC;IAC1D,OAAOW,YAAY,CAACH,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;EACpE;EAEAI,WAAWA,CAACC,MAA0B,EAAE;IACtCb,aAAa,CAACY,WAAW,CAACC,MAAM,CAAC;EACnC;EAEAC,kBAAkBA,CAACD,MAAyB,EAAE;IAC5Cb,aAAa,CAACc,kBAAkB,CAACD,MAAM,CAAC;EAC1C;EAEAE,WAAWA,CACTC,QAAgB,EAChBC,GAAW,EACXJ,MAAyB,EACzBK,SAAS,GAAG,KAAK,EACjB;IACAlB,aAAa,CAACe,WAAW,CAACC,QAAQ,EAAEC,GAAG,EAAEC,SAAS,EAAEL,MAAM,CAAC;EAC7D;EAEAM,kBAAkBA,CAACF,GAAW,EAAEJ,MAAwB,EAAE;IACxD,IAAI;MACFb,aAAa,CAACmB,kBAAkB,CAC9BF,GAAG,EACH,OACEG,KAA2B,EAC3BC,IAAmB,EACnBC,KAAsB,KACnB;QACHT,MAAM,CAACO,KAAK,EAAEC,IAAI,GAAG,MAAMA,IAAI,GAAG,IAAI,EAAEC,KAAK,CAAC;MAChD,CACF,CAAC;IACH,CAAC,CAAC,OAAOF,KAAK,EAAE;MACdP,MAAM,CAAC;QAAEU,IAAI,EAAExB,UAAU,CAACyB,WAAW;QAAEC,OAAO,EAAE;MAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IACrE;EACF;EAEAC,SAASA,CAACC,MAAc,EAAEC,MAAc,EAAEf,MAAyB,EAAE;IACnEb,aAAa,CAAC0B,SAAS,CAACC,MAAM,EAAEC,MAAM,EAAEf,MAAM,CAAC;EACjD;EAEAgB,KAAKA,CAAChB,MAAyB,EAAE;IAC/Bb,aAAa,CAAC6B,KAAK,CAAChB,MAAM,CAAC;EAC7B;EAEAiB,MAAMA,CAAA,EAAG;IACP,IAAIhC,QAAQ,CAACM,EAAE,KAAK,SAAS,EAAEJ,aAAa,CAAC8B,MAAM,CAAC,CAAC;EACvD;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAIjC,QAAQ,CAACM,EAAE,KAAK,SAAS,EAAE;MAC7BJ,aAAa,CAAC+B,WAAW,CAAC,CAAC;IAC7B,CAAC,MAAM;MACLpC,OAAO,CAACqC,YAAY,CAAC,CAAC;IACxB;EACF;AACF;AAEA,MAAMC,UAAU,GAAG,IAAIhC,UAAU,CAAC,CAAC;AACnC,eAAegC,UAAU"}
@@ -1,26 +1,15 @@
1
1
  import { NativeEventEmitter } from 'react-native';
2
2
  import type { Callback, CardInfo } from './types';
3
- export declare const LiteFlag: {
4
- VERSION: string;
5
- LANGUAGE: string;
6
- TAG: string;
7
- };
8
3
  export type NfcConnectUiState = {
9
4
  code: number;
10
5
  message: string;
11
6
  };
12
7
  declare class OnekeyLite {
13
8
  UiEventEmitter: NativeEventEmitter | null;
14
- mnemonicToEntropy: (value: string) => string;
15
- entropyToMnemonic: (value: string) => string;
16
- entropyToMnemonicV2: (value: string) => string;
17
9
  constructor();
18
- encodeMnemonic(version: string, language: string, mnemonic: string): Promise<string>;
19
- decodeMnemonic(payload: string): Promise<string>;
20
10
  addConnectListener(listener: (event: NfcConnectUiState) => void): import("react-native").EmitterSubscription | undefined;
21
11
  removeConnectListeners(): void | undefined;
22
12
  addAccordListener(): import("react-native").EmitterSubscription | undefined;
23
- getCardName(result: Callback<string>): void;
24
13
  getLiteInfo(result: Callback<CardInfo>): void;
25
14
  checkNFCPermission(result: Callback<boolean>): void;
26
15
  setMnemonic(mnemonic: string, pwd: string, result: Callback<boolean>, overwrite?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AAI3E,OAAO,KAAK,EAAE,QAAQ,EAAiB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjE,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,cAAM,UAAU;IACd,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEjD,iBAAiB,4BAAoB;IAErC,iBAAiB,4BAAoB;IACrC,mBAAmB,4BAAoB;;IAOjC,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAMZ,cAAc,CAAC,OAAO,EAAE,MAAM;IAoCpC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;IAK/D,sBAAsB;IAItB,iBAAiB;IAMjB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IAIpC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAItC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAI5C,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EACzB,SAAS,UAAQ;IAOnB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IAiBxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAInE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAI/B,MAAM;IAIN,WAAW;CAGZ;AAED,QAAA,MAAM,UAAU,YAAmB,CAAC;AACpC,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,QAAQ,EAAiB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,cAAM,UAAU;IACd,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAQ;;IAOjD,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;IAK/D,sBAAsB;IAItB,iBAAiB;IAMjB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAItC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAI5C,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EACzB,SAAS,UAAQ;IAKnB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IAiBxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAInE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAI/B,MAAM;IAIN,WAAW;CAOZ;AAED,QAAA,MAAM,UAAU,YAAmB,CAAC;AACpC,eAAe,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-lite-card",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "lite card",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -163,4 +163,4 @@
163
163
  ]
164
164
  ]
165
165
  }
166
- }
166
+ }
@@ -14,7 +14,7 @@ Pod::Spec.new do |s|
14
14
  s.platforms = { :ios => "11.0" }
15
15
  s.source = { :git => "https://github.com/OneKeyHQ/react-native-lite-card.git", :tag => "#{s.version}" }
16
16
 
17
- s.source_files = "ios/Classes/**/*" "keys/**/*"
17
+ s.source_files = "ios/Classes/**/*", "keys/**/*"
18
18
  s.vendored_framework = "ios/GPChannelSDKCore.framework"
19
19
 
20
20
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
package/src/index.ts CHANGED
@@ -1,4 +1,9 @@
1
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
1
+ import {
2
+ Linking,
3
+ NativeEventEmitter,
4
+ NativeModules,
5
+ Platform,
6
+ } from 'react-native';
2
7
 
3
8
  import { CardErrors } from './types';
4
9
 
@@ -6,78 +11,19 @@ import type { Callback, CallbackError, CardInfo } from './types';
6
11
 
7
12
  const { OKLiteManager } = NativeModules;
8
13
 
9
- export const LiteFlag = {
10
- VERSION: '01',
11
- LANGUAGE: '00', // english
12
- TAG: 'ffff',
13
- };
14
-
15
14
  export type NfcConnectUiState = {
16
15
  code: number;
17
16
  message: string;
18
17
  };
19
18
 
20
- const DEFAULT_FUNCTION = (value: string) => value;
21
-
22
19
  class OnekeyLite {
23
20
  UiEventEmitter: NativeEventEmitter | null = null;
24
21
 
25
- mnemonicToEntropy = DEFAULT_FUNCTION;
26
-
27
- entropyToMnemonic = DEFAULT_FUNCTION;
28
- entropyToMnemonicV2 = DEFAULT_FUNCTION;
29
-
30
22
  constructor() {
31
23
  if (Platform.OS !== 'android') return;
32
24
  this.UiEventEmitter = new NativeEventEmitter(OKLiteManager);
33
25
  }
34
26
 
35
- async encodeMnemonic(
36
- version: string,
37
- language: string,
38
- mnemonic: string
39
- ): Promise<string> {
40
- const meta = LiteFlag.TAG + version + language;
41
- const enMnemonic = await this.mnemonicToEntropy(mnemonic.trim()); // mnemonic to index
42
- return enMnemonic + meta;
43
- }
44
-
45
- async decodeMnemonic(payload: string) {
46
- try {
47
- if (payload.length <= 8)
48
- return Buffer.from(payload, 'hex').toString().trim();
49
-
50
- const meta = payload.slice(-8);
51
-
52
- const regexp = /^ffff[a-f0-9]{4}$/;
53
- if (regexp.test(meta)) {
54
- const version = parseInt(meta.slice(4, 6), 10);
55
- const enMnemonic = payload.slice(0, -8);
56
-
57
- if (version === 1) {
58
- const deMnemonic = await this.entropyToMnemonic(enMnemonic); // mnemonic to index
59
-
60
- return deMnemonic.trim();
61
- }
62
-
63
- if (version === 2) {
64
- const deMnemonic = await this.entropyToMnemonicV2(enMnemonic); // mnemonic to index
65
-
66
- return deMnemonic.trim();
67
- }
68
-
69
- // 当前版本不支持
70
- return '';
71
- }
72
-
73
- // 兼容 V0 旧版本
74
- return Buffer.from(payload, 'hex').toString().trim();
75
- } catch (error) {
76
- // 数据解析报错
77
- return '';
78
- }
79
- }
80
-
81
27
  addConnectListener(listener: (event: NfcConnectUiState) => void) {
82
28
  this.removeConnectListeners();
83
29
  return this.UiEventEmitter?.addListener('nfc_ui_event', listener);
@@ -93,10 +39,6 @@ class OnekeyLite {
93
39
  return eventEmitter.addListener('nfc_active_connection', () => {});
94
40
  }
95
41
 
96
- getCardName(result: Callback<string>) {
97
- OKLiteManager.getCardName(result);
98
- }
99
-
100
42
  getLiteInfo(result: Callback<CardInfo>) {
101
43
  OKLiteManager.getLiteInfo(result);
102
44
  }
@@ -111,9 +53,7 @@ class OnekeyLite {
111
53
  result: Callback<boolean>,
112
54
  overwrite = false
113
55
  ) {
114
- this.encodeMnemonic(LiteFlag.VERSION, LiteFlag.LANGUAGE, mnemonic).then(
115
- (payload) => OKLiteManager.setMnemonic(payload, pwd, overwrite, result)
116
- );
56
+ OKLiteManager.setMnemonic(mnemonic, pwd, overwrite, result);
117
57
  }
118
58
 
119
59
  getMnemonicWithPin(pwd: string, result: Callback<string>) {
@@ -125,7 +65,7 @@ class OnekeyLite {
125
65
  data: string | null,
126
66
  state: CardInfo | null
127
67
  ) => {
128
- result(error, data ? await this.decodeMnemonic(data) : null, state);
68
+ result(error, data ? await data : null, state);
129
69
  }
130
70
  );
131
71
  } catch (error) {
@@ -146,7 +86,11 @@ class OnekeyLite {
146
86
  }
147
87
 
148
88
  intoSetting() {
149
- if (Platform.OS === 'android') OKLiteManager.intoSetting();
89
+ if (Platform.OS === 'android') {
90
+ OKLiteManager.intoSetting();
91
+ } else {
92
+ Linking.openSettings();
93
+ }
150
94
  }
151
95
  }
152
96