@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.
- package/android/build.gradle +1 -0
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/JsonSerializationUtils.kt +28 -1
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/MobileWalletAdapterWalletLibReactNativePackage.kt +4 -1
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/SolanaMobileDigitalAssetLinksModule.kt +65 -0
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/SolanaMobileWalletAdapterWalletLibModule.kt +7 -18
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/model/MobileWalletAdapterResponse.kt +3 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/resolve.js +1 -0
- package/lib/commonjs/resolve.js.map +1 -1
- package/lib/commonjs/useDigitalAssetLinks.js +29 -0
- package/lib/commonjs/useDigitalAssetLinks.js.map +1 -0
- package/lib/commonjs/useMobileWalletAdapterSession.js +5 -1
- package/lib/commonjs/useMobileWalletAdapterSession.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/resolve.js +2 -0
- package/lib/module/resolve.js.map +1 -1
- package/lib/module/useDigitalAssetLinks.js +20 -0
- package/lib/module/useDigitalAssetLinks.js.map +1 -0
- package/lib/module/useMobileWalletAdapterSession.js +5 -1
- package/lib/module/useMobileWalletAdapterSession.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/resolve.d.ts +4 -1
- package/lib/typescript/resolve.d.ts.map +1 -1
- package/lib/typescript/useDigitalAssetLinks.d.ts +5 -0
- package/lib/typescript/useDigitalAssetLinks.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/resolve.ts +7 -1
- package/src/useDigitalAssetLinks.ts +41 -0
- package/src/useMobileWalletAdapterSession.ts +5 -1
package/android/build.gradle
CHANGED
|
@@ -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>(
|
|
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(
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
363
|
-
|
|
364
|
-
request
|
|
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>
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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"}
|
package/lib/commonjs/resolve.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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;
|
|
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"}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -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"}
|
package/lib/module/resolve.js
CHANGED
|
@@ -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;;
|
|
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
|
-
|
|
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;
|
|
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 +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":"AA0BA,aAAK,WAAW,GAAG,QAAQ,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AAEH;;;GAGG;AAEH,oBAAY,UAAU,GAChB,mBAAmB,GACnB,uBAAuB,GACvB,8BAA8B,GAC9B,oBAAoB,CAAC;
|
|
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.
|
|
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
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
|
-
|
|
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 {
|