@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,357 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
secure_default
|
|
4
|
-
} from "./chunk-G2LI5MVX.js";
|
|
5
|
-
import {
|
|
6
|
-
getSolanaNetwork
|
|
7
|
-
} from "./chunk-MK45L6B7.js";
|
|
8
|
-
|
|
9
|
-
// src/wallets/walletConnectors/abcWallet/abcSolProvider.ts
|
|
10
|
-
import { PublicKey } from "@solana/web3.js";
|
|
11
|
-
|
|
12
|
-
// src/utils/encryption.ts
|
|
13
|
-
async function hashPin(pin) {
|
|
14
|
-
const encoder = new TextEncoder();
|
|
15
|
-
const data = encoder.encode(pin);
|
|
16
|
-
const hash = await crypto.subtle.digest("SHA-256", data);
|
|
17
|
-
return Array.from(new Uint8Array(hash)).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// src/wallets/walletConnectors/abcWallet/abcSolProvider.ts
|
|
21
|
-
var AbcSolProvider = class {
|
|
22
|
-
constructor(address, walletData) {
|
|
23
|
-
this.name = "ABC WaaS";
|
|
24
|
-
this.publicKey = null;
|
|
25
|
-
this.walletData = null;
|
|
26
|
-
if (address) {
|
|
27
|
-
this.publicKey = new PublicKey(address);
|
|
28
|
-
}
|
|
29
|
-
if (walletData) {
|
|
30
|
-
this.walletData = walletData;
|
|
31
|
-
} else if (address) {
|
|
32
|
-
this.loadWalletDataFromStorage();
|
|
33
|
-
}
|
|
34
|
-
const baseURL = process.env.NEXT_PUBLIC_ABC_WAAS_URL || "";
|
|
35
|
-
this.secure = new secure_default(baseURL);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Set PIN request callback
|
|
39
|
-
*/
|
|
40
|
-
setRequestPinCallback(callback) {
|
|
41
|
-
this.requestPinCallback = callback;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Request PIN from user via callback or global callback
|
|
45
|
-
*/
|
|
46
|
-
async requestPin() {
|
|
47
|
-
if (this.requestPinCallback) {
|
|
48
|
-
return this.requestPinCallback();
|
|
49
|
-
}
|
|
50
|
-
const globalCallback = window.__TALKENKIT_REQUEST_PIN__;
|
|
51
|
-
if (globalCallback) {
|
|
52
|
-
return globalCallback("transaction");
|
|
53
|
-
}
|
|
54
|
-
throw new Error("PIN request callback not configured");
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Load wallet data from localStorage
|
|
58
|
-
*/
|
|
59
|
-
loadWalletDataFromStorage() {
|
|
60
|
-
try {
|
|
61
|
-
const authState = localStorage.getItem("talkenkit_abc_auth_state");
|
|
62
|
-
if (authState) {
|
|
63
|
-
const parsed = JSON.parse(authState);
|
|
64
|
-
if (parsed.solanaWallet) {
|
|
65
|
-
this.walletData = parsed.solanaWallet;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
} catch (_error) {
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Get wallet data (from internal storage or localStorage)
|
|
73
|
-
*/
|
|
74
|
-
getWalletData() {
|
|
75
|
-
if (this.walletData) {
|
|
76
|
-
return this.walletData;
|
|
77
|
-
}
|
|
78
|
-
const authState = localStorage.getItem("talkenkit_abc_auth_state");
|
|
79
|
-
if (authState) {
|
|
80
|
-
const parsed = JSON.parse(authState);
|
|
81
|
-
if (parsed.solanaWallet) {
|
|
82
|
-
this.walletData = parsed.solanaWallet;
|
|
83
|
-
return this.walletData;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
throw new Error("No Solana wallet data available");
|
|
87
|
-
}
|
|
88
|
-
async signMessage(message, _encoding) {
|
|
89
|
-
const walletData = this.getWalletData();
|
|
90
|
-
const accessToken = localStorage.getItem("talkenkit_abc_access_token");
|
|
91
|
-
if (!accessToken) {
|
|
92
|
-
throw new Error("No ABC WaaS access token");
|
|
93
|
-
}
|
|
94
|
-
const messageStr = new TextDecoder().decode(message);
|
|
95
|
-
const messageHex = Buffer.from(messageStr, "utf8").toString("hex");
|
|
96
|
-
const response = await fetch(
|
|
97
|
-
`${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/v3/wallet/sign`,
|
|
98
|
-
{
|
|
99
|
-
method: "POST",
|
|
100
|
-
headers: {
|
|
101
|
-
Authorization: `Bearer ${accessToken}`,
|
|
102
|
-
"Content-Type": "application/json"
|
|
103
|
-
},
|
|
104
|
-
body: JSON.stringify({ ...walletData, message: messageHex })
|
|
105
|
-
}
|
|
106
|
-
);
|
|
107
|
-
if (!response.ok) {
|
|
108
|
-
const errorText = await response.text();
|
|
109
|
-
throw new Error(`ABC WaaS sign failed: ${errorText}`);
|
|
110
|
-
}
|
|
111
|
-
const result = await response.json();
|
|
112
|
-
const signatureHex = result.signature || result.result?.signature;
|
|
113
|
-
if (!signatureHex) {
|
|
114
|
-
throw new Error("No signature in ABC WaaS response");
|
|
115
|
-
}
|
|
116
|
-
const signatureBytes = new Uint8Array(
|
|
117
|
-
signatureHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
|
|
118
|
-
);
|
|
119
|
-
return { signature: signatureBytes };
|
|
120
|
-
}
|
|
121
|
-
async signTransaction(transaction, params) {
|
|
122
|
-
const walletData = this.getWalletData();
|
|
123
|
-
const accessToken = localStorage.getItem("talkenkit_abc_access_token");
|
|
124
|
-
if (!accessToken) {
|
|
125
|
-
throw new Error("No ABC WaaS access token");
|
|
126
|
-
}
|
|
127
|
-
let toAddress;
|
|
128
|
-
let amount;
|
|
129
|
-
if (params) {
|
|
130
|
-
toAddress = params.toAddress;
|
|
131
|
-
amount = params.amount * 1e9;
|
|
132
|
-
} else {
|
|
133
|
-
const transferInstruction = transaction.instructions[0];
|
|
134
|
-
toAddress = transferInstruction.keys[1]?.pubkey.toString();
|
|
135
|
-
amount = 1e5;
|
|
136
|
-
}
|
|
137
|
-
const solanaNetwork = getSolanaNetwork();
|
|
138
|
-
const requestBody = {
|
|
139
|
-
network: solanaNetwork,
|
|
140
|
-
fromAddress: walletData.address,
|
|
141
|
-
toAddress,
|
|
142
|
-
amount
|
|
143
|
-
};
|
|
144
|
-
const txResponse = await fetch(
|
|
145
|
-
`${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/solana/tx/generateTransferSOLTransaction`,
|
|
146
|
-
{
|
|
147
|
-
method: "POST",
|
|
148
|
-
headers: {
|
|
149
|
-
Authorization: `Bearer ${accessToken}`,
|
|
150
|
-
"Content-Type": "application/json"
|
|
151
|
-
},
|
|
152
|
-
body: JSON.stringify(requestBody)
|
|
153
|
-
}
|
|
154
|
-
);
|
|
155
|
-
if (!txResponse.ok) {
|
|
156
|
-
const errorText = await txResponse.text();
|
|
157
|
-
console.error("[AbcSolProvider] \u274C API error:", errorText);
|
|
158
|
-
throw new Error(
|
|
159
|
-
`Transaction generation failed (${txResponse.status}): ${errorText}`
|
|
160
|
-
);
|
|
161
|
-
}
|
|
162
|
-
const txData = await txResponse.json();
|
|
163
|
-
const serializedTxHex = txData.result?.data?.serialized_tx || txData.data?.serialized_tx;
|
|
164
|
-
if (!serializedTxHex) {
|
|
165
|
-
console.error(
|
|
166
|
-
"[AbcSolProvider] \u274C No serialized_tx in response:",
|
|
167
|
-
txData
|
|
168
|
-
);
|
|
169
|
-
throw new Error("No serialized transaction in response");
|
|
170
|
-
}
|
|
171
|
-
const signResponse = await fetch(
|
|
172
|
-
`${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/v3/wallet/sign`,
|
|
173
|
-
{
|
|
174
|
-
method: "POST",
|
|
175
|
-
headers: {
|
|
176
|
-
Authorization: `Bearer ${accessToken}`,
|
|
177
|
-
"Content-Type": "application/json"
|
|
178
|
-
},
|
|
179
|
-
body: JSON.stringify({
|
|
180
|
-
...walletData,
|
|
181
|
-
message: serializedTxHex
|
|
182
|
-
})
|
|
183
|
-
}
|
|
184
|
-
);
|
|
185
|
-
if (!signResponse.ok) {
|
|
186
|
-
const errorText = await signResponse.text();
|
|
187
|
-
console.error("[AbcSolProvider] \u274C Sign API error:", errorText);
|
|
188
|
-
throw new Error(`Sign failed: ${errorText}`);
|
|
189
|
-
}
|
|
190
|
-
const signResult = await signResponse.json();
|
|
191
|
-
const signatureHex = signResult.signature || signResult.result?.signature;
|
|
192
|
-
if (!signatureHex) {
|
|
193
|
-
console.error(
|
|
194
|
-
"[AbcSolProvider] \u274C No signature in response:",
|
|
195
|
-
signResult
|
|
196
|
-
);
|
|
197
|
-
throw new Error("No signature in ABC WaaS response");
|
|
198
|
-
}
|
|
199
|
-
const signatureBytes = new Uint8Array(
|
|
200
|
-
signatureHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
|
|
201
|
-
);
|
|
202
|
-
const mockTransaction = transaction;
|
|
203
|
-
mockTransaction.signatures = [
|
|
204
|
-
{
|
|
205
|
-
signature: Buffer.from(signatureBytes),
|
|
206
|
-
publicKey: this.publicKey
|
|
207
|
-
}
|
|
208
|
-
];
|
|
209
|
-
const serializedTxBytes = new Uint8Array(
|
|
210
|
-
serializedTxHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []
|
|
211
|
-
);
|
|
212
|
-
const serializedTxBase64 = Buffer.from(serializedTxBytes).toString("base64");
|
|
213
|
-
mockTransaction._abcSerializedTx = serializedTxBase64;
|
|
214
|
-
return mockTransaction;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Send (broadcast) signed Solana transaction to network
|
|
218
|
-
* - Transaction generation: v2 API (application/json)
|
|
219
|
-
* - Transaction signing: v3 API (Ed25519 MPC)
|
|
220
|
-
* - Transaction broadcast: v2 API
|
|
221
|
-
*/
|
|
222
|
-
async sendTransaction(params) {
|
|
223
|
-
const walletData = this.getWalletData();
|
|
224
|
-
const accessToken = localStorage.getItem("talkenkit_abc_access_token");
|
|
225
|
-
if (!accessToken) {
|
|
226
|
-
throw new Error("No ABC WaaS access token");
|
|
227
|
-
}
|
|
228
|
-
const pin = await this.requestPin();
|
|
229
|
-
const STORAGE_PREFIX = "talkenkit_abc_";
|
|
230
|
-
const storedPinHash = localStorage.getItem(`${STORAGE_PREFIX}pin_hash`);
|
|
231
|
-
if (!storedPinHash) {
|
|
232
|
-
throw new Error("PIN not set. Please login again.");
|
|
233
|
-
}
|
|
234
|
-
const enteredPinHash = await hashPin(pin);
|
|
235
|
-
if (enteredPinHash !== storedPinHash) {
|
|
236
|
-
throw new Error("Incorrect PIN. Transaction cancelled.");
|
|
237
|
-
}
|
|
238
|
-
const solanaNetwork = getSolanaNetwork();
|
|
239
|
-
const generateBody = {
|
|
240
|
-
network: solanaNetwork,
|
|
241
|
-
fromAddress: walletData.address,
|
|
242
|
-
toAddress: params.toAddress,
|
|
243
|
-
amount: params.amount * 1e9,
|
|
244
|
-
// Convert SOL to lamports
|
|
245
|
-
feePayerAddress: walletData.address
|
|
246
|
-
// Fee payer is the sender
|
|
247
|
-
};
|
|
248
|
-
const generateResponse = await fetch(
|
|
249
|
-
`${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/solana/tx/generateTransferSOLTransaction`,
|
|
250
|
-
{
|
|
251
|
-
method: "POST",
|
|
252
|
-
headers: {
|
|
253
|
-
Authorization: `Bearer ${accessToken}`,
|
|
254
|
-
"Content-Type": "application/json"
|
|
255
|
-
},
|
|
256
|
-
body: JSON.stringify(generateBody)
|
|
257
|
-
}
|
|
258
|
-
);
|
|
259
|
-
if (!generateResponse.ok) {
|
|
260
|
-
const errorText = await generateResponse.text();
|
|
261
|
-
console.error("[AbcSolProvider] \u274C Generate TX error:", errorText);
|
|
262
|
-
throw new Error(`Transaction generation failed: ${errorText}`);
|
|
263
|
-
}
|
|
264
|
-
const txData = await generateResponse.json();
|
|
265
|
-
const serializedTxHex = txData.result?.data?.serialized_tx || txData.data?.serialized_tx || txData.result?.serialized_tx || txData.serialized_tx || txData.result?.data?.serializedTX || txData.data?.serializedTX;
|
|
266
|
-
if (!serializedTxHex) {
|
|
267
|
-
console.error(
|
|
268
|
-
"[AbcSolProvider] \u274C Cannot find serialized_tx in response:",
|
|
269
|
-
{
|
|
270
|
-
hasResult: !!txData.result,
|
|
271
|
-
hasData: !!txData.data,
|
|
272
|
-
hasResultData: !!txData.result?.data,
|
|
273
|
-
resultKeys: txData.result ? Object.keys(txData.result) : [],
|
|
274
|
-
dataKeys: txData.data ? Object.keys(txData.data) : [],
|
|
275
|
-
topLevelKeys: Object.keys(txData),
|
|
276
|
-
fullResponse: txData
|
|
277
|
-
}
|
|
278
|
-
);
|
|
279
|
-
throw new Error("No serialized transaction in response");
|
|
280
|
-
}
|
|
281
|
-
const signBody = {
|
|
282
|
-
curve: "ed25519",
|
|
283
|
-
key_id: walletData.key_id,
|
|
284
|
-
encrypted_share: walletData.encrypted_share,
|
|
285
|
-
secret_store: walletData.secret_store || "",
|
|
286
|
-
message: serializedTxHex
|
|
287
|
-
};
|
|
288
|
-
const signResponse = await fetch(
|
|
289
|
-
`${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/v3/wallet/sign`,
|
|
290
|
-
{
|
|
291
|
-
method: "POST",
|
|
292
|
-
headers: {
|
|
293
|
-
Authorization: `Bearer ${accessToken}`,
|
|
294
|
-
"Content-Type": "application/json"
|
|
295
|
-
},
|
|
296
|
-
body: JSON.stringify(signBody)
|
|
297
|
-
}
|
|
298
|
-
);
|
|
299
|
-
if (!signResponse.ok) {
|
|
300
|
-
const errorText = await signResponse.text();
|
|
301
|
-
console.error("[AbcSolProvider] \u274C Sign error:", errorText);
|
|
302
|
-
throw new Error(`Sign failed: ${errorText}`);
|
|
303
|
-
}
|
|
304
|
-
const signResult = await signResponse.json();
|
|
305
|
-
const signatureHex = signResult.signature || signResult.result?.signature || signResult.data?.signature;
|
|
306
|
-
if (!signatureHex) {
|
|
307
|
-
console.error(
|
|
308
|
-
"[AbcSolProvider] \u274C No signature in response:",
|
|
309
|
-
signResult
|
|
310
|
-
);
|
|
311
|
-
throw new Error("No signature in ABC WaaS response");
|
|
312
|
-
}
|
|
313
|
-
const sendResponse = await fetch(
|
|
314
|
-
`${process.env.NEXT_PUBLIC_ABC_WAAS_URL}/wapi/v2/solana/tx/sendTransaction`,
|
|
315
|
-
{
|
|
316
|
-
method: "POST",
|
|
317
|
-
headers: {
|
|
318
|
-
Authorization: `Bearer ${accessToken}`,
|
|
319
|
-
"Content-Type": "application/json"
|
|
320
|
-
},
|
|
321
|
-
body: JSON.stringify({
|
|
322
|
-
network: solanaNetwork,
|
|
323
|
-
serializedTX: serializedTxHex,
|
|
324
|
-
signatures: [signatureHex]
|
|
325
|
-
})
|
|
326
|
-
}
|
|
327
|
-
);
|
|
328
|
-
if (!sendResponse.ok) {
|
|
329
|
-
const errorText = await sendResponse.text();
|
|
330
|
-
console.error("[AbcSolProvider] \u274C Broadcast error:", {
|
|
331
|
-
status: sendResponse.status,
|
|
332
|
-
statusText: sendResponse.statusText,
|
|
333
|
-
error: errorText
|
|
334
|
-
});
|
|
335
|
-
try {
|
|
336
|
-
const errorData = JSON.parse(errorText);
|
|
337
|
-
if (errorData.message?.includes("insufficient") || errorData.message?.includes("InsufficientFunds")) {
|
|
338
|
-
throw new Error("Insufficient SOL balance to send transaction");
|
|
339
|
-
}
|
|
340
|
-
} catch (_parseError) {
|
|
341
|
-
}
|
|
342
|
-
throw new Error(
|
|
343
|
-
`Transaction broadcast failed (${sendResponse.status}): ${errorText}`
|
|
344
|
-
);
|
|
345
|
-
}
|
|
346
|
-
const sendResult = await sendResponse.json();
|
|
347
|
-
const txHash = sendResult.result?.data || sendResult.data || sendResult.txHash;
|
|
348
|
-
return {
|
|
349
|
-
signature: signatureHex,
|
|
350
|
-
txHash: txHash || signatureHex
|
|
351
|
-
};
|
|
352
|
-
}
|
|
353
|
-
};
|
|
354
|
-
|
|
355
|
-
export {
|
|
356
|
-
AbcSolProvider
|
|
357
|
-
};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
TransactionApi
|
|
4
|
-
} from "./chunk-ISAMATTH.js";
|
|
5
|
-
import {
|
|
6
|
-
SolanaApi
|
|
7
|
-
} from "./chunk-SGLHM6AU.js";
|
|
8
|
-
import {
|
|
9
|
-
AuthApi
|
|
10
|
-
} from "./chunk-YEHCPL4R.js";
|
|
11
|
-
import {
|
|
12
|
-
BitcoinApi
|
|
13
|
-
} from "./chunk-QKUFFUM5.js";
|
|
14
|
-
import {
|
|
15
|
-
SigningApi
|
|
16
|
-
} from "./chunk-V3XKL7AD.js";
|
|
17
|
-
import {
|
|
18
|
-
WalletApi
|
|
19
|
-
} from "./chunk-F5Q4VDER.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,63 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
WalletApi
|
|
4
|
-
} from "./chunk-DHVD2NUK.js";
|
|
5
|
-
import {
|
|
6
|
-
BitcoinApi
|
|
7
|
-
} from "./chunk-QKUFFUM5.js";
|
|
8
|
-
import {
|
|
9
|
-
AuthApi
|
|
10
|
-
} from "./chunk-YEHCPL4R.js";
|
|
11
|
-
import {
|
|
12
|
-
SigningApi
|
|
13
|
-
} from "./chunk-V3XKL7AD.js";
|
|
14
|
-
import {
|
|
15
|
-
SolanaApi
|
|
16
|
-
} from "./chunk-JXPLBYVW.js";
|
|
17
|
-
import {
|
|
18
|
-
TransactionApi
|
|
19
|
-
} from "./chunk-ISAMATTH.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,63 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
TransactionApi
|
|
4
|
-
} from "./chunk-HDYBRMYW.js";
|
|
5
|
-
import {
|
|
6
|
-
SigningApi
|
|
7
|
-
} from "./chunk-TUUNSVKZ.js";
|
|
8
|
-
import {
|
|
9
|
-
AuthApi
|
|
10
|
-
} from "./chunk-RLBGBBIO.js";
|
|
11
|
-
import {
|
|
12
|
-
SolanaApi
|
|
13
|
-
} from "./chunk-43LPUTHW.js";
|
|
14
|
-
import {
|
|
15
|
-
BitcoinApi
|
|
16
|
-
} from "./chunk-IA4EQFSS.js";
|
|
17
|
-
import {
|
|
18
|
-
WalletApi
|
|
19
|
-
} from "./chunk-6KO5WQ5C.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
|
-
};
|