@reown/appkit-core-react-native 0.0.0-accounts-canary.1-20251023174733
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/lib/commonjs/controllers/ApiController.js +410 -0
- package/lib/commonjs/controllers/ApiController.js.map +1 -0
- package/lib/commonjs/controllers/AssetController.js +30 -0
- package/lib/commonjs/controllers/AssetController.js.map +1 -0
- package/lib/commonjs/controllers/BlockchainApiController.js +384 -0
- package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -0
- package/lib/commonjs/controllers/ConnectionsController.js +425 -0
- package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
- package/lib/commonjs/controllers/EnsController.js +37 -0
- package/lib/commonjs/controllers/EnsController.js.map +1 -0
- package/lib/commonjs/controllers/EventsController.js +122 -0
- package/lib/commonjs/controllers/EventsController.js.map +1 -0
- package/lib/commonjs/controllers/LogController.js +188 -0
- package/lib/commonjs/controllers/LogController.js.map +1 -0
- package/lib/commonjs/controllers/ModalController.js +68 -0
- package/lib/commonjs/controllers/ModalController.js.map +1 -0
- package/lib/commonjs/controllers/OnRampController.js +502 -0
- package/lib/commonjs/controllers/OnRampController.js.map +1 -0
- package/lib/commonjs/controllers/OptionsController.js +96 -0
- package/lib/commonjs/controllers/OptionsController.js.map +1 -0
- package/lib/commonjs/controllers/PublicStateController.js +33 -0
- package/lib/commonjs/controllers/PublicStateController.js.map +1 -0
- package/lib/commonjs/controllers/RouterController.js +63 -0
- package/lib/commonjs/controllers/RouterController.js.map +1 -0
- package/lib/commonjs/controllers/SendController.js +192 -0
- package/lib/commonjs/controllers/SendController.js.map +1 -0
- package/lib/commonjs/controllers/SnackController.js +83 -0
- package/lib/commonjs/controllers/SnackController.js.map +1 -0
- package/lib/commonjs/controllers/SwapController.js +674 -0
- package/lib/commonjs/controllers/SwapController.js.map +1 -0
- package/lib/commonjs/controllers/ThemeController.js +45 -0
- package/lib/commonjs/controllers/ThemeController.js.map +1 -0
- package/lib/commonjs/controllers/TransactionsController.js +118 -0
- package/lib/commonjs/controllers/TransactionsController.js.map +1 -0
- package/lib/commonjs/controllers/WcController.js +73 -0
- package/lib/commonjs/controllers/WcController.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthentication.js +272 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthentication.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js +48 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/index.js +28 -0
- package/lib/commonjs/features/reown-authentication/index.js.map +1 -0
- package/lib/commonjs/index.js +202 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/utils/ApiUtil.js +43 -0
- package/lib/commonjs/utils/ApiUtil.js.map +1 -0
- package/lib/commonjs/utils/AssetUtil.js +27 -0
- package/lib/commonjs/utils/AssetUtil.js.map +1 -0
- package/lib/commonjs/utils/ConstantsUtil.js +226 -0
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -0
- package/lib/commonjs/utils/CoreHelperUtil.js +298 -0
- package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -0
- package/lib/commonjs/utils/EventUtil.js +25 -0
- package/lib/commonjs/utils/EventUtil.js.map +1 -0
- package/lib/commonjs/utils/FetchUtil.js +158 -0
- package/lib/commonjs/utils/FetchUtil.js.map +1 -0
- package/lib/commonjs/utils/LogUtils.js +131 -0
- package/lib/commonjs/utils/LogUtils.js.map +1 -0
- package/lib/commonjs/utils/StorageUtil.js +319 -0
- package/lib/commonjs/utils/StorageUtil.js.map +1 -0
- package/lib/commonjs/utils/SwapApiUtil.js +75 -0
- package/lib/commonjs/utils/SwapApiUtil.js.map +1 -0
- package/lib/commonjs/utils/SwapCalculationUtil.js +97 -0
- package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -0
- package/lib/commonjs/utils/WalletUtil.js +23 -0
- package/lib/commonjs/utils/WalletUtil.js.map +1 -0
- package/lib/module/controllers/ApiController.js +407 -0
- package/lib/module/controllers/ApiController.js.map +1 -0
- package/lib/module/controllers/AssetController.js +27 -0
- package/lib/module/controllers/AssetController.js.map +1 -0
- package/lib/module/controllers/BlockchainApiController.js +381 -0
- package/lib/module/controllers/BlockchainApiController.js.map +1 -0
- package/lib/module/controllers/ConnectionsController.js +422 -0
- package/lib/module/controllers/ConnectionsController.js.map +1 -0
- package/lib/module/controllers/EnsController.js +34 -0
- package/lib/module/controllers/EnsController.js.map +1 -0
- package/lib/module/controllers/EventsController.js +118 -0
- package/lib/module/controllers/EventsController.js.map +1 -0
- package/lib/module/controllers/LogController.js +185 -0
- package/lib/module/controllers/LogController.js.map +1 -0
- package/lib/module/controllers/ModalController.js +65 -0
- package/lib/module/controllers/ModalController.js.map +1 -0
- package/lib/module/controllers/OnRampController.js +499 -0
- package/lib/module/controllers/OnRampController.js.map +1 -0
- package/lib/module/controllers/OptionsController.js +93 -0
- package/lib/module/controllers/OptionsController.js.map +1 -0
- package/lib/module/controllers/PublicStateController.js +30 -0
- package/lib/module/controllers/PublicStateController.js.map +1 -0
- package/lib/module/controllers/RouterController.js +60 -0
- package/lib/module/controllers/RouterController.js.map +1 -0
- package/lib/module/controllers/SendController.js +189 -0
- package/lib/module/controllers/SendController.js.map +1 -0
- package/lib/module/controllers/SnackController.js +80 -0
- package/lib/module/controllers/SnackController.js.map +1 -0
- package/lib/module/controllers/SwapController.js +671 -0
- package/lib/module/controllers/SwapController.js.map +1 -0
- package/lib/module/controllers/ThemeController.js +42 -0
- package/lib/module/controllers/ThemeController.js.map +1 -0
- package/lib/module/controllers/TransactionsController.js +115 -0
- package/lib/module/controllers/TransactionsController.js.map +1 -0
- package/lib/module/controllers/WcController.js +70 -0
- package/lib/module/controllers/WcController.js.map +1 -0
- package/lib/module/features/reown-authentication/ReownAuthentication.js +268 -0
- package/lib/module/features/reown-authentication/ReownAuthentication.js.map +1 -0
- package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js +43 -0
- package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
- package/lib/module/features/reown-authentication/index.js +5 -0
- package/lib/module/features/reown-authentication/index.js.map +1 -0
- package/lib/module/index.js +38 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/utils/ApiUtil.js +39 -0
- package/lib/module/utils/ApiUtil.js.map +1 -0
- package/lib/module/utils/AssetUtil.js +23 -0
- package/lib/module/utils/AssetUtil.js.map +1 -0
- package/lib/module/utils/ConstantsUtil.js +222 -0
- package/lib/module/utils/ConstantsUtil.js.map +1 -0
- package/lib/module/utils/CoreHelperUtil.js +294 -0
- package/lib/module/utils/CoreHelperUtil.js.map +1 -0
- package/lib/module/utils/EventUtil.js +21 -0
- package/lib/module/utils/EventUtil.js.map +1 -0
- package/lib/module/utils/FetchUtil.js +154 -0
- package/lib/module/utils/FetchUtil.js.map +1 -0
- package/lib/module/utils/LogUtils.js +121 -0
- package/lib/module/utils/LogUtils.js.map +1 -0
- package/lib/module/utils/StorageUtil.js +315 -0
- package/lib/module/utils/StorageUtil.js.map +1 -0
- package/lib/module/utils/SwapApiUtil.js +71 -0
- package/lib/module/utils/SwapApiUtil.js.map +1 -0
- package/lib/module/utils/SwapCalculationUtil.js +94 -0
- package/lib/module/utils/SwapCalculationUtil.js.map +1 -0
- package/lib/module/utils/WalletUtil.js +19 -0
- package/lib/module/utils/WalletUtil.js.map +1 -0
- package/lib/typescript/controllers/ApiController.d.ts +40 -0
- package/lib/typescript/controllers/ApiController.d.ts.map +1 -0
- package/lib/typescript/controllers/AssetController.d.ts +12 -0
- package/lib/typescript/controllers/AssetController.d.ts.map +1 -0
- package/lib/typescript/controllers/BlockchainApiController.d.ts +55 -0
- package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -0
- package/lib/typescript/controllers/ConnectionsController.d.ts +47 -0
- package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
- package/lib/typescript/controllers/EnsController.d.ts +10 -0
- package/lib/typescript/controllers/EnsController.d.ts.map +1 -0
- package/lib/typescript/controllers/EventsController.d.ts +25 -0
- package/lib/typescript/controllers/EventsController.d.ts.map +1 -0
- package/lib/typescript/controllers/LogController.d.ts +65 -0
- package/lib/typescript/controllers/LogController.d.ts.map +1 -0
- package/lib/typescript/controllers/ModalController.d.ts +17 -0
- package/lib/typescript/controllers/ModalController.d.ts.map +1 -0
- package/lib/typescript/controllers/OnRampController.d.ts +55 -0
- package/lib/typescript/controllers/OnRampController.d.ts.map +1 -0
- package/lib/typescript/controllers/OptionsController.d.ts +46 -0
- package/lib/typescript/controllers/OptionsController.d.ts.map +1 -0
- package/lib/typescript/controllers/PublicStateController.d.ts +12 -0
- package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -0
- package/lib/typescript/controllers/RouterController.d.ts +21 -0
- package/lib/typescript/controllers/RouterController.d.ts.map +1 -0
- package/lib/typescript/controllers/SendController.d.ts +39 -0
- package/lib/typescript/controllers/SendController.d.ts.map +1 -0
- package/lib/typescript/controllers/SnackController.d.ts +20 -0
- package/lib/typescript/controllers/SnackController.d.ts.map +1 -0
- package/lib/typescript/controllers/SwapController.d.ts +116 -0
- package/lib/typescript/controllers/SwapController.d.ts.map +1 -0
- package/lib/typescript/controllers/ThemeController.d.ts +14 -0
- package/lib/typescript/controllers/ThemeController.d.ts.map +1 -0
- package/lib/typescript/controllers/TransactionsController.d.ts +21 -0
- package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -0
- package/lib/typescript/controllers/WcController.d.ts +27 -0
- package/lib/typescript/controllers/WcController.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts +174 -0
- package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts +16 -0
- package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/index.d.ts +3 -0
- package/lib/typescript/features/reown-authentication/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +29 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/utils/ApiUtil.d.ts +7 -0
- package/lib/typescript/utils/ApiUtil.d.ts.map +1 -0
- package/lib/typescript/utils/AssetUtil.d.ts +6 -0
- package/lib/typescript/utils/AssetUtil.d.ts.map +1 -0
- package/lib/typescript/utils/ConstantsUtil.d.ts +79 -0
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -0
- package/lib/typescript/utils/CoreHelperUtil.d.ts +43 -0
- package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -0
- package/lib/typescript/utils/EventUtil.d.ts +5 -0
- package/lib/typescript/utils/EventUtil.d.ts.map +1 -0
- package/lib/typescript/utils/FetchUtil.d.ts +29 -0
- package/lib/typescript/utils/FetchUtil.d.ts.map +1 -0
- package/lib/typescript/utils/LogUtils.d.ts +15 -0
- package/lib/typescript/utils/LogUtils.d.ts.map +1 -0
- package/lib/typescript/utils/StorageUtil.d.ts +36 -0
- package/lib/typescript/utils/StorageUtil.d.ts.map +1 -0
- package/lib/typescript/utils/SwapApiUtil.d.ts +11 -0
- package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -0
- package/lib/typescript/utils/SwapCalculationUtil.d.ts +24 -0
- package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -0
- package/lib/typescript/utils/WalletUtil.d.ts +5 -0
- package/lib/typescript/utils/WalletUtil.d.ts.map +1 -0
- package/package.json +57 -0
- package/readme.md +9 -0
- package/src/controllers/ApiController.ts +454 -0
- package/src/controllers/AssetController.ts +32 -0
- package/src/controllers/BlockchainApiController.ts +418 -0
- package/src/controllers/ConnectionsController.ts +575 -0
- package/src/controllers/EnsController.ts +41 -0
- package/src/controllers/EventsController.ts +146 -0
- package/src/controllers/LogController.ts +250 -0
- package/src/controllers/ModalController.ts +68 -0
- package/src/controllers/OnRampController.ts +698 -0
- package/src/controllers/OptionsController.ts +143 -0
- package/src/controllers/PublicStateController.ts +37 -0
- package/src/controllers/RouterController.ts +112 -0
- package/src/controllers/SendController.ts +270 -0
- package/src/controllers/SnackController.ts +95 -0
- package/src/controllers/SwapController.ts +863 -0
- package/src/controllers/ThemeController.ts +47 -0
- package/src/controllers/TransactionsController.ts +150 -0
- package/src/controllers/WcController.ts +93 -0
- package/src/features/reown-authentication/ReownAuthentication.ts +475 -0
- package/src/features/reown-authentication/ReownAuthenticationMessenger.ts +80 -0
- package/src/features/reown-authentication/index.ts +2 -0
- package/src/index.ts +70 -0
- package/src/utils/ApiUtil.ts +50 -0
- package/src/utils/AssetUtil.ts +27 -0
- package/src/utils/ConstantsUtil.ts +303 -0
- package/src/utils/CoreHelperUtil.ts +377 -0
- package/src/utils/EventUtil.ts +22 -0
- package/src/utils/FetchUtil.ts +164 -0
- package/src/utils/LogUtils.ts +179 -0
- package/src/utils/StorageUtil.ts +405 -0
- package/src/utils/SwapApiUtil.ts +101 -0
- package/src/utils/SwapCalculationUtil.ts +145 -0
- package/src/utils/WalletUtil.ts +14 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CoreHelperUtil = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
9
|
+
var ct = _interopRequireWildcard(require("countries-and-timezones"));
|
|
10
|
+
var _ConstantsUtil = require("./ConstantsUtil");
|
|
11
|
+
var _OptionsController = require("../controllers/OptionsController");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
/* eslint-disable no-bitwise */
|
|
14
|
+
|
|
15
|
+
// -- Helpers -----------------------------------------------------------------
|
|
16
|
+
async function isAppInstalledIos(deepLink) {
|
|
17
|
+
try {
|
|
18
|
+
return deepLink ? _reactNative.Linking.canOpenURL(deepLink) : Promise.resolve(false);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
return Promise.resolve(false);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async function isAppInstalledAndroid(packageName) {
|
|
24
|
+
try {
|
|
25
|
+
//@ts-ignore
|
|
26
|
+
if (!packageName || typeof global?.Application?.isAppInstalled !== 'function') {
|
|
27
|
+
return Promise.resolve(false);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//@ts-ignore
|
|
31
|
+
return global?.Application?.isAppInstalled(packageName);
|
|
32
|
+
} catch (error) {
|
|
33
|
+
return Promise.resolve(false);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// -- Utility --------------------------------------------------------------------
|
|
38
|
+
const CoreHelperUtil = exports.CoreHelperUtil = {
|
|
39
|
+
isPairingExpired(expiry) {
|
|
40
|
+
return expiry ? expiry - Date.now() <= _ConstantsUtil.ConstantsUtil.TEN_SEC_MS : true;
|
|
41
|
+
},
|
|
42
|
+
isAllowedRetry(lastRetry) {
|
|
43
|
+
return Date.now() - lastRetry >= _ConstantsUtil.ConstantsUtil.ONE_SEC_MS;
|
|
44
|
+
},
|
|
45
|
+
isCaipAddress(address) {
|
|
46
|
+
if (typeof address !== 'string') {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const sections = address.split(':');
|
|
50
|
+
const namespace = sections[0];
|
|
51
|
+
return sections.filter(Boolean).length === 3 && namespace in _appkitCommonReactNative.ConstantsUtil.CHAIN_NAME_MAP;
|
|
52
|
+
},
|
|
53
|
+
getPairingExpiry() {
|
|
54
|
+
return Date.now() + _ConstantsUtil.ConstantsUtil.FOUR_MINUTES_MS;
|
|
55
|
+
},
|
|
56
|
+
getNetworkId(caipAddress) {
|
|
57
|
+
return caipAddress?.split(':')[1];
|
|
58
|
+
},
|
|
59
|
+
getPlainAddress(address) {
|
|
60
|
+
if (this.isCaipAddress(address)) {
|
|
61
|
+
return address?.split(':')[2];
|
|
62
|
+
}
|
|
63
|
+
return address;
|
|
64
|
+
},
|
|
65
|
+
async wait(milliseconds) {
|
|
66
|
+
return new Promise(resolve => {
|
|
67
|
+
setTimeout(resolve, milliseconds);
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
isHttpUrl(url) {
|
|
71
|
+
return url.startsWith('http://') || url.startsWith('https://');
|
|
72
|
+
},
|
|
73
|
+
isLinkModeURL(url) {
|
|
74
|
+
if (!url) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return CoreHelperUtil.isHttpUrl(url) && url.includes('wc_ev');
|
|
78
|
+
},
|
|
79
|
+
formatNativeUrl(appUrl, wcUri) {
|
|
80
|
+
if (CoreHelperUtil.isLinkModeURL(wcUri)) {
|
|
81
|
+
return {
|
|
82
|
+
redirect: wcUri,
|
|
83
|
+
href: wcUri
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (CoreHelperUtil.isHttpUrl(appUrl)) {
|
|
87
|
+
return this.formatUniversalUrl(appUrl, wcUri);
|
|
88
|
+
}
|
|
89
|
+
let safeAppUrl = appUrl;
|
|
90
|
+
if (!safeAppUrl.includes('://')) {
|
|
91
|
+
safeAppUrl = appUrl.replaceAll('/', '').replaceAll(':', '');
|
|
92
|
+
safeAppUrl = `${safeAppUrl}://`;
|
|
93
|
+
}
|
|
94
|
+
if (!safeAppUrl.endsWith('/')) {
|
|
95
|
+
safeAppUrl = `${safeAppUrl}/`;
|
|
96
|
+
}
|
|
97
|
+
const encodedWcUrl = encodeURIComponent(wcUri);
|
|
98
|
+
return {
|
|
99
|
+
redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,
|
|
100
|
+
href: safeAppUrl
|
|
101
|
+
};
|
|
102
|
+
},
|
|
103
|
+
formatUniversalUrl(appUrl, wcUri, provider) {
|
|
104
|
+
if (CoreHelperUtil.isLinkModeURL(wcUri)) {
|
|
105
|
+
return {
|
|
106
|
+
redirect: wcUri,
|
|
107
|
+
href: wcUri
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
if (!CoreHelperUtil.isHttpUrl(appUrl)) {
|
|
111
|
+
return this.formatNativeUrl(appUrl, wcUri);
|
|
112
|
+
}
|
|
113
|
+
let safeAppUrl = appUrl;
|
|
114
|
+
if (!safeAppUrl.endsWith('/')) {
|
|
115
|
+
safeAppUrl = `${safeAppUrl}/`;
|
|
116
|
+
}
|
|
117
|
+
const encodedWcUrl = encodeURIComponent(wcUri);
|
|
118
|
+
return {
|
|
119
|
+
redirect: provider ? `${safeAppUrl}wc?uri=${encodedWcUrl}&provider=${provider}` : `${safeAppUrl}wc?uri=${encodedWcUrl}`,
|
|
120
|
+
href: safeAppUrl
|
|
121
|
+
};
|
|
122
|
+
},
|
|
123
|
+
async openLink(url) {
|
|
124
|
+
try {
|
|
125
|
+
await _reactNative.Linking.openURL(url);
|
|
126
|
+
} catch (error) {
|
|
127
|
+
throw new Error(_ConstantsUtil.ConstantsUtil.LINKING_ERROR);
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
formatBalance(balance, symbol, decimals = 3) {
|
|
131
|
+
let formattedBalance;
|
|
132
|
+
if (balance === '0') {
|
|
133
|
+
formattedBalance = '0.000';
|
|
134
|
+
} else if (typeof balance === 'string') {
|
|
135
|
+
const number = Number(balance);
|
|
136
|
+
if (number) {
|
|
137
|
+
const regex = new RegExp(`^-?\\d+(?:\\.\\d{0,${decimals}})?`, 'u');
|
|
138
|
+
formattedBalance = number.toString().match(regex)?.[0];
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return formattedBalance ? `${formattedBalance} ${symbol}` : `0.000 ${symbol || ''}`;
|
|
142
|
+
},
|
|
143
|
+
isAddress(address, namespace = 'eip155') {
|
|
144
|
+
switch (namespace) {
|
|
145
|
+
case 'eip155':
|
|
146
|
+
if (!/^(?:0x)?[0-9a-f]{40}$/iu.test(address)) {
|
|
147
|
+
return false;
|
|
148
|
+
} else if (/^(?:0x)?[0-9a-f]{40}$/iu.test(address) || /^(?:0x)?[0-9A-F]{40}$/iu.test(address)) {
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
case 'solana':
|
|
153
|
+
return /[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(address);
|
|
154
|
+
default:
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
getApiUrl() {
|
|
159
|
+
return _appkitCommonReactNative.ConstantsUtil.API_URL;
|
|
160
|
+
},
|
|
161
|
+
getBlockchainApiUrl() {
|
|
162
|
+
return _appkitCommonReactNative.ConstantsUtil.BLOCKCHAIN_API_RPC_URL;
|
|
163
|
+
},
|
|
164
|
+
getBlockchainStagingApiUrl() {
|
|
165
|
+
return _appkitCommonReactNative.ConstantsUtil.BLOCKCHAIN_API_RPC_URL_STAGING;
|
|
166
|
+
},
|
|
167
|
+
getAnalyticsUrl() {
|
|
168
|
+
return _appkitCommonReactNative.ConstantsUtil.PULSE_API_URL;
|
|
169
|
+
},
|
|
170
|
+
getCountryFromTimezone() {
|
|
171
|
+
try {
|
|
172
|
+
const {
|
|
173
|
+
timeZone
|
|
174
|
+
} = new Intl.DateTimeFormat().resolvedOptions();
|
|
175
|
+
const country = ct.getCountryForTimezone(timeZone);
|
|
176
|
+
return country ? country.id : 'US'; // 'id' is the ISO country code (e.g., "US" for United States)
|
|
177
|
+
} catch (error) {
|
|
178
|
+
return 'US';
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
getUUID() {
|
|
182
|
+
if (global?.crypto.getRandomValues) {
|
|
183
|
+
const buffer = new Uint8Array(16);
|
|
184
|
+
global?.crypto.getRandomValues(buffer);
|
|
185
|
+
|
|
186
|
+
// Set the version (4) and variant (8, 9, A, or B) bits
|
|
187
|
+
buffer[6] = (buffer[6] ?? 0 & 0x0f) | 0x40;
|
|
188
|
+
buffer[8] = (buffer[8] ?? 0 & 0x3f) | 0x80;
|
|
189
|
+
|
|
190
|
+
// Convert the buffer to a hexadecimal string
|
|
191
|
+
const hexString = Array.from(buffer, byte => byte.toString(16).padStart(2, '0')).join('');
|
|
192
|
+
const formatted = `${hexString.slice(0, 8)}-${hexString.slice(8, 12)}-${hexString.slice(12, 16)}-${hexString.slice(16, 20)}-${hexString.slice(20)}`;
|
|
193
|
+
return formatted;
|
|
194
|
+
}
|
|
195
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, c => {
|
|
196
|
+
const r = Math.random() * 16 | 0;
|
|
197
|
+
const v = c === 'x' ? r : r & 0x3 | 0x8;
|
|
198
|
+
return v.toString(16);
|
|
199
|
+
});
|
|
200
|
+
},
|
|
201
|
+
getBundleId() {
|
|
202
|
+
if (global?.Application?.applicationId) {
|
|
203
|
+
return global?.Application?.applicationId;
|
|
204
|
+
}
|
|
205
|
+
return undefined;
|
|
206
|
+
},
|
|
207
|
+
parseError(error) {
|
|
208
|
+
if (typeof error === 'string') {
|
|
209
|
+
return error;
|
|
210
|
+
} else if (typeof error?.issues?.[0]?.message === 'string') {
|
|
211
|
+
return error.issues[0].message;
|
|
212
|
+
} else if (error instanceof Error) {
|
|
213
|
+
return error.message;
|
|
214
|
+
}
|
|
215
|
+
return 'Unknown error';
|
|
216
|
+
},
|
|
217
|
+
async checkInstalled(wallet) {
|
|
218
|
+
let isInstalled = false;
|
|
219
|
+
const scheme = wallet.ios_schema;
|
|
220
|
+
const appId = wallet.android_app_id;
|
|
221
|
+
try {
|
|
222
|
+
isInstalled = await _reactNative.Platform.select({
|
|
223
|
+
ios: isAppInstalledIos(scheme),
|
|
224
|
+
android: isAppInstalledAndroid(appId),
|
|
225
|
+
default: Promise.resolve(false)
|
|
226
|
+
});
|
|
227
|
+
} catch {
|
|
228
|
+
isInstalled = false;
|
|
229
|
+
}
|
|
230
|
+
return isInstalled;
|
|
231
|
+
},
|
|
232
|
+
isValidEmail(email) {
|
|
233
|
+
return _ConstantsUtil.ConstantsUtil.EMAIL_REGEX.test(email);
|
|
234
|
+
},
|
|
235
|
+
allSettled(promises) {
|
|
236
|
+
return Promise.all(promises.map(promise => promise.then(value => ({
|
|
237
|
+
status: 'fulfilled',
|
|
238
|
+
value
|
|
239
|
+
})).catch(reason => ({
|
|
240
|
+
status: 'rejected',
|
|
241
|
+
reason
|
|
242
|
+
}))));
|
|
243
|
+
},
|
|
244
|
+
calculateAndFormatBalance(array) {
|
|
245
|
+
if (!array?.length) {
|
|
246
|
+
return {
|
|
247
|
+
dollars: '0',
|
|
248
|
+
pennies: '00'
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
let sum = 0;
|
|
252
|
+
for (const item of array) {
|
|
253
|
+
sum += item?.value ?? 0;
|
|
254
|
+
}
|
|
255
|
+
const roundedNumber = sum.toFixed(2);
|
|
256
|
+
const [dollars, pennies] = roundedNumber.split('.');
|
|
257
|
+
return {
|
|
258
|
+
dollars,
|
|
259
|
+
pennies
|
|
260
|
+
};
|
|
261
|
+
},
|
|
262
|
+
sortNetworks(approvedCaipNetworkIds, requestedCaipNetworks = []) {
|
|
263
|
+
const approvedIds = approvedCaipNetworkIds;
|
|
264
|
+
const requested = [...requestedCaipNetworks];
|
|
265
|
+
if (approvedIds?.length) {
|
|
266
|
+
requested?.sort((a, b) => {
|
|
267
|
+
if (approvedIds.includes(a.id) && !approvedIds.includes(b.id)) return -1;
|
|
268
|
+
if (approvedIds.includes(b.id) && !approvedIds.includes(a.id)) return 1;
|
|
269
|
+
return 0;
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
return requested;
|
|
273
|
+
},
|
|
274
|
+
debounce(func, wait) {
|
|
275
|
+
let timeout = null;
|
|
276
|
+
return function (...args) {
|
|
277
|
+
if (timeout) {
|
|
278
|
+
clearTimeout(timeout);
|
|
279
|
+
}
|
|
280
|
+
timeout = setTimeout(() => {
|
|
281
|
+
func(...args);
|
|
282
|
+
}, wait);
|
|
283
|
+
};
|
|
284
|
+
},
|
|
285
|
+
generateSdkVersion(adapters, version) {
|
|
286
|
+
const hasNoAdapters = adapters.length === 0;
|
|
287
|
+
const universalType = 'universal';
|
|
288
|
+
const adapterNames = hasNoAdapters ? universalType : adapters.sort((a, b) => a.adapterType.localeCompare(b.adapterType)).map(adapter => adapter.adapterType).join(',');
|
|
289
|
+
return `react-native-${adapterNames}-${version}`;
|
|
290
|
+
},
|
|
291
|
+
getRequestedCaipNetworkIds() {
|
|
292
|
+
const chains = _OptionsController.OptionsController.state.requestedNetworks;
|
|
293
|
+
if (!chains) return [];
|
|
294
|
+
const requestedIds = chains.map(caipNetwork => caipNetwork.caipNetworkId);
|
|
295
|
+
return requestedIds;
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
//# sourceMappingURL=CoreHelperUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_appkitCommonReactNative","ct","_interopRequireWildcard","_ConstantsUtil","_OptionsController","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isAppInstalledIos","deepLink","Linking","canOpenURL","Promise","resolve","error","isAppInstalledAndroid","packageName","global","Application","isAppInstalled","CoreHelperUtil","exports","isPairingExpired","expiry","Date","now","ConstantsUtil","TEN_SEC_MS","isAllowedRetry","lastRetry","ONE_SEC_MS","isCaipAddress","address","sections","split","namespace","filter","Boolean","length","CommonConstants","CHAIN_NAME_MAP","getPairingExpiry","FOUR_MINUTES_MS","getNetworkId","caipAddress","getPlainAddress","wait","milliseconds","setTimeout","isHttpUrl","url","startsWith","isLinkModeURL","includes","formatNativeUrl","appUrl","wcUri","redirect","href","formatUniversalUrl","safeAppUrl","replaceAll","endsWith","encodedWcUrl","encodeURIComponent","provider","openLink","openURL","Error","LINKING_ERROR","formatBalance","balance","symbol","decimals","formattedBalance","number","Number","regex","RegExp","toString","match","isAddress","test","getApiUrl","API_URL","getBlockchainApiUrl","BLOCKCHAIN_API_RPC_URL","getBlockchainStagingApiUrl","BLOCKCHAIN_API_RPC_URL_STAGING","getAnalyticsUrl","PULSE_API_URL","getCountryFromTimezone","timeZone","Intl","DateTimeFormat","resolvedOptions","country","getCountryForTimezone","id","getUUID","crypto","getRandomValues","buffer","Uint8Array","hexString","Array","from","byte","padStart","join","formatted","slice","replace","c","Math","random","v","getBundleId","applicationId","undefined","parseError","issues","message","checkInstalled","wallet","isInstalled","scheme","ios_schema","appId","android_app_id","Platform","select","ios","android","isValidEmail","email","EMAIL_REGEX","allSettled","promises","all","map","promise","then","value","status","catch","reason","calculateAndFormatBalance","array","dollars","pennies","sum","item","roundedNumber","toFixed","sortNetworks","approvedCaipNetworkIds","requestedCaipNetworks","approvedIds","requested","sort","a","b","debounce","func","timeout","args","clearTimeout","generateSdkVersion","adapters","version","hasNoAdapters","universalType","adapterNames","adapterType","localeCompare","adapter","getRequestedCaipNetworkIds","chains","OptionsController","state","requestedNetworks","requestedIds","caipNetwork","caipNetworkId"],"sourceRoot":"../../../src","sources":["utils/CoreHelperUtil.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EventUtil = void 0;
|
|
7
|
+
const EventUtil = exports.EventUtil = {
|
|
8
|
+
getWalletPlatform(wallet, installed) {
|
|
9
|
+
if (installed) {
|
|
10
|
+
return 'mobile';
|
|
11
|
+
}
|
|
12
|
+
if (wallet.mobile_link && wallet.webapp_link) {
|
|
13
|
+
// if we cannot assure what platform the wallet is, we return undefined
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
if (wallet.mobile_link) {
|
|
17
|
+
return 'mobile';
|
|
18
|
+
}
|
|
19
|
+
if (wallet.webapp_link) {
|
|
20
|
+
return 'web';
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=EventUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EventUtil","exports","getWalletPlatform","wallet","installed","mobile_link","webapp_link","undefined"],"sourceRoot":"../../../src","sources":["utils/EventUtil.ts"],"mappings":";;;;;;AAEO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvBE,iBAAiBA,CAACC,MAAgB,EAAEC,SAAmB,EAAwB;IAC7E,IAAIA,SAAS,EAAE;MACb,OAAO,QAAQ;IACjB;IAEA,IAAID,MAAM,CAACE,WAAW,IAAIF,MAAM,CAACG,WAAW,EAAE;MAC5C;MACA,OAAOC,SAAS;IAClB;IACA,IAAIJ,MAAM,CAACE,WAAW,EAAE;MACtB,OAAO,QAAQ;IACjB;IACA,IAAIF,MAAM,CAACG,WAAW,EAAE;MACtB,OAAO,KAAK;IACd;IAEA,OAAOC,SAAS;EAClB;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FetchUtil = void 0;
|
|
7
|
+
var _LogController = require("../controllers/LogController");
|
|
8
|
+
// -- Types ----------------------------------------------------------------------
|
|
9
|
+
|
|
10
|
+
// -- Utility --------------------------------------------------------------------
|
|
11
|
+
class FetchUtil {
|
|
12
|
+
constructor({
|
|
13
|
+
baseUrl,
|
|
14
|
+
clientId
|
|
15
|
+
}) {
|
|
16
|
+
this.baseUrl = baseUrl;
|
|
17
|
+
this.clientId = clientId;
|
|
18
|
+
}
|
|
19
|
+
async get({
|
|
20
|
+
headers,
|
|
21
|
+
signal,
|
|
22
|
+
...args
|
|
23
|
+
}) {
|
|
24
|
+
const url = this.createUrl(args);
|
|
25
|
+
const response = await fetch(url, {
|
|
26
|
+
method: 'GET',
|
|
27
|
+
headers,
|
|
28
|
+
signal
|
|
29
|
+
});
|
|
30
|
+
return this.processResponse(response);
|
|
31
|
+
}
|
|
32
|
+
async post({
|
|
33
|
+
body,
|
|
34
|
+
headers,
|
|
35
|
+
signal,
|
|
36
|
+
...args
|
|
37
|
+
}) {
|
|
38
|
+
const url = this.createUrl(args);
|
|
39
|
+
const response = await fetch(url, {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
headers,
|
|
42
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
43
|
+
signal
|
|
44
|
+
});
|
|
45
|
+
return this.processResponse(response);
|
|
46
|
+
}
|
|
47
|
+
async put({
|
|
48
|
+
body,
|
|
49
|
+
headers,
|
|
50
|
+
signal,
|
|
51
|
+
...args
|
|
52
|
+
}) {
|
|
53
|
+
const url = this.createUrl(args);
|
|
54
|
+
const response = await fetch(url, {
|
|
55
|
+
method: 'PUT',
|
|
56
|
+
headers,
|
|
57
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
58
|
+
signal
|
|
59
|
+
});
|
|
60
|
+
return this.processResponse(response);
|
|
61
|
+
}
|
|
62
|
+
async delete({
|
|
63
|
+
body,
|
|
64
|
+
headers,
|
|
65
|
+
signal,
|
|
66
|
+
...args
|
|
67
|
+
}) {
|
|
68
|
+
const url = this.createUrl(args);
|
|
69
|
+
const response = await fetch(url, {
|
|
70
|
+
method: 'DELETE',
|
|
71
|
+
headers,
|
|
72
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
73
|
+
signal
|
|
74
|
+
});
|
|
75
|
+
return this.processResponse(response);
|
|
76
|
+
}
|
|
77
|
+
async fetchImage(path, headers, params) {
|
|
78
|
+
try {
|
|
79
|
+
const url = this.createUrl({
|
|
80
|
+
path,
|
|
81
|
+
params
|
|
82
|
+
}).toString();
|
|
83
|
+
const response = await fetch(url, {
|
|
84
|
+
headers
|
|
85
|
+
});
|
|
86
|
+
const blob = await response.blob();
|
|
87
|
+
const reader = new FileReader();
|
|
88
|
+
reader.readAsDataURL(blob);
|
|
89
|
+
return new Promise(resolve => {
|
|
90
|
+
reader.onloadend = () => resolve(reader.result);
|
|
91
|
+
});
|
|
92
|
+
} catch {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
createUrl({
|
|
97
|
+
path,
|
|
98
|
+
params
|
|
99
|
+
}) {
|
|
100
|
+
let fullUrl;
|
|
101
|
+
const isAbsoluteUrl = path.startsWith('http://') || path.startsWith('https://');
|
|
102
|
+
if (isAbsoluteUrl) {
|
|
103
|
+
fullUrl = path;
|
|
104
|
+
} else {
|
|
105
|
+
const baseUrl = this.baseUrl.endsWith('/') ? this.baseUrl : `${this.baseUrl}/`;
|
|
106
|
+
const pathUrl = path.startsWith('/') ? path.substring(1) : path;
|
|
107
|
+
fullUrl = `${baseUrl}${pathUrl}`;
|
|
108
|
+
}
|
|
109
|
+
const allParams = {
|
|
110
|
+
...params
|
|
111
|
+
};
|
|
112
|
+
if (this.clientId) {
|
|
113
|
+
allParams['clientId'] = this.clientId;
|
|
114
|
+
}
|
|
115
|
+
const queryParams = [];
|
|
116
|
+
for (const key in allParams) {
|
|
117
|
+
const value = allParams[key];
|
|
118
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
119
|
+
queryParams.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (queryParams.length > 0) {
|
|
123
|
+
const queryString = queryParams.join('&');
|
|
124
|
+
if (fullUrl.includes('?')) {
|
|
125
|
+
fullUrl = `${fullUrl}&${queryString}`;
|
|
126
|
+
} else {
|
|
127
|
+
fullUrl = `${fullUrl}?${queryString}`;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return fullUrl;
|
|
131
|
+
}
|
|
132
|
+
async processResponse(response) {
|
|
133
|
+
if (!response.ok) {
|
|
134
|
+
if (response.headers.get('content-type')?.includes('application/json')) {
|
|
135
|
+
try {
|
|
136
|
+
const errorData = await response.json();
|
|
137
|
+
_LogController.LogController.sendError(JSON.stringify(errorData), 'FetchUtil.ts', 'processResponse');
|
|
138
|
+
return Promise.reject(errorData);
|
|
139
|
+
} catch (jsonError) {
|
|
140
|
+
_LogController.LogController.sendError(jsonError, 'FetchUtil.ts', 'processResponse');
|
|
141
|
+
return Promise.reject(`Code: ${response.status} - ${response.statusText}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const errorText = await response.text();
|
|
145
|
+
_LogController.LogController.sendError(errorText, 'FetchUtil.ts', 'processResponse');
|
|
146
|
+
return Promise.reject(`Code: ${response.status} - ${response.statusText} - ${errorText}`);
|
|
147
|
+
}
|
|
148
|
+
if (response.headers.get('content-length') === '0') {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (response.headers.get('content-type')?.includes('application/json')) {
|
|
152
|
+
return response.json();
|
|
153
|
+
}
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.FetchUtil = FetchUtil;
|
|
158
|
+
//# sourceMappingURL=FetchUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_LogController","require","FetchUtil","constructor","baseUrl","clientId","get","headers","signal","args","url","createUrl","response","fetch","method","processResponse","post","body","JSON","stringify","undefined","put","delete","fetchImage","path","params","toString","blob","reader","FileReader","readAsDataURL","Promise","resolve","onloadend","result","fullUrl","isAbsoluteUrl","startsWith","endsWith","pathUrl","substring","allParams","queryParams","key","value","push","encodeURIComponent","length","queryString","join","includes","ok","errorData","json","LogController","sendError","reject","jsonError","status","statusText","errorText","text","exports"],"sourceRoot":"../../../src","sources":["utils/FetchUtil.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sanitizeValue = exports.sanitizeUrl = exports.sanitizeString = exports.sanitizeStackTrace = exports.sanitizeObject = exports.sanitizeData = exports.LogUtils = void 0;
|
|
7
|
+
// -- Constants ----------------------------------------- //
|
|
8
|
+
const SENSITIVE_KEYS = ['password', 'pass', 'pwd', 'secret', 'token', 'key', 'auth', 'authorization', 'bearer', 'credential', 'api_key', 'apikey', 'access_token', 'refresh_token', 'private_key', 'privatekey', 'mnemonic', 'seed', 'phrase', 'wallet', 'address', 'email', 'phone', 'ssn', 'social', 'credit', 'card', 'cvv', 'connection_string', 'connection', 'user_token'];
|
|
9
|
+
const MAX_STRING_LENGTH = 480; // Maximum length for any string value (account for potential replacements)
|
|
10
|
+
const MAX_STACK_LINES = 10; // Maximum lines in stack trace
|
|
11
|
+
|
|
12
|
+
// -- Data Sanitization Functions ---------------------- //
|
|
13
|
+
const sanitizeString = value => {
|
|
14
|
+
if (typeof value !== 'string') {
|
|
15
|
+
value = String(value);
|
|
16
|
+
}
|
|
17
|
+
if (value.length > MAX_STRING_LENGTH) {
|
|
18
|
+
return value.substring(0, MAX_STRING_LENGTH) + '... [truncated]';
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
};
|
|
22
|
+
exports.sanitizeString = sanitizeString;
|
|
23
|
+
const sanitizeStackTrace = stack => {
|
|
24
|
+
if (typeof stack !== 'string') {
|
|
25
|
+
stack = String(stack);
|
|
26
|
+
}
|
|
27
|
+
const lines = stack.split('\n');
|
|
28
|
+
const sanitizedLines = lines.slice(0, MAX_STACK_LINES).map(line => {
|
|
29
|
+
// Remove file paths that might contain sensitive info
|
|
30
|
+
return line.replace(/\/[^\s]*\//g, '/[path]/');
|
|
31
|
+
});
|
|
32
|
+
if (lines.length > MAX_STACK_LINES) {
|
|
33
|
+
sanitizedLines.push('... [stack trace truncated]');
|
|
34
|
+
}
|
|
35
|
+
return sanitizedLines.join('\n');
|
|
36
|
+
};
|
|
37
|
+
exports.sanitizeStackTrace = sanitizeStackTrace;
|
|
38
|
+
const sanitizeUrl = url => {
|
|
39
|
+
try {
|
|
40
|
+
const urlObj = new URL(url);
|
|
41
|
+
// Remove query parameters that might contain sensitive data
|
|
42
|
+
urlObj.search = '';
|
|
43
|
+
// Keep only the origin and pathname
|
|
44
|
+
|
|
45
|
+
return urlObj.origin + urlObj.pathname;
|
|
46
|
+
} catch {
|
|
47
|
+
// If URL parsing fails, just return sanitized string
|
|
48
|
+
|
|
49
|
+
return sanitizeString(url);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.sanitizeUrl = sanitizeUrl;
|
|
53
|
+
const isSensitiveKey = key => {
|
|
54
|
+
const lowerKey = key.toLowerCase();
|
|
55
|
+
return SENSITIVE_KEYS.some(sensitiveKey => lowerKey.includes(sensitiveKey));
|
|
56
|
+
};
|
|
57
|
+
const sanitizeValue = (value, visited = new WeakSet()) => {
|
|
58
|
+
if (value === null || value === undefined) {
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
if (typeof value === 'string') {
|
|
62
|
+
// Check if it looks like a URL
|
|
63
|
+
if (value.startsWith('http://') || value.startsWith('https://')) {
|
|
64
|
+
return sanitizeUrl(value);
|
|
65
|
+
}
|
|
66
|
+
return sanitizeString(value);
|
|
67
|
+
}
|
|
68
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
if (Array.isArray(value)) {
|
|
72
|
+
// Prevent circular references in arrays
|
|
73
|
+
if (visited.has(value)) {
|
|
74
|
+
return '[Circular Reference]';
|
|
75
|
+
}
|
|
76
|
+
visited.add(value);
|
|
77
|
+
const result = value.slice(0, 10).map(item => sanitizeValue(item, visited));
|
|
78
|
+
visited.delete(value);
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
if (typeof value === 'object') {
|
|
82
|
+
return sanitizeObject(value, visited);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// For other types, convert to string and sanitize
|
|
86
|
+
return sanitizeString(String(value));
|
|
87
|
+
};
|
|
88
|
+
exports.sanitizeValue = sanitizeValue;
|
|
89
|
+
const sanitizeObject = (obj, visited = new WeakSet()) => {
|
|
90
|
+
// Prevent circular references
|
|
91
|
+
if (visited.has(obj)) {
|
|
92
|
+
return {
|
|
93
|
+
'[Circular Reference]': true
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
visited.add(obj);
|
|
97
|
+
const sanitized = {};
|
|
98
|
+
const keys = Object.keys(obj).slice(0, 20); // Limit number of keys
|
|
99
|
+
|
|
100
|
+
for (const key of keys) {
|
|
101
|
+
if (isSensitiveKey(key)) {
|
|
102
|
+
sanitized[key] = '[REDACTED]';
|
|
103
|
+
} else {
|
|
104
|
+
sanitized[key] = sanitizeValue(obj[key], visited);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (Object.keys(obj).length > 20) {
|
|
108
|
+
sanitized['...'] = '[additional properties truncated]';
|
|
109
|
+
}
|
|
110
|
+
visited.delete(obj);
|
|
111
|
+
return sanitized;
|
|
112
|
+
};
|
|
113
|
+
exports.sanitizeObject = sanitizeObject;
|
|
114
|
+
const sanitizeData = data => {
|
|
115
|
+
if (!data) {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
return sanitizeObject(data);
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// -- Utility Functions --------------------------------- //
|
|
122
|
+
exports.sanitizeData = sanitizeData;
|
|
123
|
+
const LogUtils = exports.LogUtils = {
|
|
124
|
+
sanitizeString,
|
|
125
|
+
sanitizeStackTrace,
|
|
126
|
+
sanitizeUrl,
|
|
127
|
+
sanitizeValue,
|
|
128
|
+
sanitizeObject,
|
|
129
|
+
sanitizeData
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=LogUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SENSITIVE_KEYS","MAX_STRING_LENGTH","MAX_STACK_LINES","sanitizeString","value","String","length","substring","exports","sanitizeStackTrace","stack","lines","split","sanitizedLines","slice","map","line","replace","push","join","sanitizeUrl","url","urlObj","URL","search","origin","pathname","isSensitiveKey","key","lowerKey","toLowerCase","some","sensitiveKey","includes","sanitizeValue","visited","WeakSet","undefined","startsWith","Array","isArray","has","add","result","item","delete","sanitizeObject","obj","sanitized","keys","Object","sanitizeData","data","LogUtils"],"sourceRoot":"../../../src","sources":["utils/LogUtils.ts"],"mappings":"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","ignoreList":[]}
|