@talken/talkenkit 2.4.23 → 2.4.24
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/dist/AbcCredentialManager-E723A55X.js +7 -0
- package/dist/AbcCredentialManager-GUV5JQ2V.js +7 -0
- package/dist/AbcCredentialManager-Z7GDJHYR.js +7 -0
- package/dist/abcWallet-3PWHJXWR.js +181 -0
- package/dist/abcWallet-3XPV7ATY.js +185 -0
- package/dist/abcWallet-3XSSUDLJ.js +155 -0
- package/dist/abcWallet-53HAU4MH.js +155 -0
- package/dist/abcWallet-5B2YHZGY.js +155 -0
- package/dist/abcWallet-664AHBNM.js +183 -0
- package/dist/abcWallet-BV7HK3OX.js +181 -0
- package/dist/abcWallet-CRKQ3O6J.js +155 -0
- package/dist/abcWallet-H4JOSC4N.js +155 -0
- package/dist/abcWallet-HM7KZIMP.js +155 -0
- package/dist/abcWallet-I5DVALAS.js +155 -0
- package/dist/abcWallet-IF3EOKHC.js +183 -0
- package/dist/abcWallet-IUG22ZE3.js +155 -0
- package/dist/abcWallet-IYC3CKEO.js +155 -0
- package/dist/abcWallet-JE6UR4QF.js +181 -0
- package/dist/abcWallet-KPKVEGNP.js +185 -0
- package/dist/abcWallet-MZAL5NXP.js +181 -0
- package/dist/abcWallet-N2UADRNR.js +155 -0
- package/dist/abcWallet-OGHORNUW.js +181 -0
- package/dist/abcWallet-QSK6VJFU.js +181 -0
- package/dist/abcWallet-RKT3W3FX.js +155 -0
- package/dist/abcWallet-VHXTAARP.js +155 -0
- package/dist/abcWallet-YFYTW2JH.js +155 -0
- package/dist/abcWallet-ZPVQY4XE.js +155 -0
- package/dist/chunk-3VPMUBCL.js +5196 -0
- package/dist/chunk-5SDWPKKX.js +5322 -0
- package/dist/chunk-6RBGFYAF.js +5076 -0
- package/dist/chunk-7L2ANWBB.js +5139 -0
- package/dist/chunk-7VIEAJAM.js +5172 -0
- package/dist/chunk-BY6GTSWI.js +5059 -0
- package/dist/chunk-DWE3CZEL.js +5171 -0
- package/dist/chunk-J6P2IT7Z.js +5465 -0
- package/dist/chunk-JIRBQUIB.js +5348 -0
- package/dist/chunk-K6CLOFGV.js +5129 -0
- package/dist/chunk-KYTIQ23P.js +5390 -0
- package/dist/chunk-MARFD3QV.js +5164 -0
- package/dist/chunk-MRRWKS2W.js +348 -0
- package/dist/chunk-PILL2YTG.js +5075 -0
- package/dist/chunk-QW7D53VM.js +5129 -0
- package/dist/chunk-RAWLCGOW.js +5058 -0
- package/dist/chunk-SHUPSYR2.js +5004 -0
- package/dist/chunk-UIGQOSRS.js +5174 -0
- package/dist/chunk-UINIIZCG.js +5098 -0
- package/dist/chunk-VOQSYTG3.js +5419 -0
- package/dist/chunk-VT5Q2XKZ.js +5193 -0
- package/dist/chunk-VXQYKPGQ.js +5476 -0
- package/dist/chunk-VYLJNEKY.js +5129 -0
- package/dist/chunk-X24B5DJR.js +323 -0
- package/dist/chunk-X3C73JWU.js +5370 -0
- package/dist/chunk-XIDK5P36.js +288 -0
- package/dist/chunk-ZHRI7SGC.js +5359 -0
- package/dist/components/ConnectOptions/AbcWaasAuth/AbcWaasAuthFlow.d.ts +1 -2
- package/dist/components/RainbowKitProvider/InternalPinProvider.d.ts +1 -1
- package/dist/contexts/MultiChainContext.d.ts +2 -2
- package/dist/hooks/internal/abcEmbeddedWallet.d.ts +26 -0
- package/dist/hooks/useSolanaWallet.d.ts +4 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10379 -10417
- package/dist/providers/AbcAuthProvider.d.ts +3 -1
- package/dist/utils/encryption.d.ts +0 -4
- package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.d.ts +49 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcCredentialManager.js +8 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.d.ts +4 -0
- package/dist/wallets/walletConnectors/abcWallet/AbcEvmAutoConnector.js +12 -15
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +2 -0
- package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +6 -5
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +25 -1
- package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +4 -3
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +12 -7
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +3 -2
- package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +3 -1
- package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -6
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +1 -0
- package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +3 -2
- package/dist/wallets/walletConnectors/abcWallet/api/index.js +6 -5
- package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.d.ts +3 -0
- package/dist/wallets/walletConnectors/abcWallet/backfillMissingWallets.js +16 -0
- package/dist/wallets/walletConnectors/abcWallet/index.d.ts +2 -1
- package/dist/wallets/walletConnectors/abcWallet/index.js +22 -48
- package/dist/wallets/walletConnectors/abcWallet/sessionUtils.js +2 -1
- package/dist/wallets/walletConnectors/abcWallet/types.d.ts +6 -9
- package/dist/wallets/walletConnectors/abcWallet/types.js +1 -1
- package/dist/wallets/walletConnectors/abcWallet/utils.d.ts +0 -83
- package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -40
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.d.ts +9 -3
- package/dist/wallets/walletConnectors/abcWallet/walletGeneration.js +5 -2
- package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
- package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
- package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
- package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
- package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
- package/dist/wallets/walletConnectors/chunk-2XX4LJSQ.js +1387 -0
- package/dist/wallets/walletConnectors/chunk-3BUGPUMD.js +151 -0
- package/dist/wallets/walletConnectors/chunk-3H7YKUJZ.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-3OWQ6MEU.js +54 -0
- package/dist/wallets/walletConnectors/chunk-3VDYWOS4.js +300 -0
- package/dist/wallets/walletConnectors/chunk-3XOXT4AM.js +314 -0
- package/dist/wallets/walletConnectors/chunk-42D2UPKR.js +439 -0
- package/dist/wallets/walletConnectors/chunk-42MF6LUP.js +563 -0
- package/dist/wallets/walletConnectors/chunk-4LIJB776.js +273 -0
- package/dist/wallets/walletConnectors/chunk-4P3SPC44.js +51 -0
- package/dist/wallets/walletConnectors/chunk-4RZVAQQ4.js +574 -0
- package/dist/wallets/walletConnectors/chunk-53UTBIKF.js +209 -0
- package/dist/wallets/walletConnectors/chunk-54KVT46V.js +1477 -0
- package/dist/wallets/walletConnectors/chunk-5UBUX5BT.js +440 -0
- package/dist/wallets/walletConnectors/chunk-5ZBV5WE2.js +94 -0
- package/dist/wallets/walletConnectors/chunk-6EUOVOQK.js +151 -0
- package/dist/wallets/walletConnectors/chunk-6YUJPIJ5.js +351 -0
- package/dist/wallets/walletConnectors/chunk-77YYMCMD.js +273 -0
- package/dist/wallets/walletConnectors/chunk-7EQNUYV2.js +482 -0
- package/dist/wallets/walletConnectors/chunk-7K77YGQN.js +54 -0
- package/dist/wallets/walletConnectors/chunk-7MMVOEZF.js +393 -0
- package/dist/wallets/walletConnectors/chunk-7RDMH4SD.js +54 -0
- package/dist/wallets/walletConnectors/chunk-7S4N4DRT.js +306 -0
- package/dist/wallets/walletConnectors/chunk-7SWRH3EI.js +96 -0
- package/dist/wallets/walletConnectors/chunk-A3OJZTDV.js +54 -0
- package/dist/wallets/walletConnectors/chunk-AJBRO3VA.js +300 -0
- package/dist/wallets/walletConnectors/chunk-BKVGLYLI.js +194 -0
- package/dist/wallets/walletConnectors/chunk-C3FPON5L.js +213 -0
- package/dist/wallets/walletConnectors/chunk-CBIDNYV4.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-DD6KK4BR.js +54 -0
- package/dist/wallets/walletConnectors/chunk-DSNVWCPD.js +131 -0
- package/dist/wallets/walletConnectors/chunk-DULGAYBU.js +785 -0
- package/dist/wallets/walletConnectors/chunk-DZUXOGSA.js +54 -0
- package/dist/wallets/walletConnectors/chunk-EVJIFLSY.js +93 -0
- package/dist/wallets/walletConnectors/chunk-EVW3ZB3Q.js +386 -0
- package/dist/wallets/walletConnectors/chunk-F2UWSAMX.js +54 -0
- package/dist/wallets/walletConnectors/chunk-FBVPR472.js +314 -0
- package/dist/wallets/walletConnectors/chunk-FKS2YLVW.js +273 -0
- package/dist/wallets/walletConnectors/chunk-FOGNJZPY.js +54 -0
- package/dist/wallets/walletConnectors/chunk-FSSV6JY3.js +54 -0
- package/dist/wallets/walletConnectors/chunk-GFLJ2MAG.js +54 -0
- package/dist/wallets/walletConnectors/chunk-GGPJJ6KS.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-GMAYKJEI.js +508 -0
- package/dist/wallets/walletConnectors/chunk-H3OWNM73.js +300 -0
- package/dist/wallets/walletConnectors/chunk-INT6LGH7.js +180 -0
- package/dist/wallets/walletConnectors/chunk-ITZ42A33.js +273 -0
- package/dist/wallets/walletConnectors/chunk-J4IF6BFF.js +300 -0
- package/dist/wallets/walletConnectors/chunk-JAMJLNYQ.js +54 -0
- package/dist/wallets/walletConnectors/chunk-JDJUIRGF.js +439 -0
- package/dist/wallets/walletConnectors/chunk-JEWCPQJZ.js +300 -0
- package/dist/wallets/walletConnectors/chunk-JK7LJ4B6.js +1407 -0
- package/dist/wallets/walletConnectors/chunk-JPOSJU2D.js +594 -0
- package/dist/wallets/walletConnectors/chunk-JUFEPIO4.js +1479 -0
- package/dist/wallets/walletConnectors/chunk-JV4IC5Z7.js +54 -0
- package/dist/wallets/walletConnectors/chunk-MP3WVXPS.js +273 -0
- package/dist/wallets/walletConnectors/chunk-MTC2HJPF.js +96 -0
- package/dist/wallets/walletConnectors/chunk-MTJF3SVB.js +1487 -0
- package/dist/wallets/walletConnectors/chunk-NBVPVTJZ.js +192 -0
- package/dist/wallets/walletConnectors/chunk-NISMGNEE.js +223 -0
- package/dist/wallets/walletConnectors/chunk-NY5O2OBG.js +1477 -0
- package/dist/wallets/walletConnectors/chunk-OYF6AQOW.js +194 -0
- package/dist/wallets/walletConnectors/chunk-PBOCVGUC.js +782 -0
- package/dist/wallets/walletConnectors/chunk-PJSN4YRI.js +1387 -0
- package/dist/wallets/walletConnectors/chunk-PVIO7FM7.js +314 -0
- package/dist/wallets/walletConnectors/chunk-PWJOXYDF.js +54 -0
- package/dist/wallets/walletConnectors/chunk-PYBSONED.js +771 -0
- package/dist/wallets/walletConnectors/chunk-PYKECUZ3.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Q42NO7WB.js +46 -0
- package/dist/wallets/walletConnectors/chunk-Q7XBI5F6.js +300 -0
- package/dist/wallets/walletConnectors/chunk-QHUBLT7N.js +156 -0
- package/dist/wallets/walletConnectors/chunk-RMV23JXO.js +300 -0
- package/dist/wallets/walletConnectors/chunk-S3L2SA4J.js +300 -0
- package/dist/wallets/walletConnectors/chunk-S466OQOC.js +393 -0
- package/dist/wallets/walletConnectors/chunk-SA7IXAFG.js +54 -0
- package/dist/wallets/walletConnectors/chunk-SDB6BBHX.js +585 -0
- package/dist/wallets/walletConnectors/chunk-SFGVPX2G.js +351 -0
- package/dist/wallets/walletConnectors/chunk-SFQKJ6X6.js +314 -0
- package/dist/wallets/walletConnectors/chunk-SKLRJRER.js +1464 -0
- package/dist/wallets/walletConnectors/chunk-SQVWIBWR.js +351 -0
- package/dist/wallets/walletConnectors/chunk-SSLHXCOX.js +439 -0
- package/dist/wallets/walletConnectors/chunk-SU6LV3EO.js +314 -0
- package/dist/wallets/walletConnectors/chunk-SU7IEZE2.js +300 -0
- package/dist/wallets/walletConnectors/chunk-TMRB5SCL.js +167 -0
- package/dist/wallets/walletConnectors/chunk-TMUPUOQR.js +54 -0
- package/dist/wallets/walletConnectors/chunk-TNZ7QKXH.js +771 -0
- package/dist/wallets/walletConnectors/chunk-TT2NLKIU.js +1465 -0
- package/dist/wallets/walletConnectors/chunk-U3WGMWTH.js +585 -0
- package/dist/wallets/walletConnectors/chunk-UAV4SI4Y.js +408 -0
- package/dist/wallets/walletConnectors/chunk-UAWWPNS7.js +54 -0
- package/dist/wallets/walletConnectors/chunk-UXRJASPW.js +785 -0
- package/dist/wallets/walletConnectors/chunk-UY5TAYLM.js +54 -0
- package/dist/wallets/walletConnectors/chunk-VB5IZDY7.js +300 -0
- package/dist/wallets/walletConnectors/chunk-VIKJNKJZ.js +219 -0
- package/dist/wallets/walletConnectors/chunk-VVEXF6KG.js +273 -0
- package/dist/wallets/walletConnectors/chunk-W2YIRNMB.js +300 -0
- package/dist/wallets/walletConnectors/chunk-W7L2SBIG.js +138 -0
- package/dist/wallets/walletConnectors/chunk-WS5FG53X.js +54 -0
- package/dist/wallets/walletConnectors/chunk-WVRGC2YL.js +300 -0
- package/dist/wallets/walletConnectors/chunk-X33WL7R7.js +300 -0
- package/dist/wallets/walletConnectors/chunk-XG2R64B7.js +785 -0
- package/dist/wallets/walletConnectors/chunk-Y2BWF42Z.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Y446VZWI.js +585 -0
- package/dist/wallets/walletConnectors/chunk-YROAFC7Z.js +54 -0
- package/dist/wallets/walletConnectors/chunk-Z4WVT3G2.js +1416 -0
- package/dist/wallets/walletConnectors/chunk-ZK3PZIAH.js +300 -0
- package/dist/wallets/walletConnectors/chunk-ZPJLV3E7.js +151 -0
- package/dist/wallets/walletConnectors/chunk-ZQ3LCYGH.js +408 -0
- package/dist/wallets/walletConnectors/chunk-ZX6HMX7N.js +1468 -0
- package/dist/wallets/walletConnectors/chunk-ZXN465CA.js +209 -0
- package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
- package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
- package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
- package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
- package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
- package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
- package/dist/wallets/walletConnectors/index.js +89 -88
- package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
- package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
- package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
- package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
- package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
- package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
- package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
- package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
- package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
- package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
- package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
- package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
- package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
- package/package.json +12 -11
- package/LICENSE +0 -9
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
getCredentialManager
|
|
4
|
+
} from "./chunk-QHUBLT7N.js";
|
|
5
|
+
|
|
6
|
+
// src/wallets/walletConnectors/abcWallet/abcTronProvider.ts
|
|
7
|
+
import { getTalkenApiClient } from "@talken/talkenkit";
|
|
8
|
+
function isTalkenApiClient(client) {
|
|
9
|
+
return typeof client?.tron?.transferTrx === "function";
|
|
10
|
+
}
|
|
11
|
+
var TronErrorCode = {
|
|
12
|
+
USER_REJECTED: 4001,
|
|
13
|
+
UNAUTHORIZED: 4100,
|
|
14
|
+
UNSUPPORTED_METHOD: 4200,
|
|
15
|
+
DISCONNECTED: 4900,
|
|
16
|
+
INVALID_PARAMS: -32602,
|
|
17
|
+
INTERNAL_ERROR: -32603,
|
|
18
|
+
INSUFFICIENT_FUNDS: 5001
|
|
19
|
+
};
|
|
20
|
+
var TronProviderError = class extends Error {
|
|
21
|
+
constructor(code, message, data) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.code = code;
|
|
24
|
+
this.data = data;
|
|
25
|
+
this.name = "TronProviderError";
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var TRON_NETWORKS = {
|
|
29
|
+
mainnet: {
|
|
30
|
+
name: "TRON Mainnet",
|
|
31
|
+
type: "tron",
|
|
32
|
+
explorer: "https://tronscan.org"
|
|
33
|
+
},
|
|
34
|
+
nile: {
|
|
35
|
+
name: "TRON Nile Testnet",
|
|
36
|
+
type: "tron_nile",
|
|
37
|
+
explorer: "https://nile.tronscan.org"
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var EventEmitter = class {
|
|
41
|
+
constructor() {
|
|
42
|
+
this.events = /* @__PURE__ */ new Map();
|
|
43
|
+
}
|
|
44
|
+
on(event, listener) {
|
|
45
|
+
if (!this.events.has(event)) {
|
|
46
|
+
this.events.set(event, []);
|
|
47
|
+
}
|
|
48
|
+
this.events.get(event).push(listener);
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
off(event, listener) {
|
|
52
|
+
const listeners = this.events.get(event);
|
|
53
|
+
if (listeners) {
|
|
54
|
+
const index = listeners.indexOf(listener);
|
|
55
|
+
if (index !== -1) {
|
|
56
|
+
listeners.splice(index, 1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
emit(event, ...args) {
|
|
62
|
+
const listeners = this.events.get(event);
|
|
63
|
+
if (listeners) {
|
|
64
|
+
for (const listener of listeners) {
|
|
65
|
+
listener(...args);
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
removeAllListeners(event) {
|
|
72
|
+
if (event) {
|
|
73
|
+
this.events.delete(event);
|
|
74
|
+
} else {
|
|
75
|
+
this.events.clear();
|
|
76
|
+
}
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
var AbcTronProvider = class extends EventEmitter {
|
|
81
|
+
constructor(client) {
|
|
82
|
+
super();
|
|
83
|
+
this.wallet = null;
|
|
84
|
+
this.network = TRON_NETWORKS.mainnet;
|
|
85
|
+
this.connected = false;
|
|
86
|
+
this.tokenMetadataCache = /* @__PURE__ */ new Map();
|
|
87
|
+
if (isTalkenApiClient(client)) {
|
|
88
|
+
this.talkenApi = client;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Set request interceptor for transfer confirmation modals
|
|
93
|
+
*/
|
|
94
|
+
setRequestInterceptor(interceptor) {
|
|
95
|
+
this.requestInterceptor = interceptor;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Call request interceptor if set (throws on user cancel)
|
|
99
|
+
*/
|
|
100
|
+
async callInterceptor(request) {
|
|
101
|
+
if (this.requestInterceptor) {
|
|
102
|
+
await this.requestInterceptor(request);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Set wallet information
|
|
107
|
+
*/
|
|
108
|
+
setWallet(wallet) {
|
|
109
|
+
const previousAddress = this.wallet?.address;
|
|
110
|
+
this.wallet = wallet;
|
|
111
|
+
this.connected = true;
|
|
112
|
+
if (wallet.network === "tron") {
|
|
113
|
+
this.network = TRON_NETWORKS.mainnet;
|
|
114
|
+
} else {
|
|
115
|
+
this.network = TRON_NETWORKS.nile;
|
|
116
|
+
}
|
|
117
|
+
if (previousAddress !== wallet.address) {
|
|
118
|
+
this.emit("accountsChanged", [wallet.address]);
|
|
119
|
+
}
|
|
120
|
+
this.emit("connect", {
|
|
121
|
+
address: wallet.address,
|
|
122
|
+
network: this.network.type
|
|
123
|
+
});
|
|
124
|
+
console.log(
|
|
125
|
+
"[TronProvider] \u2705 Wallet connected:",
|
|
126
|
+
`${wallet.address.substring(0, 6)}...${wallet.address.substring(wallet.address.length - 6)}`
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Clear wallet (disconnect)
|
|
131
|
+
*/
|
|
132
|
+
clearWallet() {
|
|
133
|
+
this.wallet = null;
|
|
134
|
+
this.connected = false;
|
|
135
|
+
this.emit("disconnect");
|
|
136
|
+
this.emit("accountsChanged", []);
|
|
137
|
+
console.log("[TronProvider] \u{1F50C} Wallet disconnected");
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Set TalkenApiClient for backend-proxied transaction flow
|
|
141
|
+
* When set, sendTransaction will use a single API call instead of multi-step WaaS
|
|
142
|
+
*/
|
|
143
|
+
setTalkenApi(talkenApi) {
|
|
144
|
+
this.talkenApi = talkenApi;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Fetch token metadata (symbol, logo) from walletscan API with caching.
|
|
148
|
+
* Falls back to 'TRX'/'TRC20' on failure.
|
|
149
|
+
*/
|
|
150
|
+
async fetchTokenMetadata(contractAddress) {
|
|
151
|
+
const cacheKey = contractAddress || "__native__";
|
|
152
|
+
const cached = this.tokenMetadataCache.get(cacheKey);
|
|
153
|
+
if (cached)
|
|
154
|
+
return cached;
|
|
155
|
+
try {
|
|
156
|
+
const api = this.talkenApi || getTalkenApiClient();
|
|
157
|
+
const chainKeys = this.network.type === "tron_nile" ? "tronNile" : "tron";
|
|
158
|
+
let tokens;
|
|
159
|
+
if (contractAddress) {
|
|
160
|
+
tokens = await api.walletscan.getToken({ chainKeys, contractAddress });
|
|
161
|
+
} else {
|
|
162
|
+
tokens = await api.walletscan.getNativeTokens({
|
|
163
|
+
chainKeys,
|
|
164
|
+
walletAddress: this.wallet.address
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
if (tokens.length > 0) {
|
|
168
|
+
const info = { symbol: tokens[0].symbol, logo: tokens[0].logo };
|
|
169
|
+
this.tokenMetadataCache.set(cacheKey, info);
|
|
170
|
+
return info;
|
|
171
|
+
}
|
|
172
|
+
} catch {
|
|
173
|
+
}
|
|
174
|
+
return { symbol: contractAddress ? "TRC20" : "TRX" };
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Check if connected
|
|
178
|
+
*/
|
|
179
|
+
isConnected() {
|
|
180
|
+
return this.connected && this.wallet !== null;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get TRON address
|
|
184
|
+
*/
|
|
185
|
+
async getAddress() {
|
|
186
|
+
if (!this.wallet) {
|
|
187
|
+
throw new TronProviderError(
|
|
188
|
+
TronErrorCode.DISCONNECTED,
|
|
189
|
+
"Wallet not connected"
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
return this.wallet.address;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Get public key
|
|
196
|
+
*/
|
|
197
|
+
async getPublicKey() {
|
|
198
|
+
if (!this.wallet) {
|
|
199
|
+
throw new TronProviderError(
|
|
200
|
+
TronErrorCode.DISCONNECTED,
|
|
201
|
+
"Wallet not connected"
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
return this.wallet.publicKey;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get current network
|
|
208
|
+
*/
|
|
209
|
+
getNetwork() {
|
|
210
|
+
return this.network;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Sign TRON message (not supported)
|
|
214
|
+
*/
|
|
215
|
+
async signMessage(_message) {
|
|
216
|
+
throw new TronProviderError(
|
|
217
|
+
TronErrorCode.UNSUPPORTED_METHOD,
|
|
218
|
+
"TRON message signing is not supported. Use sendTransaction() instead."
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Send TRON transaction (TRX native or TRC20)
|
|
223
|
+
* Complete flow: create unsigned tx -> request PIN -> sign -> broadcast
|
|
224
|
+
*
|
|
225
|
+
* @param params - Transaction parameters
|
|
226
|
+
* @returns Transaction hash
|
|
227
|
+
*/
|
|
228
|
+
async sendTransaction(params) {
|
|
229
|
+
if (!this.wallet) {
|
|
230
|
+
throw new TronProviderError(
|
|
231
|
+
TronErrorCode.DISCONNECTED,
|
|
232
|
+
"Wallet not connected"
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
const tokenMetadata = await this.fetchTokenMetadata(
|
|
237
|
+
params.contractAddress
|
|
238
|
+
);
|
|
239
|
+
await this.callInterceptor({
|
|
240
|
+
chain: "tron",
|
|
241
|
+
method: "sendTransaction",
|
|
242
|
+
fromAddress: this.wallet.address,
|
|
243
|
+
toAddress: params.toAddress,
|
|
244
|
+
amount: params.amount,
|
|
245
|
+
symbol: tokenMetadata.symbol,
|
|
246
|
+
network: this.network.type,
|
|
247
|
+
tokenAddress: params.contractAddress,
|
|
248
|
+
isNativeToken: !params.contractAddress,
|
|
249
|
+
feeSymbol: "TRX",
|
|
250
|
+
tokenLogo: tokenMetadata.logo
|
|
251
|
+
});
|
|
252
|
+
console.log("[TronProvider] \u{1F4B8} Starting TRON transaction...");
|
|
253
|
+
const pinHash = getCredentialManager().getPinHash();
|
|
254
|
+
if (!pinHash) {
|
|
255
|
+
throw new TronProviderError(
|
|
256
|
+
TronErrorCode.INTERNAL_ERROR,
|
|
257
|
+
"PIN hash not found. Please login again."
|
|
258
|
+
);
|
|
259
|
+
}
|
|
260
|
+
const txType = params.contractAddress ? "TRC20" : "NATIVE";
|
|
261
|
+
let amountRaw;
|
|
262
|
+
if (txType === "NATIVE") {
|
|
263
|
+
amountRaw = Math.floor(
|
|
264
|
+
Number.parseFloat(params.amount) * 1e6
|
|
265
|
+
).toString();
|
|
266
|
+
console.log(
|
|
267
|
+
`[TronProvider] Converting ${params.amount} TRX -> ${amountRaw} SUN`
|
|
268
|
+
);
|
|
269
|
+
} else {
|
|
270
|
+
const decimals = params.decimals ?? 6;
|
|
271
|
+
amountRaw = Math.floor(
|
|
272
|
+
Number.parseFloat(params.amount) * 10 ** decimals
|
|
273
|
+
).toString();
|
|
274
|
+
console.log(
|
|
275
|
+
`[TronProvider] Converting ${params.amount} -> ${amountRaw} (decimals: ${decimals})`
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
const email = getCredentialManager().getEmail() || void 0;
|
|
279
|
+
const api = this.talkenApi || getTalkenApiClient();
|
|
280
|
+
const request = txType === "NATIVE" ? {
|
|
281
|
+
kind: "native",
|
|
282
|
+
network: this.network.type,
|
|
283
|
+
toAddress: params.toAddress,
|
|
284
|
+
amountSun: amountRaw,
|
|
285
|
+
pin: pinHash,
|
|
286
|
+
...email && { email }
|
|
287
|
+
} : {
|
|
288
|
+
kind: "trc20",
|
|
289
|
+
network: this.network.type,
|
|
290
|
+
toAddress: params.toAddress,
|
|
291
|
+
contractAddress: params.contractAddress,
|
|
292
|
+
amount: amountRaw,
|
|
293
|
+
feeLimit: params.feeLimit,
|
|
294
|
+
pin: pinHash,
|
|
295
|
+
...email && { email }
|
|
296
|
+
};
|
|
297
|
+
const result = await api.tron.transferTrx(request);
|
|
298
|
+
const txHash = result.txHash;
|
|
299
|
+
console.log(
|
|
300
|
+
`[TronProvider] \u2705 ${txType === "NATIVE" ? "TRX" : "TRC-20"} transaction complete via TalkenApiClient:`,
|
|
301
|
+
txHash
|
|
302
|
+
);
|
|
303
|
+
this.emit("transactionBroadcasted", {
|
|
304
|
+
txHash,
|
|
305
|
+
explorerUrl: `${this.network.explorer}/#/transaction/${txHash}`
|
|
306
|
+
});
|
|
307
|
+
return txHash;
|
|
308
|
+
} catch (error) {
|
|
309
|
+
if (error.message?.includes("cancelled") || error.message?.includes("rejected")) {
|
|
310
|
+
console.log("[TronProvider] \u2139\uFE0F User cancelled transaction");
|
|
311
|
+
throw new TronProviderError(
|
|
312
|
+
TronErrorCode.USER_REJECTED,
|
|
313
|
+
"User rejected transaction",
|
|
314
|
+
error
|
|
315
|
+
);
|
|
316
|
+
}
|
|
317
|
+
console.error("[TronProvider] \u274C Transaction failed:", error.message);
|
|
318
|
+
if (error.message?.includes("insufficient")) {
|
|
319
|
+
throw new TronProviderError(
|
|
320
|
+
TronErrorCode.INSUFFICIENT_FUNDS,
|
|
321
|
+
"Insufficient TRX balance",
|
|
322
|
+
error
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
this.emit("error", error);
|
|
326
|
+
throw new TronProviderError(
|
|
327
|
+
TronErrorCode.INTERNAL_ERROR,
|
|
328
|
+
error.message || "Failed to send TRON transaction",
|
|
329
|
+
error
|
|
330
|
+
);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Get wallet info
|
|
335
|
+
*/
|
|
336
|
+
getWalletInfo() {
|
|
337
|
+
if (!this.wallet)
|
|
338
|
+
return null;
|
|
339
|
+
return {
|
|
340
|
+
address: this.wallet.address,
|
|
341
|
+
publicKey: this.wallet.publicKey,
|
|
342
|
+
network: this.network.type
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
export {
|
|
348
|
+
TronProviderError,
|
|
349
|
+
TRON_NETWORKS,
|
|
350
|
+
AbcTronProvider
|
|
351
|
+
};
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
loadAuthState,
|
|
4
|
+
saveAuthState
|
|
5
|
+
} from "./chunk-7EQNUYV2.js";
|
|
6
|
+
|
|
7
|
+
// src/wallets/walletConnectors/abcWallet/abcBitcoinConnector.ts
|
|
8
|
+
import { getTalkenApiClient } from "@talken/talkenkit";
|
|
9
|
+
var AbcBitcoinConnector = class {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
this.wallet = null;
|
|
12
|
+
this.connected = false;
|
|
13
|
+
// Event listeners
|
|
14
|
+
this.connectListeners = /* @__PURE__ */ new Set();
|
|
15
|
+
this.disconnectListeners = /* @__PURE__ */ new Set();
|
|
16
|
+
this.accountsChangedListeners = /* @__PURE__ */ new Set();
|
|
17
|
+
this.networkChangedListeners = /* @__PURE__ */ new Set();
|
|
18
|
+
this.provider = config.provider;
|
|
19
|
+
this.setupProviderListeners();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Setup provider event listeners
|
|
23
|
+
*/
|
|
24
|
+
setupProviderListeners() {
|
|
25
|
+
this.provider.on("connect", () => {
|
|
26
|
+
this.connected = true;
|
|
27
|
+
if (this.wallet) {
|
|
28
|
+
for (const listener of this.connectListeners) {
|
|
29
|
+
listener(this.wallet);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
this.provider.on("disconnect", () => {
|
|
34
|
+
this.connected = false;
|
|
35
|
+
this.wallet = null;
|
|
36
|
+
for (const listener of this.disconnectListeners) {
|
|
37
|
+
listener();
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
this.provider.on("accountsChanged", (accounts) => {
|
|
41
|
+
for (const listener of this.accountsChangedListeners) {
|
|
42
|
+
listener(accounts);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
this.provider.on("networkChanged", (network) => {
|
|
46
|
+
for (const listener of this.networkChangedListeners) {
|
|
47
|
+
listener(network);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Connect Bitcoin wallet
|
|
53
|
+
*/
|
|
54
|
+
async connect() {
|
|
55
|
+
try {
|
|
56
|
+
const authState = loadAuthState();
|
|
57
|
+
console.log("[BitcoinConnector] \u{1F527} connect() called:", {
|
|
58
|
+
hasAuthState: !!authState,
|
|
59
|
+
isAuthenticated: authState?.isAuthenticated,
|
|
60
|
+
hasBitcoinWallet: !!authState?.bitcoinWallet,
|
|
61
|
+
bitcoinAddress: authState?.bitcoinWallet?.address
|
|
62
|
+
});
|
|
63
|
+
if (!authState || !authState.isAuthenticated || !authState.bitcoinWallet) {
|
|
64
|
+
throw new Error("BITCOIN_LOGIN_REQUIRED");
|
|
65
|
+
}
|
|
66
|
+
this.wallet = authState.bitcoinWallet;
|
|
67
|
+
this.provider.setWallet(authState.bitcoinWallet);
|
|
68
|
+
console.log("[BitcoinConnector] \u2705 Wallet set:", {
|
|
69
|
+
address: authState.bitcoinWallet.address,
|
|
70
|
+
publicKey: authState.bitcoinWallet.publicKey,
|
|
71
|
+
addressType: authState.bitcoinWallet.addressType,
|
|
72
|
+
network: authState.bitcoinWallet.network
|
|
73
|
+
});
|
|
74
|
+
this.connected = true;
|
|
75
|
+
return {
|
|
76
|
+
address: authState.bitcoinWallet.address,
|
|
77
|
+
publicKey: authState.bitcoinWallet.publicKey,
|
|
78
|
+
network: authState.bitcoinWallet.network
|
|
79
|
+
};
|
|
80
|
+
} catch (error) {
|
|
81
|
+
if (error.message === "BITCOIN_LOGIN_REQUIRED") {
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
console.error("[BitcoinConnector] \u274C connect error:", error);
|
|
85
|
+
throw error;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Disconnect Bitcoin wallet
|
|
90
|
+
*/
|
|
91
|
+
async disconnect() {
|
|
92
|
+
try {
|
|
93
|
+
this.provider.clearWallet();
|
|
94
|
+
this.wallet = null;
|
|
95
|
+
this.connected = false;
|
|
96
|
+
console.log("[BitcoinConnector] \u2705 Wallet disconnected");
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.error("[BitcoinConnector] \u274C disconnect error:", error);
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get Bitcoin address
|
|
104
|
+
*/
|
|
105
|
+
async getAddress() {
|
|
106
|
+
return this.provider.getAddress();
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get compressed public key (33 bytes)
|
|
110
|
+
*/
|
|
111
|
+
async getPublicKey() {
|
|
112
|
+
return this.provider.getPublicKey();
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get address type (bech32, p2pkh, etc.)
|
|
116
|
+
*/
|
|
117
|
+
getAddressType() {
|
|
118
|
+
return this.provider.getAddressType();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get UTXOs
|
|
122
|
+
*/
|
|
123
|
+
async getUtxos(forceRefresh = false) {
|
|
124
|
+
return this.provider.getUtxos(forceRefresh);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get balance (in satoshis)
|
|
128
|
+
*/
|
|
129
|
+
async getBalance(forceRefresh = false) {
|
|
130
|
+
return this.provider.getBalance(forceRefresh);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Estimate transaction fee
|
|
134
|
+
*/
|
|
135
|
+
async estimateFee(targetBlocks = 6) {
|
|
136
|
+
return this.provider.estimateFee(targetBlocks);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Sign Bitcoin message (BIP-322)
|
|
140
|
+
* NOTE: Currently not supported - Bitcoin uses v2 API which doesn't have message signing endpoint
|
|
141
|
+
*/
|
|
142
|
+
async signMessage(message) {
|
|
143
|
+
return this.provider.signMessage(message);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Send Bitcoin transaction (high-level API)
|
|
147
|
+
* Creates, signs, and broadcasts transaction
|
|
148
|
+
*/
|
|
149
|
+
async sendTransaction(params) {
|
|
150
|
+
return this.provider.sendTransaction(params);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Broadcast signed transaction to network (low-level API)
|
|
154
|
+
*/
|
|
155
|
+
async broadcastTransaction(rawTransaction, psbt) {
|
|
156
|
+
return this.provider.broadcastTransaction(rawTransaction, psbt);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Check if authorized (has valid session)
|
|
160
|
+
*/
|
|
161
|
+
async isAuthorized() {
|
|
162
|
+
try {
|
|
163
|
+
const authState = loadAuthState();
|
|
164
|
+
if (!authState || !authState.isAuthenticated) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
if (!authState.bitcoinWallet) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
const api = getTalkenApiClient();
|
|
171
|
+
return !!api && !api.isTokenExpired();
|
|
172
|
+
} catch {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Check if connected
|
|
178
|
+
*/
|
|
179
|
+
isConnected() {
|
|
180
|
+
return this.connected && this.provider.isConnected();
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get current wallet
|
|
184
|
+
*/
|
|
185
|
+
getWallet() {
|
|
186
|
+
return this.wallet;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get provider
|
|
190
|
+
*/
|
|
191
|
+
getProvider() {
|
|
192
|
+
return this.provider;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Get wallet info
|
|
196
|
+
*/
|
|
197
|
+
getWalletInfo() {
|
|
198
|
+
return this.provider.getWalletInfo();
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Switch network
|
|
202
|
+
*/
|
|
203
|
+
async switchNetwork(network) {
|
|
204
|
+
this.provider.setNetwork(network);
|
|
205
|
+
const authState = loadAuthState();
|
|
206
|
+
if (authState?.bitcoinWallet) {
|
|
207
|
+
authState.bitcoinWallet.network = network === "mainnet" ? "bitcoin" /* Mainnet */ : "bitcoin_testnet" /* Testnet */;
|
|
208
|
+
saveAuthState(authState);
|
|
209
|
+
}
|
|
210
|
+
console.log("[BitcoinConnector] \u{1F504} Network switched to:", network);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get current network
|
|
214
|
+
*/
|
|
215
|
+
getNetwork() {
|
|
216
|
+
return this.provider.getNetwork().type;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Refresh UTXO cache
|
|
220
|
+
*/
|
|
221
|
+
async refreshUtxos() {
|
|
222
|
+
return this.provider.refreshUtxos();
|
|
223
|
+
}
|
|
224
|
+
on(event, listener) {
|
|
225
|
+
switch (event) {
|
|
226
|
+
case "connect":
|
|
227
|
+
this.connectListeners.add(listener);
|
|
228
|
+
break;
|
|
229
|
+
case "disconnect":
|
|
230
|
+
this.disconnectListeners.add(listener);
|
|
231
|
+
break;
|
|
232
|
+
case "accountsChanged":
|
|
233
|
+
this.accountsChangedListeners.add(listener);
|
|
234
|
+
break;
|
|
235
|
+
case "networkChanged":
|
|
236
|
+
this.networkChangedListeners.add(listener);
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
off(event, listener) {
|
|
241
|
+
switch (event) {
|
|
242
|
+
case "connect":
|
|
243
|
+
this.connectListeners.delete(listener);
|
|
244
|
+
break;
|
|
245
|
+
case "disconnect":
|
|
246
|
+
this.disconnectListeners.delete(listener);
|
|
247
|
+
break;
|
|
248
|
+
case "accountsChanged":
|
|
249
|
+
this.accountsChangedListeners.delete(listener);
|
|
250
|
+
break;
|
|
251
|
+
case "networkChanged":
|
|
252
|
+
this.networkChangedListeners.delete(listener);
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Remove all listeners
|
|
258
|
+
*/
|
|
259
|
+
removeAllListeners() {
|
|
260
|
+
this.connectListeners.clear();
|
|
261
|
+
this.disconnectListeners.clear();
|
|
262
|
+
this.accountsChangedListeners.clear();
|
|
263
|
+
this.networkChangedListeners.clear();
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
function createAbcBitcoinConnector(config) {
|
|
267
|
+
return new AbcBitcoinConnector(config);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export {
|
|
271
|
+
AbcBitcoinConnector,
|
|
272
|
+
createAbcBitcoinConnector
|
|
273
|
+
};
|