@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.
Files changed (234) hide show
  1. package/lib/commonjs/controllers/ApiController.js +410 -0
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -0
  3. package/lib/commonjs/controllers/AssetController.js +30 -0
  4. package/lib/commonjs/controllers/AssetController.js.map +1 -0
  5. package/lib/commonjs/controllers/BlockchainApiController.js +384 -0
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -0
  7. package/lib/commonjs/controllers/ConnectionsController.js +425 -0
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
  9. package/lib/commonjs/controllers/EnsController.js +37 -0
  10. package/lib/commonjs/controllers/EnsController.js.map +1 -0
  11. package/lib/commonjs/controllers/EventsController.js +122 -0
  12. package/lib/commonjs/controllers/EventsController.js.map +1 -0
  13. package/lib/commonjs/controllers/LogController.js +188 -0
  14. package/lib/commonjs/controllers/LogController.js.map +1 -0
  15. package/lib/commonjs/controllers/ModalController.js +68 -0
  16. package/lib/commonjs/controllers/ModalController.js.map +1 -0
  17. package/lib/commonjs/controllers/OnRampController.js +502 -0
  18. package/lib/commonjs/controllers/OnRampController.js.map +1 -0
  19. package/lib/commonjs/controllers/OptionsController.js +96 -0
  20. package/lib/commonjs/controllers/OptionsController.js.map +1 -0
  21. package/lib/commonjs/controllers/PublicStateController.js +33 -0
  22. package/lib/commonjs/controllers/PublicStateController.js.map +1 -0
  23. package/lib/commonjs/controllers/RouterController.js +63 -0
  24. package/lib/commonjs/controllers/RouterController.js.map +1 -0
  25. package/lib/commonjs/controllers/SendController.js +192 -0
  26. package/lib/commonjs/controllers/SendController.js.map +1 -0
  27. package/lib/commonjs/controllers/SnackController.js +83 -0
  28. package/lib/commonjs/controllers/SnackController.js.map +1 -0
  29. package/lib/commonjs/controllers/SwapController.js +674 -0
  30. package/lib/commonjs/controllers/SwapController.js.map +1 -0
  31. package/lib/commonjs/controllers/ThemeController.js +45 -0
  32. package/lib/commonjs/controllers/ThemeController.js.map +1 -0
  33. package/lib/commonjs/controllers/TransactionsController.js +118 -0
  34. package/lib/commonjs/controllers/TransactionsController.js.map +1 -0
  35. package/lib/commonjs/controllers/WcController.js +73 -0
  36. package/lib/commonjs/controllers/WcController.js.map +1 -0
  37. package/lib/commonjs/features/reown-authentication/ReownAuthentication.js +272 -0
  38. package/lib/commonjs/features/reown-authentication/ReownAuthentication.js.map +1 -0
  39. package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js +48 -0
  40. package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
  41. package/lib/commonjs/features/reown-authentication/index.js +28 -0
  42. package/lib/commonjs/features/reown-authentication/index.js.map +1 -0
  43. package/lib/commonjs/index.js +202 -0
  44. package/lib/commonjs/index.js.map +1 -0
  45. package/lib/commonjs/package.json +1 -0
  46. package/lib/commonjs/utils/ApiUtil.js +43 -0
  47. package/lib/commonjs/utils/ApiUtil.js.map +1 -0
  48. package/lib/commonjs/utils/AssetUtil.js +27 -0
  49. package/lib/commonjs/utils/AssetUtil.js.map +1 -0
  50. package/lib/commonjs/utils/ConstantsUtil.js +226 -0
  51. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -0
  52. package/lib/commonjs/utils/CoreHelperUtil.js +298 -0
  53. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -0
  54. package/lib/commonjs/utils/EventUtil.js +25 -0
  55. package/lib/commonjs/utils/EventUtil.js.map +1 -0
  56. package/lib/commonjs/utils/FetchUtil.js +158 -0
  57. package/lib/commonjs/utils/FetchUtil.js.map +1 -0
  58. package/lib/commonjs/utils/LogUtils.js +131 -0
  59. package/lib/commonjs/utils/LogUtils.js.map +1 -0
  60. package/lib/commonjs/utils/StorageUtil.js +319 -0
  61. package/lib/commonjs/utils/StorageUtil.js.map +1 -0
  62. package/lib/commonjs/utils/SwapApiUtil.js +75 -0
  63. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -0
  64. package/lib/commonjs/utils/SwapCalculationUtil.js +97 -0
  65. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -0
  66. package/lib/commonjs/utils/WalletUtil.js +23 -0
  67. package/lib/commonjs/utils/WalletUtil.js.map +1 -0
  68. package/lib/module/controllers/ApiController.js +407 -0
  69. package/lib/module/controllers/ApiController.js.map +1 -0
  70. package/lib/module/controllers/AssetController.js +27 -0
  71. package/lib/module/controllers/AssetController.js.map +1 -0
  72. package/lib/module/controllers/BlockchainApiController.js +381 -0
  73. package/lib/module/controllers/BlockchainApiController.js.map +1 -0
  74. package/lib/module/controllers/ConnectionsController.js +422 -0
  75. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  76. package/lib/module/controllers/EnsController.js +34 -0
  77. package/lib/module/controllers/EnsController.js.map +1 -0
  78. package/lib/module/controllers/EventsController.js +118 -0
  79. package/lib/module/controllers/EventsController.js.map +1 -0
  80. package/lib/module/controllers/LogController.js +185 -0
  81. package/lib/module/controllers/LogController.js.map +1 -0
  82. package/lib/module/controllers/ModalController.js +65 -0
  83. package/lib/module/controllers/ModalController.js.map +1 -0
  84. package/lib/module/controllers/OnRampController.js +499 -0
  85. package/lib/module/controllers/OnRampController.js.map +1 -0
  86. package/lib/module/controllers/OptionsController.js +93 -0
  87. package/lib/module/controllers/OptionsController.js.map +1 -0
  88. package/lib/module/controllers/PublicStateController.js +30 -0
  89. package/lib/module/controllers/PublicStateController.js.map +1 -0
  90. package/lib/module/controllers/RouterController.js +60 -0
  91. package/lib/module/controllers/RouterController.js.map +1 -0
  92. package/lib/module/controllers/SendController.js +189 -0
  93. package/lib/module/controllers/SendController.js.map +1 -0
  94. package/lib/module/controllers/SnackController.js +80 -0
  95. package/lib/module/controllers/SnackController.js.map +1 -0
  96. package/lib/module/controllers/SwapController.js +671 -0
  97. package/lib/module/controllers/SwapController.js.map +1 -0
  98. package/lib/module/controllers/ThemeController.js +42 -0
  99. package/lib/module/controllers/ThemeController.js.map +1 -0
  100. package/lib/module/controllers/TransactionsController.js +115 -0
  101. package/lib/module/controllers/TransactionsController.js.map +1 -0
  102. package/lib/module/controllers/WcController.js +70 -0
  103. package/lib/module/controllers/WcController.js.map +1 -0
  104. package/lib/module/features/reown-authentication/ReownAuthentication.js +268 -0
  105. package/lib/module/features/reown-authentication/ReownAuthentication.js.map +1 -0
  106. package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js +43 -0
  107. package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
  108. package/lib/module/features/reown-authentication/index.js +5 -0
  109. package/lib/module/features/reown-authentication/index.js.map +1 -0
  110. package/lib/module/index.js +38 -0
  111. package/lib/module/index.js.map +1 -0
  112. package/lib/module/utils/ApiUtil.js +39 -0
  113. package/lib/module/utils/ApiUtil.js.map +1 -0
  114. package/lib/module/utils/AssetUtil.js +23 -0
  115. package/lib/module/utils/AssetUtil.js.map +1 -0
  116. package/lib/module/utils/ConstantsUtil.js +222 -0
  117. package/lib/module/utils/ConstantsUtil.js.map +1 -0
  118. package/lib/module/utils/CoreHelperUtil.js +294 -0
  119. package/lib/module/utils/CoreHelperUtil.js.map +1 -0
  120. package/lib/module/utils/EventUtil.js +21 -0
  121. package/lib/module/utils/EventUtil.js.map +1 -0
  122. package/lib/module/utils/FetchUtil.js +154 -0
  123. package/lib/module/utils/FetchUtil.js.map +1 -0
  124. package/lib/module/utils/LogUtils.js +121 -0
  125. package/lib/module/utils/LogUtils.js.map +1 -0
  126. package/lib/module/utils/StorageUtil.js +315 -0
  127. package/lib/module/utils/StorageUtil.js.map +1 -0
  128. package/lib/module/utils/SwapApiUtil.js +71 -0
  129. package/lib/module/utils/SwapApiUtil.js.map +1 -0
  130. package/lib/module/utils/SwapCalculationUtil.js +94 -0
  131. package/lib/module/utils/SwapCalculationUtil.js.map +1 -0
  132. package/lib/module/utils/WalletUtil.js +19 -0
  133. package/lib/module/utils/WalletUtil.js.map +1 -0
  134. package/lib/typescript/controllers/ApiController.d.ts +40 -0
  135. package/lib/typescript/controllers/ApiController.d.ts.map +1 -0
  136. package/lib/typescript/controllers/AssetController.d.ts +12 -0
  137. package/lib/typescript/controllers/AssetController.d.ts.map +1 -0
  138. package/lib/typescript/controllers/BlockchainApiController.d.ts +55 -0
  139. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -0
  140. package/lib/typescript/controllers/ConnectionsController.d.ts +47 -0
  141. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  142. package/lib/typescript/controllers/EnsController.d.ts +10 -0
  143. package/lib/typescript/controllers/EnsController.d.ts.map +1 -0
  144. package/lib/typescript/controllers/EventsController.d.ts +25 -0
  145. package/lib/typescript/controllers/EventsController.d.ts.map +1 -0
  146. package/lib/typescript/controllers/LogController.d.ts +65 -0
  147. package/lib/typescript/controllers/LogController.d.ts.map +1 -0
  148. package/lib/typescript/controllers/ModalController.d.ts +17 -0
  149. package/lib/typescript/controllers/ModalController.d.ts.map +1 -0
  150. package/lib/typescript/controllers/OnRampController.d.ts +55 -0
  151. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -0
  152. package/lib/typescript/controllers/OptionsController.d.ts +46 -0
  153. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -0
  154. package/lib/typescript/controllers/PublicStateController.d.ts +12 -0
  155. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -0
  156. package/lib/typescript/controllers/RouterController.d.ts +21 -0
  157. package/lib/typescript/controllers/RouterController.d.ts.map +1 -0
  158. package/lib/typescript/controllers/SendController.d.ts +39 -0
  159. package/lib/typescript/controllers/SendController.d.ts.map +1 -0
  160. package/lib/typescript/controllers/SnackController.d.ts +20 -0
  161. package/lib/typescript/controllers/SnackController.d.ts.map +1 -0
  162. package/lib/typescript/controllers/SwapController.d.ts +116 -0
  163. package/lib/typescript/controllers/SwapController.d.ts.map +1 -0
  164. package/lib/typescript/controllers/ThemeController.d.ts +14 -0
  165. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -0
  166. package/lib/typescript/controllers/TransactionsController.d.ts +21 -0
  167. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -0
  168. package/lib/typescript/controllers/WcController.d.ts +27 -0
  169. package/lib/typescript/controllers/WcController.d.ts.map +1 -0
  170. package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts +174 -0
  171. package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts.map +1 -0
  172. package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts +16 -0
  173. package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts.map +1 -0
  174. package/lib/typescript/features/reown-authentication/index.d.ts +3 -0
  175. package/lib/typescript/features/reown-authentication/index.d.ts.map +1 -0
  176. package/lib/typescript/index.d.ts +29 -0
  177. package/lib/typescript/index.d.ts.map +1 -0
  178. package/lib/typescript/utils/ApiUtil.d.ts +7 -0
  179. package/lib/typescript/utils/ApiUtil.d.ts.map +1 -0
  180. package/lib/typescript/utils/AssetUtil.d.ts +6 -0
  181. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -0
  182. package/lib/typescript/utils/ConstantsUtil.d.ts +79 -0
  183. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -0
  184. package/lib/typescript/utils/CoreHelperUtil.d.ts +43 -0
  185. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -0
  186. package/lib/typescript/utils/EventUtil.d.ts +5 -0
  187. package/lib/typescript/utils/EventUtil.d.ts.map +1 -0
  188. package/lib/typescript/utils/FetchUtil.d.ts +29 -0
  189. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -0
  190. package/lib/typescript/utils/LogUtils.d.ts +15 -0
  191. package/lib/typescript/utils/LogUtils.d.ts.map +1 -0
  192. package/lib/typescript/utils/StorageUtil.d.ts +36 -0
  193. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -0
  194. package/lib/typescript/utils/SwapApiUtil.d.ts +11 -0
  195. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -0
  196. package/lib/typescript/utils/SwapCalculationUtil.d.ts +24 -0
  197. package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -0
  198. package/lib/typescript/utils/WalletUtil.d.ts +5 -0
  199. package/lib/typescript/utils/WalletUtil.d.ts.map +1 -0
  200. package/package.json +57 -0
  201. package/readme.md +9 -0
  202. package/src/controllers/ApiController.ts +454 -0
  203. package/src/controllers/AssetController.ts +32 -0
  204. package/src/controllers/BlockchainApiController.ts +418 -0
  205. package/src/controllers/ConnectionsController.ts +575 -0
  206. package/src/controllers/EnsController.ts +41 -0
  207. package/src/controllers/EventsController.ts +146 -0
  208. package/src/controllers/LogController.ts +250 -0
  209. package/src/controllers/ModalController.ts +68 -0
  210. package/src/controllers/OnRampController.ts +698 -0
  211. package/src/controllers/OptionsController.ts +143 -0
  212. package/src/controllers/PublicStateController.ts +37 -0
  213. package/src/controllers/RouterController.ts +112 -0
  214. package/src/controllers/SendController.ts +270 -0
  215. package/src/controllers/SnackController.ts +95 -0
  216. package/src/controllers/SwapController.ts +863 -0
  217. package/src/controllers/ThemeController.ts +47 -0
  218. package/src/controllers/TransactionsController.ts +150 -0
  219. package/src/controllers/WcController.ts +93 -0
  220. package/src/features/reown-authentication/ReownAuthentication.ts +475 -0
  221. package/src/features/reown-authentication/ReownAuthenticationMessenger.ts +80 -0
  222. package/src/features/reown-authentication/index.ts +2 -0
  223. package/src/index.ts +70 -0
  224. package/src/utils/ApiUtil.ts +50 -0
  225. package/src/utils/AssetUtil.ts +27 -0
  226. package/src/utils/ConstantsUtil.ts +303 -0
  227. package/src/utils/CoreHelperUtil.ts +377 -0
  228. package/src/utils/EventUtil.ts +22 -0
  229. package/src/utils/FetchUtil.ts +164 -0
  230. package/src/utils/LogUtils.ts +179 -0
  231. package/src/utils/StorageUtil.ts +405 -0
  232. package/src/utils/SwapApiUtil.ts +101 -0
  233. package/src/utils/SwapCalculationUtil.ts +145 -0
  234. 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":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAEA;;AAkBA;AACO,MAAMC,SAAS,CAAC;EAIdC,WAAWA,CAAC;IAAEC,OAAO;IAAEC;EAAkB,CAAC,EAAE;IACjD,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC1B;EAEA,MAAaC,GAAGA,CAAI;IAAEC,OAAO;IAAEC,MAAM;IAAE,GAAGC;EAAuB,CAAC,EAAE;IAClE,MAAMC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC;IAChC,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAE;MAAEI,MAAM,EAAE,KAAK;MAAEP,OAAO;MAAEC;IAAO,CAAC,CAAC;IAErE,OAAO,IAAI,CAACO,eAAe,CAAIH,QAAQ,CAAC;EAC1C;EAEA,MAAaI,IAAIA,CAAI;IAAEC,IAAI;IAAEV,OAAO;IAAEC,MAAM;IAAE,GAAGC;EAAoB,CAAC,EAAE;IACtE,MAAMC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC;IAChC,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAE;MAChCI,MAAM,EAAE,MAAM;MACdP,OAAO;MACPU,IAAI,EAAEA,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,GAAGG,SAAS;MAC7CZ;IACF,CAAC,CAAC;IAEF,OAAO,IAAI,CAACO,eAAe,CAAIH,QAAQ,CAAC;EAC1C;EAEA,MAAaS,GAAGA,CAAI;IAAEJ,IAAI;IAAEV,OAAO;IAAEC,MAAM;IAAE,GAAGC;EAAoB,CAAC,EAAE;IACrE,MAAMC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC;IAChC,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAE;MAChCI,MAAM,EAAE,KAAK;MACbP,OAAO;MACPU,IAAI,EAAEA,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,GAAGG,SAAS;MAC7CZ;IACF,CAAC,CAAC;IAEF,OAAO,IAAI,CAACO,eAAe,CAAIH,QAAQ,CAAC;EAC1C;EAEA,MAAaU,MAAMA,CAAI;IAAEL,IAAI;IAAEV,OAAO;IAAEC,MAAM;IAAE,GAAGC;EAAoB,CAAC,EAAE;IACxE,MAAMC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC;IAChC,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAE;MAChCI,MAAM,EAAE,QAAQ;MAChBP,OAAO;MACPU,IAAI,EAAEA,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,GAAGG,SAAS;MAC7CZ;IACF,CAAC,CAAC;IAEF,OAAO,IAAI,CAACO,eAAe,CAAIH,QAAQ,CAAC;EAC1C;EAEA,MAAaW,UAAUA,CACrBC,IAAY,EACZjB,OAAgC,EAChCkB,MAA+B,EAC/B;IACA,IAAI;MACF,MAAMf,GAAG,GAAG,IAAI,CAACC,SAAS,CAAC;QAAEa,IAAI;QAAEC;MAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MACvD,MAAMd,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAE;QAAEH;MAAQ,CAAC,CAAC;MAC9C,MAAMoB,IAAI,GAAG,MAAMf,QAAQ,CAACe,IAAI,CAAC,CAAC;MAClC,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;MAC/BD,MAAM,CAACE,aAAa,CAACH,IAAI,CAAC;MAE1B,OAAO,IAAII,OAAO,CAASC,OAAO,IAAI;QACpCJ,MAAM,CAACK,SAAS,GAAG,MAAMD,OAAO,CAACJ,MAAM,CAACM,MAAgB,CAAC;MAC3D,CAAC,CAAC;IACJ,CAAC,CAAC,MAAM;MACN,OAAOd,SAAS;IAClB;EACF;EAEOT,SAASA,CAAC;IAAEa,IAAI;IAAEC;EAAyB,CAAC,EAAE;IACnD,IAAIU,OAAe;IAEnB,MAAMC,aAAa,GAAGZ,IAAI,CAACa,UAAU,CAAC,SAAS,CAAC,IAAIb,IAAI,CAACa,UAAU,CAAC,UAAU,CAAC;IAE/E,IAAID,aAAa,EAAE;MACjBD,OAAO,GAAGX,IAAI;IAChB,CAAC,MAAM;MACL,MAAMpB,OAAO,GAAG,IAAI,CAACA,OAAO,CAACkC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAClC,OAAO,GAAG,GAAG,IAAI,CAACA,OAAO,GAAG;MAC9E,MAAMmC,OAAO,GAAGf,IAAI,CAACa,UAAU,CAAC,GAAG,CAAC,GAAGb,IAAI,CAACgB,SAAS,CAAC,CAAC,CAAC,GAAGhB,IAAI;MAC/DW,OAAO,GAAG,GAAG/B,OAAO,GAAGmC,OAAO,EAAE;IAClC;IAEA,MAAME,SAA6C,GAAG;MAAE,GAAGhB;IAAO,CAAC;IACnE,IAAI,IAAI,CAACpB,QAAQ,EAAE;MACjBoC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAACpC,QAAQ;IACvC;IAEA,MAAMqC,WAAqB,GAAG,EAAE;IAChC,KAAK,MAAMC,GAAG,IAAIF,SAAS,EAAE;MAC3B,MAAMG,KAAK,GAAGH,SAAS,CAACE,GAAG,CAAC;MAC5B,IAAIC,KAAK,KAAKxB,SAAS,IAAIwB,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;QACzDF,WAAW,CAACG,IAAI,CAAC,GAAGC,kBAAkB,CAACH,GAAG,CAAC,IAAIG,kBAAkB,CAACF,KAAK,CAAC,EAAE,CAAC;MAC7E;IACF;IAEA,IAAIF,WAAW,CAACK,MAAM,GAAG,CAAC,EAAE;MAC1B,MAAMC,WAAW,GAAGN,WAAW,CAACO,IAAI,CAAC,GAAG,CAAC;MACzC,IAAId,OAAO,CAACe,QAAQ,CAAC,GAAG,CAAC,EAAE;QACzBf,OAAO,GAAG,GAAGA,OAAO,IAAIa,WAAW,EAAE;MACvC,CAAC,MAAM;QACLb,OAAO,GAAG,GAAGA,OAAO,IAAIa,WAAW,EAAE;MACvC;IACF;IAEA,OAAOb,OAAO;EAChB;EAEA,MAAcpB,eAAeA,CAAIH,QAAkB,EAAE;IACnD,IAAI,CAACA,QAAQ,CAACuC,EAAE,EAAE;MAChB,IAAIvC,QAAQ,CAACL,OAAO,CAACD,GAAG,CAAC,cAAc,CAAC,EAAE4C,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QACtE,IAAI;UACF,MAAME,SAAS,GAAG,MAAMxC,QAAQ,CAACyC,IAAI,CAAC,CAAC;UACvCC,4BAAa,CAACC,SAAS,CAACrC,IAAI,CAACC,SAAS,CAACiC,SAAS,CAAC,EAAE,cAAc,EAAE,iBAAiB,CAAC;UAErF,OAAOrB,OAAO,CAACyB,MAAM,CAACJ,SAAS,CAAC;QAClC,CAAC,CAAC,OAAOK,SAAS,EAAE;UAClBH,4BAAa,CAACC,SAAS,CAACE,SAAS,EAAE,cAAc,EAAE,iBAAiB,CAAC;UAErE,OAAO1B,OAAO,CAACyB,MAAM,CAAC,SAAS5C,QAAQ,CAAC8C,MAAM,MAAM9C,QAAQ,CAAC+C,UAAU,EAAE,CAAC;QAC5E;MACF;MAEA,MAAMC,SAAS,GAAG,MAAMhD,QAAQ,CAACiD,IAAI,CAAC,CAAC;MACvCP,4BAAa,CAACC,SAAS,CAACK,SAAS,EAAE,cAAc,EAAE,iBAAiB,CAAC;MAErE,OAAO7B,OAAO,CAACyB,MAAM,CAAC,SAAS5C,QAAQ,CAAC8C,MAAM,MAAM9C,QAAQ,CAAC+C,UAAU,MAAMC,SAAS,EAAE,CAAC;IAC3F;IAEA,IAAIhD,QAAQ,CAACL,OAAO,CAACD,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE;MAClD;IACF;IAEA,IAAIM,QAAQ,CAACL,OAAO,CAACD,GAAG,CAAC,cAAc,CAAC,EAAE4C,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MACtE,OAAOtC,QAAQ,CAACyC,IAAI,CAAC,CAAC;IACxB;IAEA;EACF;AACF;AAACS,OAAA,CAAA5D,SAAA,GAAAA,SAAA","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":[]}