@talken/talkenkit 2.3.13 → 2.3.15
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 +9 -0
- package/dist/chunk-UWHLB4MJ.js +226 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +151 -335
- package/dist/secure-SSSSQ4NA.js +8 -0
- package/dist/wallets/walletConnectors/abcWallet/abcApi.js +2 -2
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +3 -3
- package/dist/wallets/walletConnectors/abcWallet/abcSolProvider.js +2 -2
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWallet.js +3 -3
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.d.ts +7 -0
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +4 -4
- package/dist/wallets/walletConnectors/abcWallet/api/SigningApi.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +2 -2
- package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +2 -2
- package/dist/wallets/walletConnectors/abcWallet/api/index.js +5 -5
- package/dist/wallets/walletConnectors/abcWallet/index.d.ts +1 -0
- package/dist/wallets/walletConnectors/abcWallet/index.js +21 -10
- package/dist/wallets/walletConnectors/abcWallet/networkConfig.d.ts +45 -30
- package/dist/wallets/walletConnectors/abcWallet/networkConfig.js +9 -5
- package/dist/wallets/walletConnectors/abcWallet/types.d.ts +6 -0
- package/dist/wallets/walletConnectors/{chunk-4H6TSGD7.js → chunk-2XZBPMQJ.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-4QPXFUDC.js → chunk-3ZE57J3R.js} +4 -1
- package/dist/wallets/walletConnectors/{chunk-5AAIZIND.js → chunk-3ZZXE7EL.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-636QKXSN.js → chunk-4MF5RSML.js} +4 -1
- package/dist/wallets/walletConnectors/{chunk-4VO5XDCV.js → chunk-4N6JD6LY.js} +9 -9
- package/dist/wallets/walletConnectors/{chunk-2RVWT7N7.js → chunk-4YJWX7I3.js} +4 -1
- package/dist/wallets/walletConnectors/chunk-5CCU7PNU.js +194 -0
- package/dist/wallets/walletConnectors/chunk-5TDZSXJ4.js +345 -0
- package/dist/wallets/walletConnectors/{chunk-4YKA5OIT.js → chunk-75RN2RLT.js} +5 -5
- package/dist/wallets/walletConnectors/{chunk-JXPLBYVW.js → chunk-7DEZCGNV.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-ZX6LABEF.js → chunk-A7FIBI6X.js} +30 -13
- package/dist/wallets/walletConnectors/{chunk-2E2TVL4A.js → chunk-AVPBPELO.js} +6 -6
- package/dist/wallets/walletConnectors/{chunk-F2LC3G36.js → chunk-BJHGC546.js} +18 -3
- package/dist/wallets/walletConnectors/{chunk-BPLIASJE.js → chunk-BL57XWJY.js} +4 -1
- package/dist/wallets/walletConnectors/{chunk-AKYC5VZG.js → chunk-BSBRWKNG.js} +7 -7
- package/dist/wallets/walletConnectors/{chunk-DPL5VRGJ.js → chunk-CYYBGUSO.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-F5Q4VDER.js → chunk-EEY5CXKO.js} +2 -2
- package/dist/wallets/walletConnectors/{chunk-MT2QHWYE.js → chunk-EGOIRXTV.js} +1 -1
- package/dist/wallets/walletConnectors/chunk-F5P2INHS.js +474 -0
- package/dist/wallets/walletConnectors/chunk-G7PEFBL6.js +309 -0
- package/dist/wallets/walletConnectors/{chunk-XZHB7HU4.js → chunk-GHLLVM7O.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-2XFKRGDK.js → chunk-GXGRTWJM.js} +10 -10
- package/dist/wallets/walletConnectors/chunk-H2MX4NAL.js +293 -0
- package/dist/wallets/walletConnectors/{chunk-75NE2OUD.js → chunk-HVPQO6ZG.js} +16 -1
- package/dist/wallets/walletConnectors/{chunk-LOP2R3QJ.js → chunk-JR2C4XXX.js} +2 -52
- package/dist/wallets/walletConnectors/{chunk-V3XKL7AD.js → chunk-KKPINUPY.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-5VL7T6AY.js → chunk-LENPUTNQ.js} +18 -3
- package/dist/wallets/walletConnectors/{chunk-25LLSYLN.js → chunk-N4FOYXQD.js} +5 -5
- package/dist/wallets/walletConnectors/{chunk-CNI3U6UK.js → chunk-NEXFU6BZ.js} +4 -4
- package/dist/wallets/walletConnectors/chunk-O6EAIC4G.js +482 -0
- package/dist/wallets/walletConnectors/{chunk-KZG5KU7A.js → chunk-OC2O4BHA.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-DU6M25IR.js → chunk-P2GV6NQG.js} +16 -1
- package/dist/wallets/walletConnectors/{chunk-CGLM5KXH.js → chunk-PPIFAF7N.js} +7 -7
- package/dist/wallets/walletConnectors/{chunk-76O6JH3T.js → chunk-QEHZXKRF.js} +1 -1
- package/dist/wallets/walletConnectors/{chunk-A7KV643A.js → chunk-QI2VB7LL.js} +4 -4
- package/dist/wallets/walletConnectors/chunk-RLR4Y5WO.js +481 -0
- package/dist/wallets/walletConnectors/chunk-T6KJZAPR.js +47 -0
- package/dist/wallets/walletConnectors/chunk-UBCMBPX3.js +58 -0
- package/dist/wallets/walletConnectors/chunk-UGQXI3RN.js +284 -0
- package/dist/wallets/walletConnectors/{chunk-2PDAR5KA.js → chunk-X4WUD7PF.js} +5 -5
- package/dist/wallets/walletConnectors/{chunk-T7NXVYE6.js → chunk-XPSCFUX6.js} +1 -1
- package/dist/wallets/walletConnectors/chunk-Y3LWEDF6.js +63 -0
- package/dist/wallets/walletConnectors/index.js +29 -29
- package/package.json +11 -12
- package/dist/wallets/walletConnectors/chunk-2GODJ6NU.js +0 -398
- package/dist/wallets/walletConnectors/chunk-2ZFMD7GF.js +0 -419
- package/dist/wallets/walletConnectors/chunk-3OYZYIBX.js +0 -361
- package/dist/wallets/walletConnectors/chunk-3WRALPTT.js +0 -403
- package/dist/wallets/walletConnectors/chunk-43LPUTHW.js +0 -157
- package/dist/wallets/walletConnectors/chunk-4OPIMV4N.js +0 -376
- package/dist/wallets/walletConnectors/chunk-4TFDVNMF.js +0 -370
- package/dist/wallets/walletConnectors/chunk-5KCTAEQB.js +0 -391
- package/dist/wallets/walletConnectors/chunk-5OKJZU3F.js +0 -63
- package/dist/wallets/walletConnectors/chunk-5PBZRTEM.js +0 -63
- package/dist/wallets/walletConnectors/chunk-5SLXMCS2.js +0 -34
- package/dist/wallets/walletConnectors/chunk-62ZC3BGR.js +0 -39
- package/dist/wallets/walletConnectors/chunk-6DMWYDIO.js +0 -390
- package/dist/wallets/walletConnectors/chunk-6KO5WQ5C.js +0 -156
- package/dist/wallets/walletConnectors/chunk-6URAISNZ.js +0 -388
- package/dist/wallets/walletConnectors/chunk-6V3335LE.js +0 -63
- package/dist/wallets/walletConnectors/chunk-7UHZX522.js +0 -369
- package/dist/wallets/walletConnectors/chunk-ADMITKUE.js +0 -63
- package/dist/wallets/walletConnectors/chunk-AL7R7JQU.js +0 -124
- package/dist/wallets/walletConnectors/chunk-AY4TMZG6.js +0 -39
- package/dist/wallets/walletConnectors/chunk-AZRYTD6J.js +0 -63
- package/dist/wallets/walletConnectors/chunk-B23AX3U3.js +0 -269
- package/dist/wallets/walletConnectors/chunk-CB4CSXNY.js +0 -63
- package/dist/wallets/walletConnectors/chunk-CSLAM3IH.js +0 -39
- package/dist/wallets/walletConnectors/chunk-CTSR4YUH.js +0 -376
- package/dist/wallets/walletConnectors/chunk-D6MSZOEN.js +0 -357
- package/dist/wallets/walletConnectors/chunk-DA7TFV7F.js +0 -1683
- package/dist/wallets/walletConnectors/chunk-DHVD2NUK.js +0 -156
- package/dist/wallets/walletConnectors/chunk-DSEWXHE6.js +0 -44
- package/dist/wallets/walletConnectors/chunk-E3PO2XKJ.js +0 -433
- package/dist/wallets/walletConnectors/chunk-E5YF2QC2.js +0 -63
- package/dist/wallets/walletConnectors/chunk-ENAFVPRZ.js +0 -374
- package/dist/wallets/walletConnectors/chunk-ENHE6LS7.js +0 -368
- package/dist/wallets/walletConnectors/chunk-EPUITAK3.js +0 -63
- package/dist/wallets/walletConnectors/chunk-EQZ6IAAM.js +0 -39
- package/dist/wallets/walletConnectors/chunk-F5HCFRTK.js +0 -1683
- package/dist/wallets/walletConnectors/chunk-GUUGKRZB.js +0 -63
- package/dist/wallets/walletConnectors/chunk-GZ55OZIT.js +0 -157
- package/dist/wallets/walletConnectors/chunk-H7SRDBPI.js +0 -384
- package/dist/wallets/walletConnectors/chunk-HDXHEBGM.js +0 -403
- package/dist/wallets/walletConnectors/chunk-HGI3FA2A.js +0 -157
- package/dist/wallets/walletConnectors/chunk-HMSFBY7V.js +0 -39
- package/dist/wallets/walletConnectors/chunk-IABRLMSP.js +0 -63
- package/dist/wallets/walletConnectors/chunk-IL52SYJK.js +0 -44
- package/dist/wallets/walletConnectors/chunk-IXPVDDZD.js +0 -365
- package/dist/wallets/walletConnectors/chunk-JNKT32C7.js +0 -63
- package/dist/wallets/walletConnectors/chunk-JW4RQLJT.js +0 -156
- package/dist/wallets/walletConnectors/chunk-K6BNM6VP.js +0 -63
- package/dist/wallets/walletConnectors/chunk-KN4I4DKC.js +0 -157
- package/dist/wallets/walletConnectors/chunk-KNK6YFEK.js +0 -63
- package/dist/wallets/walletConnectors/chunk-KSKNDJYL.js +0 -63
- package/dist/wallets/walletConnectors/chunk-KYA553D7.js +0 -371
- package/dist/wallets/walletConnectors/chunk-L57JYRQZ.js +0 -63
- package/dist/wallets/walletConnectors/chunk-LB3ISYMC.js +0 -44
- package/dist/wallets/walletConnectors/chunk-LLFZ4GNK.js +0 -266
- package/dist/wallets/walletConnectors/chunk-LLJELGMX.js +0 -63
- package/dist/wallets/walletConnectors/chunk-LTX3ZSQI.js +0 -39
- package/dist/wallets/walletConnectors/chunk-MF46Q5RP.js +0 -44
- package/dist/wallets/walletConnectors/chunk-MGPMSUFB.js +0 -372
- package/dist/wallets/walletConnectors/chunk-MK45L6B7.js +0 -123
- package/dist/wallets/walletConnectors/chunk-MOJC7LE6.js +0 -63
- package/dist/wallets/walletConnectors/chunk-N6CRHH2H.js +0 -400
- package/dist/wallets/walletConnectors/chunk-N6QHQDQP.js +0 -381
- package/dist/wallets/walletConnectors/chunk-NALBGCUS.js +0 -63
- package/dist/wallets/walletConnectors/chunk-NOD2A4Q7.js +0 -430
- package/dist/wallets/walletConnectors/chunk-NOL7MBZU.js +0 -1683
- package/dist/wallets/walletConnectors/chunk-OA5K3AQN.js +0 -370
- package/dist/wallets/walletConnectors/chunk-Q3LW5UK5.js +0 -135
- package/dist/wallets/walletConnectors/chunk-QDCXRBX6.js +0 -63
- package/dist/wallets/walletConnectors/chunk-QHHR2DQK.js +0 -269
- package/dist/wallets/walletConnectors/chunk-QIDXRXV6.js +0 -63
- package/dist/wallets/walletConnectors/chunk-QNY3A52P.js +0 -156
- package/dist/wallets/walletConnectors/chunk-QQEXHPNE.js +0 -385
- package/dist/wallets/walletConnectors/chunk-RASK6XWI.js +0 -436
- package/dist/wallets/walletConnectors/chunk-RFMJC64I.js +0 -364
- package/dist/wallets/walletConnectors/chunk-RVJ32DTM.js +0 -373
- package/dist/wallets/walletConnectors/chunk-S64JWSGA.js +0 -63
- package/dist/wallets/walletConnectors/chunk-SG6KN7NJ.js +0 -377
- package/dist/wallets/walletConnectors/chunk-SGLHM6AU.js +0 -157
- package/dist/wallets/walletConnectors/chunk-SK2XYNK4.js +0 -44
- package/dist/wallets/walletConnectors/chunk-SKBQVOZL.js +0 -1683
- package/dist/wallets/walletConnectors/chunk-SQAILDYS.js +0 -1683
- package/dist/wallets/walletConnectors/chunk-SRTBTRBU.js +0 -372
- package/dist/wallets/walletConnectors/chunk-T23ZNPHL.js +0 -269
- package/dist/wallets/walletConnectors/chunk-T3AL3VAQ.js +0 -44
- package/dist/wallets/walletConnectors/chunk-T4QIWLWU.js +0 -357
- package/dist/wallets/walletConnectors/chunk-THQEUSX4.js +0 -63
- package/dist/wallets/walletConnectors/chunk-TLJSBPMQ.js +0 -63
- package/dist/wallets/walletConnectors/chunk-TPGMXU6M.js +0 -63
- package/dist/wallets/walletConnectors/chunk-UBDYVLI4.js +0 -370
- package/dist/wallets/walletConnectors/chunk-UH6AUMQQ.js +0 -63
- package/dist/wallets/walletConnectors/chunk-UTPJPY4R.js +0 -44
- package/dist/wallets/walletConnectors/chunk-VIH2AOMF.js +0 -63
- package/dist/wallets/walletConnectors/chunk-VIRHJPFQ.js +0 -269
- package/dist/wallets/walletConnectors/chunk-VQI2B7XW.js +0 -269
- package/dist/wallets/walletConnectors/chunk-VQYANLI2.js +0 -44
- package/dist/wallets/walletConnectors/chunk-VRTDF4O3.js +0 -63
- package/dist/wallets/walletConnectors/chunk-VRUPSQK4.js +0 -269
- package/dist/wallets/walletConnectors/chunk-VWZP7KJD.js +0 -157
- package/dist/wallets/walletConnectors/chunk-VZCI2K6Y.js +0 -124
- package/dist/wallets/walletConnectors/chunk-WIZH35IC.js +0 -39
- package/dist/wallets/walletConnectors/chunk-WOZ5REMN.js +0 -436
- package/dist/wallets/walletConnectors/chunk-WPEGBCDE.js +0 -157
- package/dist/wallets/walletConnectors/chunk-WPJESUNP.js +0 -379
- package/dist/wallets/walletConnectors/chunk-WZ322AWR.js +0 -44
- package/dist/wallets/walletConnectors/chunk-WZAIQD3G.js +0 -156
- package/dist/wallets/walletConnectors/chunk-XC5EXBMU.js +0 -385
- package/dist/wallets/walletConnectors/chunk-XWCS76ZC.js +0 -1683
- package/dist/wallets/walletConnectors/chunk-Y5677NVB.js +0 -285
- package/dist/wallets/walletConnectors/chunk-YC73LM6F.js +0 -63
- package/dist/wallets/walletConnectors/chunk-YHWQOKFW.js +0 -39
- package/dist/wallets/walletConnectors/chunk-YIB6VMOF.js +0 -156
- package/dist/wallets/walletConnectors/chunk-YPL4NJGA.js +0 -156
- package/dist/wallets/walletConnectors/chunk-YQP7DZ7T.js +0 -269
- package/dist/wallets/walletConnectors/chunk-ZBMGJDJA.js +0 -436
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
createAbcEvmProvider
|
|
4
|
-
} from "./chunk-XYPR4BAF.js";
|
|
5
|
-
import {
|
|
6
|
-
createAbcWaasClient
|
|
7
|
-
} from "./chunk-DA7TFV7F.js";
|
|
8
|
-
import {
|
|
9
|
-
clearAuthState,
|
|
10
|
-
clearEncryptedTokens,
|
|
11
|
-
clearStorage,
|
|
12
|
-
loadAuthState,
|
|
13
|
-
loadFromStorage,
|
|
14
|
-
saveAuthState
|
|
15
|
-
} from "./chunk-W2VDZD74.js";
|
|
16
|
-
|
|
17
|
-
// src/wallets/walletConnectors/abcWallet/abcConnector.ts
|
|
18
|
-
import { createConnector } from "wagmi";
|
|
19
|
-
function abcConnector(options) {
|
|
20
|
-
const { config } = options;
|
|
21
|
-
return createConnector((wagmiConfig) => {
|
|
22
|
-
const client = createAbcWaasClient(config);
|
|
23
|
-
const provider = createAbcEvmProvider(client);
|
|
24
|
-
let accountsChangedHandler;
|
|
25
|
-
let chainChangedHandler;
|
|
26
|
-
let disconnectHandler;
|
|
27
|
-
return {
|
|
28
|
-
id: "abc",
|
|
29
|
-
name: "ABC Wallet",
|
|
30
|
-
type: "abc",
|
|
31
|
-
/**
|
|
32
|
-
* Connect wallet
|
|
33
|
-
*/
|
|
34
|
-
async connect() {
|
|
35
|
-
try {
|
|
36
|
-
const authState = loadAuthState();
|
|
37
|
-
console.log("\u{1F527} ABC Connector connect() called:", {
|
|
38
|
-
hasAuthState: !!authState,
|
|
39
|
-
isAuthenticated: authState?.isAuthenticated,
|
|
40
|
-
hasWallet: !!authState?.wallet,
|
|
41
|
-
walletAddress: authState?.wallet?.address
|
|
42
|
-
});
|
|
43
|
-
if (!authState || !authState.isAuthenticated || !authState.wallet) {
|
|
44
|
-
throw new Error("ABC_LOGIN_REQUIRED");
|
|
45
|
-
}
|
|
46
|
-
provider.setWallet(authState.wallet);
|
|
47
|
-
console.log("\u2705 Provider wallet set:", {
|
|
48
|
-
address: authState.wallet.address,
|
|
49
|
-
hasPIN: !!authState.pin
|
|
50
|
-
});
|
|
51
|
-
const accounts = await provider.request({
|
|
52
|
-
method: "eth_requestAccounts"
|
|
53
|
-
});
|
|
54
|
-
const currentChainId = await provider.request({
|
|
55
|
-
method: "eth_chainId"
|
|
56
|
-
});
|
|
57
|
-
if (accountsChangedHandler) {
|
|
58
|
-
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
59
|
-
}
|
|
60
|
-
accountsChangedHandler = (accounts2) => {
|
|
61
|
-
wagmiConfig.emitter.emit("change", {
|
|
62
|
-
accounts: accounts2
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
provider.on("accountsChanged", accountsChangedHandler);
|
|
66
|
-
if (chainChangedHandler) {
|
|
67
|
-
provider.removeListener("chainChanged", chainChangedHandler);
|
|
68
|
-
}
|
|
69
|
-
chainChangedHandler = (chainId) => {
|
|
70
|
-
wagmiConfig.emitter.emit("change", {
|
|
71
|
-
chainId: Number(chainId)
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
provider.on("chainChanged", chainChangedHandler);
|
|
75
|
-
if (disconnectHandler) {
|
|
76
|
-
provider.removeListener("disconnect", disconnectHandler);
|
|
77
|
-
}
|
|
78
|
-
disconnectHandler = () => {
|
|
79
|
-
wagmiConfig.emitter.emit("disconnect");
|
|
80
|
-
this.onDisconnect();
|
|
81
|
-
};
|
|
82
|
-
provider.on("disconnect", disconnectHandler);
|
|
83
|
-
console.log("\u2705 ABC Connector connected successfully:", {
|
|
84
|
-
accounts: accounts.length,
|
|
85
|
-
chainId: Number(currentChainId)
|
|
86
|
-
});
|
|
87
|
-
wagmiConfig.emitter.emit("connect", {
|
|
88
|
-
accounts,
|
|
89
|
-
chainId: Number(currentChainId)
|
|
90
|
-
});
|
|
91
|
-
return {
|
|
92
|
-
accounts,
|
|
93
|
-
chainId: Number(currentChainId)
|
|
94
|
-
};
|
|
95
|
-
} catch (error) {
|
|
96
|
-
console.error("\u274C ABC Connector connect() failed:", {
|
|
97
|
-
message: error.message,
|
|
98
|
-
code: error.code,
|
|
99
|
-
error
|
|
100
|
-
});
|
|
101
|
-
if (error.message === "ABC_LOGIN_REQUIRED") {
|
|
102
|
-
throw error;
|
|
103
|
-
}
|
|
104
|
-
throw error;
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
/**
|
|
108
|
-
* Disconnect wallet
|
|
109
|
-
*/
|
|
110
|
-
async disconnect() {
|
|
111
|
-
if (accountsChangedHandler) {
|
|
112
|
-
provider.removeListener("accountsChanged", accountsChangedHandler);
|
|
113
|
-
accountsChangedHandler = void 0;
|
|
114
|
-
}
|
|
115
|
-
if (chainChangedHandler) {
|
|
116
|
-
provider.removeListener("chainChanged", chainChangedHandler);
|
|
117
|
-
chainChangedHandler = void 0;
|
|
118
|
-
}
|
|
119
|
-
if (disconnectHandler) {
|
|
120
|
-
provider.removeListener("disconnect", disconnectHandler);
|
|
121
|
-
disconnectHandler = void 0;
|
|
122
|
-
}
|
|
123
|
-
provider.clearWallet();
|
|
124
|
-
await client.logout();
|
|
125
|
-
let savedPinHash = null;
|
|
126
|
-
let savedEmail = null;
|
|
127
|
-
if (typeof window !== "undefined") {
|
|
128
|
-
savedPinHash = localStorage.getItem("talkenkit_abc_pin_hash");
|
|
129
|
-
savedEmail = localStorage.getItem("talkenkit_abc_saved_email");
|
|
130
|
-
}
|
|
131
|
-
clearAuthState();
|
|
132
|
-
clearEncryptedTokens();
|
|
133
|
-
if (typeof window !== "undefined") {
|
|
134
|
-
localStorage.removeItem("talkenkit_abc_enc_salt");
|
|
135
|
-
localStorage.removeItem("talkenkit_abc_enc_tokens");
|
|
136
|
-
if (savedPinHash) {
|
|
137
|
-
localStorage.setItem("talkenkit_abc_pin_hash", savedPinHash);
|
|
138
|
-
}
|
|
139
|
-
if (savedEmail) {
|
|
140
|
-
localStorage.setItem("talkenkit_abc_saved_email", savedEmail);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
console.log("\u2705 ABC Wallet disconnected (PIN preserved)");
|
|
144
|
-
},
|
|
145
|
-
/**
|
|
146
|
-
* Get accounts
|
|
147
|
-
*/
|
|
148
|
-
async getAccounts() {
|
|
149
|
-
const accounts = await provider.request({
|
|
150
|
-
method: "eth_accounts"
|
|
151
|
-
});
|
|
152
|
-
return accounts.map((account) => account);
|
|
153
|
-
},
|
|
154
|
-
/**
|
|
155
|
-
* Get chain ID
|
|
156
|
-
*/
|
|
157
|
-
async getChainId() {
|
|
158
|
-
const chainId = await provider.request({
|
|
159
|
-
method: "eth_chainId"
|
|
160
|
-
});
|
|
161
|
-
return Number(chainId);
|
|
162
|
-
},
|
|
163
|
-
/**
|
|
164
|
-
* Get provider
|
|
165
|
-
*/
|
|
166
|
-
async getProvider() {
|
|
167
|
-
return provider;
|
|
168
|
-
},
|
|
169
|
-
/**
|
|
170
|
-
* Check if authorized (has valid session)
|
|
171
|
-
* Auto-refreshes access token if expired but refresh token is valid
|
|
172
|
-
*/
|
|
173
|
-
async isAuthorized() {
|
|
174
|
-
try {
|
|
175
|
-
console.log("[AbcConnector] \u{1F50D} isAuthorized() called");
|
|
176
|
-
const authState = loadAuthState();
|
|
177
|
-
console.log("[AbcConnector] Auth state check:", {
|
|
178
|
-
hasAuthState: !!authState,
|
|
179
|
-
isAuthenticated: authState?.isAuthenticated,
|
|
180
|
-
hasWallet: !!authState?.wallet,
|
|
181
|
-
hasAccessToken: !!authState?.accessToken,
|
|
182
|
-
hasRefreshToken: !!authState?.refreshToken
|
|
183
|
-
});
|
|
184
|
-
if (!authState || !authState.isAuthenticated) {
|
|
185
|
-
console.log("[AbcConnector] \u274C Not authenticated");
|
|
186
|
-
return false;
|
|
187
|
-
}
|
|
188
|
-
if (!authState.wallet) {
|
|
189
|
-
console.log("[AbcConnector] \u274C No wallet data - cannot reconnect");
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
if (client.isAuthenticated()) {
|
|
193
|
-
console.log("[AbcConnector] \u2705 Token valid - authorized");
|
|
194
|
-
return true;
|
|
195
|
-
}
|
|
196
|
-
console.log("[AbcConnector] \u26A0\uFE0F Token expired - attempting refresh...");
|
|
197
|
-
const refreshToken = loadFromStorage(
|
|
198
|
-
"refresh_token" /* REFRESH_TOKEN */
|
|
199
|
-
);
|
|
200
|
-
if (!refreshToken) {
|
|
201
|
-
console.log("[AbcConnector] \u274C No refresh token - clearing storage");
|
|
202
|
-
clearStorage();
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
try {
|
|
206
|
-
await client.refreshTokens(refreshToken);
|
|
207
|
-
console.log("[AbcConnector] \u2705 Token refreshed successfully");
|
|
208
|
-
const updatedState = loadAuthState();
|
|
209
|
-
const authorized = updatedState?.isAuthenticated ?? false;
|
|
210
|
-
console.log("[AbcConnector] Final authorization status:", authorized);
|
|
211
|
-
return authorized;
|
|
212
|
-
} catch (error) {
|
|
213
|
-
console.error("[AbcConnector] \u274C Token refresh failed:", error);
|
|
214
|
-
clearStorage();
|
|
215
|
-
return false;
|
|
216
|
-
}
|
|
217
|
-
} catch (error) {
|
|
218
|
-
console.error(
|
|
219
|
-
"[AbcConnector] \u274C Unexpected error in isAuthorized:",
|
|
220
|
-
error
|
|
221
|
-
);
|
|
222
|
-
return false;
|
|
223
|
-
}
|
|
224
|
-
},
|
|
225
|
-
/**
|
|
226
|
-
* Switch chain
|
|
227
|
-
*/
|
|
228
|
-
async switchChain({ chainId }) {
|
|
229
|
-
await provider.request({
|
|
230
|
-
method: "wallet_switchEthereumChain",
|
|
231
|
-
params: [{ chainId: `0x${chainId.toString(16)}` }]
|
|
232
|
-
});
|
|
233
|
-
const newChainId = await this.getChainId();
|
|
234
|
-
const authState = loadAuthState();
|
|
235
|
-
if (authState?.wallet) {
|
|
236
|
-
authState.wallet.chainId = newChainId;
|
|
237
|
-
saveAuthState(authState);
|
|
238
|
-
}
|
|
239
|
-
return wagmiConfig.chains.find((x) => x.id === chainId) ?? {
|
|
240
|
-
id: chainId,
|
|
241
|
-
name: `Chain ${chainId}`,
|
|
242
|
-
nativeCurrency: {
|
|
243
|
-
name: "Ether",
|
|
244
|
-
decimals: 18,
|
|
245
|
-
symbol: "ETH"
|
|
246
|
-
},
|
|
247
|
-
rpcUrls: {
|
|
248
|
-
default: { http: [""] }
|
|
249
|
-
}
|
|
250
|
-
};
|
|
251
|
-
},
|
|
252
|
-
/**
|
|
253
|
-
* Handle accounts changed
|
|
254
|
-
*/
|
|
255
|
-
onAccountsChanged(accounts) {
|
|
256
|
-
if (accounts.length === 0) {
|
|
257
|
-
this.onDisconnect();
|
|
258
|
-
} else {
|
|
259
|
-
wagmiConfig.emitter.emit("change", {
|
|
260
|
-
accounts
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
},
|
|
264
|
-
/**
|
|
265
|
-
* Handle chain changed
|
|
266
|
-
*/
|
|
267
|
-
onChainChanged(chain) {
|
|
268
|
-
const chainId = Number(chain);
|
|
269
|
-
wagmiConfig.emitter.emit("change", { chainId });
|
|
270
|
-
},
|
|
271
|
-
/**
|
|
272
|
-
* Handle disconnect
|
|
273
|
-
*/
|
|
274
|
-
onDisconnect(_error) {
|
|
275
|
-
provider.clearWallet();
|
|
276
|
-
clearAuthState();
|
|
277
|
-
wagmiConfig.emitter.emit("disconnect");
|
|
278
|
-
}
|
|
279
|
-
};
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
export {
|
|
284
|
-
abcConnector
|
|
285
|
-
};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
TransactionApi
|
|
4
|
-
} from "./chunk-HDYBRMYW.js";
|
|
5
|
-
import {
|
|
6
|
-
WalletApi
|
|
7
|
-
} from "./chunk-WZAIQD3G.js";
|
|
8
|
-
import {
|
|
9
|
-
AuthApi
|
|
10
|
-
} from "./chunk-RLBGBBIO.js";
|
|
11
|
-
import {
|
|
12
|
-
BitcoinApi
|
|
13
|
-
} from "./chunk-IA4EQFSS.js";
|
|
14
|
-
import {
|
|
15
|
-
SigningApi
|
|
16
|
-
} from "./chunk-TUUNSVKZ.js";
|
|
17
|
-
import {
|
|
18
|
-
SolanaApi
|
|
19
|
-
} from "./chunk-KN4I4DKC.js";
|
|
20
|
-
|
|
21
|
-
// src/wallets/walletConnectors/abcWallet/api/index.ts
|
|
22
|
-
var AbcWaasApiClient = class {
|
|
23
|
-
constructor(config) {
|
|
24
|
-
this.auth = new AuthApi(config);
|
|
25
|
-
this.wallet = new WalletApi(config);
|
|
26
|
-
this.transaction = new TransactionApi(config);
|
|
27
|
-
this.signing = new SigningApi(config);
|
|
28
|
-
this.solana = new SolanaApi(config);
|
|
29
|
-
this.bitcoin = new BitcoinApi(config);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Check if user is authenticated
|
|
33
|
-
*/
|
|
34
|
-
isAuthenticated() {
|
|
35
|
-
return this.auth.isAuthenticated();
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Check if access token is expired
|
|
39
|
-
*/
|
|
40
|
-
isTokenExpired() {
|
|
41
|
-
return this.auth.isTokenExpired();
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get current access token
|
|
45
|
-
*/
|
|
46
|
-
getAccessToken() {
|
|
47
|
-
return this.auth.getAccessToken();
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Logout (clear tokens)
|
|
51
|
-
*/
|
|
52
|
-
async logout() {
|
|
53
|
-
await this.auth.logout();
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
function createAbcWaasApiClient(config) {
|
|
57
|
-
return new AbcWaasApiClient(config);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export {
|
|
61
|
-
AbcWaasApiClient,
|
|
62
|
-
createAbcWaasApiClient
|
|
63
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
createAbcSolanaConnector
|
|
4
|
-
} from "./chunk-U2CUEL35.js";
|
|
5
|
-
import {
|
|
6
|
-
createAbcSolanaProvider
|
|
7
|
-
} from "./chunk-FROV5VDF.js";
|
|
8
|
-
import {
|
|
9
|
-
createAbcWaasClient
|
|
10
|
-
} from "./chunk-F5HCFRTK.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
|
-
};
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
BaseApiClient
|
|
4
|
-
} from "./chunk-DSZVVQFW.js";
|
|
5
|
-
import {
|
|
6
|
-
getSolanaNetwork
|
|
7
|
-
} from "./chunk-VZCI2K6Y.js";
|
|
8
|
-
import {
|
|
9
|
-
createAbcError
|
|
10
|
-
} from "./chunk-W2VDZD74.js";
|
|
11
|
-
import {
|
|
12
|
-
ABC_ENDPOINTS,
|
|
13
|
-
DEFAULT_HEADERS
|
|
14
|
-
} from "./chunk-VETRBBA2.js";
|
|
15
|
-
|
|
16
|
-
// src/wallets/walletConnectors/abcWallet/api/WalletApi.ts
|
|
17
|
-
var WalletApi = class extends BaseApiClient {
|
|
18
|
-
/**
|
|
19
|
-
* Generate or recover EVM wallet
|
|
20
|
-
*/
|
|
21
|
-
async generateOrRecoverWallet(params) {
|
|
22
|
-
const response = await this.request(
|
|
23
|
-
// Use 'any' to get raw API response
|
|
24
|
-
ABC_ENDPOINTS.MPC_WALLETS,
|
|
25
|
-
// Use correct EVM endpoint, not WALLETS_V3 (Solana only)
|
|
26
|
-
{
|
|
27
|
-
method: "POST",
|
|
28
|
-
body: {
|
|
29
|
-
uid: params.uid,
|
|
30
|
-
pin: params.pin,
|
|
31
|
-
chainId: params.chainId,
|
|
32
|
-
network: params.network || "mainnet"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
if (response.status === "success" && response.data) {
|
|
37
|
-
const raw = response.data;
|
|
38
|
-
console.log("[WalletApi] Raw wallet API response:", {
|
|
39
|
-
hasUid: !!raw.uid,
|
|
40
|
-
hasSid: !!raw.sid,
|
|
41
|
-
hasWid: !!raw.wid,
|
|
42
|
-
hasPvencstr: !!raw.pvencstr,
|
|
43
|
-
hasEncryptDevicePassword: !!raw.encryptDevicePassword,
|
|
44
|
-
hasPubkey: !!raw.pubkey,
|
|
45
|
-
allKeys: Object.keys(raw)
|
|
46
|
-
});
|
|
47
|
-
return {
|
|
48
|
-
address: raw.address || "",
|
|
49
|
-
keyId: raw.keyId || raw.key_id || raw.sid,
|
|
50
|
-
encryptedShare: raw.encryptedShare || raw.encrypted_share || "",
|
|
51
|
-
uid: raw.uid,
|
|
52
|
-
sid: raw.sid,
|
|
53
|
-
wid: raw.wid,
|
|
54
|
-
// Preserve for Bitcoin signing
|
|
55
|
-
pvencstr: raw.pvencstr,
|
|
56
|
-
// Preserve for Bitcoin signing
|
|
57
|
-
encryptDevicePassword: raw.encryptDevicePassword,
|
|
58
|
-
// Preserve for Bitcoin signing
|
|
59
|
-
pubkey: raw.pubkey || null
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
throw createAbcError(
|
|
63
|
-
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
64
|
-
"Failed to generate wallet",
|
|
65
|
-
response
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Get wallet info
|
|
70
|
-
*/
|
|
71
|
-
async getWalletInfo(uid) {
|
|
72
|
-
const response = await this.request(ABC_ENDPOINTS.INFO, {
|
|
73
|
-
method: "POST",
|
|
74
|
-
body: { uid }
|
|
75
|
-
});
|
|
76
|
-
if (response.status === "success") {
|
|
77
|
-
return response.data;
|
|
78
|
-
}
|
|
79
|
-
throw createAbcError(
|
|
80
|
-
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
81
|
-
"Failed to get wallet info",
|
|
82
|
-
response
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Generate or recover Solana wallet (Ed25519)
|
|
87
|
-
*/
|
|
88
|
-
async generateSolanaWallet(pin, _isRecover = false) {
|
|
89
|
-
const url = `\${this.baseURL}/v3/wallet/\${isRecover ? 'recover' : 'generate'}`;
|
|
90
|
-
const response = await fetch(url, {
|
|
91
|
-
method: "POST",
|
|
92
|
-
headers: {
|
|
93
|
-
...DEFAULT_HEADERS,
|
|
94
|
-
...this.accessToken ? { Authorization: "Bearer ${this.accessToken}" } : {}
|
|
95
|
-
},
|
|
96
|
-
body: JSON.stringify({
|
|
97
|
-
curve: "ed25519",
|
|
98
|
-
password: pin
|
|
99
|
-
})
|
|
100
|
-
});
|
|
101
|
-
const data = await response.json();
|
|
102
|
-
if (!response.ok || data.status !== "success") {
|
|
103
|
-
throw createAbcError(
|
|
104
|
-
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
105
|
-
"Failed to generate Solana wallet",
|
|
106
|
-
data
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
const result = data.result;
|
|
110
|
-
const solanaNetwork = getSolanaNetwork();
|
|
111
|
-
const addressResult = await this.getSolanaAddress(
|
|
112
|
-
result.public_key,
|
|
113
|
-
solanaNetwork
|
|
114
|
-
);
|
|
115
|
-
return {
|
|
116
|
-
uid: result.uid || "",
|
|
117
|
-
sessionId: result.share_id,
|
|
118
|
-
shareId: result.share_id,
|
|
119
|
-
publicKey: result.public_key,
|
|
120
|
-
address: addressResult,
|
|
121
|
-
keyId: result.key_id || result.share_id,
|
|
122
|
-
encryptedShare: result.encrypted_share || "",
|
|
123
|
-
network: solanaNetwork
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Get Solana address from Ed25519 public key
|
|
128
|
-
*/
|
|
129
|
-
async getSolanaAddress(publicKey, network) {
|
|
130
|
-
const url = "${this.baseURL}/wapi/v2/solana/wallet/getAddress";
|
|
131
|
-
const response = await fetch(url, {
|
|
132
|
-
method: "POST",
|
|
133
|
-
headers: {
|
|
134
|
-
...DEFAULT_HEADERS,
|
|
135
|
-
...this.accessToken ? { Authorization: "Bearer ${this.accessToken}" } : {}
|
|
136
|
-
},
|
|
137
|
-
body: JSON.stringify({
|
|
138
|
-
network,
|
|
139
|
-
publicKey
|
|
140
|
-
})
|
|
141
|
-
});
|
|
142
|
-
const data = await response.json();
|
|
143
|
-
if (!response.ok || data.status !== "success") {
|
|
144
|
-
throw createAbcError(
|
|
145
|
-
"NETWORK_ERROR" /* NETWORK_ERROR */,
|
|
146
|
-
"Failed to get Solana address",
|
|
147
|
-
data
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
return data.result?.data?.address;
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
export {
|
|
155
|
-
WalletApi
|
|
156
|
-
};
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
BaseApiClient
|
|
4
|
-
} from "./chunk-KJHOGJ3A.js";
|
|
5
|
-
import {
|
|
6
|
-
createAbcError
|
|
7
|
-
} from "./chunk-UV5HHESJ.js";
|
|
8
|
-
import {
|
|
9
|
-
getSolanaNetwork
|
|
10
|
-
} from "./chunk-VZCI2K6Y.js";
|
|
11
|
-
import {
|
|
12
|
-
ABC_ENDPOINTS,
|
|
13
|
-
DEFAULT_HEADERS
|
|
14
|
-
} from "./chunk-VETRBBA2.js";
|
|
15
|
-
|
|
16
|
-
// src/wallets/walletConnectors/abcWallet/api/WalletApi.ts
|
|
17
|
-
var WalletApi = class extends BaseApiClient {
|
|
18
|
-
/**
|
|
19
|
-
* Generate or recover EVM wallet
|
|
20
|
-
*/
|
|
21
|
-
async generateOrRecoverWallet(params) {
|
|
22
|
-
const response = await this.request(
|
|
23
|
-
// Use 'any' to get raw API response
|
|
24
|
-
ABC_ENDPOINTS.MPC_WALLETS,
|
|
25
|
-
// Use correct EVM endpoint, not WALLETS_V3 (Solana only)
|
|
26
|
-
{
|
|
27
|
-
method: "POST",
|
|
28
|
-
body: {
|
|
29
|
-
uid: params.uid,
|
|
30
|
-
pin: params.pin,
|
|
31
|
-
chainId: params.chainId,
|
|
32
|
-
network: params.network || "mainnet"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
if (response.status === "success" && response.data) {
|
|
37
|
-
const raw = response.data;
|
|
38
|
-
console.log("[WalletApi] Raw wallet API response:", {
|
|
39
|
-
hasUid: !!raw.uid,
|
|
40
|
-
hasSid: !!raw.sid,
|
|
41
|
-
hasWid: !!raw.wid,
|
|
42
|
-
hasPvencstr: !!raw.pvencstr,
|
|
43
|
-
hasEncryptDevicePassword: !!raw.encryptDevicePassword,
|
|
44
|
-
hasPubkey: !!raw.pubkey,
|
|
45
|
-
allKeys: Object.keys(raw)
|
|
46
|
-
});
|
|
47
|
-
return {
|
|
48
|
-
address: raw.address || "",
|
|
49
|
-
keyId: raw.keyId || raw.key_id || raw.sid,
|
|
50
|
-
encryptedShare: raw.encryptedShare || raw.encrypted_share || "",
|
|
51
|
-
uid: raw.uid,
|
|
52
|
-
sid: raw.sid,
|
|
53
|
-
wid: raw.wid,
|
|
54
|
-
// Preserve for Bitcoin signing
|
|
55
|
-
pvencstr: raw.pvencstr,
|
|
56
|
-
// Preserve for Bitcoin signing
|
|
57
|
-
encryptDevicePassword: raw.encryptDevicePassword,
|
|
58
|
-
// Preserve for Bitcoin signing
|
|
59
|
-
pubkey: raw.pubkey || null
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
throw createAbcError(
|
|
63
|
-
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
64
|
-
"Failed to generate wallet",
|
|
65
|
-
response
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Get wallet info
|
|
70
|
-
*/
|
|
71
|
-
async getWalletInfo(uid) {
|
|
72
|
-
const response = await this.request(ABC_ENDPOINTS.INFO, {
|
|
73
|
-
method: "POST",
|
|
74
|
-
body: { uid }
|
|
75
|
-
});
|
|
76
|
-
if (response.status === "success") {
|
|
77
|
-
return response.data;
|
|
78
|
-
}
|
|
79
|
-
throw createAbcError(
|
|
80
|
-
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
81
|
-
"Failed to get wallet info",
|
|
82
|
-
response
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Generate or recover Solana wallet (Ed25519)
|
|
87
|
-
*/
|
|
88
|
-
async generateSolanaWallet(pin, _isRecover = false) {
|
|
89
|
-
const url = `\${this.baseURL}/v3/wallet/\${isRecover ? 'recover' : 'generate'}`;
|
|
90
|
-
const response = await fetch(url, {
|
|
91
|
-
method: "POST",
|
|
92
|
-
headers: {
|
|
93
|
-
...DEFAULT_HEADERS,
|
|
94
|
-
...this.accessToken ? { Authorization: "Bearer ${this.accessToken}" } : {}
|
|
95
|
-
},
|
|
96
|
-
body: JSON.stringify({
|
|
97
|
-
curve: "ed25519",
|
|
98
|
-
password: pin
|
|
99
|
-
})
|
|
100
|
-
});
|
|
101
|
-
const data = await response.json();
|
|
102
|
-
if (!response.ok || data.status !== "success") {
|
|
103
|
-
throw createAbcError(
|
|
104
|
-
"WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */,
|
|
105
|
-
"Failed to generate Solana wallet",
|
|
106
|
-
data
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
const result = data.result;
|
|
110
|
-
const solanaNetwork = getSolanaNetwork();
|
|
111
|
-
const addressResult = await this.getSolanaAddress(
|
|
112
|
-
result.public_key,
|
|
113
|
-
solanaNetwork
|
|
114
|
-
);
|
|
115
|
-
return {
|
|
116
|
-
uid: result.uid || "",
|
|
117
|
-
sessionId: result.share_id,
|
|
118
|
-
shareId: result.share_id,
|
|
119
|
-
publicKey: result.public_key,
|
|
120
|
-
address: addressResult,
|
|
121
|
-
keyId: result.key_id || result.share_id,
|
|
122
|
-
encryptedShare: result.encrypted_share || "",
|
|
123
|
-
network: solanaNetwork
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Get Solana address from Ed25519 public key
|
|
128
|
-
*/
|
|
129
|
-
async getSolanaAddress(publicKey, network) {
|
|
130
|
-
const url = "${this.baseURL}/wapi/v2/solana/wallet/getAddress";
|
|
131
|
-
const response = await fetch(url, {
|
|
132
|
-
method: "POST",
|
|
133
|
-
headers: {
|
|
134
|
-
...DEFAULT_HEADERS,
|
|
135
|
-
...this.accessToken ? { Authorization: "Bearer ${this.accessToken}" } : {}
|
|
136
|
-
},
|
|
137
|
-
body: JSON.stringify({
|
|
138
|
-
network,
|
|
139
|
-
publicKey
|
|
140
|
-
})
|
|
141
|
-
});
|
|
142
|
-
const data = await response.json();
|
|
143
|
-
if (!response.ok || data.status !== "success") {
|
|
144
|
-
throw createAbcError(
|
|
145
|
-
"NETWORK_ERROR" /* NETWORK_ERROR */,
|
|
146
|
-
"Failed to get Solana address",
|
|
147
|
-
data
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
return data.result?.data?.address;
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
export {
|
|
155
|
-
WalletApi
|
|
156
|
-
};
|