@talken/talkenkit 2.3.6 → 2.3.7

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 (115) hide show
  1. package/dist/components/ChainIndicator/ChainIndicator.css.d.ts +4 -0
  2. package/dist/components/ChainIndicator/ChainIndicator.d.ts +53 -0
  3. package/dist/components/ChainIndicator/index.d.ts +2 -0
  4. package/dist/components/ChainSelector/ChainSelector.css.d.ts +5 -0
  5. package/dist/components/ChainSelector/ChainSelector.d.ts +38 -0
  6. package/dist/components/ChainSelector/index.d.ts +2 -0
  7. package/dist/components/ConnectButton/ConnectButtonRenderer.d.ts +9 -0
  8. package/dist/components/ConnectOptions/DesktopOptions.d.ts +5 -1
  9. package/dist/components/ConnectOptions/MultiChainConnectOptions.d.ts +31 -0
  10. package/dist/components/ConnectOptions/index.d.ts +3 -0
  11. package/dist/components/ModalSelection/ModalSelection.d.ts +2 -1
  12. package/dist/components/ProfileDetails/ProfileDetails.d.ts +1 -2
  13. package/dist/components/RainbowKitProvider/RainbowKitProvider.d.ts +8 -1
  14. package/dist/components/SolanaWalletList/SolanaWalletList.css.d.ts +7 -0
  15. package/dist/components/SolanaWalletList/SolanaWalletList.d.ts +32 -0
  16. package/dist/components/SolanaWalletList/index.d.ts +2 -0
  17. package/dist/contexts/MultiChainContext.d.ts +68 -0
  18. package/dist/contexts/index.d.ts +7 -0
  19. package/dist/index.css +105 -0
  20. package/dist/index.d.ts +12 -0
  21. package/dist/index.js +1432 -834
  22. package/dist/solana/SolanaWalletProvider.d.ts +38 -0
  23. package/dist/solana/config.d.ts +57 -0
  24. package/dist/solana/index.d.ts +11 -0
  25. package/dist/solana/utils/detection.d.ts +27 -0
  26. package/dist/solana/wallets/backpackWallet.d.ts +19 -0
  27. package/dist/solana/wallets/index.d.ts +8 -0
  28. package/dist/solana/wallets/phantomSolanaWallet.d.ts +17 -0
  29. package/dist/solana/wallets/solflareWallet.d.ts +17 -0
  30. package/dist/types/solana.d.ts +97 -0
  31. package/dist/wallets/recentSolanaWalletIds.d.ts +16 -0
  32. package/dist/wallets/walletConnectors/abcWallet/api/index.js +4 -4
  33. package/dist/wallets/walletConnectors/abcWallet/index.js +2 -2
  34. package/dist/wallets/walletConnectors/chunk-3SVPZCA6.js +71 -0
  35. package/dist/wallets/walletConnectors/chunk-5QEUEPNY.js +94 -0
  36. package/dist/wallets/walletConnectors/chunk-B6JLYR3I.js +66 -0
  37. package/dist/wallets/walletConnectors/chunk-HKWBR5B7.js +102 -0
  38. package/dist/wallets/walletConnectors/chunk-K4APJ4PE.js +96 -0
  39. package/dist/wallets/walletConnectors/chunk-LJ2B47VF.js +108 -0
  40. package/dist/wallets/walletConnectors/chunk-LXINMUQC.js +186 -0
  41. package/dist/wallets/walletConnectors/chunk-MORUEOYX.js +76 -0
  42. package/dist/wallets/walletConnectors/chunk-MQTXA63X.js +27 -0
  43. package/dist/wallets/walletConnectors/chunk-PMZJGS7X.js +73 -0
  44. package/dist/wallets/walletConnectors/chunk-WZZVA3LW.js +101 -0
  45. package/dist/wallets/walletConnectors/chunk-XEIKWKH7.js +63 -0
  46. package/dist/wallets/walletConnectors/chunk-XOQNQKZE.js +98 -0
  47. package/dist/wallets/walletConnectors/chunk-ZAGAF6PO.js +63 -0
  48. package/dist/wallets/walletConnectors/chunk-ZJ6OFFD5.js +95 -0
  49. package/dist/wallets/walletConnectors/index.js +9 -9
  50. package/package.json +6 -1
  51. package/dist/wallets/walletConnectors/chunk-2J66VMY5.js +0 -152
  52. package/dist/wallets/walletConnectors/chunk-2J6LHJAF.js +0 -228
  53. package/dist/wallets/walletConnectors/chunk-2ZPGPZCP.js +0 -228
  54. package/dist/wallets/walletConnectors/chunk-3DPCIDW6.js +0 -1730
  55. package/dist/wallets/walletConnectors/chunk-4HKJ53H3.js +0 -1742
  56. package/dist/wallets/walletConnectors/chunk-5EARL7FN.js +0 -39
  57. package/dist/wallets/walletConnectors/chunk-6JKWIEGA.js +0 -228
  58. package/dist/wallets/walletConnectors/chunk-7L33BY4P.js +0 -44
  59. package/dist/wallets/walletConnectors/chunk-7SXCH5TL.js +0 -1752
  60. package/dist/wallets/walletConnectors/chunk-7UZBDZZZ.js +0 -599
  61. package/dist/wallets/walletConnectors/chunk-BRM4ZVXZ.js +0 -44
  62. package/dist/wallets/walletConnectors/chunk-BUDWZAL7.js +0 -44
  63. package/dist/wallets/walletConnectors/chunk-CSWWNAYR.js +0 -44
  64. package/dist/wallets/walletConnectors/chunk-E4N7SPPU.js +0 -39
  65. package/dist/wallets/walletConnectors/chunk-ENU7XLF5.js +0 -44
  66. package/dist/wallets/walletConnectors/chunk-ESRU5KCF.js +0 -151
  67. package/dist/wallets/walletConnectors/chunk-FF7ZIXKD.js +0 -39
  68. package/dist/wallets/walletConnectors/chunk-FJCL2YPU.js +0 -1737
  69. package/dist/wallets/walletConnectors/chunk-FSU3WBH3.js +0 -63
  70. package/dist/wallets/walletConnectors/chunk-G2IHR6PW.js +0 -63
  71. package/dist/wallets/walletConnectors/chunk-HD6YCICR.js +0 -228
  72. package/dist/wallets/walletConnectors/chunk-HDYBRMYW.js +0 -194
  73. package/dist/wallets/walletConnectors/chunk-HIZCIW5L.js +0 -228
  74. package/dist/wallets/walletConnectors/chunk-JRNBDHFL.js +0 -44
  75. package/dist/wallets/walletConnectors/chunk-KIQDE4N6.js +0 -39
  76. package/dist/wallets/walletConnectors/chunk-KOT7JYJR.js +0 -39
  77. package/dist/wallets/walletConnectors/chunk-KRAIITU7.js +0 -39
  78. package/dist/wallets/walletConnectors/chunk-KZOSE2PI.js +0 -228
  79. package/dist/wallets/walletConnectors/chunk-L7I5I4CZ.js +0 -44
  80. package/dist/wallets/walletConnectors/chunk-LNZJLKFB.js +0 -39
  81. package/dist/wallets/walletConnectors/chunk-LV765WZL.js +0 -1748
  82. package/dist/wallets/walletConnectors/chunk-MSI2BPP5.js +0 -1722
  83. package/dist/wallets/walletConnectors/chunk-MX2IY5CD.js +0 -44
  84. package/dist/wallets/walletConnectors/chunk-NLX2EV7O.js +0 -44
  85. package/dist/wallets/walletConnectors/chunk-NVAZ3B3V.js +0 -228
  86. package/dist/wallets/walletConnectors/chunk-OEWU3ZMN.js +0 -39
  87. package/dist/wallets/walletConnectors/chunk-P2MTINFI.js +0 -280
  88. package/dist/wallets/walletConnectors/chunk-PNMSIVVT.js +0 -44
  89. package/dist/wallets/walletConnectors/chunk-PZNYT2HC.js +0 -1722
  90. package/dist/wallets/walletConnectors/chunk-QPAE4SDS.js +0 -39
  91. package/dist/wallets/walletConnectors/chunk-QZRNNI3E.js +0 -39
  92. package/dist/wallets/walletConnectors/chunk-R4UYVU5X.js +0 -1721
  93. package/dist/wallets/walletConnectors/chunk-R6JCHV55.js +0 -39
  94. package/dist/wallets/walletConnectors/chunk-RLBGBBIO.js +0 -309
  95. package/dist/wallets/walletConnectors/chunk-RWIZ25FJ.js +0 -1684
  96. package/dist/wallets/walletConnectors/chunk-TUUNSVKZ.js +0 -345
  97. package/dist/wallets/walletConnectors/chunk-U2CUEL35.js +0 -240
  98. package/dist/wallets/walletConnectors/chunk-V6NRLREB.js +0 -44
  99. package/dist/wallets/walletConnectors/chunk-VM7AEC7H.js +0 -39
  100. package/dist/wallets/walletConnectors/chunk-VPNKJ7PB.js +0 -1674
  101. package/dist/wallets/walletConnectors/chunk-W2VDZD74.js +0 -478
  102. package/dist/wallets/walletConnectors/chunk-WAO3KL5U.js +0 -285
  103. package/dist/wallets/walletConnectors/chunk-WPHTIILX.js +0 -228
  104. package/dist/wallets/walletConnectors/chunk-WR7HSVMH.js +0 -228
  105. package/dist/wallets/walletConnectors/chunk-WSCJY2QD.js +0 -228
  106. package/dist/wallets/walletConnectors/chunk-X3JQB5QL.js +0 -44
  107. package/dist/wallets/walletConnectors/chunk-X4CDP7L7.js +0 -228
  108. package/dist/wallets/walletConnectors/chunk-XETOVXYM.js +0 -228
  109. package/dist/wallets/walletConnectors/chunk-XYPR4BAF.js +0 -436
  110. package/dist/wallets/walletConnectors/chunk-YZBFKVTX.js +0 -1675
  111. package/dist/wallets/walletConnectors/chunk-Z2ZRPTPX.js +0 -1726
  112. package/dist/wallets/walletConnectors/{chunk-47TQ23J4.js → chunk-6TLWAEJV.js} +8 -8
  113. package/dist/wallets/walletConnectors/{chunk-LTBQU2GW.js → chunk-74ALNZG4.js} +3 -3
  114. package/dist/wallets/walletConnectors/{chunk-66SCJ77O.js → chunk-CM5OGUJV.js} +6 -6
  115. package/dist/wallets/walletConnectors/{chunk-VCBVYFLJ.js → chunk-NLKL4KD2.js} +8 -8
@@ -1,345 +0,0 @@
1
- "use client";
2
- import {
3
- BaseApiClient
4
- } from "./chunk-WAO3KL5U.js";
5
- import {
6
- createAbcError,
7
- loadFromStorage
8
- } from "./chunk-W2VDZD74.js";
9
- import {
10
- ABC_ENDPOINTS
11
- } from "./chunk-VETRBBA2.js";
12
-
13
- // src/wallets/walletConnectors/abcWallet/api/SigningApi.ts
14
- import { getAddress } from "viem";
15
- var SigningApi = class extends BaseApiClient {
16
- /**
17
- * Sign EVM transaction (EIP-1559)
18
- */
19
- async signTransaction(params) {
20
- this.loadTokens();
21
- const wallet = loadFromStorage("wallet" /* WALLET */);
22
- if (!wallet) {
23
- throw createAbcError(
24
- "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
25
- "Wallet information not found in storage"
26
- );
27
- }
28
- const encryptedDevicePassword = await this.secure.getEncryptPlain(
29
- wallet.encryptDevicePassword
30
- );
31
- const encryptedPvencstr = await this.secure.getEncryptPlain(
32
- wallet.pvencstr
33
- );
34
- const encryptedWid = await this.secure.getEncryptPlain(wallet.wid);
35
- const secureChannelId = await this.secure.getSecureChannelId();
36
- const network = this.getNetworkName(params.chainId);
37
- const tx = params.transaction;
38
- const _isContractDeployment = !params.transaction.to || params.transaction.to === "0x" || params.transaction.to === "0x0";
39
- const bodyData = {
40
- network,
41
- encryptDevicePassword: encryptedDevicePassword,
42
- pvencstr: encryptedPvencstr,
43
- uid: wallet.uid,
44
- wid: encryptedWid,
45
- sid: getAddress(wallet.address),
46
- to: tx.to === "0x" ? "0x" : getAddress(tx.to),
47
- type: "EIP1559",
48
- ourpubkey: "",
49
- ucpubkey: ""
50
- };
51
- bodyData.from = getAddress(tx.from || wallet.address);
52
- if (tx.value) {
53
- let hexValue = tx.value.startsWith("0x") ? tx.value.slice(2) : tx.value;
54
- if (hexValue.length % 2 !== 0) {
55
- hexValue = `0${hexValue}`;
56
- }
57
- bodyData.value = `0x${hexValue}`;
58
- }
59
- if (tx.gasLimit || tx.gas) {
60
- const gasLimitValue = tx.gasLimit || tx.gas;
61
- if (gasLimitValue.toString().startsWith("0x")) {
62
- bodyData.gasLimit = gasLimitValue.toString();
63
- } else {
64
- bodyData.gasLimit = `0x${BigInt(gasLimitValue).toString(16)}`;
65
- }
66
- }
67
- if (tx.maxFeePerGas) {
68
- if (tx.maxFeePerGas.toString().startsWith("0x")) {
69
- bodyData.maxFeePerGas = tx.maxFeePerGas.toString();
70
- } else {
71
- bodyData.maxFeePerGas = `0x${BigInt(tx.maxFeePerGas).toString(16)}`;
72
- }
73
- }
74
- if (tx.maxPriorityFeePerGas) {
75
- if (tx.maxPriorityFeePerGas.toString().startsWith("0x")) {
76
- bodyData.maxPriorityFeePerGas = tx.maxPriorityFeePerGas.toString();
77
- } else {
78
- bodyData.maxPriorityFeePerGas = `0x${BigInt(tx.maxPriorityFeePerGas).toString(16)}`;
79
- }
80
- }
81
- bodyData.data = tx.data || "0x";
82
- const bodyString = new URLSearchParams(bodyData).toString();
83
- const url = `${this.baseURL}${ABC_ENDPOINTS.SIGN_TRANSACTION}`;
84
- const response = await fetch(url, {
85
- method: "POST",
86
- headers: {
87
- "Content-Type": "application/x-www-form-urlencoded",
88
- "Secure-Channel": secureChannelId,
89
- ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
90
- },
91
- body: bodyString
92
- });
93
- const res = await response.json();
94
- if (response.status === 401 && this.refreshToken) {
95
- await this.refreshAccessToken();
96
- const retryResponse = await fetch(url, {
97
- method: "POST",
98
- headers: {
99
- "Content-Type": "application/x-www-form-urlencoded",
100
- "Secure-Channel": secureChannelId,
101
- ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
102
- },
103
- body: bodyString
104
- });
105
- const retryRes = await retryResponse.json();
106
- if (retryRes.serializedTx && retryRes.rawTx) {
107
- return {
108
- signature: retryRes.serializedTx,
109
- txHash: retryRes.rawTx
110
- };
111
- }
112
- throw createAbcError(
113
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
114
- "Failed to sign transaction after token refresh",
115
- retryRes
116
- );
117
- }
118
- if (res.serializedTx && res.rawTx) {
119
- return {
120
- signature: res.serializedTx,
121
- txHash: res.rawTx
122
- };
123
- }
124
- throw createAbcError(
125
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
126
- "Failed to sign transaction",
127
- res
128
- );
129
- }
130
- /**
131
- * Sign message (Personal Sign - EIP-191)
132
- */
133
- async signMessage(params) {
134
- this.loadTokens();
135
- const wallet = loadFromStorage("wallet" /* WALLET */);
136
- if (!wallet) {
137
- throw createAbcError(
138
- "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
139
- "Wallet information not found in storage"
140
- );
141
- }
142
- const ethers = await import("ethers");
143
- const messageHash = ethers.ethers.utils.hashMessage(params.message);
144
- const hash = messageHash.startsWith("0x") ? messageHash.slice(2) : messageHash;
145
- const encryptedDevicePassword = await this.secure.getEncryptPlain(
146
- wallet.encryptDevicePassword
147
- );
148
- const encryptedPvencstr = await this.secure.getEncryptPlain(
149
- wallet.pvencstr
150
- );
151
- const encryptedWid = await this.secure.getEncryptPlain(wallet.wid);
152
- const secureChannelId = await this.secure.getSecureChannelId();
153
- const bodyData = {
154
- hash,
155
- encryptDevicePassword: encryptedDevicePassword,
156
- pvencstr: encryptedPvencstr,
157
- wid: encryptedWid,
158
- uid: wallet.uid,
159
- sid: wallet.sid
160
- };
161
- const bodyString = new URLSearchParams(bodyData).toString();
162
- const url = `${this.baseURL}${ABC_ENDPOINTS.SIGN_HASH}`;
163
- const response = await fetch(url, {
164
- method: "POST",
165
- headers: {
166
- "Content-Type": "application/x-www-form-urlencoded",
167
- "Secure-Channel": secureChannelId,
168
- ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
169
- },
170
- body: bodyString
171
- });
172
- const text = await response.text();
173
- if (!text) {
174
- throw createAbcError(
175
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
176
- `Empty response from sign API (status: ${response.status})`,
177
- { status: response.status }
178
- );
179
- }
180
- const res = JSON.parse(text);
181
- if (response.status === 401) {
182
- if (!this.refreshToken) {
183
- this.loadTokens();
184
- }
185
- if (this.refreshToken) {
186
- await this.refreshAccessToken();
187
- const retryResponse = await fetch(url, {
188
- method: "POST",
189
- headers: {
190
- "Content-Type": "application/x-www-form-urlencoded",
191
- "Secure-Channel": secureChannelId,
192
- ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
193
- },
194
- body: bodyString
195
- });
196
- const retryText = await retryResponse.text();
197
- if (!retryText) {
198
- throw createAbcError(
199
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
200
- `Empty response from retry (status: ${retryResponse.status})`,
201
- { status: retryResponse.status }
202
- );
203
- }
204
- const retryRes = JSON.parse(retryText);
205
- if (retryRes.status === "success" && retryRes.result?.signstr) {
206
- return { signature: retryRes.result.signstr };
207
- }
208
- throw createAbcError(
209
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
210
- "Failed to sign message after token refresh",
211
- retryRes
212
- );
213
- }
214
- }
215
- if (res.signstr) {
216
- const signData = JSON.parse(res.signstr);
217
- const sigList = signData.sig_list?.[0];
218
- if (!sigList || !sigList.r || !sigList.s) {
219
- throw createAbcError(
220
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
221
- "Invalid signature format",
222
- res
223
- );
224
- }
225
- const v = (sigList.vsource || 0) + 27;
226
- const signature = sigList.r + sigList.s.slice(2) + v.toString(16).padStart(2, "0");
227
- return { signature };
228
- }
229
- throw createAbcError(
230
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
231
- "Failed to sign message",
232
- res
233
- );
234
- }
235
- /**
236
- * Sign typed data (EIP-712)
237
- */
238
- async signTypedData(params) {
239
- const wallet = loadFromStorage("wallet" /* WALLET */);
240
- if (!wallet) {
241
- throw createAbcError(
242
- "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
243
- "Wallet information not found in storage"
244
- );
245
- }
246
- const encryptedDevicePassword = await this.secure.getEncryptPlain(
247
- wallet.encryptDevicePassword
248
- );
249
- const encryptedPvencstr = await this.secure.getEncryptPlain(
250
- wallet.pvencstr
251
- );
252
- const encryptedWid = await this.secure.getEncryptPlain(wallet.wid);
253
- const secureChannelId = await this.secure.getSecureChannelId();
254
- const network = this.getNetworkName(wallet.chainId);
255
- const bodyData = {
256
- messageJson: params.typedData,
257
- version: "v4",
258
- network,
259
- encryptDevicePassword: encryptedDevicePassword,
260
- pvencstr: encryptedPvencstr,
261
- wid: encryptedWid,
262
- uid: wallet.uid,
263
- sid: wallet.sid
264
- };
265
- const bodyString = new URLSearchParams(bodyData).toString();
266
- const url = `${this.baseURL}${ABC_ENDPOINTS.SIGN_TYPED}`;
267
- const response = await fetch(url, {
268
- method: "POST",
269
- headers: {
270
- "Content-Type": "application/x-www-form-urlencoded",
271
- "Secure-Channel": secureChannelId,
272
- ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
273
- },
274
- body: bodyString
275
- });
276
- const text = await response.text();
277
- if (!text) {
278
- throw createAbcError(
279
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
280
- `Empty response from signTypedData API (status: ${response.status})`,
281
- { status: response.status }
282
- );
283
- }
284
- const res = JSON.parse(text);
285
- if (response.status === 401 && this.refreshToken) {
286
- await this.refreshAccessToken();
287
- const retryResponse = await fetch(url, {
288
- method: "POST",
289
- headers: {
290
- "Content-Type": "application/x-www-form-urlencoded",
291
- "Secure-Channel": secureChannelId,
292
- ...this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}
293
- },
294
- body: bodyString
295
- });
296
- const retryText = await retryResponse.text();
297
- if (!retryText) {
298
- throw createAbcError(
299
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
300
- `Empty response after retry (status: ${retryResponse.status})`,
301
- { status: retryResponse.status }
302
- );
303
- }
304
- const retryRes = JSON.parse(retryText);
305
- if (retryRes.serializedTx) {
306
- return { signature: retryRes.serializedTx };
307
- }
308
- throw createAbcError(
309
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
310
- "Failed to sign typed data after token refresh",
311
- retryRes
312
- );
313
- }
314
- if (res.serializedTx) {
315
- return { signature: res.serializedTx };
316
- }
317
- throw createAbcError(
318
- "SIGNATURE_FAILED" /* SIGNATURE_FAILED */,
319
- "Failed to sign typed data",
320
- res
321
- );
322
- }
323
- /**
324
- * Convert chainId to network name
325
- */
326
- getNetworkName(chainId) {
327
- const networkMap = {
328
- 1: "ethereum",
329
- 11155111: "ethereum_sepolia",
330
- 8217: "klaytn",
331
- 1001: "klaytn_baobab",
332
- 137: "polygon",
333
- 80002: "polygon_amoy",
334
- 42161: "arbitrum",
335
- 421614: "arbitrum_sepolia",
336
- 5e3: "mantle",
337
- 5003: "mantle_testnet"
338
- };
339
- return networkMap[chainId] || "ethereum";
340
- }
341
- };
342
-
343
- export {
344
- SigningApi
345
- };
@@ -1,240 +0,0 @@
1
- "use client";
2
- import {
3
- loadAuthState,
4
- saveAuthState
5
- } from "./chunk-W2VDZD74.js";
6
-
7
- // src/wallets/walletConnectors/abcWallet/abcSolanaConnector.ts
8
- var AbcSolanaConnector = class {
9
- constructor(config) {
10
- this.wallet = null;
11
- this.connected = false;
12
- // Event listeners
13
- this.connectListeners = /* @__PURE__ */ new Set();
14
- this.disconnectListeners = /* @__PURE__ */ new Set();
15
- this.accountsChangedListeners = /* @__PURE__ */ new Set();
16
- this.client = config.client;
17
- this.provider = config.provider;
18
- this.setupProviderListeners();
19
- }
20
- /**
21
- * Setup provider event listeners
22
- */
23
- setupProviderListeners() {
24
- this.provider.on("connect", () => {
25
- this.connected = true;
26
- if (this.wallet) {
27
- for (const listener of this.connectListeners) {
28
- listener(this.wallet);
29
- }
30
- }
31
- });
32
- this.provider.on("disconnect", () => {
33
- this.connected = false;
34
- this.wallet = null;
35
- for (const listener of this.disconnectListeners) {
36
- listener();
37
- }
38
- });
39
- this.provider.on("accountsChanged", (accounts) => {
40
- for (const listener of this.accountsChangedListeners) {
41
- listener(accounts);
42
- }
43
- });
44
- }
45
- /**
46
- * Connect Solana wallet
47
- */
48
- async connect() {
49
- try {
50
- const authState = loadAuthState();
51
- console.log("\u{1F527} Solana Connector connect() called:", {
52
- hasAuthState: !!authState,
53
- isAuthenticated: authState?.isAuthenticated,
54
- hasSolanaWallet: !!authState?.solanaWallet,
55
- solanaAddress: authState?.solanaWallet?.address
56
- });
57
- if (!authState || !authState.isAuthenticated || !authState.solanaWallet) {
58
- throw new Error("SOLANA_LOGIN_REQUIRED");
59
- }
60
- this.wallet = authState.solanaWallet;
61
- this.provider.setWallet(authState.solanaWallet);
62
- this.provider.setRequestPinCallback(async () => {
63
- if (!authState.pin) {
64
- console.error("\u274C PIN not available in authState");
65
- throw new Error("PIN not available");
66
- }
67
- return authState.pin;
68
- });
69
- console.log("\u2705 Solana Provider wallet and PIN callback set:", {
70
- address: authState.solanaWallet.address,
71
- publicKey: authState.solanaWallet.publicKey,
72
- hasPIN: !!authState.pin
73
- });
74
- const result = await this.provider.connect();
75
- this.connected = true;
76
- return result;
77
- } catch (error) {
78
- if (error.message === "SOLANA_LOGIN_REQUIRED") {
79
- throw error;
80
- }
81
- console.error("Solana connector connect error:", error);
82
- throw error;
83
- }
84
- }
85
- /**
86
- * Disconnect Solana wallet
87
- */
88
- async disconnect() {
89
- try {
90
- await this.provider.disconnect();
91
- this.wallet = null;
92
- this.connected = false;
93
- console.log("\u2705 Solana wallet disconnected");
94
- } catch (error) {
95
- console.error("Solana connector disconnect error:", error);
96
- throw error;
97
- }
98
- }
99
- /**
100
- * Get accounts
101
- */
102
- async getAccounts() {
103
- return this.provider.getAccounts();
104
- }
105
- /**
106
- * Get public key
107
- */
108
- getPublicKey() {
109
- return this.provider.getPublicKey();
110
- }
111
- /**
112
- * Get address
113
- */
114
- getAddress() {
115
- return this.provider.getAddress();
116
- }
117
- /**
118
- * Check if authorized (has valid session)
119
- */
120
- async isAuthorized() {
121
- try {
122
- const authState = loadAuthState();
123
- if (!authState || !authState.isAuthenticated) {
124
- return false;
125
- }
126
- if (!authState.solanaWallet) {
127
- return false;
128
- }
129
- return this.client.isAuthenticated();
130
- } catch {
131
- return false;
132
- }
133
- }
134
- /**
135
- * Check if connected
136
- */
137
- isConnected() {
138
- return this.connected && this.provider.isConnected();
139
- }
140
- /**
141
- * Get current wallet
142
- */
143
- getWallet() {
144
- return this.wallet;
145
- }
146
- /**
147
- * Get provider
148
- */
149
- getProvider() {
150
- return this.provider;
151
- }
152
- /**
153
- * Sign transaction
154
- */
155
- async signTransaction(transaction) {
156
- return this.provider.signTransaction(transaction);
157
- }
158
- /**
159
- * Sign all transactions
160
- */
161
- async signAllTransactions(transactions) {
162
- return this.provider.signAllTransactions(transactions);
163
- }
164
- /**
165
- * Sign message
166
- */
167
- async signMessage(message) {
168
- return this.provider.signMessage(message);
169
- }
170
- /**
171
- * Send transaction
172
- */
173
- async sendTransaction(transaction) {
174
- return this.provider.sendTransaction(transaction);
175
- }
176
- /**
177
- * Sign and send transaction
178
- */
179
- async signAndSendTransaction(transaction) {
180
- return this.provider.signAndSendTransaction(transaction);
181
- }
182
- /**
183
- * Switch network
184
- */
185
- async switchNetwork(network) {
186
- this.provider.setNetwork(network);
187
- const authState = loadAuthState();
188
- if (authState?.solanaWallet) {
189
- saveAuthState(authState);
190
- }
191
- }
192
- /**
193
- * Get current network
194
- */
195
- getNetwork() {
196
- return this.provider.getNetwork().chainId;
197
- }
198
- on(event, listener) {
199
- switch (event) {
200
- case "connect":
201
- this.connectListeners.add(listener);
202
- break;
203
- case "disconnect":
204
- this.disconnectListeners.add(listener);
205
- break;
206
- case "accountsChanged":
207
- this.accountsChangedListeners.add(listener);
208
- break;
209
- }
210
- }
211
- off(event, listener) {
212
- switch (event) {
213
- case "connect":
214
- this.connectListeners.delete(listener);
215
- break;
216
- case "disconnect":
217
- this.disconnectListeners.delete(listener);
218
- break;
219
- case "accountsChanged":
220
- this.accountsChangedListeners.delete(listener);
221
- break;
222
- }
223
- }
224
- /**
225
- * Remove all listeners
226
- */
227
- removeAllListeners() {
228
- this.connectListeners.clear();
229
- this.disconnectListeners.clear();
230
- this.accountsChangedListeners.clear();
231
- }
232
- };
233
- function createAbcSolanaConnector(config) {
234
- return new AbcSolanaConnector(config);
235
- }
236
-
237
- export {
238
- AbcSolanaConnector,
239
- createAbcSolanaConnector
240
- };
@@ -1,44 +0,0 @@
1
- "use client";
2
- import {
3
- abcConnector
4
- } from "./chunk-2ZPGPZCP.js";
5
- import {
6
- ABC_WALLET_METADATA
7
- } from "./chunk-VETRBBA2.js";
8
-
9
- // src/wallets/walletConnectors/abcWallet/abcWallet.ts
10
- var abcWallet = (specificOptions) => ({ projectId }) => {
11
- const waasUrl = specificOptions?.waasUrl || process.env.NEXT_PUBLIC_ABC_WAAS_URL || process.env.VITE_ABC_WAAS_URL;
12
- if (!waasUrl) {
13
- throw new Error(
14
- 'ABC WaaS URL is required. Please provide it via:\n1. abcWallet({ waasUrl: "..." }) options, or\n2. NEXT_PUBLIC_ABC_WAAS_URL environment variable, or\n3. VITE_ABC_WAAS_URL environment variable'
15
- );
16
- }
17
- const config = {
18
- waasUrl,
19
- apiKey: specificOptions?.apiKey,
20
- plain: specificOptions?.plain || "",
21
- // Deprecated - not used (secure.ts uses random generation)
22
- environment: specificOptions?.environment || "development",
23
- projectId
24
- };
25
- return {
26
- id: ABC_WALLET_METADATA.id,
27
- name: ABC_WALLET_METADATA.name,
28
- rdns: ABC_WALLET_METADATA.rdns,
29
- iconUrl: async () => (await import("./abcWallet-AYWSIGAG.js")).default,
30
- iconBackground: ABC_WALLET_METADATA.iconBackground,
31
- // Embedded wallet - no installation required
32
- installed: void 0,
33
- // No download URLs for embedded wallet
34
- downloadUrls: void 0,
35
- // Create connector - wrapper function required by Wallet type
36
- createConnector: (_walletDetails) => abcConnector({ config }),
37
- // Embedded wallet always available
38
- hidden: () => false
39
- };
40
- };
41
-
42
- export {
43
- abcWallet
44
- };
@@ -1,39 +0,0 @@
1
- "use client";
2
- import {
3
- createAbcSolanaProvider
4
- } from "./chunk-MY5YIDOB.js";
5
- import {
6
- createAbcSolanaConnector
7
- } from "./chunk-AEQOPQL6.js";
8
- import {
9
- createAbcWaasClient
10
- } from "./chunk-4HKJ53H3.js";
11
-
12
- // src/wallets/walletConnectors/abcWallet/abcSolanaWallet.ts
13
- var abcSolanaWallet = (options) => ({
14
- id: "abc-solana",
15
- name: "ABC Solana Wallet",
16
- iconUrl: async () => (await import("./abcWallet-AYWSIGAG.js")).default,
17
- iconBackground: "#fff",
18
- // Embedded wallet - no download URLs needed
19
- installed: void 0,
20
- createConnector: () => {
21
- console.log("[abcSolanaWallet] Creating Solana connector with options:", {
22
- hasConfig: !!options.config,
23
- waasUrl: options.config.waasUrl,
24
- environment: options.config.environment
25
- });
26
- const client = createAbcWaasClient(options.config);
27
- const provider = createAbcSolanaProvider(client);
28
- const connector = createAbcSolanaConnector({
29
- client,
30
- provider
31
- });
32
- console.log("[abcSolanaWallet] Solana connector created successfully");
33
- return connector;
34
- }
35
- });
36
-
37
- export {
38
- abcSolanaWallet
39
- };