@solana-mobile/mobile-wallet-adapter-walletlib 1.4.0 → 1.4.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/LICENSE +12 -12
- package/README.md +202 -196
- package/android/build.gradle +151 -151
- package/android/gradle/wrapper/gradle-wrapper.properties +5 -5
- package/android/gradle.properties +5 -5
- package/android/gradlew +185 -185
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/Extensions.kt +98 -98
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/JsonSerializationUtils.kt +156 -156
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/MobileWalletAdapterWalletLibReactNativePackage.kt +18 -18
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/SolanaMobileWalletAdapterWalletLibModule.kt +691 -691
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/model/MobileWalletAdapterConfig.kt +59 -59
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/model/MobileWalletAdapterRequest.kt +97 -97
- package/android/src/main/java/com/solanamobile/mobilewalletadapterwalletlib/reactnative/model/MobileWalletAdapterResponse.kt +68 -68
- package/lib/esm/index.js +119 -194
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/index.native.js +119 -194
- package/lib/esm/index.native.js.map +1 -0
- package/lib/esm/package.json +1 -3
- package/lib/types/index.d.ts +124 -112
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +49 -46
- package/lib/types/index.native.d.ts +0 -226
- package/lib/types/index.native.d.ts.map +0 -1
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
package com.solanamobile.mobilewalletadapterwalletlib.reactnative.model
|
|
2
|
-
|
|
3
|
-
import com.solana.mobilewalletadapter.walletlib.protocol.MobileWalletAdapterConfig
|
|
4
|
-
import kotlinx.serialization.DeserializationStrategy
|
|
5
|
-
import kotlinx.serialization.KSerializer
|
|
6
|
-
import kotlinx.serialization.Serializable
|
|
7
|
-
import kotlinx.serialization.builtins.ListSerializer
|
|
8
|
-
import kotlinx.serialization.builtins.serializer
|
|
9
|
-
import kotlinx.serialization.descriptors.PrimitiveKind
|
|
10
|
-
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
|
|
11
|
-
import kotlinx.serialization.descriptors.SerialDescriptor
|
|
12
|
-
import kotlinx.serialization.encoding.Decoder
|
|
13
|
-
import kotlinx.serialization.encoding.Encoder
|
|
14
|
-
import kotlinx.serialization.json.JsonContentPolymorphicSerializer
|
|
15
|
-
import kotlinx.serialization.json.JsonElement
|
|
16
|
-
import kotlinx.serialization.json.JsonPrimitive
|
|
17
|
-
|
|
18
|
-
@Serializable
|
|
19
|
-
private data class MobileWalletAdapterConfigSurrogate(
|
|
20
|
-
val maxTransactionsPerSigningRequest: Int,
|
|
21
|
-
val maxMessagesPerSigningRequest: Int,
|
|
22
|
-
val supportedTransactionVersions: List<@Serializable(with = TransactionVersionSerializer::class) Any>,
|
|
23
|
-
val noConnectionWarningTimeoutMs: Long,
|
|
24
|
-
val optionalFeatures: List<String>
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
object TransactionVersionSerializer : JsonContentPolymorphicSerializer<Any>(Any::class) {
|
|
28
|
-
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<out Any> =
|
|
29
|
-
if ((element as? JsonPrimitive)?.content?.toIntOrNull() != null) Int.serializer()
|
|
30
|
-
else if ((element as? JsonPrimitive)?.content == "legacy") String.serializer()
|
|
31
|
-
else throw IllegalArgumentException("supportedTransactionVersions must be either the string \"legacy\" or a non-negative integer")
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
object MobileWalletAdapterConfigSerializer : KSerializer<MobileWalletAdapterConfig> {
|
|
35
|
-
private val delegateSerializer = MobileWalletAdapterConfigSurrogate.serializer()
|
|
36
|
-
override val descriptor: SerialDescriptor = delegateSerializer.descriptor
|
|
37
|
-
|
|
38
|
-
override fun deserialize(decoder: Decoder): MobileWalletAdapterConfig {
|
|
39
|
-
val surrogate = decoder.decodeSerializableValue(delegateSerializer)
|
|
40
|
-
return MobileWalletAdapterConfig(
|
|
41
|
-
surrogate.maxTransactionsPerSigningRequest,
|
|
42
|
-
surrogate.maxMessagesPerSigningRequest,
|
|
43
|
-
surrogate.supportedTransactionVersions.toTypedArray(),
|
|
44
|
-
surrogate.noConnectionWarningTimeoutMs,
|
|
45
|
-
surrogate.optionalFeatures.toTypedArray()
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
override fun serialize(encoder: Encoder, value: MobileWalletAdapterConfig) {
|
|
50
|
-
encoder.encodeSerializableValue(delegateSerializer,
|
|
51
|
-
MobileWalletAdapterConfigSurrogate(
|
|
52
|
-
value.maxTransactionsPerSigningRequest,
|
|
53
|
-
value.maxMessagesPerSigningRequest,
|
|
54
|
-
value.supportedTransactionVersions.toList(),
|
|
55
|
-
value.noConnectionWarningTimeoutMs,
|
|
56
|
-
value.optionalFeatures.toList()
|
|
57
|
-
)
|
|
58
|
-
)
|
|
59
|
-
}
|
|
1
|
+
package com.solanamobile.mobilewalletadapterwalletlib.reactnative.model
|
|
2
|
+
|
|
3
|
+
import com.solana.mobilewalletadapter.walletlib.protocol.MobileWalletAdapterConfig
|
|
4
|
+
import kotlinx.serialization.DeserializationStrategy
|
|
5
|
+
import kotlinx.serialization.KSerializer
|
|
6
|
+
import kotlinx.serialization.Serializable
|
|
7
|
+
import kotlinx.serialization.builtins.ListSerializer
|
|
8
|
+
import kotlinx.serialization.builtins.serializer
|
|
9
|
+
import kotlinx.serialization.descriptors.PrimitiveKind
|
|
10
|
+
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
|
|
11
|
+
import kotlinx.serialization.descriptors.SerialDescriptor
|
|
12
|
+
import kotlinx.serialization.encoding.Decoder
|
|
13
|
+
import kotlinx.serialization.encoding.Encoder
|
|
14
|
+
import kotlinx.serialization.json.JsonContentPolymorphicSerializer
|
|
15
|
+
import kotlinx.serialization.json.JsonElement
|
|
16
|
+
import kotlinx.serialization.json.JsonPrimitive
|
|
17
|
+
|
|
18
|
+
@Serializable
|
|
19
|
+
private data class MobileWalletAdapterConfigSurrogate(
|
|
20
|
+
val maxTransactionsPerSigningRequest: Int,
|
|
21
|
+
val maxMessagesPerSigningRequest: Int,
|
|
22
|
+
val supportedTransactionVersions: List<@Serializable(with = TransactionVersionSerializer::class) Any>,
|
|
23
|
+
val noConnectionWarningTimeoutMs: Long,
|
|
24
|
+
val optionalFeatures: List<String>
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
object TransactionVersionSerializer : JsonContentPolymorphicSerializer<Any>(Any::class) {
|
|
28
|
+
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<out Any> =
|
|
29
|
+
if ((element as? JsonPrimitive)?.content?.toIntOrNull() != null) Int.serializer()
|
|
30
|
+
else if ((element as? JsonPrimitive)?.content == "legacy") String.serializer()
|
|
31
|
+
else throw IllegalArgumentException("supportedTransactionVersions must be either the string \"legacy\" or a non-negative integer")
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
object MobileWalletAdapterConfigSerializer : KSerializer<MobileWalletAdapterConfig> {
|
|
35
|
+
private val delegateSerializer = MobileWalletAdapterConfigSurrogate.serializer()
|
|
36
|
+
override val descriptor: SerialDescriptor = delegateSerializer.descriptor
|
|
37
|
+
|
|
38
|
+
override fun deserialize(decoder: Decoder): MobileWalletAdapterConfig {
|
|
39
|
+
val surrogate = decoder.decodeSerializableValue(delegateSerializer)
|
|
40
|
+
return MobileWalletAdapterConfig(
|
|
41
|
+
surrogate.maxTransactionsPerSigningRequest,
|
|
42
|
+
surrogate.maxMessagesPerSigningRequest,
|
|
43
|
+
surrogate.supportedTransactionVersions.toTypedArray(),
|
|
44
|
+
surrogate.noConnectionWarningTimeoutMs,
|
|
45
|
+
surrogate.optionalFeatures.toTypedArray()
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
override fun serialize(encoder: Encoder, value: MobileWalletAdapterConfig) {
|
|
50
|
+
encoder.encodeSerializableValue(delegateSerializer,
|
|
51
|
+
MobileWalletAdapterConfigSurrogate(
|
|
52
|
+
value.maxTransactionsPerSigningRequest,
|
|
53
|
+
value.maxMessagesPerSigningRequest,
|
|
54
|
+
value.supportedTransactionVersions.toList(),
|
|
55
|
+
value.noConnectionWarningTimeoutMs,
|
|
56
|
+
value.optionalFeatures.toList()
|
|
57
|
+
)
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
60
|
}
|
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
package com.solanamobile.mobilewalletadapterwalletlib.reactnative.model
|
|
2
|
-
|
|
3
|
-
import com.solana.mobilewalletadapter.common.signin.SignInWithSolana
|
|
4
|
-
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.SignInPayloadSerializer
|
|
5
|
-
import kotlinx.serialization.SerialName
|
|
6
|
-
import kotlinx.serialization.Serializable
|
|
7
|
-
import java.util.*
|
|
8
|
-
|
|
9
|
-
@Serializable
|
|
10
|
-
sealed class MobileWalletAdapterRequest {
|
|
11
|
-
open val requestId: String = UUID.randomUUID().toString()
|
|
12
|
-
abstract val sessionId: String
|
|
13
|
-
abstract val chain: String
|
|
14
|
-
abstract val identityName: String?
|
|
15
|
-
abstract val identityUri: String?
|
|
16
|
-
abstract val iconRelativeUri: String?
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@Serializable
|
|
20
|
-
@SerialName("AUTHORIZE_DAPP")
|
|
21
|
-
data class AuthorizeDapp(
|
|
22
|
-
override val sessionId: String,
|
|
23
|
-
override val chain: String,
|
|
24
|
-
override val identityName: String?,
|
|
25
|
-
override val identityUri: String?,
|
|
26
|
-
override val iconRelativeUri: String?,
|
|
27
|
-
val features: List<String>? = null,
|
|
28
|
-
val addresses: List<String>? = null,
|
|
29
|
-
@Serializable(with = SignInPayloadSerializer::class) val signInPayload: SignInWithSolana.Payload? = null
|
|
30
|
-
) : MobileWalletAdapterRequest()
|
|
31
|
-
|
|
32
|
-
@Serializable
|
|
33
|
-
sealed class VerifiableIdentityRequestSurrogate : MobileWalletAdapterRequest() {
|
|
34
|
-
abstract val authorizationScope: ByteArray
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@Serializable
|
|
38
|
-
@SerialName("REAUTHORIZE_DAPP")
|
|
39
|
-
data class ReauthorizeDapp(
|
|
40
|
-
override val sessionId: String,
|
|
41
|
-
override val chain: String,
|
|
42
|
-
override val identityName: String?,
|
|
43
|
-
override val identityUri: String?,
|
|
44
|
-
override val iconRelativeUri: String?,
|
|
45
|
-
override val authorizationScope: ByteArray
|
|
46
|
-
) : VerifiableIdentityRequestSurrogate()
|
|
47
|
-
|
|
48
|
-
@Serializable
|
|
49
|
-
@SerialName("DEAUTHORIZE_DAPP")
|
|
50
|
-
data class DeauthorizeDapp(
|
|
51
|
-
override val sessionId: String,
|
|
52
|
-
override val chain: String,
|
|
53
|
-
override val identityName: String?,
|
|
54
|
-
override val identityUri: String?,
|
|
55
|
-
override val iconRelativeUri: String?,
|
|
56
|
-
override val authorizationScope: ByteArray
|
|
57
|
-
) : VerifiableIdentityRequestSurrogate()
|
|
58
|
-
|
|
59
|
-
@Serializable
|
|
60
|
-
sealed class SignPayloads : VerifiableIdentityRequestSurrogate() {
|
|
61
|
-
abstract val payloads: List<ByteArray>
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@Serializable
|
|
65
|
-
@SerialName("SIGN_MESSAGES")
|
|
66
|
-
data class SignMessages(
|
|
67
|
-
override val sessionId: String,
|
|
68
|
-
override val chain: String,
|
|
69
|
-
override val identityName: String?,
|
|
70
|
-
override val identityUri: String?,
|
|
71
|
-
override val iconRelativeUri: String?,
|
|
72
|
-
override val authorizationScope: ByteArray,
|
|
73
|
-
override val payloads: List<ByteArray>
|
|
74
|
-
) : SignPayloads()
|
|
75
|
-
|
|
76
|
-
@Serializable
|
|
77
|
-
@SerialName("SIGN_TRANSACTIONS")
|
|
78
|
-
data class SignTransactions(
|
|
79
|
-
override val sessionId: String,
|
|
80
|
-
override val chain: String,
|
|
81
|
-
override val identityName: String?,
|
|
82
|
-
override val identityUri: String?,
|
|
83
|
-
override val iconRelativeUri: String?,
|
|
84
|
-
override val authorizationScope: ByteArray,
|
|
85
|
-
override val payloads: List<ByteArray>
|
|
86
|
-
) : SignPayloads()
|
|
87
|
-
|
|
88
|
-
@Serializable
|
|
89
|
-
@SerialName("SIGN_AND_SEND_TRANSACTIONS")
|
|
90
|
-
data class SignAndSendTransactions(
|
|
91
|
-
override val sessionId: String,
|
|
92
|
-
override val chain: String,
|
|
93
|
-
override val identityName: String?,
|
|
94
|
-
override val identityUri: String?,
|
|
95
|
-
override val iconRelativeUri: String?,
|
|
96
|
-
override val authorizationScope: ByteArray,
|
|
97
|
-
override val payloads: List<ByteArray>
|
|
1
|
+
package com.solanamobile.mobilewalletadapterwalletlib.reactnative.model
|
|
2
|
+
|
|
3
|
+
import com.solana.mobilewalletadapter.common.signin.SignInWithSolana
|
|
4
|
+
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.SignInPayloadSerializer
|
|
5
|
+
import kotlinx.serialization.SerialName
|
|
6
|
+
import kotlinx.serialization.Serializable
|
|
7
|
+
import java.util.*
|
|
8
|
+
|
|
9
|
+
@Serializable
|
|
10
|
+
sealed class MobileWalletAdapterRequest {
|
|
11
|
+
open val requestId: String = UUID.randomUUID().toString()
|
|
12
|
+
abstract val sessionId: String
|
|
13
|
+
abstract val chain: String
|
|
14
|
+
abstract val identityName: String?
|
|
15
|
+
abstract val identityUri: String?
|
|
16
|
+
abstract val iconRelativeUri: String?
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@Serializable
|
|
20
|
+
@SerialName("AUTHORIZE_DAPP")
|
|
21
|
+
data class AuthorizeDapp(
|
|
22
|
+
override val sessionId: String,
|
|
23
|
+
override val chain: String,
|
|
24
|
+
override val identityName: String?,
|
|
25
|
+
override val identityUri: String?,
|
|
26
|
+
override val iconRelativeUri: String?,
|
|
27
|
+
val features: List<String>? = null,
|
|
28
|
+
val addresses: List<String>? = null,
|
|
29
|
+
@Serializable(with = SignInPayloadSerializer::class) val signInPayload: SignInWithSolana.Payload? = null
|
|
30
|
+
) : MobileWalletAdapterRequest()
|
|
31
|
+
|
|
32
|
+
@Serializable
|
|
33
|
+
sealed class VerifiableIdentityRequestSurrogate : MobileWalletAdapterRequest() {
|
|
34
|
+
abstract val authorizationScope: ByteArray
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@Serializable
|
|
38
|
+
@SerialName("REAUTHORIZE_DAPP")
|
|
39
|
+
data class ReauthorizeDapp(
|
|
40
|
+
override val sessionId: String,
|
|
41
|
+
override val chain: String,
|
|
42
|
+
override val identityName: String?,
|
|
43
|
+
override val identityUri: String?,
|
|
44
|
+
override val iconRelativeUri: String?,
|
|
45
|
+
override val authorizationScope: ByteArray
|
|
46
|
+
) : VerifiableIdentityRequestSurrogate()
|
|
47
|
+
|
|
48
|
+
@Serializable
|
|
49
|
+
@SerialName("DEAUTHORIZE_DAPP")
|
|
50
|
+
data class DeauthorizeDapp(
|
|
51
|
+
override val sessionId: String,
|
|
52
|
+
override val chain: String,
|
|
53
|
+
override val identityName: String?,
|
|
54
|
+
override val identityUri: String?,
|
|
55
|
+
override val iconRelativeUri: String?,
|
|
56
|
+
override val authorizationScope: ByteArray
|
|
57
|
+
) : VerifiableIdentityRequestSurrogate()
|
|
58
|
+
|
|
59
|
+
@Serializable
|
|
60
|
+
sealed class SignPayloads : VerifiableIdentityRequestSurrogate() {
|
|
61
|
+
abstract val payloads: List<ByteArray>
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@Serializable
|
|
65
|
+
@SerialName("SIGN_MESSAGES")
|
|
66
|
+
data class SignMessages(
|
|
67
|
+
override val sessionId: String,
|
|
68
|
+
override val chain: String,
|
|
69
|
+
override val identityName: String?,
|
|
70
|
+
override val identityUri: String?,
|
|
71
|
+
override val iconRelativeUri: String?,
|
|
72
|
+
override val authorizationScope: ByteArray,
|
|
73
|
+
override val payloads: List<ByteArray>
|
|
74
|
+
) : SignPayloads()
|
|
75
|
+
|
|
76
|
+
@Serializable
|
|
77
|
+
@SerialName("SIGN_TRANSACTIONS")
|
|
78
|
+
data class SignTransactions(
|
|
79
|
+
override val sessionId: String,
|
|
80
|
+
override val chain: String,
|
|
81
|
+
override val identityName: String?,
|
|
82
|
+
override val identityUri: String?,
|
|
83
|
+
override val iconRelativeUri: String?,
|
|
84
|
+
override val authorizationScope: ByteArray,
|
|
85
|
+
override val payloads: List<ByteArray>
|
|
86
|
+
) : SignPayloads()
|
|
87
|
+
|
|
88
|
+
@Serializable
|
|
89
|
+
@SerialName("SIGN_AND_SEND_TRANSACTIONS")
|
|
90
|
+
data class SignAndSendTransactions(
|
|
91
|
+
override val sessionId: String,
|
|
92
|
+
override val chain: String,
|
|
93
|
+
override val identityName: String?,
|
|
94
|
+
override val identityUri: String?,
|
|
95
|
+
override val iconRelativeUri: String?,
|
|
96
|
+
override val authorizationScope: ByteArray,
|
|
97
|
+
override val payloads: List<ByteArray>
|
|
98
98
|
) : SignPayloads()
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
package com.solanamobile.mobilewalletadapterwalletlib.reactnative.model
|
|
2
|
-
|
|
3
|
-
import com.solana.mobilewalletadapter.walletlib.scenario.SignInResult
|
|
4
|
-
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.ByteArrayAsMapSerializer
|
|
5
|
-
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.ByteArrayCollectionAsMapCollectionSerializer
|
|
6
|
-
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.SignInResultSerializer
|
|
7
|
-
import kotlinx.serialization.SerialName
|
|
8
|
-
import kotlinx.serialization.Serializable
|
|
9
|
-
|
|
10
|
-
@Serializable
|
|
11
|
-
sealed class MobileWalletAdapterResponse
|
|
12
|
-
|
|
13
|
-
@Serializable
|
|
14
|
-
sealed class MobileWalletAdapterFailureResponse : MobileWalletAdapterResponse()
|
|
15
|
-
|
|
16
|
-
@Serializable
|
|
17
|
-
@SerialName("USER_DECLINED")
|
|
18
|
-
object UserDeclinedResponse : MobileWalletAdapterFailureResponse()
|
|
19
|
-
|
|
20
|
-
@Serializable
|
|
21
|
-
@SerialName("TOO_MANY_PAYLOADS")
|
|
22
|
-
object TooManyPayloadsResponse : MobileWalletAdapterFailureResponse()
|
|
23
|
-
|
|
24
|
-
@Serializable
|
|
25
|
-
@SerialName("AUTHORIZATION_NOT_VALID")
|
|
26
|
-
object AuthorizationNotValidResponse : MobileWalletAdapterFailureResponse()
|
|
27
|
-
|
|
28
|
-
@Serializable
|
|
29
|
-
@SerialName("INVALID_SIGNATURES")
|
|
30
|
-
data class InvalidSignaturesResponse(val valid: BooleanArray) : MobileWalletAdapterFailureResponse()
|
|
31
|
-
|
|
32
|
-
@Serializable
|
|
33
|
-
data class AuthorizedAccount(
|
|
34
|
-
@Serializable(with = ByteArrayAsMapSerializer::class) val publicKey: ByteArray,
|
|
35
|
-
val accountLabel: String? = String(publicKey),
|
|
36
|
-
val icon: String? = null,
|
|
37
|
-
val chains: List<String>? = null,
|
|
38
|
-
val features: List<String>? = null
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
@Serializable
|
|
42
|
-
data class AuthorizeDappResponse(
|
|
43
|
-
val accounts: List<AuthorizedAccount>,
|
|
44
|
-
val walletUriBase: String? = null,
|
|
45
|
-
@Serializable(with = ByteArrayAsMapSerializer::class) val authorizationScope: ByteArray,
|
|
46
|
-
@Serializable(with = SignInResultSerializer::class) val signInResult: SignInResult? = null
|
|
47
|
-
) : MobileWalletAdapterResponse()
|
|
48
|
-
|
|
49
|
-
@Serializable
|
|
50
|
-
data class ReauthorizeDappResponse(
|
|
51
|
-
@Serializable(with = ByteArrayAsMapSerializer::class) val publicKey: ByteArray? = null,
|
|
52
|
-
val accountLabel: String? = publicKey?.let { String(publicKey) },
|
|
53
|
-
val walletUriBase: String? = null,
|
|
54
|
-
@Serializable(with = ByteArrayAsMapSerializer::class) val authorizationScope: ByteArray
|
|
55
|
-
) : MobileWalletAdapterResponse()
|
|
56
|
-
|
|
57
|
-
@Serializable
|
|
58
|
-
object DeauthorizeDappResponse : MobileWalletAdapterResponse()
|
|
59
|
-
|
|
60
|
-
@Serializable
|
|
61
|
-
data class SignedPayloads(
|
|
62
|
-
@Serializable(with = ByteArrayCollectionAsMapCollectionSerializer::class) val signedPayloads: List<ByteArray>
|
|
63
|
-
) : MobileWalletAdapterResponse()
|
|
64
|
-
|
|
65
|
-
@Serializable
|
|
66
|
-
data class SignedAndSentTransactions(
|
|
67
|
-
@Serializable(with = ByteArrayCollectionAsMapCollectionSerializer::class) val signedTransactions: List<ByteArray>
|
|
68
|
-
) : MobileWalletAdapterResponse()
|
|
1
|
+
package com.solanamobile.mobilewalletadapterwalletlib.reactnative.model
|
|
2
|
+
|
|
3
|
+
import com.solana.mobilewalletadapter.walletlib.scenario.SignInResult
|
|
4
|
+
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.ByteArrayAsMapSerializer
|
|
5
|
+
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.ByteArrayCollectionAsMapCollectionSerializer
|
|
6
|
+
import com.solanamobile.mobilewalletadapterwalletlib.reactnative.SignInResultSerializer
|
|
7
|
+
import kotlinx.serialization.SerialName
|
|
8
|
+
import kotlinx.serialization.Serializable
|
|
9
|
+
|
|
10
|
+
@Serializable
|
|
11
|
+
sealed class MobileWalletAdapterResponse
|
|
12
|
+
|
|
13
|
+
@Serializable
|
|
14
|
+
sealed class MobileWalletAdapterFailureResponse : MobileWalletAdapterResponse()
|
|
15
|
+
|
|
16
|
+
@Serializable
|
|
17
|
+
@SerialName("USER_DECLINED")
|
|
18
|
+
object UserDeclinedResponse : MobileWalletAdapterFailureResponse()
|
|
19
|
+
|
|
20
|
+
@Serializable
|
|
21
|
+
@SerialName("TOO_MANY_PAYLOADS")
|
|
22
|
+
object TooManyPayloadsResponse : MobileWalletAdapterFailureResponse()
|
|
23
|
+
|
|
24
|
+
@Serializable
|
|
25
|
+
@SerialName("AUTHORIZATION_NOT_VALID")
|
|
26
|
+
object AuthorizationNotValidResponse : MobileWalletAdapterFailureResponse()
|
|
27
|
+
|
|
28
|
+
@Serializable
|
|
29
|
+
@SerialName("INVALID_SIGNATURES")
|
|
30
|
+
data class InvalidSignaturesResponse(val valid: BooleanArray) : MobileWalletAdapterFailureResponse()
|
|
31
|
+
|
|
32
|
+
@Serializable
|
|
33
|
+
data class AuthorizedAccount(
|
|
34
|
+
@Serializable(with = ByteArrayAsMapSerializer::class) val publicKey: ByteArray,
|
|
35
|
+
val accountLabel: String? = String(publicKey),
|
|
36
|
+
val icon: String? = null,
|
|
37
|
+
val chains: List<String>? = null,
|
|
38
|
+
val features: List<String>? = null
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
@Serializable
|
|
42
|
+
data class AuthorizeDappResponse(
|
|
43
|
+
val accounts: List<AuthorizedAccount>,
|
|
44
|
+
val walletUriBase: String? = null,
|
|
45
|
+
@Serializable(with = ByteArrayAsMapSerializer::class) val authorizationScope: ByteArray,
|
|
46
|
+
@Serializable(with = SignInResultSerializer::class) val signInResult: SignInResult? = null
|
|
47
|
+
) : MobileWalletAdapterResponse()
|
|
48
|
+
|
|
49
|
+
@Serializable
|
|
50
|
+
data class ReauthorizeDappResponse(
|
|
51
|
+
@Serializable(with = ByteArrayAsMapSerializer::class) val publicKey: ByteArray? = null,
|
|
52
|
+
val accountLabel: String? = publicKey?.let { String(publicKey) },
|
|
53
|
+
val walletUriBase: String? = null,
|
|
54
|
+
@Serializable(with = ByteArrayAsMapSerializer::class) val authorizationScope: ByteArray
|
|
55
|
+
) : MobileWalletAdapterResponse()
|
|
56
|
+
|
|
57
|
+
@Serializable
|
|
58
|
+
object DeauthorizeDappResponse : MobileWalletAdapterResponse()
|
|
59
|
+
|
|
60
|
+
@Serializable
|
|
61
|
+
data class SignedPayloads(
|
|
62
|
+
@Serializable(with = ByteArrayCollectionAsMapCollectionSerializer::class) val signedPayloads: List<ByteArray>
|
|
63
|
+
) : MobileWalletAdapterResponse()
|
|
64
|
+
|
|
65
|
+
@Serializable
|
|
66
|
+
data class SignedAndSentTransactions(
|
|
67
|
+
@Serializable(with = ByteArrayCollectionAsMapCollectionSerializer::class) val signedTransactions: List<ByteArray>
|
|
68
|
+
) : MobileWalletAdapterResponse()
|