@talken/talkenkit 2.3.14 → 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 +21 -21
- 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-KEV4GPRY.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
package/LICENSE
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Rainbow
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/wallets/walletConnectors/abcWallet/secure.ts
|
|
4
|
+
import CryptoJS from "crypto-js";
|
|
5
|
+
import elliptic from "elliptic";
|
|
6
|
+
|
|
7
|
+
// src/wallets/walletConnectors/abcWallet/constants.ts
|
|
8
|
+
var DEFAULT_ABC_CONFIG = {
|
|
9
|
+
environment: "development",
|
|
10
|
+
waasUrl: process.env.VITE_ABC_WAAS_URL || "https://api.abcwallet.com"
|
|
11
|
+
};
|
|
12
|
+
var TOKEN_EXPIRY = {
|
|
13
|
+
ACCESS_TOKEN: 10 * 60 * 1e3,
|
|
14
|
+
// 10 minutes
|
|
15
|
+
REFRESH_TOKEN: 60 * 60 * 1e3,
|
|
16
|
+
// 60 minutes
|
|
17
|
+
REFRESH_BUFFER: 60 * 1e3
|
|
18
|
+
// Refresh 60s before expiry (increased for network latency tolerance)
|
|
19
|
+
};
|
|
20
|
+
var ABC_ENDPOINTS = {
|
|
21
|
+
// Authentication
|
|
22
|
+
SNS_LOGIN: "/abc/snsLogin",
|
|
23
|
+
// Legacy - may need to update
|
|
24
|
+
REGISTER_SNS_USER: "/abc/registerSnsUser",
|
|
25
|
+
// Legacy - may need to update
|
|
26
|
+
// Secure channel
|
|
27
|
+
SECURE_CHANNEL_CREATE: "/secure/channel/create",
|
|
28
|
+
// Email OTP
|
|
29
|
+
SEND_OTP: "/member/mail-service/{email}/sendcode",
|
|
30
|
+
// {email} placeholder
|
|
31
|
+
VERIFY_OTP: "/member/mail-service/{email}/verifycode",
|
|
32
|
+
// {email} placeholder
|
|
33
|
+
// Wallet operations (EVM)
|
|
34
|
+
// Based on tg-wallet-frontend reference
|
|
35
|
+
MPC_WALLETS: "/wapi/v2/mpc/wallets",
|
|
36
|
+
// EVM wallet generation/recovery
|
|
37
|
+
MPC_WALLETS_INFO: "/wapi/v2/mpc/wallets/info",
|
|
38
|
+
// Get wallet info
|
|
39
|
+
// Signing operations
|
|
40
|
+
// Based on tg-wallet-frontend reference implementation
|
|
41
|
+
SIGN_HASH: "/wapi/v2/sign/hash",
|
|
42
|
+
// Personal sign with hash (EIP-191)
|
|
43
|
+
SIGN_TYPED: "/wapi/v2/sign/typed-data",
|
|
44
|
+
// Typed data sign (EIP-712)
|
|
45
|
+
SIGN_TRANSACTION: "/wapi/v2/sign",
|
|
46
|
+
// EVM transaction sign (LEGACY, EIP1559, PERSONAL)
|
|
47
|
+
// Transaction operations
|
|
48
|
+
SEND_RAW_TX: "/wapi/v2/transactions/raw-tx/send",
|
|
49
|
+
// Send signed transaction
|
|
50
|
+
TRANSACTION_COUNT: "/wapi/v2/transactions/count",
|
|
51
|
+
// Get transaction count (nonce)
|
|
52
|
+
// Gas estimation and fee data
|
|
53
|
+
GAS_SUGGESTED_FEES: "/wapi/v2/gas/suggestedGasFees",
|
|
54
|
+
// Get suggested gas fees for EIP-1559
|
|
55
|
+
GAS_ESTIMATE_EIP1559: "/wapi/v2/gas/estimate/eip1559",
|
|
56
|
+
// Estimate gas limit for EIP-1559
|
|
57
|
+
// Token info
|
|
58
|
+
WALLET_TOKENS: "/wapi/v2/walletscan/tokens",
|
|
59
|
+
// Token refresh (based on tg-wallet-frontend reference)
|
|
60
|
+
REFRESH_TOKEN: "/abc/abcRefresh",
|
|
61
|
+
// Token refresh endpoint
|
|
62
|
+
// Legacy endpoints (kept for compatibility)
|
|
63
|
+
WALLETS_V3: "/abc/wallets/v3",
|
|
64
|
+
// Solana only
|
|
65
|
+
INFO: "/abc/info"
|
|
66
|
+
};
|
|
67
|
+
var AUTH_PROVIDERS = {
|
|
68
|
+
EMAIL: "email",
|
|
69
|
+
GOOGLE: "google",
|
|
70
|
+
APPLE: "apple",
|
|
71
|
+
TELEGRAM: "telegram",
|
|
72
|
+
TWITTER: "twitter"
|
|
73
|
+
};
|
|
74
|
+
var ABC_AUDIENCE = "https://mw.myabcwallet.com";
|
|
75
|
+
var PIN_CONFIG = {
|
|
76
|
+
MIN_LENGTH: 6,
|
|
77
|
+
MAX_LENGTH: 6,
|
|
78
|
+
MAX_ATTEMPTS: 5,
|
|
79
|
+
LOCKOUT_DURATION: 15 * 60 * 1e3
|
|
80
|
+
// 15 minutes
|
|
81
|
+
};
|
|
82
|
+
var REQUEST_TIMEOUT = 3e4;
|
|
83
|
+
var SOCIAL_BUTTONS = [
|
|
84
|
+
{
|
|
85
|
+
provider: AUTH_PROVIDERS.GOOGLE,
|
|
86
|
+
label: "Google",
|
|
87
|
+
iconName: "google"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
provider: AUTH_PROVIDERS.APPLE,
|
|
91
|
+
label: "Apple",
|
|
92
|
+
iconName: "apple"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
provider: AUTH_PROVIDERS.TELEGRAM,
|
|
96
|
+
label: "Telegram",
|
|
97
|
+
iconName: "telegram"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
provider: AUTH_PROVIDERS.TWITTER,
|
|
101
|
+
label: "X (Twitter)",
|
|
102
|
+
iconName: "twitter"
|
|
103
|
+
}
|
|
104
|
+
];
|
|
105
|
+
var STORAGE_PREFIX = "talkenkit_abc_";
|
|
106
|
+
var DEFAULT_HEADERS = {
|
|
107
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
108
|
+
Accept: "application/json"
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
// src/wallets/walletConnectors/abcWallet/secure.ts
|
|
112
|
+
var EC = elliptic.ec;
|
|
113
|
+
var SecureService = class {
|
|
114
|
+
constructor(baseURL) {
|
|
115
|
+
this.secureChannel = null;
|
|
116
|
+
this.channelExpiry = 0;
|
|
117
|
+
this.baseURL = baseURL;
|
|
118
|
+
}
|
|
119
|
+
async getSecureChannel() {
|
|
120
|
+
if (this.secureChannel && Date.now() < this.channelExpiry) {
|
|
121
|
+
return this.secureChannel;
|
|
122
|
+
}
|
|
123
|
+
const result = {};
|
|
124
|
+
const plain = Array.from(crypto.getRandomValues(new Uint8Array(32))).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
125
|
+
const ec = new EC("p256");
|
|
126
|
+
const myKey = ec.genKeyPair();
|
|
127
|
+
const pubkey = myKey.getPublic().encode("hex", false);
|
|
128
|
+
const url = `${this.baseURL}${ABC_ENDPOINTS.SECURE_CHANNEL_CREATE}`;
|
|
129
|
+
const bodyString = new URLSearchParams({ pubkey, plain }).toString();
|
|
130
|
+
console.log("[SecureChannel] Creating secure channel:", url);
|
|
131
|
+
const response = await fetch(url, {
|
|
132
|
+
method: "POST",
|
|
133
|
+
headers: {
|
|
134
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
135
|
+
},
|
|
136
|
+
body: bodyString
|
|
137
|
+
});
|
|
138
|
+
if (!response.ok) {
|
|
139
|
+
const errorText = await response.text();
|
|
140
|
+
console.error(
|
|
141
|
+
`\u274C Secure channel HTTP error: ${response.status} ${response.statusText}`
|
|
142
|
+
);
|
|
143
|
+
console.error("Response body:", errorText);
|
|
144
|
+
throw new Error(
|
|
145
|
+
`Failed to create secure channel: HTTP ${response.status} - ${errorText}`
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
const res = await response.json();
|
|
149
|
+
console.log("[SecureChannel] API Response:", res);
|
|
150
|
+
const resData = res;
|
|
151
|
+
if (resData.channelid && resData.publickey) {
|
|
152
|
+
const serverKey = ec.keyFromPublic(resData.publickey, "hex");
|
|
153
|
+
const sharedSecret = serverKey.getPublic().mul(myKey.getPrivate()).getX();
|
|
154
|
+
const secretKey = sharedSecret.toString(16).padStart(64, "0");
|
|
155
|
+
result.response = resData;
|
|
156
|
+
result.myKey = myKey;
|
|
157
|
+
result.secretKey = secretKey;
|
|
158
|
+
this.secureChannel = result;
|
|
159
|
+
this.channelExpiry = Date.now() + 20 * 60 * 1e3;
|
|
160
|
+
} else if (res.status === "success" && res.result) {
|
|
161
|
+
const result_data = res.result;
|
|
162
|
+
const serverKey = ec.keyFromPublic(result_data.publickey, "hex");
|
|
163
|
+
const sharedSecret = serverKey.getPublic().mul(myKey.getPrivate()).getX();
|
|
164
|
+
const secretKey = sharedSecret.toString(16).padStart(64, "0");
|
|
165
|
+
result.response = result_data;
|
|
166
|
+
result.myKey = myKey;
|
|
167
|
+
result.secretKey = secretKey;
|
|
168
|
+
this.secureChannel = result;
|
|
169
|
+
this.channelExpiry = Date.now() + 20 * 60 * 1e3;
|
|
170
|
+
console.log("\u2705 Secure channel created successfully (wrapped format)");
|
|
171
|
+
} else {
|
|
172
|
+
const errorMsg = res.message || res.detail || "Unknown error";
|
|
173
|
+
console.error("\u274C Failed to create secure channel:", res);
|
|
174
|
+
throw new Error(`Failed to create secure channel: ${errorMsg}`);
|
|
175
|
+
}
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
178
|
+
async encrypt(plain) {
|
|
179
|
+
const secureChannel = await this.getSecureChannel();
|
|
180
|
+
if (!secureChannel.secretKey || !secureChannel.response) {
|
|
181
|
+
throw new Error("Secure channel not established");
|
|
182
|
+
}
|
|
183
|
+
const secretKey = secureChannel.secretKey;
|
|
184
|
+
const key = secretKey.substring(0, 32);
|
|
185
|
+
const iv = secretKey.substring(32);
|
|
186
|
+
const encrypted = CryptoJS.AES.encrypt(plain, CryptoJS.enc.Hex.parse(key), {
|
|
187
|
+
iv: CryptoJS.enc.Hex.parse(iv),
|
|
188
|
+
padding: CryptoJS.pad.Pkcs7,
|
|
189
|
+
mode: CryptoJS.mode.CBC
|
|
190
|
+
});
|
|
191
|
+
return {
|
|
192
|
+
encryptPlain: encrypted.toString(),
|
|
193
|
+
secureChannel: secureChannel.response.channelid
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
async getSecureChannelId() {
|
|
197
|
+
const channel = await this.getSecureChannel();
|
|
198
|
+
if (!channel.response?.channelid) {
|
|
199
|
+
throw new Error("Secure channel not established");
|
|
200
|
+
}
|
|
201
|
+
return channel.response.channelid;
|
|
202
|
+
}
|
|
203
|
+
async getEncryptPlain(plain) {
|
|
204
|
+
const result = await this.encrypt(plain);
|
|
205
|
+
return result.encryptPlain;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Clear cached secure channel (for testing or reset)
|
|
209
|
+
*/
|
|
210
|
+
clearCache() {
|
|
211
|
+
this.secureChannel = null;
|
|
212
|
+
this.channelExpiry = 0;
|
|
213
|
+
console.log("\u{1F504} Secure channel cache cleared");
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
var secure_default = SecureService;
|
|
217
|
+
|
|
218
|
+
export {
|
|
219
|
+
TOKEN_EXPIRY,
|
|
220
|
+
ABC_ENDPOINTS,
|
|
221
|
+
ABC_AUDIENCE,
|
|
222
|
+
REQUEST_TIMEOUT,
|
|
223
|
+
STORAGE_PREFIX,
|
|
224
|
+
DEFAULT_HEADERS,
|
|
225
|
+
secure_default
|
|
226
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export { PinProvider, usePin } from './components/AbcAuth/PinProvider';
|
|
|
52
52
|
export { getSecureChannel, encryptPlain, decrypt, getSecureChannelId, clearSecureChannel, } from './utils/secureChannel';
|
|
53
53
|
export { createLogger, configureLogger, getLoggerConfig, Logger, } from './utils/logger';
|
|
54
54
|
export { AbcWaasApiClient, createAbcWaasApiClient, AuthApi, WalletApi, TransactionApi, SigningApi, SolanaApi, BaseApiClient, } from './wallets/walletConnectors/abcWallet/api';
|
|
55
|
+
export { AbcSolanaNetwork, AbcBitcoinNetwork, getEvmNetwork, getSolanaNetwork, getBitcoinNetwork, } from './wallets/walletConnectors/abcWallet';
|
|
55
56
|
export { NETWORK_CONFIGS, NETWORK_BY_PARAM, NetworkType, getNetworkByChainId, getNetworkByParam, chainIdToNetwork, networkToChainId, getExplorerTxUrl, getExplorerAddressUrl, isEvmNetwork, isTestnet, getSupportedChainIds, getSupportedNetworks, } from './config/networks';
|
|
56
57
|
export type { NetworkConfig } from './config/networks';
|
|
57
58
|
export { wagmiToAbcWaas, abcWaasToWagmi, } from './utils/abcWaasAdapter';
|