@authon/react-native-wallet 0.1.0 → 0.4.0

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 (65) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +34 -4
  3. package/android/src/main/AndroidManifest.xml +4 -0
  4. package/android/src/main/java/dev/authon/reactnative/wallet/AuthonWalletModule.kt +57 -3
  5. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/AndroidCapabilityProbe.kt +86 -0
  6. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/AuthonWallet.kt +29 -2
  7. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Bitcoin.kt +296 -0
  8. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Chains.kt +157 -0
  9. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Der.kt +17 -0
  10. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Encodings.kt +133 -0
  11. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Http.kt +6 -2
  12. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/KeystoreDeviceStore.kt +27 -23
  13. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Solana.kt +195 -0
  14. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Tron.kt +184 -0
  15. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/WalletApi.kt +16 -8
  16. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/WalletCapabilities.kt +91 -0
  17. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/WalletError.kt +18 -2
  18. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/WalletOps.kt +103 -1
  19. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/WalletTypes.kt +8 -1
  20. package/android/src/vendor/kotlin/dev/authon/sdk/wallet/Xrp.kt +193 -0
  21. package/build/client.d.ts +18 -2
  22. package/build/client.d.ts.map +1 -1
  23. package/build/client.js +88 -6
  24. package/build/client.js.map +1 -1
  25. package/build/errors.d.ts +8 -1
  26. package/build/errors.d.ts.map +1 -1
  27. package/build/errors.js +7 -1
  28. package/build/errors.js.map +1 -1
  29. package/build/index.d.ts +1 -1
  30. package/build/index.d.ts.map +1 -1
  31. package/build/native.d.ts +5 -1
  32. package/build/native.d.ts.map +1 -1
  33. package/build/native.js.map +1 -1
  34. package/build/types.d.ts +47 -1
  35. package/build/types.d.ts.map +1 -1
  36. package/ios/AuthonReactNativeWallet.podspec +6 -2
  37. package/ios/AuthonWalletModule.swift +46 -3
  38. package/ios/vendor/AuthonWallet/AuthonWallet.swift +24 -4
  39. package/ios/vendor/AuthonWallet/Capabilities.swift +149 -0
  40. package/ios/vendor/AuthonWallet/Chains/Bitcoin.swift +296 -0
  41. package/ios/vendor/AuthonWallet/Chains/Solana.swift +207 -0
  42. package/ios/vendor/AuthonWallet/Chains/Tron.swift +181 -0
  43. package/ios/vendor/AuthonWallet/Chains/XRP.swift +191 -0
  44. package/ios/vendor/AuthonWallet/Crypto/Chains.swift +278 -0
  45. package/ios/vendor/AuthonWallet/Crypto/Secp256k1.swift +24 -0
  46. package/ios/vendor/AuthonWallet/Wallet/WalletAPI.swift +19 -8
  47. package/ios/vendor/AuthonWallet/Wallet/WalletOps.swift +101 -2
  48. package/ios/vendor/AuthonWallet/WalletError.swift +32 -2
  49. package/ios/vendor/CKeccak/README.md +6 -3
  50. package/ios/vendor/CKeccak/include/ckeccak.h +4 -0
  51. package/ios/vendor/CKeccak/ripemd160.c +343 -0
  52. package/ios/vendor/CKeccak/ripemd160.h +22 -0
  53. package/ios/vendor/CMonocypher/LICENCE.md +173 -0
  54. package/ios/vendor/CMonocypher/README.md +27 -0
  55. package/ios/vendor/CMonocypher/include/monocypher-ed25519.h +140 -0
  56. package/ios/vendor/CMonocypher/include/monocypher.h +321 -0
  57. package/ios/vendor/CMonocypher/monocypher-ed25519.c +500 -0
  58. package/ios/vendor/CMonocypher/monocypher.c +2956 -0
  59. package/ios/vendor/GENERATED.md +1 -1
  60. package/package.json +3 -2
  61. package/src/client.ts +90 -6
  62. package/src/errors.ts +7 -1
  63. package/src/index.ts +5 -0
  64. package/src/native.ts +4 -2
  65. package/src/types.ts +52 -1
@@ -224,7 +224,7 @@ internal class WalletOps(private val ctx: WalletContext) {
224
224
  }
225
225
  }
226
226
 
227
- suspend fun accounts(session: String, start: Long, count: Int): List<WalletAccount> {
227
+ suspend fun accounts(session: String, start: Long, count: Int, chain: WalletChain = WalletChain.EVM): List<WalletAccount> {
228
228
  if (!HdWallet.isAccountIndex(start) || count < 1 || !HdWallet.isAccountIndex(start + count - 1)) {
229
229
  throw walletError(WalletErrorCode.INVALID_REQUEST, "start..start+count-1 must stay within 0..${HdWallet.MAX_ACCOUNT_INDEX}")
230
230
  }
@@ -236,6 +236,12 @@ internal class WalletOps(private val ctx: WalletContext) {
236
236
  try {
237
237
  secret = HdWallet.assemble(device, company)
238
238
  if (!HdWallet.address(secret).equals(local.wallet.address, ignoreCase = true)) throw walletError(WalletErrorCode.ADDRESS_MISMATCH)
239
+ if (chain != WalletChain.EVM) {
240
+ return Chains.addresses(secret, chain, start, count).mapIndexed { i, a ->
241
+ val publicKey = if (chain == WalletChain.XRP) Bytes.toHex(Chains.secpPublicKey(secret, chain, start + i)).uppercase() else null
242
+ WalletAccount(start + i, Chains.path(chain, start + i), a, chain, publicKey)
243
+ }
244
+ }
239
245
  if (!HdWallet.isHdSecret(secret) && (start != 0L || count != 1)) {
240
246
  throw walletError(WalletErrorCode.ACCOUNT_UNAVAILABLE, "this wallet has only account 0")
241
247
  }
@@ -276,6 +282,102 @@ internal class WalletOps(private val ctx: WalletContext) {
276
282
  return withSecret(session, { Summaries.transaction(tx.fields) }, account) { it.signTransaction(tx) }
277
283
  }
278
284
 
285
+ /**
286
+ * Signs an app-built transaction on a non-EVM chain (NATIVE.md section 12). The summary and the
287
+ * fee-payer check come from the payload before A is requested; after assembly the derived
288
+ * address must equal [address]. Solana, TRON, Bitcoin (mainnet/testnet) and XRP.
289
+ */
290
+ suspend fun signChainTransaction(session: String, chain: WalletChain, account: Long, address: String, payload: Map<String, Any?>): Map<String, String> {
291
+ if (chain == WalletChain.EVM) {
292
+ throw walletError(WalletErrorCode.UNSUPPORTED_TYPE, "signing is not available for chain ${chain.wire}")
293
+ }
294
+ if (!HdWallet.isAccountIndex(account)) {
295
+ throw walletError(WalletErrorCode.INVALID_REQUEST, "account must be an integer 0..${HdWallet.MAX_ACCOUNT_INDEX}")
296
+ }
297
+ if (address.isEmpty()) throw walletError(WalletErrorCode.INVALID_REQUEST, "address of the signing account required")
298
+ val summary: SignSummary
299
+ val sign: (ByteArray) -> Map<String, String>
300
+ if (chain == WalletChain.SOLANA) {
301
+ val messageB64 = payload["message"] as? String ?: throw walletError(WalletErrorCode.INVALID_REQUEST, "payload.message (base64) required")
302
+ val message = Bytes.fromBase64(messageB64)
303
+ val cluster = (payload["cluster"] as? String)?.takeIf { it.length <= 32 }
304
+ summary = Solana.summarize(Solana.parse(message), address, if (cluster != null) "Solana $cluster" else "Solana (network chosen by the app)")
305
+ sign = { secret ->
306
+ val key = Solana.privateKey(secret, account)
307
+ try {
308
+ if (Solana.addressOf(key) != address) throw walletError(WalletErrorCode.ADDRESS_MISMATCH)
309
+ mapOf("signature" to Solana.sign(message, key))
310
+ } finally {
311
+ Bytes.wipe(key)
312
+ }
313
+ }
314
+ } else if (chain == WalletChain.BITCOIN || chain == WalletChain.BITCOIN_TESTNET) {
315
+ val psbtB64 = payload["psbt"] as? String ?: throw walletError(WalletErrorCode.INVALID_REQUEST, "payload.psbt (base64) required")
316
+ val psbt = Bitcoin.parse(Bytes.fromBase64(psbtB64))
317
+ summary = Bitcoin.summarize(psbt, address, chain)
318
+ sign = { secret ->
319
+ val key = Chains.secpPrivateKey(secret, chain, account)
320
+ try {
321
+ if (Chains.addressOfKey(chain, key) != address) throw walletError(WalletErrorCode.ADDRESS_MISMATCH)
322
+ Bitcoin.sign(psbt, key, chain)
323
+ } finally {
324
+ Bytes.wipe(key)
325
+ }
326
+ }
327
+ } else if (chain == WalletChain.XRP) {
328
+ val hex = payload["txBlobHex"] as? String
329
+ if (hex == null || !Regex("^([0-9a-fA-F]{2})+$").matches(hex)) {
330
+ throw walletError(WalletErrorCode.INVALID_REQUEST, "payload.txBlobHex (encodeForSigning output) required")
331
+ }
332
+ val blob = Bytes.fromHex(hex)
333
+ val tx = Xrp.parse(blob)
334
+ if (tx.account != address) throw walletError(WalletErrorCode.ADDRESS_MISMATCH, "the transaction account is not the signing account")
335
+ summary = Xrp.summarize(tx, address, tx.signingPubKey!!)
336
+ sign = { secret ->
337
+ val key = Chains.secpPrivateKey(secret, WalletChain.XRP, account)
338
+ try {
339
+ val pub = Chains.compressedPublicKey(key)
340
+ if (Xrp.addressOfPublicKey(pub) != address || !pub.contentEquals(tx.signingPubKey!!)) {
341
+ throw walletError(WalletErrorCode.ADDRESS_MISMATCH)
342
+ }
343
+ Xrp.sign(blob, key)
344
+ } finally {
345
+ Bytes.wipe(key)
346
+ }
347
+ }
348
+ } else {
349
+ val hex = payload["rawDataHex"] as? String
350
+ if (hex == null || !Regex("^([0-9a-fA-F]{2})+$").matches(hex)) {
351
+ throw walletError(WalletErrorCode.INVALID_REQUEST, "payload.rawDataHex required")
352
+ }
353
+ val raw = Bytes.fromHex(hex)
354
+ summary = Tron.summarize(Tron.parse(raw), address)
355
+ sign = { secret ->
356
+ val key = Chains.secpPrivateKey(secret, WalletChain.TRON, account)
357
+ try {
358
+ if (Chains.addressOfKey(WalletChain.TRON, key) != address) throw walletError(WalletErrorCode.ADDRESS_MISMATCH)
359
+ Tron.sign(raw, key)
360
+ } finally {
361
+ Bytes.wipe(key)
362
+ }
363
+ }
364
+ }
365
+ val local = requireLocal(session)
366
+ if (ctx.confirmSigning) approveRequest(summary)
367
+ authenticateDevice(summary.title)
368
+ val companyB64 = fetchCompanyShare(session, local.record)
369
+ val device = openShare(local.record)
370
+ val company = Bytes.fromBase64(companyB64)
371
+ var secret: ByteArray? = null
372
+ try {
373
+ secret = HdWallet.assemble(device, company)
374
+ if (!HdWallet.address(secret).equals(local.wallet.address, ignoreCase = true)) throw walletError(WalletErrorCode.ADDRESS_MISMATCH)
375
+ return sign(secret)
376
+ } finally {
377
+ Bytes.wipe(secret, device, company)
378
+ }
379
+ }
380
+
279
381
  private suspend fun writeBackup(session: String, upgrade: Boolean): ProtectResult {
280
382
  val local = requireLocal(session)
281
383
  val record = local.record
@@ -14,7 +14,14 @@ data class PublicWallet(
14
14
  data class Device(val id: String, val label: String?, val createdAt: String?, val lastUsedAt: String?, val current: Boolean)
15
15
  }
16
16
 
17
- data class WalletAccount(val index: Long, val path: String, val address: String)
17
+ data class WalletAccount(
18
+ val index: Long,
19
+ val path: String,
20
+ val address: String,
21
+ val chain: WalletChain = WalletChain.EVM,
22
+ /** XRP: the compressed public key (uppercase hex) the app puts in SigningPubKey. */
23
+ val publicKey: String? = null,
24
+ )
18
25
 
19
26
  /**
20
27
  * Which account signs. Account 0 is the wallet address the server knows; another account must
@@ -0,0 +1,193 @@
1
+ // GENERATED by scripts/sync-native-wallet.mjs from kotlin/authon/src/main/kotlin/dev/authon/sdk/wallet/Xrp.kt. Do not edit: change the source and run the script.
2
+ package dev.authon.sdk.wallet
3
+
4
+ import org.web3j.crypto.ECKeyPair
5
+ import org.web3j.crypto.Sign
6
+ import java.math.BigInteger
7
+ import java.security.MessageDigest
8
+
9
+ /**
10
+ * XRP Ledger signing (NATIVE.md section 12, `apps/wallet/src/xrp.ts`). The app sends the
11
+ * encodeForSigning output (prefix STX\0); the SDK decodes it only to describe it and signs
12
+ * SHA-512Half(blob) with secp256k1, DER, low S, uppercase hex like ripple-keypairs.
13
+ */
14
+ internal object Xrp {
15
+ const val MAX_BLOB = 4096
16
+ private val PREFIX = byteArrayOf(0x53, 0x54, 0x58, 0x00)
17
+ private val MASK: BigInteger = BigInteger("3fffffffffffffff", 16)
18
+
19
+ private fun invalid(why: String = "not a valid XRP signing blob") = walletError(WalletErrorCode.INVALID_REQUEST, why)
20
+
21
+ class Tx {
22
+ var transactionType: Int? = null
23
+ var account: String? = null
24
+ var destination: String? = null
25
+ /** Drops; null for an issued-token amount (only meaningful when [amountSet]). */
26
+ var amount: BigInteger? = null
27
+ var amountSet = false
28
+ var fee: BigInteger? = null
29
+ var feeSet = false
30
+ var sequence: Long? = null
31
+ var destinationTag: Long? = null
32
+ var lastLedgerSequence: Long? = null
33
+ var signingPubKey: ByteArray? = null
34
+ val memos = mutableListOf<String>()
35
+ }
36
+
37
+ fun address(accountId: ByteArray): String {
38
+ if (accountId.size != 20) throw invalid()
39
+ return Base58.encodeCheck(byteArrayOf(0) + accountId, Base58.XRP)
40
+ }
41
+
42
+ fun addressOfPublicKey(compressed: ByteArray) = address(Chains.hash160Of(compressed))
43
+
44
+ private class Reader(val b: ByteArray) {
45
+ var pos = 0
46
+ val done get() = pos >= b.size
47
+
48
+ fun u8(): Int {
49
+ if (pos >= b.size) throw invalid()
50
+ return b[pos++].toInt() and 0xff
51
+ }
52
+
53
+ fun take(n: Int): ByteArray {
54
+ if (pos + n > b.size) throw invalid()
55
+ return b.copyOfRange(pos, pos + n).also { pos += n }
56
+ }
57
+
58
+ fun uint(n: Int): Long = take(n).fold(0L) { v, x -> v * 256 + (x.toLong() and 0xff) }
59
+
60
+ fun vl(): ByteArray {
61
+ val b1 = u8()
62
+ return when {
63
+ b1 <= 192 -> take(b1)
64
+ b1 <= 240 -> take(193 + (b1 - 193) * 256 + u8())
65
+ b1 <= 254 -> take(12481 + (b1 - 241) * 65536 + u8() * 256 + u8())
66
+ else -> throw invalid()
67
+ }
68
+ }
69
+
70
+ fun field(): Pair<Int, Int> {
71
+ val x = u8()
72
+ var type = x shr 4
73
+ var code = x and 0x0f
74
+ if (type == 0) type = u8()
75
+ if (code == 0) code = u8()
76
+ return type to code
77
+ }
78
+ }
79
+
80
+ private fun amount(r: Reader): BigInteger? {
81
+ val head = r.b.getOrNull(r.pos)?.toInt()?.and(0xff) ?: throw invalid()
82
+ if (head and 0x80 != 0) {
83
+ r.take(48)
84
+ return null
85
+ }
86
+ return BigInteger(1, r.take(8)).and(MASK)
87
+ }
88
+
89
+ private class Parser(val r: Reader) {
90
+ var memoTarget: MutableList<String>? = null
91
+
92
+ fun readObject(tx: Tx?, depth: Int) {
93
+ if (depth > 4) throw invalid()
94
+ while (!r.done) {
95
+ val (type, code) = r.field()
96
+ if (type == 14 && code == 1) return
97
+ if (type == 15 && code == 1) return
98
+ when (type) {
99
+ 1 -> { val v = r.uint(2); if (tx != null && code == 2) tx.transactionType = v.toInt() }
100
+ 2 -> {
101
+ val v = r.uint(4)
102
+ if (tx != null) when (code) {
103
+ 4 -> tx.sequence = v
104
+ 14 -> tx.destinationTag = v
105
+ 27 -> tx.lastLedgerSequence = v
106
+ }
107
+ }
108
+ 3 -> r.take(8)
109
+ 4 -> r.take(16)
110
+ 5 -> r.take(32)
111
+ 16 -> r.take(1)
112
+ 17 -> r.take(20)
113
+ 6 -> {
114
+ val v = amount(r)
115
+ if (tx != null && code == 1) { tx.amount = v; tx.amountSet = true }
116
+ else if (tx != null && code == 8) { tx.fee = v; tx.feeSet = true }
117
+ }
118
+ 7 -> {
119
+ val v = r.vl()
120
+ if (tx != null && code == 3) tx.signingPubKey = v
121
+ else if (tx == null && code == 13) memoTarget?.add(String(v, Charsets.UTF_8))
122
+ }
123
+ 8 -> {
124
+ val v = r.vl()
125
+ if (tx != null && code == 1) tx.account = address(v)
126
+ else if (tx != null && code == 3) tx.destination = address(v)
127
+ }
128
+ 14 -> readObject(null, depth + 1)
129
+ 15 -> {
130
+ val prev = memoTarget
131
+ if (tx != null && code == 9) memoTarget = tx.memos
132
+ readObject(null, depth + 1)
133
+ memoTarget = prev
134
+ }
135
+ else -> throw invalid("XRP field type $type is not supported")
136
+ }
137
+ }
138
+ }
139
+ }
140
+
141
+ fun parse(blob: ByteArray): Tx {
142
+ if (blob.size < 5 || blob.size > MAX_BLOB || !blob.copyOf(4).contentEquals(PREFIX)) throw invalid()
143
+ val tx = Tx()
144
+ Parser(Reader(blob.copyOfRange(4, blob.size))).readObject(tx, 0)
145
+ if (tx.transactionType == null || tx.account.isNullOrEmpty() || tx.signingPubKey == null) throw invalid()
146
+ return tx
147
+ }
148
+
149
+ private fun xrp(drops: BigInteger): String {
150
+ val (whole, rem) = drops.divideAndRemainder(BigInteger.valueOf(1_000_000))
151
+ val frac = rem.toString().padStart(6, '0').trimEnd('0')
152
+ return "$whole${if (frac.isEmpty()) "" else ".$frac"} XRP"
153
+ }
154
+
155
+ private val TYPES = mapOf(0 to "Payment", 3 to "AccountSet", 7 to "OfferCreate", 8 to "OfferCancel", 12 to "SetRegularKey", 20 to "TrustSet")
156
+
157
+ fun summarize(tx: Tx, signer: String, signerPublicKey: ByteArray): SignSummary {
158
+ if (tx.account != signer) throw walletError(WalletErrorCode.ADDRESS_MISMATCH, "the transaction account is not the signing account")
159
+ if (tx.signingPubKey?.contentEquals(signerPublicKey) != true) {
160
+ throw walletError(WalletErrorCode.INVALID_REQUEST, "SigningPubKey must be the signing account public key")
161
+ }
162
+ val type = tx.transactionType!!
163
+ val rows = mutableListOf(
164
+ SignRow("Network", "XRP Ledger"),
165
+ SignRow("Account", signer, mono = true),
166
+ SignRow("Type", TYPES[type] ?: "Type $type"),
167
+ )
168
+ val warnings = mutableListOf<String>()
169
+ if (type == 0) {
170
+ if (tx.amountSet && tx.amount == null) {
171
+ rows += SignRow("Send", "Issued token amount")
172
+ warnings += "Issued-token payments cannot be described in detail."
173
+ } else if (tx.amountSet) {
174
+ rows += SignRow("Send", xrp(tx.amount!!))
175
+ }
176
+ tx.destination?.takeIf { it.isNotEmpty() }?.let { rows += SignRow("To", it, mono = true) }
177
+ tx.destinationTag?.let { rows += SignRow("Destination tag", it.toString()) }
178
+ } else {
179
+ warnings += "${TYPES[type] ?: "This"} transaction cannot be described in detail. Approve only if you trust the app."
180
+ }
181
+ for (m in tx.memos) rows += SignRow("Memo", m)
182
+ if (tx.feeSet && tx.fee != null) rows += SignRow("Network fee", xrp(tx.fee!!))
183
+ tx.sequence?.let { rows += SignRow("Sequence", it.toString()) }
184
+ tx.lastLedgerSequence?.let { rows += SignRow("Valid until ledger", it.toString()) }
185
+ return SignSummary(SignSummary.Kind.TRANSACTION, "XRP Ledger transaction", rows, null, warnings, SignRisk.HIGH)
186
+ }
187
+
188
+ fun sign(blob: ByteArray, privateKey: ByteArray): Map<String, String> {
189
+ val hash = MessageDigest.getInstance("SHA-512").digest(blob).copyOf(32)
190
+ val sig = Sign.signMessage(hash, ECKeyPair.create(privateKey), false)
191
+ return mapOf("signature" to Bytes.toHex(Der.encode(sig.r, sig.s)).uppercase())
192
+ }
193
+ }
package/build/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AuthonWalletOptions, EIP1193Provider, EmbeddedWallet, Hex, TypedDataPayload, WalletAccount, WalletAppConfig, WalletChangeListener, WalletMessage, WalletSignOptions, WalletTransactionRequest } from './types';
1
+ import type { AuthonWalletOptions, EIP1193Provider, EmbeddedWallet, Hex, TypedDataPayload, WalletAccount, WalletAppConfig, WalletCapabilities, WalletChain, WalletChainSignRequest, WalletChangeListener, WalletMessage, WalletSignOptions, WalletTransactionRequest } from './types';
2
2
  /**
3
3
  * The Authon embedded wallet in a React Native app. Signing runs in the native Swift / Kotlin
4
4
  * wallet; JS only sees addresses, signatures, status and devices.
@@ -15,6 +15,12 @@ export declare class AuthonWalletClient {
15
15
  constructor(options: AuthonWalletOptions);
16
16
  /** App registration and wallet settings (does not need a session). */
17
17
  appConfig(): Promise<WalletAppConfig>;
18
+ /**
19
+ * Whether this device and app can use the wallet, before sign-in (no session, creates nothing,
20
+ * opens no UI). `ready === 'unavailable'`: tell the user before signing in; `unknown`: continue
21
+ * but expect that feature to fail. Answers for release builds (test options are ignored).
22
+ */
23
+ capabilities(): Promise<WalletCapabilities>;
18
24
  /** The signed-in user's wallet, or null when there is none yet. */
19
25
  get(): Promise<EmbeddedWallet | null>;
20
26
  /** Same as `get()` (the frame method is `wallet.status`). */
@@ -25,10 +31,14 @@ export declare class AuthonWalletClient {
25
31
  ensure(): Promise<EmbeddedWallet>;
26
32
  /** True when the wallet exists and has a passkey backup. */
27
33
  isProtected(): Promise<boolean>;
28
- /** Addresses of accounts `start`..`start + count - 1` (public, no approval). */
34
+ /**
35
+ * Addresses of accounts `start`..`start + count - 1` (public, no approval) on `chain` (default
36
+ * `evm`). Signing is EVM only for now; other chains are for receiving and display.
37
+ */
29
38
  getAccounts(options?: {
30
39
  start?: number;
31
40
  count?: number;
41
+ chain?: WalletChain;
32
42
  }): Promise<WalletAccount[]>;
33
43
  /**
34
44
  * EIP-191 personal_sign. The native approval sheet / dialog shows the full text first when the
@@ -39,6 +49,12 @@ export declare class AuthonWalletClient {
39
49
  signTypedData(typedData: TypedDataPayload, options?: WalletSignOptions): Promise<Hex>;
40
50
  /** Signs a legacy, EIP-2930 or EIP-1559 transaction and returns the serialized signed transaction. */
41
51
  signTransaction(tx: WalletTransactionRequest, options?: WalletSignOptions): Promise<Hex>;
52
+ /**
53
+ * Signs an app-built transaction on another chain (NATIVE.md section 12): Solana `{ signature }`,
54
+ * TRON `{ signature, txID }`, Bitcoin `{ psbt, txHex? }`, XRP `{ signature }`. The native approval
55
+ * UI shows what the transaction does (unknown programs / contracts are shown as high risk).
56
+ */
57
+ signChainTransaction(request: WalletChainSignRequest): Promise<Record<string, string>>;
42
58
  /** Creates the passkey backup (iOS 18+ / Android with PRF support). Needs an approved app registration. */
43
59
  protect(): Promise<void>;
44
60
  /** Replaces a legacy backup with a verifiable one, on a device that holds the wallet. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EAEd,GAAG,EACH,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AA0DjB;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,UAAU,CAAkD;IACpE,OAAO,CAAC,QAAQ,CAAwC;IACxD,sFAAsF;IACtF,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,EAAE,mBAAmB;IAMxC,sEAAsE;IAChE,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAM3C,mEAAmE;IAC7D,GAAG,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAS3C,6DAA6D;IAC7D,MAAM,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIxC,iFAAiF;IAC3E,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAMvC,wGAAwG;IACxG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAWjC,4DAA4D;IACtD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,gFAAgF;IAC1E,WAAW,CAAC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAW7F;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBxF,6BAA6B;IACvB,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;IAO/F,sGAAsG;IAChG,eAAe,CAAC,EAAE,EAAE,wBAAwB,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;IAOlG,2GAA2G;IACrG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,yFAAyF;IACnF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC;;;OAGG;IACG,OAAO,CAAC,OAAO,GAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3E,gEAAgE;IAC1D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAOpD,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAqC1C;;;;OAIG;IACH,OAAO,IAAI,IAAI;YAYD,MAAM;YAkCN,KAAK;YAML,IAAI;IAOlB,OAAO,CAAC,MAAM;IAQd,sGAAsG;YACxF,OAAO;IAcrB,kFAAkF;IAClF,OAAO,CAAC,QAAQ;YAOF,OAAO;IAIrB,OAAO,CAAC,MAAM;CASf;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAEnF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/build/client.js CHANGED
@@ -26,10 +26,18 @@ function toWallet(value) {
26
26
  devices,
27
27
  };
28
28
  }
29
+ const CHAINS = ['evm', 'tron', 'xrp', 'bitcoin', 'bitcoin-testnet', 'solana'];
29
30
  function toAccounts(value) {
30
31
  if (!Array.isArray(value))
31
32
  throw new AuthonWalletError('UNKNOWN', 'Wallet returned no accounts');
32
- return value.filter(isObject).map((a) => ({ index: Number(a.index), path: String(a.path), address: String(a.address) }));
33
+ return value.filter(isObject).map((a) => {
34
+ const account = { index: Number(a.index), path: String(a.path), address: String(a.address) };
35
+ if (CHAINS.includes(a.chain))
36
+ account.chain = a.chain;
37
+ if (typeof a.publicKey === 'string' && /^(0x)?[0-9a-fA-F]+$/.test(a.publicKey))
38
+ account.publicKey = a.publicKey;
39
+ return account;
40
+ });
33
41
  }
34
42
  function toHex(value) {
35
43
  if (typeof value !== 'string' || !/^0x[0-9a-fA-F]*$/.test(value))
@@ -50,6 +58,26 @@ function toAppConfig(value) {
50
58
  minFrameProtocol: typeof value.minFrameProtocol === 'number' ? value.minFrameProtocol : null,
51
59
  };
52
60
  }
61
+ const STATUSES = ['available', 'unavailable', 'unknown'];
62
+ function toCheck(value) {
63
+ const v = isObject(value) ? value : {};
64
+ const status = STATUSES.includes(v.status) ? v.status : 'unknown';
65
+ return { status, reason: status === 'available' ? null : str(v.reason) ?? 'CHECK_FAILED' };
66
+ }
67
+ function toCapabilities(value) {
68
+ if (!isObject(value))
69
+ throw new AuthonWalletError('UNKNOWN', 'Wallet returned no capabilities');
70
+ const checks = {
71
+ app: toCheck(value.app),
72
+ wallet: toCheck(value.wallet),
73
+ secureStorage: toCheck(value.secureStorage),
74
+ deviceLock: toCheck(value.deviceLock),
75
+ passkeyBackup: toCheck(value.passkeyBackup),
76
+ };
77
+ const all = Object.values(checks).map((c) => c.status);
78
+ const ready = all.includes('unavailable') ? 'unavailable' : all.includes('unknown') ? 'unknown' : 'available';
79
+ return { ready, ...checks, diagnosticId: str(value.diagnosticId) };
80
+ }
53
81
  /** bigint → 0x hex (transactions, like @authon/js). */
54
82
  const txReplacer = (_key, v) => (typeof v === 'bigint' ? `0x${v.toString(16)}` : v);
55
83
  /** bigint → decimal string (EIP-712 integer values). */
@@ -80,6 +108,16 @@ export class AuthonWalletClient {
80
108
  const native = await this.native();
81
109
  return toAppConfig(this.unwrap(await native.appConfig(this.id), generation));
82
110
  }
111
+ /**
112
+ * Whether this device and app can use the wallet, before sign-in (no session, creates nothing,
113
+ * opens no UI). `ready === 'unavailable'`: tell the user before signing in; `unknown`: continue
114
+ * but expect that feature to fail. Answers for release builds (test options are ignored).
115
+ */
116
+ async capabilities() {
117
+ const generation = this.generation;
118
+ const native = await this.native();
119
+ return toCapabilities(this.unwrap(await native.capabilities(this.id), generation));
120
+ }
83
121
  /** The signed-in user's wallet, or null when there is none yet. */
84
122
  async get() {
85
123
  try {
@@ -118,16 +156,29 @@ export class AuthonWalletClient {
118
156
  async isProtected() {
119
157
  return (await this.get())?.protected === true;
120
158
  }
121
- /** Addresses of accounts `start`..`start + count - 1` (public, no approval). */
159
+ /**
160
+ * Addresses of accounts `start`..`start + count - 1` (public, no approval) on `chain` (default
161
+ * `evm`). Signing is EVM only for now; other chains are for receiving and display.
162
+ */
122
163
  async getAccounts(options = {}) {
123
164
  const start = options.start ?? 0;
124
165
  const count = options.count ?? 1;
166
+ const chain = options.chain;
125
167
  if (!Number.isInteger(start) || start < 0 || start > MAX_ACCOUNT_INDEX || !Number.isInteger(count) || count < 1) {
126
168
  throw new AuthonWalletError('INVALID_PARAMS', 'start must be an integer 0..2147483647 and count a positive integer');
127
169
  }
128
- const list = toAccounts(await this.call((n, id, token) => n.accounts(id, token, start, count)));
129
- for (const account of list)
130
- this.accountAddresses.set(account.index, account.address);
170
+ if (chain !== undefined && !CHAINS.includes(chain)) {
171
+ throw new AuthonWalletError('INVALID_PARAMS', `chain must be one of ${CHAINS.join(', ')}`);
172
+ }
173
+ const list = toAccounts(await this.call((n, id, token) => n.accounts(id, token, start, count, chain ?? 'evm')));
174
+ if (chain && list.some((account) => account.chain !== chain)) {
175
+ // A native wallet without multichain support would answer with EVM addresses.
176
+ throw new AuthonWalletError('UNSUPPORTED_TYPE', 'This wallet build does not support other chains yet');
177
+ }
178
+ // Only EVM addresses can name a signing account.
179
+ if (!chain || chain === 'evm')
180
+ for (const account of list)
181
+ this.accountAddresses.set(account.index, account.address);
131
182
  return list;
132
183
  }
133
184
  /**
@@ -167,6 +218,34 @@ export class AuthonWalletClient {
167
218
  const [account, address] = await this.account(options.account);
168
219
  return toHex(await this.call((n, id, token) => n.signTransaction(id, token, json, account, address)));
169
220
  }
221
+ /**
222
+ * Signs an app-built transaction on another chain (NATIVE.md section 12): Solana `{ signature }`,
223
+ * TRON `{ signature, txID }`, Bitcoin `{ psbt, txHex? }`, XRP `{ signature }`. The native approval
224
+ * UI shows what the transaction does (unknown programs / contracts are shown as high risk).
225
+ */
226
+ async signChainTransaction(request) {
227
+ if (!isObject(request) || request.chain === 'evm') {
228
+ throw new AuthonWalletError('INVALID_PARAMS', 'use signTransaction for EVM');
229
+ }
230
+ if (!CHAINS.includes(request.chain))
231
+ throw new AuthonWalletError('INVALID_PARAMS', `chain must be one of ${CHAINS.filter((c) => c !== 'evm').join(', ')}`);
232
+ const account = request.account ?? 0;
233
+ if (!Number.isInteger(account) || account < 0 || account > MAX_ACCOUNT_INDEX || typeof request.address !== 'string' || !request.address) {
234
+ throw new AuthonWalletError('INVALID_PARAMS', 'account index and its address are required');
235
+ }
236
+ if (!isObject(request.payload))
237
+ throw new AuthonWalletError('INVALID_PARAMS', 'payload must be an object');
238
+ const payload = JSON.stringify(request.payload, txReplacer);
239
+ const result = await this.call((n, id, token) => n.signChainTransaction(id, token, request.chain, account, request.address, payload));
240
+ if (!isObject(result))
241
+ throw new AuthonWalletError('UNKNOWN', 'Wallet returned no signature');
242
+ // Signatures and signed transactions only; anything that is not a string is dropped.
243
+ const out = {};
244
+ for (const [k, v] of Object.entries(result))
245
+ if (typeof v === 'string')
246
+ out[k] = v;
247
+ return out;
248
+ }
170
249
  /** Creates the passkey backup (iOS 18+ / Android with PRF support). Needs an approved app registration. */
171
250
  async protect() {
172
251
  await this.call((n, id, token) => n.protect(id, token));
@@ -303,7 +382,10 @@ export class AuthonWalletClient {
303
382
  if (result.ok === true)
304
383
  return result.value;
305
384
  const code = typeof result.code === 'string' && result.code ? result.code : 'UNKNOWN';
306
- throw new AuthonWalletError(code, typeof result.message === 'string' && result.message ? result.message : code);
385
+ throw new AuthonWalletError(code, typeof result.message === 'string' && result.message ? result.message : code, {
386
+ diagnosticId: typeof result.diagnosticId === 'string' && result.diagnosticId ? result.diagnosticId : null,
387
+ retryable: result.retryable === true,
388
+ });
307
389
  }
308
390
  /** For accounts other than 0 the native wallet needs the expected address and refuses on mismatch. */
309
391
  async account(index) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/build/errors.d.ts CHANGED
@@ -13,6 +13,13 @@ export type WalletErrorCode = 'NOT_FOUND' | 'NEEDS_RESTORE' | 'NOT_PROTECTED' |
13
13
  | 'NOT_CONFIGURED' | 'UNKNOWN' | (string & {});
14
14
  export declare class AuthonWalletError extends Error {
15
15
  readonly code: WalletErrorCode;
16
- constructor(code: WalletErrorCode, message?: string);
16
+ /** The server's request ID when the failure came from an API response; log this, never secrets. */
17
+ readonly diagnosticId: string | null;
18
+ /** Whether trying the same call again can succeed (from the native wallet's code table). */
19
+ readonly retryable: boolean;
20
+ constructor(code: WalletErrorCode, message?: string, options?: {
21
+ diagnosticId?: string | null;
22
+ retryable?: boolean;
23
+ });
17
24
  }
18
25
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,WAAW,GACX,UAAU,GACV,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,wBAAwB,GACxB,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB;AACvB,kDAAkD;GAChD,eAAe;AACjB,iEAAiE;GAC/D,gBAAgB,GAChB,oBAAoB;AACtB,6CAA6C;GAC3C,UAAU;AACZ,wFAAwF;GACtF,gBAAgB,GAChB,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;gBACnB,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM;CAKpD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,WAAW,GACX,UAAU,GACV,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,wBAAwB,GACxB,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB;AACvB,kDAAkD;GAChD,eAAe;AACjB,iEAAiE;GAC/D,gBAAgB,GAChB,oBAAoB;AACtB,6CAA6C;GAC3C,UAAU;AACZ,wFAAwF;GACtF,gBAAgB,GAChB,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAChB,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO;CAOzH"}