@solana-mobile/mobile-wallet-adapter-walletlib 1.0.1 → 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 (33) hide show
  1. package/android/build.gradle +1 -0
  2. package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/JsonSerializationUtils.kt +28 -1
  3. package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/MobileWalletAdapterWalletLibReactNativePackage.kt +4 -1
  4. package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/SolanaMobileDigitalAssetLinksModule.kt +65 -0
  5. package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/SolanaMobileWalletAdapterWalletLibModule.kt +7 -18
  6. package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/model/MobileWalletAdapterResponse.kt +3 -0
  7. package/lib/commonjs/index.js +11 -0
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/resolve.js +1 -0
  10. package/lib/commonjs/resolve.js.map +1 -1
  11. package/lib/commonjs/useDigitalAssetLinks.js +29 -0
  12. package/lib/commonjs/useDigitalAssetLinks.js.map +1 -0
  13. package/lib/commonjs/useMobileWalletAdapterSession.js +5 -1
  14. package/lib/commonjs/useMobileWalletAdapterSession.js.map +1 -1
  15. package/lib/module/index.js +1 -0
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/resolve.js +2 -0
  18. package/lib/module/resolve.js.map +1 -1
  19. package/lib/module/useDigitalAssetLinks.js +20 -0
  20. package/lib/module/useDigitalAssetLinks.js.map +1 -0
  21. package/lib/module/useMobileWalletAdapterSession.js +5 -1
  22. package/lib/module/useMobileWalletAdapterSession.js.map +1 -1
  23. package/lib/typescript/index.d.ts +1 -0
  24. package/lib/typescript/index.d.ts.map +1 -1
  25. package/lib/typescript/resolve.d.ts +4 -1
  26. package/lib/typescript/resolve.d.ts.map +1 -1
  27. package/lib/typescript/useDigitalAssetLinks.d.ts +5 -0
  28. package/lib/typescript/useDigitalAssetLinks.d.ts.map +1 -0
  29. package/package.json +1 -1
  30. package/src/index.ts +1 -0
  31. package/src/resolve.ts +7 -1
  32. package/src/useDigitalAssetLinks.ts +41 -0
  33. package/src/useMobileWalletAdapterSession.ts +5 -1
@@ -135,6 +135,7 @@ def kotlin_version = getExtOrDefault('kotlinVersion')
135
135
  dependencies {
136
136
  //noinspection GradleDynamicVersion
137
137
  implementation "com.facebook.react:react-native:+" // From node_modules
138
+ implementation 'com.solanamobile:digital-asset-links-android:1.0.2'
138
139
  implementation "com.solanamobile:mobile-wallet-adapter-walletlib:1.1.0"
139
140
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
140
141
  implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"
@@ -4,6 +4,7 @@ import com.solanamobile.mobilewalletadapterwalletlib.reactnative.model.Authorize
4
4
  import com.solanamobile.mobilewalletadapterwalletlib.reactnative.model.MobileWalletAdapterFailureResponse
5
5
  import com.solanamobile.mobilewalletadapterwalletlib.reactnative.model.MobileWalletAdapterRequest
6
6
  import com.solanamobile.mobilewalletadapterwalletlib.reactnative.model.MobileWalletAdapterResponse
7
+ import com.solanamobile.mobilewalletadapterwalletlib.reactnative.model.ReauthorizeDappResponse
7
8
  import com.solanamobile.mobilewalletadapterwalletlib.reactnative.model.SignedAndSentTransactions
8
9
  import com.solanamobile.mobilewalletadapterwalletlib.reactnative.model.SignedPayloads
9
10
  import kotlinx.serialization.DeserializationStrategy
@@ -17,8 +18,10 @@ import kotlinx.serialization.encoding.Decoder
17
18
  import kotlinx.serialization.encoding.Encoder
18
19
  import kotlinx.serialization.json.JsonContentPolymorphicSerializer
19
20
  import kotlinx.serialization.json.JsonElement
21
+ import kotlinx.serialization.json.JsonNull
20
22
  import kotlinx.serialization.json.JsonObject
21
23
  import kotlinx.serialization.json.JsonTransformingSerializer
24
+ import kotlinx.serialization.json.buildJsonObject
22
25
 
23
26
  internal open class TypeTransformingSerializer<T: Any>(serializer: KSerializer<T>) : JsonTransformingSerializer<T>(serializer) {
24
27
  override fun transformSerialize(element: JsonElement): JsonElement =
@@ -36,6 +39,29 @@ internal open class TypeTransformingSerializer<T: Any>(serializer: KSerializer<T
36
39
  else element
37
40
  }
38
41
 
42
+ internal object AppIdentityTransformingSerializer : JsonTransformingSerializer<MobileWalletAdapterRequest>(MobileWalletAdapterRequest.serializer()) {
43
+ override fun transformSerialize(element: JsonElement): JsonElement =
44
+ if ((element as? JsonObject)?.containsKey("identityUri") == true)
45
+ JsonObject(element.toMutableMap().apply {
46
+ this["appIdentity"] = buildJsonObject {
47
+ put("identityName", this@apply.remove("identityName") ?: JsonNull)
48
+ put("identityUri", this@apply.remove("identityUri") ?: JsonNull)
49
+ put("iconRelativeUri", this@apply.remove("iconRelativeUri") ?: JsonNull)
50
+ }
51
+ })
52
+ else element
53
+
54
+ override fun transformDeserialize(element: JsonElement): JsonElement =
55
+ if ((element as? JsonObject)?.containsKey("appIdentity") == true)
56
+ JsonObject(element.toMutableMap().apply {
57
+ val appIdentity = this.remove("appIdentity")!! as JsonObject
58
+ put("identityName", appIdentity["identityName"] ?: JsonNull)
59
+ put("identityUri", appIdentity["identityUri"] ?: JsonNull)
60
+ put("iconRelativeUri", appIdentity["iconRelativeUri"] ?: JsonNull)
61
+ })
62
+ else element
63
+ }
64
+
39
65
  internal object FailReasonTransformingSerializer
40
66
  : JsonTransformingSerializer<MobileWalletAdapterFailureResponse>(MobileWalletAdapterFailureResponse.serializer()) {
41
67
  override fun transformDeserialize(element: JsonElement): JsonElement =
@@ -52,10 +78,11 @@ internal object MobileWalletAdapterResponseSerializer : JsonContentPolymorphicSe
52
78
  else if ((element as? JsonObject)?.containsKey("publicKey") == true) AuthorizeDappResponse.serializer()
53
79
  else if ((element as? JsonObject)?.containsKey("signedPayloads") == true) SignedPayloads.serializer()
54
80
  else if ((element as? JsonObject)?.containsKey("signedTransactions") == true) SignedAndSentTransactions.serializer()
81
+ else if ((element as? JsonObject)?.isEmpty() == true) ReauthorizeDappResponse.serializer()
55
82
  else MobileWalletAdapterResponse.serializer()
56
83
  }
57
84
 
58
- internal object MobileWalletAdapterRequestSerializer : TypeTransformingSerializer<MobileWalletAdapterRequest>(MobileWalletAdapterRequest.serializer())
85
+ internal object MobileWalletAdapterRequestSerializer : TypeTransformingSerializer<MobileWalletAdapterRequest>(AppIdentityTransformingSerializer)
59
86
 
60
87
  internal object ByteArrayAsMapSerializer : KSerializer<ByteArray> {
61
88
  override val descriptor: SerialDescriptor = ByteArraySerializer().descriptor
@@ -7,7 +7,10 @@ import com.facebook.react.uimanager.ViewManager
7
7
 
8
8
  class MobileWalletAdapterWalletLibReactNativePackage : ReactPackage {
9
9
  override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
10
- return listOf(SolanaMobileWalletAdapterWalletLibModule(reactContext))
10
+ return listOf(
11
+ SolanaMobileWalletAdapterWalletLibModule(reactContext),
12
+ SolanaMobileDigitalAssetLinksModule(reactContext)
13
+ )
11
14
  }
12
15
 
13
16
  override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
@@ -0,0 +1,65 @@
1
+ package com.solanamobile.mobilewalletadapterwalletlib.reactnative
2
+
3
+ import android.util.Log
4
+ import android.os.Build
5
+ import com.facebook.react.bridge.*
6
+ import com.solana.digitalassetlinks.AndroidAppPackageVerifier
7
+ import java.net.URI
8
+
9
+ class SolanaMobileDigitalAssetLinksModule(val reactContext: ReactApplicationContext) :
10
+ ReactContextBaseJavaModule(reactContext){
11
+
12
+ // Sets the name of the module in React, accessible at ReactNative.NativeModules.SolanaMobileDigitalAssetLinks
13
+ override fun getName() = "SolanaMobileDigitalAssetLinks"
14
+
15
+ @ReactMethod
16
+ fun getCallingPackage(promise: Promise) {
17
+ promise.resolve(currentActivity?.callingPackage)
18
+ }
19
+
20
+ @ReactMethod
21
+ fun verifyCallingPackage(clientIdentityUri: String, promise: Promise) {
22
+ currentActivity?.callingPackage?.let { callingPackage ->
23
+ verifyPackage(callingPackage, clientIdentityUri, promise)
24
+ } ?: run {
25
+ promise.resolve(false)
26
+ }
27
+ }
28
+
29
+ @ReactMethod
30
+ fun verifyPackage(packageName: String, clientIdentityUri: String, promise: Promise) {
31
+ val packageManager = reactContext.getPackageManager()
32
+ val verifier = AndroidAppPackageVerifier(packageManager)
33
+ val verified = try {
34
+ verifier.verify(packageName, URI.create(clientIdentityUri))
35
+ } catch (e: AndroidAppPackageVerifier.CouldNotVerifyPackageException) {
36
+ Log.w(TAG, "Package verification failed for package=$packageName, clientIdentityUri=$clientIdentityUri")
37
+ false
38
+ }
39
+ promise.resolve(verified)
40
+ }
41
+
42
+ @ReactMethod
43
+ fun getCallingPackageUid(promise: Promise) {
44
+ currentActivity?.callingPackage?.let { callingPackage ->
45
+ getUidForPackage(callingPackage, promise)
46
+ } ?: run {
47
+ promise.reject(Error("Cannot get UID for calling package: No calling package found"))
48
+ }
49
+ }
50
+
51
+ @ReactMethod
52
+ fun getUidForPackage(packageName: String, promise: Promise) {
53
+ val packageManager = reactContext.getPackageManager()
54
+ val uid = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
55
+ packageManager.getPackageUid(packageName, 0)
56
+ } else {
57
+ packageManager.getApplicationInfo(packageName, 0).uid
58
+ }
59
+ promise.resolve(uid)
60
+ }
61
+
62
+ companion object {
63
+ private val TAG = SolanaMobileDigitalAssetLinksModule::class.simpleName
64
+ }
65
+ }
@@ -151,18 +151,12 @@ class SolanaMobileWalletAdapterWalletLibModule(val reactContext: ReactApplicatio
151
151
  /* Generic Request functions */
152
152
  @ReactMethod
153
153
  fun cancelRequest(sessionId: String, requestId: String) {
154
- Log.d(TAG, "Cancelled request $requestId");
154
+ Log.d(TAG, "Cancelled request $requestId")
155
155
  (pendingRequests.remove(requestId) as? ScenarioRequest)?.let { scenarioRequest ->
156
- scenarioRequest.cancel();
156
+ scenarioRequest.cancel()
157
157
  }
158
158
  }
159
159
 
160
- // Apparently we cant have overlaod methods like this becuase React is completly idiotic
161
- // @ReactMethod
162
- // fun resolve(request: ReadableMap, response: ReadableMap) {
163
- // resolve(request.toJson().toString(), response.toJson().toString())
164
- // }
165
-
166
160
  @ReactMethod
167
161
  fun resolve(requestJson: String, responseJson: String) = launch {
168
162
  val completedRequest = json.decodeFromString(MobileWalletAdapterRequestSerializer, requestJson)
@@ -195,7 +189,7 @@ class SolanaMobileWalletAdapterWalletLibModule(val reactContext: ReactApplicatio
195
189
  response.publicKey,
196
190
  response.accountLabel,
197
191
  null, //Uri.parse(response.walletUriBase),
198
- null //response.authorizationScope
192
+ response.authorizationScope
199
193
  )
200
194
  else -> completeWithInvalidResponse()
201
195
  }
@@ -207,7 +201,7 @@ class SolanaMobileWalletAdapterWalletLibModule(val reactContext: ReactApplicatio
207
201
  else -> completeWithInvalidResponse()
208
202
  }
209
203
  }
210
- is AuthorizeDappResponse ->
204
+ is ReauthorizeDappResponse ->
211
205
  (pendingRequest as? MobileWalletAdapterRemoteRequest.ReauthorizeDapp)?.request?.completeWithReauthorize()
212
206
  else -> completeWithInvalidResponse()
213
207
  }
@@ -359,9 +353,9 @@ class SolanaMobileWalletAdapterWalletLibModule(val reactContext: ReactApplicatio
359
353
  }
360
354
 
361
355
  override fun onReauthorizeRequest(request: ReauthorizeRequest) {
362
- Log.i(TAG, "Reauthorization request: auto completing, DO NOT DO THIS IN PRODUCTION")
363
- // TODO: Implement client trust use case
364
- request.completeWithReauthorize()
356
+ val request = MobileWalletAdapterRemoteRequest.ReauthorizeDapp(request)
357
+ pendingRequests.put(request.id, request)
358
+ sendWalletServiceRequestToReact(request)
365
359
  }
366
360
 
367
361
  override fun onSignTransactionsRequest(request: SignTransactionsRequest) {
@@ -383,11 +377,6 @@ class SolanaMobileWalletAdapterWalletLibModule(val reactContext: ReactApplicatio
383
377
  sendWalletServiceRequestToReact(request)
384
378
  }
385
379
 
386
- private fun verifyPrivilegedMethodSource(request: VerifiableIdentityRequest): Boolean {
387
- // TODO: Implement client trust use case
388
- return true
389
- }
390
-
391
380
  override fun onDeauthorizedEvent(event: DeauthorizedEvent) {
392
381
  event.complete()
393
382
  }
@@ -35,6 +35,9 @@ data class AuthorizeDappResponse(
35
35
  @Serializable(with = ByteArrayAsMapSerializer::class) val authorizationScope: ByteArray? = null
36
36
  ) : MobileWalletAdapterResponse()
37
37
 
38
+ @Serializable
39
+ object ReauthorizeDappResponse : MobileWalletAdapterResponse()
40
+
38
41
  @Serializable
39
42
  data class SignedPayloads(
40
43
  @Serializable(with = ByteArrayCollectionAsMapCollectionSerializer::class) val signedPayloads: List<ByteArray>
@@ -36,4 +36,15 @@ Object.keys(_useMobileWalletAdapterSession).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _useDigitalAssetLinks = require("./useDigitalAssetLinks.js");
40
+ Object.keys(_useDigitalAssetLinks).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _useDigitalAssetLinks[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _useDigitalAssetLinks[key];
47
+ }
48
+ });
49
+ });
39
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_mwaSessionEvents","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_resolve","_useMobileWalletAdapterSession"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,8BAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,8BAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,8BAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,8BAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_mwaSessionEvents","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_resolve","_useMobileWalletAdapterSession","_useDigitalAssetLinks"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,8BAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,8BAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,8BAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,8BAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,qBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,qBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,qBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,qBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
@@ -39,6 +39,7 @@ let MWARequestFailReason = /*#__PURE__*/function (MWARequestFailReason) {
39
39
  return MWARequestFailReason;
40
40
  }({});
41
41
  /* Authorize Dapp */
42
+ /* Reauthorize Dapp */
42
43
  /* Sign Transactions/Messages */
43
44
  /* Sign and Send Transaction */
44
45
  exports.MWARequestFailReason = MWARequestFailReason;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","Platform","OS","NativeModules","Proxy","get","Error","MWARequestType","exports","MWARequestFailReason","resolve","request","response","JSON","stringify"],"sourceRoot":"../../src","sources":["resolve.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIC,0BAAa,CAACH,kCAAkC,GACvEG,0BAAa,CAACH,kCAAkC,GAChD,IAAII,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXL,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGH,aACV,CAAC;EACL;AACJ,CACJ,CAAC;;AAQX;AACA;AACA;AACA;AAHA,IAWYQ,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAmD1B;AACA;AACA;AAFAC,OAAA,CAAAD,cAAA,GAAAA,cAAA;AAUA;AAAA,IACYE,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAwBhC;AASA;AAWA;AAAAD,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAaO,SAASC,OAAOA,CAACC,OAAmB,EAAEC,QAAiB,EAAQ;EAClEZ,kCAAkC,CAACU,OAAO,CAACG,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC,EAAEE,IAAI,CAACC,SAAS,CAACF,QAAQ,CAAC,CAAC;AACjG"}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","Platform","OS","NativeModules","Proxy","get","Error","MWARequestType","exports","MWARequestFailReason","resolve","request","response","JSON","stringify"],"sourceRoot":"../../src","sources":["resolve.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIC,0BAAa,CAACH,kCAAkC,GACvEG,0BAAa,CAACH,kCAAkC,GAChD,IAAII,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXL,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGH,aACV,CAAC;EACL;AACJ,CACJ,CAAC;;AAQX;AACA;AACA;AACA;AAHA,IAYYQ,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAmD1B;AACA;AACA;AAFAC,OAAA,CAAAD,cAAA,GAAAA,cAAA;AAUA;AAAA,IACYE,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAwBhC;AASA;AAIA;AAWA;AAAAD,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAcO,SAASC,OAAOA,CAACC,OAAmB,EAAEC,QAAiB,EAAQ;EAClEZ,kCAAkC,CAACU,OAAO,CAACG,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC,EAAEE,IAAI,CAACC,SAAS,CAACF,QAAQ,CAAC,CAAC;AACjG"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCallingPackage = getCallingPackage;
7
+ exports.getCallingPackageUid = getCallingPackageUid;
8
+ exports.getUidForPackage = getUidForPackage;
9
+ exports.verifyCallingPackage = verifyCallingPackage;
10
+ var _reactNative = require("react-native");
11
+ const LINKING_ERROR = `The package 'solana-mobile-wallet-adapter-walletlib' doesn't seem to be linked. Make sure: \n\n` + '- You rebuilt the app after installing the package\n' + '- If you are using Lerna workspaces\n' + ' - You have added `@solana-mobile/mobile-wallet-adapter-walletlib` as an explicit dependency, and\n' + ' - You have added `@solana-mobile/mobile-wallet-adapter-walletlib` to the `nohoist` section of your package.json\n' + '- You are not using Expo managed workflow\n';
12
+ const SolanaMobileDigitalAssetLinks = _reactNative.Platform.OS === 'android' && _reactNative.NativeModules.SolanaMobileDigitalAssetLinks ? _reactNative.NativeModules.SolanaMobileDigitalAssetLinks : new Proxy({}, {
13
+ get() {
14
+ throw new Error(_reactNative.Platform.OS !== 'android' ? 'The package `solana-mobile-wallet-adapter-walletlib` is only compatible with React Native Android' : LINKING_ERROR);
15
+ }
16
+ });
17
+ async function getCallingPackage() {
18
+ return await SolanaMobileDigitalAssetLinks.getCallingPackage();
19
+ }
20
+ async function verifyCallingPackage(clientIdentityUri) {
21
+ return await SolanaMobileDigitalAssetLinks.verifyCallingPackage(clientIdentityUri);
22
+ }
23
+ async function getCallingPackageUid() {
24
+ return await SolanaMobileDigitalAssetLinks.getCallingPackageUid();
25
+ }
26
+ async function getUidForPackage(packageName) {
27
+ return await SolanaMobileDigitalAssetLinks.getUidForPackage(packageName);
28
+ }
29
+ //# sourceMappingURL=useDigitalAssetLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","SolanaMobileDigitalAssetLinks","Platform","OS","NativeModules","Proxy","get","Error","getCallingPackage","verifyCallingPackage","clientIdentityUri","getCallingPackageUid","getUidForPackage","packageName"],"sourceRoot":"../../src","sources":["useDigitalAssetLinks.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,6BAA6B,GAC/BC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIC,0BAAa,CAACH,6BAA6B,GAClEG,0BAAa,CAACH,6BAA6B,GAC3C,IAAII,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXL,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGH,aACV,CAAC;EACL;AACJ,CACJ,CAAC;AAEJ,eAAeQ,iBAAiBA,CAAA,EAAgC;EACnE,OAAO,MAAMP,6BAA6B,CAACO,iBAAiB,CAAC,CAAC;AAClE;AAEO,eAAeC,oBAAoBA,CAACC,iBAAyB,EAAE;EAClE,OAAO,MAAMT,6BAA6B,CAACQ,oBAAoB,CAACC,iBAAiB,CAAC;AACtF;AAEO,eAAeC,oBAAoBA,CAAA,EAAG;EACzC,OAAO,MAAMV,6BAA6B,CAACU,oBAAoB,CAAC,CAAC;AACrE;AAEO,eAAeC,gBAAgBA,CAACC,WAAmB,EAAE;EACxD,OAAO,MAAMZ,6BAA6B,CAACW,gBAAgB,CAACC,WAAW,CAAC;AAC5E"}
@@ -39,7 +39,11 @@ async function initializeScenario(walletName, walletConfig) {
39
39
  const initialUrl = await _reactNative.Linking.getInitialURL();
40
40
 
41
41
  // Create Scenario and establish session with dapp
42
- SolanaMobileWalletAdapterWalletLib.createScenario(walletName, initialUrl, JSON.stringify(walletConfig));
42
+ if (initialUrl !== null) {
43
+ SolanaMobileWalletAdapterWalletLib.createScenario(walletName, initialUrl, JSON.stringify(walletConfig));
44
+ } else {
45
+ console.warn('Initial URL is unexpectedly null');
46
+ }
43
47
  }
44
48
  function isMWARequest(nativeEvent) {
45
49
  return Object.values(_resolve.MWARequestType).includes(nativeEvent.__type);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_mwaSessionEvents","_resolve","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","Platform","OS","NativeModules","Proxy","get","Error","MOBILE_WALLET_ADAPTER_EVENT_BRIDGE_NAME","useMobileWalletAdapterSession","walletName","config","handleRequest","handleSessionEvent","useEffect","mwaEventEmitter","NativeEventEmitter","listener","addListener","nativeEvent","isMWARequest","isMWASessionEvent","console","warn","remove","initializeScenario","walletConfig","initialUrl","Linking","getInitialURL","createScenario","JSON","stringify","Object","values","MWARequestType","includes","__type","MWASessionEventType"],"sourceRoot":"../../src","sources":["useMobileWalletAdapterSession.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,MAAMI,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIC,0BAAa,CAACH,kCAAkC,GACvEG,0BAAa,CAACH,kCAAkC,GAChD,IAAII,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXL,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGH,aACV,CAAC;EACL;AACJ,CACJ,CAAC;AAEX,MAAMQ,uCAAuC,GAAG,yCAAyC;AAUlF,SAASC,6BAA6BA,CACzCC,UAAkB,EAClBC,MAAiC,EACjCC,aAA4C,EAC5CC,kBAA2D,EAC7D;EACE;EACA,IAAAC,gBAAS,EAAC,MAAM;IACZ,MAAMC,eAAe,GAAG,IAAIC,+BAAkB,CAAC,CAAC;IAChD,MAAMC,QAAQ,GAAGF,eAAe,CAACG,WAAW,CAACV,uCAAuC,EAAGW,WAAW,IAAK;MACnG,IAAIC,YAAY,CAACD,WAAW,CAAC,EAAE;QAC3BP,aAAa,CAACO,WAAyB,CAAC;MAC5C,CAAC,MAAM,IAAIE,iBAAiB,CAACF,WAAW,CAAC,EAAE;QACvCN,kBAAkB,CAACM,WAA8B,CAAC;MACtD,CAAC,MAAM;QACHG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC;MAChD;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACTN,QAAQ,CAACO,MAAM,CAAC,CAAC;IACrB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAENC,kBAAkB,CAACf,UAAU,EAAEC,MAAM,CAAC;AAC1C;AAEA,eAAec,kBAAkBA,CAACf,UAAkB,EAAEgB,YAAuC,EAAE;EAC3F;EACA,MAAMC,UAAU,GAAG,MAAMC,oBAAO,CAACC,aAAa,CAAC,CAAC;;EAEhD;EACA5B,kCAAkC,CAAC6B,cAAc,CAACpB,UAAU,EAAEiB,UAAU,EAAEI,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,CAAC;AAC3G;AAEA,SAASN,YAAYA,CAACD,WAAgB,EAAW;EAC7C,OAAOc,MAAM,CAACC,MAAM,CAACC,uBAAc,CAAC,CAACC,QAAQ,CAACjB,WAAW,CAACkB,MAAM,CAAC;AACrE;AAEA,SAAShB,iBAAiBA,CAACF,WAAgB,EAAE;EACzC,OAAOc,MAAM,CAACC,MAAM,CAACI,qCAAmB,CAAC,CAACF,QAAQ,CAACjB,WAAW,CAACkB,MAAM,CAAC;AAC1E"}
1
+ {"version":3,"names":["_react","require","_reactNative","_mwaSessionEvents","_resolve","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","Platform","OS","NativeModules","Proxy","get","Error","MOBILE_WALLET_ADAPTER_EVENT_BRIDGE_NAME","useMobileWalletAdapterSession","walletName","config","handleRequest","handleSessionEvent","useEffect","mwaEventEmitter","NativeEventEmitter","listener","addListener","nativeEvent","isMWARequest","isMWASessionEvent","console","warn","remove","initializeScenario","walletConfig","initialUrl","Linking","getInitialURL","createScenario","JSON","stringify","Object","values","MWARequestType","includes","__type","MWASessionEventType"],"sourceRoot":"../../src","sources":["useMobileWalletAdapterSession.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,MAAMI,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAIC,0BAAa,CAACH,kCAAkC,GACvEG,0BAAa,CAACH,kCAAkC,GAChD,IAAII,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXL,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGH,aACV,CAAC;EACL;AACJ,CACJ,CAAC;AAEX,MAAMQ,uCAAuC,GAAG,yCAAyC;AAUlF,SAASC,6BAA6BA,CACzCC,UAAkB,EAClBC,MAAiC,EACjCC,aAA4C,EAC5CC,kBAA2D,EAC7D;EACE;EACA,IAAAC,gBAAS,EAAC,MAAM;IACZ,MAAMC,eAAe,GAAG,IAAIC,+BAAkB,CAAC,CAAC;IAChD,MAAMC,QAAQ,GAAGF,eAAe,CAACG,WAAW,CAACV,uCAAuC,EAAGW,WAAW,IAAK;MACnG,IAAIC,YAAY,CAACD,WAAW,CAAC,EAAE;QAC3BP,aAAa,CAACO,WAAyB,CAAC;MAC5C,CAAC,MAAM,IAAIE,iBAAiB,CAACF,WAAW,CAAC,EAAE;QACvCN,kBAAkB,CAACM,WAA8B,CAAC;MACtD,CAAC,MAAM;QACHG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC;MAChD;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACTN,QAAQ,CAACO,MAAM,CAAC,CAAC;IACrB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAENC,kBAAkB,CAACf,UAAU,EAAEC,MAAM,CAAC;AAC1C;AAEA,eAAec,kBAAkBA,CAACf,UAAkB,EAAEgB,YAAuC,EAAE;EAC3F;EACA,MAAMC,UAAU,GAAG,MAAMC,oBAAO,CAACC,aAAa,CAAC,CAAC;;EAEhD;EACA,IAAIF,UAAU,KAAK,IAAI,EAAE;IACrB1B,kCAAkC,CAAC6B,cAAc,CAACpB,UAAU,EAAEiB,UAAU,EAAEI,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,CAAC;EAC3G,CAAC,MAAM;IACHJ,OAAO,CAACC,IAAI,CAAC,kCAAkC,CAAC;EACpD;AACJ;AAEA,SAASH,YAAYA,CAACD,WAAgB,EAAW;EAC7C,OAAOc,MAAM,CAACC,MAAM,CAACC,uBAAc,CAAC,CAACC,QAAQ,CAACjB,WAAW,CAACkB,MAAM,CAAC;AACrE;AAEA,SAAShB,iBAAiBA,CAACF,WAAgB,EAAE;EACzC,OAAOc,MAAM,CAACC,MAAM,CAACI,qCAAmB,CAAC,CAACF,QAAQ,CAACjB,WAAW,CAACkB,MAAM,CAAC;AAC1E"}
@@ -1,4 +1,5 @@
1
1
  export * from './mwaSessionEvents.js';
2
2
  export * from './resolve.js';
3
3
  export * from './useMobileWalletAdapterSession.js';
4
+ export * from './useDigitalAssetLinks.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,cAAc;AAC5B,cAAc,oCAAoC"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,cAAc;AAC5B,cAAc,oCAAoC;AAClD,cAAc,2BAA2B"}
@@ -36,6 +36,8 @@ export let MWARequestFailReason = /*#__PURE__*/function (MWARequestFailReason) {
36
36
 
37
37
  /* Authorize Dapp */
38
38
 
39
+ /* Reauthorize Dapp */
40
+
39
41
  /* Sign Transactions/Messages */
40
42
 
41
43
  /* Sign and Send Transaction */
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","OS","Proxy","get","Error","MWARequestType","MWARequestFailReason","resolve","request","response","JSON","stringify"],"sourceRoot":"../../src","sources":["resolve.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCF,QAAQ,CAACG,EAAE,KAAK,SAAS,IAAIJ,aAAa,CAACG,kCAAkC,GACvEH,aAAa,CAACG,kCAAkC,GAChD,IAAIE,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXN,QAAQ,CAACG,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGF,aACV,CAAC;EACL;AACJ,CACJ,CAAC;;AAQX;AACA;AACA;AACA;;AAQA,WAAYM,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AAmD1B;AACA;AACA;;AAQA;AACA,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;;AAwBhC;;AASA;;AAWA;;AAaA,OAAO,SAASC,OAAOA,CAACC,OAAmB,EAAEC,QAAiB,EAAQ;EAClET,kCAAkC,CAACO,OAAO,CAACG,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC,EAAEE,IAAI,CAACC,SAAS,CAACF,QAAQ,CAAC,CAAC;AACjG"}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","OS","Proxy","get","Error","MWARequestType","MWARequestFailReason","resolve","request","response","JSON","stringify"],"sourceRoot":"../../src","sources":["resolve.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCF,QAAQ,CAACG,EAAE,KAAK,SAAS,IAAIJ,aAAa,CAACG,kCAAkC,GACvEH,aAAa,CAACG,kCAAkC,GAChD,IAAIE,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXN,QAAQ,CAACG,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGF,aACV,CAAC;EACL;AACJ,CACJ,CAAC;;AAQX;AACA;AACA;AACA;;AASA,WAAYM,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AAmD1B;AACA;AACA;;AAQA;AACA,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;;AAwBhC;;AASA;;AAIA;;AAWA;;AAcA,OAAO,SAASC,OAAOA,CAACC,OAAmB,EAAEC,QAAiB,EAAQ;EAClET,kCAAkC,CAACO,OAAO,CAACG,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC,EAAEE,IAAI,CAACC,SAAS,CAACF,QAAQ,CAAC,CAAC;AACjG"}
@@ -0,0 +1,20 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ const LINKING_ERROR = `The package 'solana-mobile-wallet-adapter-walletlib' doesn't seem to be linked. Make sure: \n\n` + '- You rebuilt the app after installing the package\n' + '- If you are using Lerna workspaces\n' + ' - You have added `@solana-mobile/mobile-wallet-adapter-walletlib` as an explicit dependency, and\n' + ' - You have added `@solana-mobile/mobile-wallet-adapter-walletlib` to the `nohoist` section of your package.json\n' + '- You are not using Expo managed workflow\n';
3
+ const SolanaMobileDigitalAssetLinks = Platform.OS === 'android' && NativeModules.SolanaMobileDigitalAssetLinks ? NativeModules.SolanaMobileDigitalAssetLinks : new Proxy({}, {
4
+ get() {
5
+ throw new Error(Platform.OS !== 'android' ? 'The package `solana-mobile-wallet-adapter-walletlib` is only compatible with React Native Android' : LINKING_ERROR);
6
+ }
7
+ });
8
+ export async function getCallingPackage() {
9
+ return await SolanaMobileDigitalAssetLinks.getCallingPackage();
10
+ }
11
+ export async function verifyCallingPackage(clientIdentityUri) {
12
+ return await SolanaMobileDigitalAssetLinks.verifyCallingPackage(clientIdentityUri);
13
+ }
14
+ export async function getCallingPackageUid() {
15
+ return await SolanaMobileDigitalAssetLinks.getCallingPackageUid();
16
+ }
17
+ export async function getUidForPackage(packageName) {
18
+ return await SolanaMobileDigitalAssetLinks.getUidForPackage(packageName);
19
+ }
20
+ //# sourceMappingURL=useDigitalAssetLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","SolanaMobileDigitalAssetLinks","OS","Proxy","get","Error","getCallingPackage","verifyCallingPackage","clientIdentityUri","getCallingPackageUid","getUidForPackage","packageName"],"sourceRoot":"../../src","sources":["useDigitalAssetLinks.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,6BAA6B,GAC/BF,QAAQ,CAACG,EAAE,KAAK,SAAS,IAAIJ,aAAa,CAACG,6BAA6B,GAClEH,aAAa,CAACG,6BAA6B,GAC3C,IAAIE,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXN,QAAQ,CAACG,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGF,aACV,CAAC;EACL;AACJ,CACJ,CAAC;AAEX,OAAO,eAAeM,iBAAiBA,CAAA,EAAgC;EACnE,OAAO,MAAML,6BAA6B,CAACK,iBAAiB,CAAC,CAAC;AAClE;AAEA,OAAO,eAAeC,oBAAoBA,CAACC,iBAAyB,EAAE;EAClE,OAAO,MAAMP,6BAA6B,CAACM,oBAAoB,CAACC,iBAAiB,CAAC;AACtF;AAEA,OAAO,eAAeC,oBAAoBA,CAAA,EAAG;EACzC,OAAO,MAAMR,6BAA6B,CAACQ,oBAAoB,CAAC,CAAC;AACrE;AAEA,OAAO,eAAeC,gBAAgBA,CAACC,WAAmB,EAAE;EACxD,OAAO,MAAMV,6BAA6B,CAACS,gBAAgB,CAACC,WAAW,CAAC;AAC5E"}
@@ -33,7 +33,11 @@ async function initializeScenario(walletName, walletConfig) {
33
33
  const initialUrl = await Linking.getInitialURL();
34
34
 
35
35
  // Create Scenario and establish session with dapp
36
- SolanaMobileWalletAdapterWalletLib.createScenario(walletName, initialUrl, JSON.stringify(walletConfig));
36
+ if (initialUrl !== null) {
37
+ SolanaMobileWalletAdapterWalletLib.createScenario(walletName, initialUrl, JSON.stringify(walletConfig));
38
+ } else {
39
+ console.warn('Initial URL is unexpectedly null');
40
+ }
37
41
  }
38
42
  function isMWARequest(nativeEvent) {
39
43
  return Object.values(MWARequestType).includes(nativeEvent.__type);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","Linking","NativeEventEmitter","NativeModules","Platform","MWASessionEventType","MWARequestType","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","OS","Proxy","get","Error","MOBILE_WALLET_ADAPTER_EVENT_BRIDGE_NAME","useMobileWalletAdapterSession","walletName","config","handleRequest","handleSessionEvent","mwaEventEmitter","listener","addListener","nativeEvent","isMWARequest","isMWASessionEvent","console","warn","remove","initializeScenario","walletConfig","initialUrl","getInitialURL","createScenario","JSON","stringify","Object","values","includes","__type"],"sourceRoot":"../../src","sources":["useMobileWalletAdapterSession.ts"],"mappings":"AACA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,OAAO,EAAEC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEnF,SAA0BC,mBAAmB,QAAQ,uBAAuB;AAC5E,SAAqBC,cAAc,QAAQ,cAAc;AAEzD,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCJ,QAAQ,CAACK,EAAE,KAAK,SAAS,IAAIN,aAAa,CAACK,kCAAkC,GACvEL,aAAa,CAACK,kCAAkC,GAChD,IAAIE,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXR,QAAQ,CAACK,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGF,aACV,CAAC;EACL;AACJ,CACJ,CAAC;AAEX,MAAMM,uCAAuC,GAAG,yCAAyC;AAUzF,OAAO,SAASC,6BAA6BA,CACzCC,UAAkB,EAClBC,MAAiC,EACjCC,aAA4C,EAC5CC,kBAA2D,EAC7D;EACE;EACAlB,SAAS,CAAC,MAAM;IACZ,MAAMmB,eAAe,GAAG,IAAIjB,kBAAkB,CAAC,CAAC;IAChD,MAAMkB,QAAQ,GAAGD,eAAe,CAACE,WAAW,CAACR,uCAAuC,EAAGS,WAAW,IAAK;MACnG,IAAIC,YAAY,CAACD,WAAW,CAAC,EAAE;QAC3BL,aAAa,CAACK,WAAyB,CAAC;MAC5C,CAAC,MAAM,IAAIE,iBAAiB,CAACF,WAAW,CAAC,EAAE;QACvCJ,kBAAkB,CAACI,WAA8B,CAAC;MACtD,CAAC,MAAM;QACHG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC;MAChD;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACTN,QAAQ,CAACO,MAAM,CAAC,CAAC;IACrB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAENC,kBAAkB,CAACb,UAAU,EAAEC,MAAM,CAAC;AAC1C;AAEA,eAAeY,kBAAkBA,CAACb,UAAkB,EAAEc,YAAuC,EAAE;EAC3F;EACA,MAAMC,UAAU,GAAG,MAAM7B,OAAO,CAAC8B,aAAa,CAAC,CAAC;;EAEhD;EACAvB,kCAAkC,CAACwB,cAAc,CAACjB,UAAU,EAAEe,UAAU,EAAEG,IAAI,CAACC,SAAS,CAACL,YAAY,CAAC,CAAC;AAC3G;AAEA,SAASN,YAAYA,CAACD,WAAgB,EAAW;EAC7C,OAAOa,MAAM,CAACC,MAAM,CAAC9B,cAAc,CAAC,CAAC+B,QAAQ,CAACf,WAAW,CAACgB,MAAM,CAAC;AACrE;AAEA,SAASd,iBAAiBA,CAACF,WAAgB,EAAE;EACzC,OAAOa,MAAM,CAACC,MAAM,CAAC/B,mBAAmB,CAAC,CAACgC,QAAQ,CAACf,WAAW,CAACgB,MAAM,CAAC;AAC1E"}
1
+ {"version":3,"names":["useEffect","Linking","NativeEventEmitter","NativeModules","Platform","MWASessionEventType","MWARequestType","LINKING_ERROR","SolanaMobileWalletAdapterWalletLib","OS","Proxy","get","Error","MOBILE_WALLET_ADAPTER_EVENT_BRIDGE_NAME","useMobileWalletAdapterSession","walletName","config","handleRequest","handleSessionEvent","mwaEventEmitter","listener","addListener","nativeEvent","isMWARequest","isMWASessionEvent","console","warn","remove","initializeScenario","walletConfig","initialUrl","getInitialURL","createScenario","JSON","stringify","Object","values","includes","__type"],"sourceRoot":"../../src","sources":["useMobileWalletAdapterSession.ts"],"mappings":"AACA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,OAAO,EAAEC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEnF,SAA0BC,mBAAmB,QAAQ,uBAAuB;AAC5E,SAAqBC,cAAc,QAAQ,cAAc;AAEzD,MAAMC,aAAa,GACd,iGAAgG,GACjG,sDAAsD,GACtD,uCAAuC,GACvC,sGAAsG,GACtG,qHAAqH,GACrH,6CAA6C;AAEjD,MAAMC,kCAAkC,GACpCJ,QAAQ,CAACK,EAAE,KAAK,SAAS,IAAIN,aAAa,CAACK,kCAAkC,GACvEL,aAAa,CAACK,kCAAkC,GAChD,IAAIE,KAAK,CACL,CAAC,CAAC,EACF;EACIC,GAAGA,CAAA,EAAG;IACF,MAAM,IAAIC,KAAK,CACXR,QAAQ,CAACK,EAAE,KAAK,SAAS,GACnB,mGAAmG,GACnGF,aACV,CAAC;EACL;AACJ,CACJ,CAAC;AAEX,MAAMM,uCAAuC,GAAG,yCAAyC;AAUzF,OAAO,SAASC,6BAA6BA,CACzCC,UAAkB,EAClBC,MAAiC,EACjCC,aAA4C,EAC5CC,kBAA2D,EAC7D;EACE;EACAlB,SAAS,CAAC,MAAM;IACZ,MAAMmB,eAAe,GAAG,IAAIjB,kBAAkB,CAAC,CAAC;IAChD,MAAMkB,QAAQ,GAAGD,eAAe,CAACE,WAAW,CAACR,uCAAuC,EAAGS,WAAW,IAAK;MACnG,IAAIC,YAAY,CAACD,WAAW,CAAC,EAAE;QAC3BL,aAAa,CAACK,WAAyB,CAAC;MAC5C,CAAC,MAAM,IAAIE,iBAAiB,CAACF,WAAW,CAAC,EAAE;QACvCJ,kBAAkB,CAACI,WAA8B,CAAC;MACtD,CAAC,MAAM;QACHG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC;MAChD;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACTN,QAAQ,CAACO,MAAM,CAAC,CAAC;IACrB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAENC,kBAAkB,CAACb,UAAU,EAAEC,MAAM,CAAC;AAC1C;AAEA,eAAeY,kBAAkBA,CAACb,UAAkB,EAAEc,YAAuC,EAAE;EAC3F;EACA,MAAMC,UAAU,GAAG,MAAM7B,OAAO,CAAC8B,aAAa,CAAC,CAAC;;EAEhD;EACA,IAAID,UAAU,KAAK,IAAI,EAAE;IACrBtB,kCAAkC,CAACwB,cAAc,CAACjB,UAAU,EAAEe,UAAU,EAAEG,IAAI,CAACC,SAAS,CAACL,YAAY,CAAC,CAAC;EAC3G,CAAC,MAAM;IACHJ,OAAO,CAACC,IAAI,CAAC,kCAAkC,CAAC;EACpD;AACJ;AAEA,SAASH,YAAYA,CAACD,WAAgB,EAAW;EAC7C,OAAOa,MAAM,CAACC,MAAM,CAAC9B,cAAc,CAAC,CAAC+B,QAAQ,CAACf,WAAW,CAACgB,MAAM,CAAC;AACrE;AAEA,SAASd,iBAAiBA,CAACF,WAAgB,EAAE;EACzC,OAAOa,MAAM,CAACC,MAAM,CAAC/B,mBAAmB,CAAC,CAACgC,QAAQ,CAACf,WAAW,CAACgB,MAAM,CAAC;AAC1E"}
@@ -1,4 +1,5 @@
1
1
  export * from './mwaSessionEvents.js';
2
2
  export * from './resolve.js';
3
3
  export * from './useMobileWalletAdapterSession.js';
4
+ export * from './useDigitalAssetLinks.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC"}
@@ -7,7 +7,7 @@ declare type AppIdentity = Readonly<{
7
7
  * Mobile Wallet Adapter Requests are remote requests coming from
8
8
  * the dApp for authorization, signing, and sending services.
9
9
  */
10
- export declare type MWARequest = SignMessagesRequest | SignTransactionsRequest | SignAndSendTransactionsRequest | AuthorizeDappRequest;
10
+ export declare type MWARequest = SignMessagesRequest | SignTransactionsRequest | SignAndSendTransactionsRequest | AuthorizeDappRequest | ReauthorizeDappRequest;
11
11
  export declare enum MWARequestType {
12
12
  AuthorizeDappRequest = "AUTHORIZE_DAPP",
13
13
  ReauthorizeDappRequest = "REAUTHORIZE_DAPP",
@@ -76,6 +76,8 @@ export declare type AuthorizeDappCompleteResponse = Readonly<{
76
76
  authorizationScope?: Uint8Array;
77
77
  }>;
78
78
  export declare type AuthorizeDappResponse = AuthorizeDappCompleteResponse | UserDeclinedResponse;
79
+ export declare type ReauthorizeDappCompleteResponse = Readonly<{}>;
80
+ export declare type ReauthorizeDappResponse = ReauthorizeDappCompleteResponse | UserDeclinedResponse;
79
81
  export declare type SignPayloadsCompleteResponse = Readonly<{
80
82
  signedPayloads: Uint8Array[];
81
83
  }>;
@@ -87,6 +89,7 @@ export declare type SignAndSendTransactionsCompleteResponse = Readonly<{
87
89
  }>;
88
90
  export declare type SignAndSendTransactionsResponse = SignAndSendTransactionsCompleteResponse | UserDeclinedResponse | TooManyPayloadsResponse | AuthorizationNotValidResponse | InvalidSignaturesResponse;
89
91
  export declare function resolve(request: AuthorizeDappRequest, response: AuthorizeDappResponse): void;
92
+ export declare function resolve(request: ReauthorizeDappRequest, response: ReauthorizeDappResponse): void;
90
93
  export declare function resolve(request: SignMessagesRequest, response: SignMessagesResponse): void;
91
94
  export declare function resolve(request: SignTransactionsRequest, response: SignTransactionsResponse): void;
92
95
  export declare function resolve(request: SignAndSendTransactionsRequest, response: SignAndSendTransactionsResponse): void;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function getCallingPackage(): Promise<string | undefined>;
2
+ export declare function verifyCallingPackage(clientIdentityUri: string): Promise<any>;
3
+ export declare function getCallingPackageUid(): Promise<any>;
4
+ export declare function getUidForPackage(packageName: string): Promise<any>;
5
+ //# sourceMappingURL=useDigitalAssetLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDigitalAssetLinks.d.ts","sourceRoot":"","sources":["../../src/useDigitalAssetLinks.ts"],"names":[],"mappings":"AA0BA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAErE;AAED,wBAAsB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,gBAEnE;AAED,wBAAsB,oBAAoB,iBAEzC;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,gBAEzD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@solana-mobile/mobile-wallet-adapter-walletlib",
3
3
  "description": "A React Native wrapper of the Solana Mobile, Mobile Wallet Adapter Wallet Library. Wallet apps can use this to handle dapp requests for signing and sending.",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "author": "Michael Sulistio <mike.sulistio@solanamobile.com>",
6
6
  "repository": "https://github.com/solana-mobile/mobile-wallet-adapter",
7
7
  "license": "Apache-2.0",
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './mwaSessionEvents.js';
2
2
  export * from './resolve.js';
3
3
  export * from './useMobileWalletAdapterSession.js';
4
+ export * from './useDigitalAssetLinks.js';
package/src/resolve.ts CHANGED
@@ -39,7 +39,8 @@ export type MWARequest =
39
39
  | SignMessagesRequest
40
40
  | SignTransactionsRequest
41
41
  | SignAndSendTransactionsRequest
42
- | AuthorizeDappRequest;
42
+ | AuthorizeDappRequest
43
+ | ReauthorizeDappRequest;
43
44
 
44
45
  export enum MWARequestType {
45
46
  AuthorizeDappRequest = 'AUTHORIZE_DAPP',
@@ -136,6 +137,10 @@ export type AuthorizeDappCompleteResponse = Readonly<{
136
137
  }>;
137
138
  export type AuthorizeDappResponse = AuthorizeDappCompleteResponse | UserDeclinedResponse;
138
139
 
140
+ /* Reauthorize Dapp */
141
+ export type ReauthorizeDappCompleteResponse = Readonly<{}>;
142
+ export type ReauthorizeDappResponse = ReauthorizeDappCompleteResponse | UserDeclinedResponse;
143
+
139
144
  /* Sign Transactions/Messages */
140
145
  export type SignPayloadsCompleteResponse = Readonly<{ signedPayloads: Uint8Array[] }>;
141
146
  export type SignPayloadsFailResponse =
@@ -157,6 +162,7 @@ export type SignAndSendTransactionsResponse =
157
162
  | InvalidSignaturesResponse;
158
163
 
159
164
  export function resolve(request: AuthorizeDappRequest, response: AuthorizeDappResponse): void;
165
+ export function resolve(request: ReauthorizeDappRequest, response: ReauthorizeDappResponse): void;
160
166
  export function resolve(request: SignMessagesRequest, response: SignMessagesResponse): void;
161
167
  export function resolve(request: SignTransactionsRequest, response: SignTransactionsResponse): void;
162
168
  export function resolve(request: SignAndSendTransactionsRequest, response: SignAndSendTransactionsResponse): void;
@@ -0,0 +1,41 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+
3
+ const LINKING_ERROR =
4
+ `The package 'solana-mobile-wallet-adapter-walletlib' doesn't seem to be linked. Make sure: \n\n` +
5
+ '- You rebuilt the app after installing the package\n' +
6
+ '- If you are using Lerna workspaces\n' +
7
+ ' - You have added `@solana-mobile/mobile-wallet-adapter-walletlib` as an explicit dependency, and\n' +
8
+ ' - You have added `@solana-mobile/mobile-wallet-adapter-walletlib` to the `nohoist` section of your package.json\n' +
9
+ '- You are not using Expo managed workflow\n';
10
+
11
+ const SolanaMobileDigitalAssetLinks =
12
+ Platform.OS === 'android' && NativeModules.SolanaMobileDigitalAssetLinks
13
+ ? NativeModules.SolanaMobileDigitalAssetLinks
14
+ : new Proxy(
15
+ {},
16
+ {
17
+ get() {
18
+ throw new Error(
19
+ Platform.OS !== 'android'
20
+ ? 'The package `solana-mobile-wallet-adapter-walletlib` is only compatible with React Native Android'
21
+ : LINKING_ERROR,
22
+ );
23
+ },
24
+ },
25
+ );
26
+
27
+ export async function getCallingPackage(): Promise<string | undefined> {
28
+ return await SolanaMobileDigitalAssetLinks.getCallingPackage()
29
+ }
30
+
31
+ export async function verifyCallingPackage(clientIdentityUri: string) {
32
+ return await SolanaMobileDigitalAssetLinks.verifyCallingPackage(clientIdentityUri)
33
+ }
34
+
35
+ export async function getCallingPackageUid() {
36
+ return await SolanaMobileDigitalAssetLinks.getCallingPackageUid()
37
+ }
38
+
39
+ export async function getUidForPackage(packageName: string) {
40
+ return await SolanaMobileDigitalAssetLinks.getUidForPackage(packageName)
41
+ }
@@ -71,7 +71,11 @@ async function initializeScenario(walletName: string, walletConfig: MobileWallet
71
71
  const initialUrl = await Linking.getInitialURL();
72
72
 
73
73
  // Create Scenario and establish session with dapp
74
- SolanaMobileWalletAdapterWalletLib.createScenario(walletName, initialUrl, JSON.stringify(walletConfig));
74
+ if (initialUrl !== null) {
75
+ SolanaMobileWalletAdapterWalletLib.createScenario(walletName, initialUrl, JSON.stringify(walletConfig));
76
+ } else {
77
+ console.warn('Initial URL is unexpectedly null');
78
+ }
75
79
  }
76
80
 
77
81
  function isMWARequest(nativeEvent: any): boolean {