@formo/analytics 1.16.4 → 1.16.5

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 (254) hide show
  1. package/dist/cjs/src/FormoAnalytics.d.ts +69 -38
  2. package/dist/cjs/src/FormoAnalytics.d.ts.map +1 -1
  3. package/dist/cjs/src/FormoAnalytics.js +143 -198
  4. package/dist/cjs/src/FormoAnalytics.js.map +1 -1
  5. package/dist/cjs/src/FormoAnalyticsProvider.js +5 -5
  6. package/dist/cjs/src/FormoAnalyticsProvider.js.map +1 -1
  7. package/dist/cjs/src/constants/config.d.ts +1 -1
  8. package/dist/cjs/src/constants/config.d.ts.map +1 -1
  9. package/dist/cjs/src/constants/config.js +1 -1
  10. package/dist/cjs/src/constants/config.js.map +1 -1
  11. package/dist/cjs/src/constants/events.d.ts +14 -5
  12. package/dist/cjs/src/constants/events.d.ts.map +1 -1
  13. package/dist/cjs/src/constants/events.js +20 -12
  14. package/dist/cjs/src/constants/events.js.map +1 -1
  15. package/dist/cjs/src/lib/event/EventFactory.d.ts +22 -54
  16. package/dist/cjs/src/lib/event/EventFactory.d.ts.map +1 -1
  17. package/dist/cjs/src/lib/event/EventFactory.js +187 -116
  18. package/dist/cjs/src/lib/event/EventFactory.js.map +1 -1
  19. package/dist/cjs/src/lib/event/EventManager.d.ts +22 -0
  20. package/dist/cjs/src/lib/event/EventManager.d.ts.map +1 -0
  21. package/dist/cjs/src/lib/event/EventManager.js +48 -0
  22. package/dist/cjs/src/lib/event/EventManager.js.map +1 -0
  23. package/dist/cjs/src/lib/event/constants.d.ts +4 -0
  24. package/dist/cjs/src/lib/event/constants.d.ts.map +1 -0
  25. package/dist/cjs/src/lib/event/constants.js +8 -0
  26. package/dist/cjs/src/lib/event/constants.js.map +1 -0
  27. package/dist/cjs/src/lib/event/index.d.ts +1 -0
  28. package/dist/cjs/src/lib/event/index.d.ts.map +1 -1
  29. package/dist/cjs/src/lib/event/index.js +1 -0
  30. package/dist/cjs/src/lib/event/index.js.map +1 -1
  31. package/dist/cjs/src/lib/event/type.d.ts +5 -3
  32. package/dist/cjs/src/lib/event/type.d.ts.map +1 -1
  33. package/dist/cjs/src/lib/event/utils.d.ts +4 -0
  34. package/dist/cjs/src/lib/event/utils.d.ts.map +1 -0
  35. package/dist/cjs/src/lib/event/utils.js +16 -0
  36. package/dist/cjs/src/lib/event/utils.js.map +1 -0
  37. package/dist/cjs/src/lib/fetch.d.ts +1 -1
  38. package/dist/cjs/src/lib/queue/EventQueue.d.ts +1 -0
  39. package/dist/cjs/src/lib/queue/EventQueue.d.ts.map +1 -1
  40. package/dist/cjs/src/lib/queue/EventQueue.js +20 -12
  41. package/dist/cjs/src/lib/queue/EventQueue.js.map +1 -1
  42. package/dist/cjs/src/lib/ramda/internal/_curry1.d.ts +10 -0
  43. package/dist/cjs/src/lib/ramda/internal/_curry1.d.ts.map +1 -0
  44. package/dist/cjs/src/lib/ramda/internal/_curry1.js +26 -0
  45. package/dist/cjs/src/lib/ramda/internal/_curry1.js.map +1 -0
  46. package/dist/cjs/src/lib/ramda/internal/_curry2.d.ts +10 -0
  47. package/dist/cjs/src/lib/ramda/internal/_curry2.d.ts.map +1 -0
  48. package/dist/cjs/src/lib/ramda/internal/_curry2.js +43 -0
  49. package/dist/cjs/src/lib/ramda/internal/_curry2.js.map +1 -0
  50. package/dist/cjs/src/lib/ramda/internal/_curry3.d.ts +10 -0
  51. package/dist/cjs/src/lib/ramda/internal/_curry3.d.ts.map +1 -0
  52. package/dist/cjs/src/lib/ramda/internal/_curry3.js +74 -0
  53. package/dist/cjs/src/lib/ramda/internal/_curry3.js.map +1 -0
  54. package/dist/cjs/src/lib/ramda/internal/_has.d.ts +2 -0
  55. package/dist/cjs/src/lib/ramda/internal/_has.d.ts.map +1 -0
  56. package/dist/cjs/src/lib/ramda/internal/_has.js +7 -0
  57. package/dist/cjs/src/lib/ramda/internal/_has.js.map +1 -0
  58. package/dist/cjs/src/lib/ramda/internal/_isObject.d.ts +2 -0
  59. package/dist/cjs/src/lib/ramda/internal/_isObject.d.ts.map +1 -0
  60. package/dist/cjs/src/lib/ramda/internal/_isObject.js +7 -0
  61. package/dist/cjs/src/lib/ramda/internal/_isObject.js.map +1 -0
  62. package/dist/cjs/src/lib/ramda/internal/_isPlaceholder.d.ts +2 -0
  63. package/dist/cjs/src/lib/ramda/internal/_isPlaceholder.d.ts.map +1 -0
  64. package/dist/cjs/src/lib/ramda/internal/_isPlaceholder.js +7 -0
  65. package/dist/cjs/src/lib/ramda/internal/_isPlaceholder.js.map +1 -0
  66. package/dist/cjs/src/lib/ramda/mergeDeepRight.d.ts +3 -0
  67. package/dist/cjs/src/lib/ramda/mergeDeepRight.d.ts.map +1 -0
  68. package/dist/cjs/src/lib/ramda/mergeDeepRight.js +14 -0
  69. package/dist/cjs/src/lib/ramda/mergeDeepRight.js.map +1 -0
  70. package/dist/cjs/src/lib/ramda/mergeDeepWithKey.d.ts +3 -0
  71. package/dist/cjs/src/lib/ramda/mergeDeepWithKey.d.ts.map +1 -0
  72. package/dist/cjs/src/lib/ramda/mergeDeepWithKey.js +20 -0
  73. package/dist/cjs/src/lib/ramda/mergeDeepWithKey.js.map +1 -0
  74. package/dist/cjs/src/lib/ramda/mergeWithKey.d.ts +3 -0
  75. package/dist/cjs/src/lib/ramda/mergeWithKey.d.ts.map +1 -0
  76. package/dist/cjs/src/lib/ramda/mergeWithKey.js +26 -0
  77. package/dist/cjs/src/lib/ramda/mergeWithKey.js.map +1 -0
  78. package/dist/cjs/src/lib/storage/native.d.ts +1 -0
  79. package/dist/cjs/src/lib/storage/native.d.ts.map +1 -1
  80. package/dist/cjs/src/lib/storage/native.js +3 -0
  81. package/dist/cjs/src/lib/storage/native.js.map +1 -1
  82. package/dist/cjs/src/lib/version.d.ts +2 -0
  83. package/dist/cjs/src/lib/version.d.ts.map +1 -0
  84. package/dist/cjs/src/lib/version.js +6 -0
  85. package/dist/cjs/src/lib/version.js.map +1 -0
  86. package/dist/cjs/src/types/base.d.ts +1 -0
  87. package/dist/cjs/src/types/base.d.ts.map +1 -1
  88. package/dist/cjs/src/types/events.d.ts +55 -27
  89. package/dist/cjs/src/types/events.d.ts.map +1 -1
  90. package/dist/cjs/src/types/events.js.map +1 -1
  91. package/dist/cjs/src/utils/base.d.ts +1 -1
  92. package/dist/cjs/src/utils/base.d.ts.map +1 -1
  93. package/dist/cjs/src/utils/base.js +2 -2
  94. package/dist/cjs/src/utils/base.js.map +1 -1
  95. package/dist/cjs/src/utils/timestamp.d.ts +8 -0
  96. package/dist/cjs/src/utils/timestamp.d.ts.map +1 -0
  97. package/dist/cjs/src/utils/timestamp.js +12 -0
  98. package/dist/cjs/src/utils/timestamp.js.map +1 -0
  99. package/dist/cjs/src/validators/checks.d.ts +77 -0
  100. package/dist/cjs/src/validators/checks.d.ts.map +1 -0
  101. package/dist/cjs/src/validators/checks.js +141 -0
  102. package/dist/cjs/src/validators/checks.js.map +1 -0
  103. package/dist/cjs/src/validators/index.d.ts +1 -1
  104. package/dist/cjs/src/validators/index.d.ts.map +1 -1
  105. package/dist/cjs/src/validators/index.js +1 -1
  106. package/dist/cjs/src/validators/index.js.map +1 -1
  107. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  108. package/dist/esm/src/FormoAnalytics.d.ts +69 -38
  109. package/dist/esm/src/FormoAnalytics.d.ts.map +1 -1
  110. package/dist/esm/src/FormoAnalytics.js +146 -201
  111. package/dist/esm/src/FormoAnalytics.js.map +1 -1
  112. package/dist/esm/src/FormoAnalyticsProvider.js +5 -5
  113. package/dist/esm/src/FormoAnalyticsProvider.js.map +1 -1
  114. package/dist/esm/src/constants/config.d.ts +1 -1
  115. package/dist/esm/src/constants/config.d.ts.map +1 -1
  116. package/dist/esm/src/constants/config.js +1 -1
  117. package/dist/esm/src/constants/config.js.map +1 -1
  118. package/dist/esm/src/constants/events.d.ts +14 -5
  119. package/dist/esm/src/constants/events.d.ts.map +1 -1
  120. package/dist/esm/src/constants/events.js +19 -11
  121. package/dist/esm/src/constants/events.js.map +1 -1
  122. package/dist/esm/src/lib/event/EventFactory.d.ts +22 -54
  123. package/dist/esm/src/lib/event/EventFactory.d.ts.map +1 -1
  124. package/dist/esm/src/lib/event/EventFactory.js +185 -117
  125. package/dist/esm/src/lib/event/EventFactory.js.map +1 -1
  126. package/dist/esm/src/lib/event/EventManager.d.ts +22 -0
  127. package/dist/esm/src/lib/event/EventManager.d.ts.map +1 -0
  128. package/dist/esm/src/lib/event/EventManager.js +45 -0
  129. package/dist/esm/src/lib/event/EventManager.js.map +1 -0
  130. package/dist/esm/src/lib/event/constants.d.ts +4 -0
  131. package/dist/esm/src/lib/event/constants.d.ts.map +1 -0
  132. package/dist/esm/src/lib/event/constants.js +4 -0
  133. package/dist/esm/src/lib/event/constants.js.map +1 -0
  134. package/dist/esm/src/lib/event/index.d.ts +1 -0
  135. package/dist/esm/src/lib/event/index.d.ts.map +1 -1
  136. package/dist/esm/src/lib/event/index.js +1 -0
  137. package/dist/esm/src/lib/event/index.js.map +1 -1
  138. package/dist/esm/src/lib/event/type.d.ts +5 -3
  139. package/dist/esm/src/lib/event/type.d.ts.map +1 -1
  140. package/dist/esm/src/lib/event/utils.d.ts +4 -0
  141. package/dist/esm/src/lib/event/utils.d.ts.map +1 -0
  142. package/dist/esm/src/lib/event/utils.js +13 -0
  143. package/dist/esm/src/lib/event/utils.js.map +1 -0
  144. package/dist/esm/src/lib/queue/EventQueue.d.ts +1 -0
  145. package/dist/esm/src/lib/queue/EventQueue.d.ts.map +1 -1
  146. package/dist/esm/src/lib/queue/EventQueue.js +20 -12
  147. package/dist/esm/src/lib/queue/EventQueue.js.map +1 -1
  148. package/dist/esm/src/lib/ramda/internal/_curry1.d.ts +10 -0
  149. package/dist/esm/src/lib/ramda/internal/_curry1.d.ts.map +1 -0
  150. package/dist/esm/src/lib/ramda/internal/_curry1.js +20 -0
  151. package/dist/esm/src/lib/ramda/internal/_curry1.js.map +1 -0
  152. package/dist/esm/src/lib/ramda/internal/_curry2.d.ts +10 -0
  153. package/dist/esm/src/lib/ramda/internal/_curry2.d.ts.map +1 -0
  154. package/dist/esm/src/lib/ramda/internal/_curry2.js +37 -0
  155. package/dist/esm/src/lib/ramda/internal/_curry2.js.map +1 -0
  156. package/dist/esm/src/lib/ramda/internal/_curry3.d.ts +10 -0
  157. package/dist/esm/src/lib/ramda/internal/_curry3.d.ts.map +1 -0
  158. package/dist/esm/src/lib/ramda/internal/_curry3.js +68 -0
  159. package/dist/esm/src/lib/ramda/internal/_curry3.js.map +1 -0
  160. package/dist/esm/src/lib/ramda/internal/_has.d.ts +2 -0
  161. package/dist/esm/src/lib/ramda/internal/_has.d.ts.map +1 -0
  162. package/dist/esm/src/lib/ramda/internal/_has.js +4 -0
  163. package/dist/esm/src/lib/ramda/internal/_has.js.map +1 -0
  164. package/dist/esm/src/lib/ramda/internal/_isObject.d.ts +2 -0
  165. package/dist/esm/src/lib/ramda/internal/_isObject.d.ts.map +1 -0
  166. package/dist/esm/src/lib/ramda/internal/_isObject.js +4 -0
  167. package/dist/esm/src/lib/ramda/internal/_isObject.js.map +1 -0
  168. package/dist/esm/src/lib/ramda/internal/_isPlaceholder.d.ts +2 -0
  169. package/dist/esm/src/lib/ramda/internal/_isPlaceholder.d.ts.map +1 -0
  170. package/dist/esm/src/lib/ramda/internal/_isPlaceholder.js +4 -0
  171. package/dist/esm/src/lib/ramda/internal/_isPlaceholder.js.map +1 -0
  172. package/dist/esm/src/lib/ramda/mergeDeepRight.d.ts +3 -0
  173. package/dist/esm/src/lib/ramda/mergeDeepRight.d.ts.map +1 -0
  174. package/dist/esm/src/lib/ramda/mergeDeepRight.js +9 -0
  175. package/dist/esm/src/lib/ramda/mergeDeepRight.js.map +1 -0
  176. package/dist/esm/src/lib/ramda/mergeDeepWithKey.d.ts +3 -0
  177. package/dist/esm/src/lib/ramda/mergeDeepWithKey.d.ts.map +1 -0
  178. package/dist/esm/src/lib/ramda/mergeDeepWithKey.js +15 -0
  179. package/dist/esm/src/lib/ramda/mergeDeepWithKey.js.map +1 -0
  180. package/dist/esm/src/lib/ramda/mergeWithKey.d.ts +3 -0
  181. package/dist/esm/src/lib/ramda/mergeWithKey.d.ts.map +1 -0
  182. package/dist/esm/src/lib/ramda/mergeWithKey.js +21 -0
  183. package/dist/esm/src/lib/ramda/mergeWithKey.js.map +1 -0
  184. package/dist/esm/src/lib/storage/native.d.ts +1 -0
  185. package/dist/esm/src/lib/storage/native.d.ts.map +1 -1
  186. package/dist/esm/src/lib/storage/native.js +3 -0
  187. package/dist/esm/src/lib/storage/native.js.map +1 -1
  188. package/dist/esm/src/lib/version.d.ts +2 -0
  189. package/dist/esm/src/lib/version.d.ts.map +1 -0
  190. package/dist/esm/src/lib/version.js +3 -0
  191. package/dist/esm/src/lib/version.js.map +1 -0
  192. package/dist/esm/src/types/base.d.ts +1 -0
  193. package/dist/esm/src/types/base.d.ts.map +1 -1
  194. package/dist/esm/src/types/events.d.ts +55 -27
  195. package/dist/esm/src/types/events.d.ts.map +1 -1
  196. package/dist/esm/src/types/events.js.map +1 -1
  197. package/dist/esm/src/utils/base.d.ts +1 -1
  198. package/dist/esm/src/utils/base.d.ts.map +1 -1
  199. package/dist/esm/src/utils/base.js +2 -2
  200. package/dist/esm/src/utils/base.js.map +1 -1
  201. package/dist/esm/src/utils/timestamp.d.ts +8 -0
  202. package/dist/esm/src/utils/timestamp.d.ts.map +1 -0
  203. package/dist/esm/src/utils/timestamp.js +8 -0
  204. package/dist/esm/src/utils/timestamp.js.map +1 -0
  205. package/dist/esm/src/validators/checks.d.ts +77 -0
  206. package/dist/esm/src/validators/checks.d.ts.map +1 -0
  207. package/dist/esm/src/validators/checks.js +119 -0
  208. package/dist/esm/src/validators/checks.js.map +1 -0
  209. package/dist/esm/src/validators/index.d.ts +1 -1
  210. package/dist/esm/src/validators/index.d.ts.map +1 -1
  211. package/dist/esm/src/validators/index.js +1 -1
  212. package/dist/esm/src/validators/index.js.map +1 -1
  213. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  214. package/dist/index.umd.min.js +1 -1
  215. package/dist/index.umd.min.js.map +1 -1
  216. package/package.json +3 -2
  217. package/src/FormoAnalytics.ts +380 -242
  218. package/src/FormoAnalyticsProvider.tsx +5 -5
  219. package/src/constants/config.ts +1 -1
  220. package/src/constants/events.ts +15 -4
  221. package/src/lib/event/EventFactory.ts +358 -162
  222. package/src/lib/event/EventManager.ts +39 -0
  223. package/src/lib/event/constants.ts +4 -0
  224. package/src/lib/event/index.ts +1 -0
  225. package/src/lib/event/type.ts +6 -8
  226. package/src/lib/event/utils.ts +15 -0
  227. package/src/lib/queue/EventQueue.ts +22 -10
  228. package/src/lib/ramda/internal/_curry1.ts +19 -0
  229. package/src/lib/ramda/internal/_curry2.ts +37 -0
  230. package/src/lib/ramda/internal/_curry3.ts +68 -0
  231. package/src/lib/ramda/internal/_has.ts +3 -0
  232. package/src/lib/ramda/internal/_isObject.ts +3 -0
  233. package/src/lib/ramda/internal/_isPlaceholder.ts +5 -0
  234. package/src/lib/ramda/mergeDeepRight.ts +13 -0
  235. package/src/lib/ramda/mergeDeepWithKey.ts +22 -0
  236. package/src/lib/ramda/mergeWithKey.ts +28 -0
  237. package/src/lib/storage/native.ts +4 -0
  238. package/src/lib/version.ts +2 -0
  239. package/src/types/base.ts +1 -0
  240. package/src/types/events.ts +93 -58
  241. package/src/utils/base.ts +2 -2
  242. package/src/utils/timestamp.ts +9 -0
  243. package/src/validators/checks.ts +160 -0
  244. package/src/validators/index.ts +1 -1
  245. package/tsconfig.json +1 -1
  246. package/dist/cjs/src/validators/type-check.d.ts +0 -14
  247. package/dist/cjs/src/validators/type-check.d.ts.map +0 -1
  248. package/dist/cjs/src/validators/type-check.js +0 -61
  249. package/dist/cjs/src/validators/type-check.js.map +0 -1
  250. package/dist/esm/src/validators/type-check.d.ts +0 -14
  251. package/dist/esm/src/validators/type-check.d.ts.map +0 -1
  252. package/dist/esm/src/validators/type-check.js +0 -46
  253. package/dist/esm/src/validators/type-check.js.map +0 -1
  254. package/src/validators/type-check.ts +0 -61
@@ -46,11 +46,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { createStore } from "mipd";
49
- import { Event, EVENTS_API_URL, LOCAL_ANONYMOUS_ID_KEY, SESSION_CURRENT_URL_KEY, SESSION_USER_ID_KEY, SESSION_WALLET_DETECTED_KEY, } from "./constants";
50
- import { EventFactory, EventQueue, local, logger, Logger, session, } from "./lib";
49
+ import { EVENTS_API_URL, EventType, LOCAL_ANONYMOUS_ID_KEY, SESSION_CURRENT_URL_KEY, SESSION_USER_ID_KEY, SESSION_WALLET_DETECTED_KEY, } from "./constants";
50
+ import { EventManager, EventQueue, local, logger, Logger, session, } from "./lib";
51
51
  import { SignatureStatus, TransactionStatus, } from "./types";
52
- import { generateNativeUUID } from "./utils";
53
- import { isAddress, isArray, isLocalhost } from "./validators";
52
+ import { isAddress, isLocalhost } from "./validators";
54
53
  var FormoAnalytics = /** @class */ (function () {
55
54
  function FormoAnalytics(writeKey, options) {
56
55
  if (options === void 0) { options = {}; }
@@ -58,28 +57,25 @@ var FormoAnalytics = /** @class */ (function () {
58
57
  this.writeKey = writeKey;
59
58
  this.options = options;
60
59
  this._providerListeners = {};
61
- this.anonymousId = null;
62
- this.userId = null;
63
60
  this.config = {
64
61
  writeKey: writeKey,
65
62
  trackLocalhost: options.trackLocalhost || false,
66
63
  };
67
64
  this.session = new FormoAnalyticsSession();
65
+ this.currentUserId =
66
+ session.get(SESSION_USER_ID_KEY) || undefined;
68
67
  // Initialize logger with configuration from options
69
68
  Logger.init({
70
69
  enabled: ((_a = options.logger) === null || _a === void 0 ? void 0 : _a.enabled) || false,
71
70
  enabledLevels: ((_b = options.logger) === null || _b === void 0 ? void 0 : _b.levels) || [],
72
71
  });
73
- this.eventFactory = new EventFactory();
74
- this.eventQueue = new EventQueue(this.config.writeKey, {
72
+ this.eventManager = new EventManager(new EventQueue(this.config.writeKey, {
75
73
  url: EVENTS_API_URL,
76
74
  flushAt: options.flushAt,
77
75
  retryCount: options.retryCount,
78
76
  maxQueueSize: options.maxQueueSize,
79
77
  flushInterval: options.flushInterval,
80
- });
81
- this.anonymousId = this.getAnonymousId();
82
- this.userId = session.get(SESSION_USER_ID_KEY);
78
+ }));
83
79
  // TODO: replace with eip6963
84
80
  var provider = options.provider || (window === null || window === void 0 ? void 0 : window.ethereum);
85
81
  if (provider) {
@@ -98,7 +94,7 @@ var FormoAnalytics = /** @class */ (function () {
98
94
  return [4 /*yield*/, analytics.getProviders()];
99
95
  case 1:
100
96
  providers = _a.sent();
101
- return [4 /*yield*/, analytics.detects(providers)];
97
+ return [4 /*yield*/, analytics.detectWallets(providers)];
102
98
  case 2:
103
99
  _a.sent();
104
100
  return [2 /*return*/, analytics];
@@ -111,13 +107,17 @@ var FormoAnalytics = /** @class */ (function () {
111
107
  */
112
108
  /**
113
109
  * Emits a page visit event with the current URL information, fire on page change.
110
+ * @param {string} category - The category of the page
111
+ * @param {string} name - The name of the page
112
+ * @param {Record<string, any>} properties - Additional properties to include
113
+ * @param {Record<string, any>} context - Additional context to include
114
114
  * @returns {Promise<void>}
115
115
  */
116
- FormoAnalytics.prototype.page = function () {
116
+ FormoAnalytics.prototype.page = function (category, name, properties, context) {
117
117
  return __awaiter(this, void 0, void 0, function () {
118
118
  return __generator(this, function (_a) {
119
119
  switch (_a.label) {
120
- case 0: return [4 /*yield*/, this.trackPageHit()];
120
+ case 0: return [4 /*yield*/, this.trackPageHit(category, name, properties, context)];
121
121
  case 1:
122
122
  _a.sent();
123
123
  return [2 /*return*/];
@@ -130,20 +130,22 @@ var FormoAnalytics = /** @class */ (function () {
130
130
  * @returns {void}
131
131
  */
132
132
  FormoAnalytics.prototype.reset = function () {
133
- this.anonymousId = this.getAnonymousId();
134
- this.userId = null;
133
+ this.currentUserId = undefined;
135
134
  local.remove(LOCAL_ANONYMOUS_ID_KEY);
136
135
  session.remove(SESSION_USER_ID_KEY);
137
136
  };
138
137
  /**
139
- * Emits a wallet connect event.
138
+ * Emits a connect wallet event.
140
139
  * @param {ChainID} params.chainId
141
140
  * @param {Address} params.address
141
+ * @param {IFormoEventProperties} properties
142
+ * @param {IFormoEventContext} context
143
+ * @param {(...args: unknown[]) => void} callback
142
144
  * @throws {Error} If chainId or address is empty
143
145
  * @returns {Promise<void>}
144
146
  */
145
- FormoAnalytics.prototype.connect = function (_a) {
146
- return __awaiter(this, arguments, void 0, function (_b) {
147
+ FormoAnalytics.prototype.connect = function (_a, properties_1, context_1, callback_1) {
148
+ return __awaiter(this, arguments, void 0, function (_b, properties, context, callback) {
147
149
  var chainId = _b.chainId, address = _b.address;
148
150
  return __generator(this, function (_c) {
149
151
  switch (_c.label) {
@@ -155,11 +157,11 @@ var FormoAnalytics = /** @class */ (function () {
155
157
  logger.warn("Connect: Address cannot be empty");
156
158
  }
157
159
  this.currentChainId = chainId;
158
- this.currentConnectedAddress = address;
159
- return [4 /*yield*/, this.trackEvent(Event.CONNECT, {
160
+ this.currentAddress = address;
161
+ return [4 /*yield*/, this.trackEvent(EventType.CONNECT, {
160
162
  chainId: chainId,
161
163
  address: address,
162
- })];
164
+ }, properties, context, callback)];
163
165
  case 1:
164
166
  _c.sent();
165
167
  return [2 /*return*/];
@@ -171,17 +173,20 @@ var FormoAnalytics = /** @class */ (function () {
171
173
  * Emits a wallet disconnect event.
172
174
  * @param {ChainID} params.chainId
173
175
  * @param {Address} params.address
176
+ * @param {IFormoEventProperties} properties
177
+ * @param {IFormoEventContext} context
178
+ * @param {(...args: unknown[]) => void} callback
174
179
  * @returns {Promise<void>}
175
180
  */
176
- FormoAnalytics.prototype.disconnect = function (params) {
181
+ FormoAnalytics.prototype.disconnect = function (params, properties, context, callback) {
177
182
  return __awaiter(this, void 0, void 0, function () {
178
183
  var address, chainId;
179
184
  return __generator(this, function (_a) {
180
185
  switch (_a.label) {
181
186
  case 0:
182
- address = (params === null || params === void 0 ? void 0 : params.address) || this.currentConnectedAddress;
187
+ address = (params === null || params === void 0 ? void 0 : params.address) || this.currentAddress;
183
188
  chainId = (params === null || params === void 0 ? void 0 : params.chainId) || this.currentChainId;
184
- return [4 /*yield*/, this.handleDisconnect(chainId, address)];
189
+ return [4 /*yield*/, this.handleDisconnect(chainId, address, properties, context, callback)];
185
190
  case 1:
186
191
  _a.sent();
187
192
  return [2 /*return*/];
@@ -193,12 +198,15 @@ var FormoAnalytics = /** @class */ (function () {
193
198
  * Emits a chain network change event.
194
199
  * @param {ChainID} params.chainId
195
200
  * @param {Address} params.address
201
+ * @param {IFormoEventProperties} properties
202
+ * @param {IFormoEventContext} context
203
+ * @param {(...args: unknown[]) => void} callback
196
204
  * @throws {Error} If chainId is empty, zero, or not a valid number
197
205
  * @throws {Error} If no address is provided and no previous address is recorded
198
206
  * @returns {Promise<void>}
199
207
  */
200
- FormoAnalytics.prototype.chain = function (_a) {
201
- return __awaiter(this, arguments, void 0, function (_b) {
208
+ FormoAnalytics.prototype.chain = function (_a, properties_1, context_1, callback_1) {
209
+ return __awaiter(this, arguments, void 0, function (_b, properties, context, callback) {
202
210
  var chainId = _b.chainId, address = _b.address;
203
211
  return __generator(this, function (_c) {
204
212
  switch (_c.label) {
@@ -209,14 +217,14 @@ var FormoAnalytics = /** @class */ (function () {
209
217
  if (isNaN(Number(chainId))) {
210
218
  throw new Error("FormoAnalytics::chain: chainId must be a valid decimal number");
211
219
  }
212
- if (!address && !this.currentConnectedAddress) {
220
+ if (!address && !this.currentAddress) {
213
221
  throw new Error("FormoAnalytics::chain: address was empty and no previous address has been recorded");
214
222
  }
215
223
  this.currentChainId = chainId;
216
- return [4 /*yield*/, this.trackEvent(Event.CHAIN_CHANGED, {
224
+ return [4 /*yield*/, this.trackEvent(EventType.CHAIN, {
217
225
  chainId: chainId,
218
- address: address || this.currentConnectedAddress,
219
- })];
226
+ address: address || this.currentAddress,
227
+ }, properties, context, callback)];
220
228
  case 1:
221
229
  _c.sent();
222
230
  return [2 /*return*/];
@@ -231,14 +239,17 @@ var FormoAnalytics = /** @class */ (function () {
231
239
  * @param {Address} params.address
232
240
  * @param {string} params.message
233
241
  * @param {string} params.signatureHash - only provided if status is confirmed
242
+ * @param {IFormoEventProperties} properties
243
+ * @param {IFormoEventContext} context
244
+ * @param {(...args: unknown[]) => void} callback
234
245
  * @returns {Promise<void>}
235
246
  */
236
- FormoAnalytics.prototype.signature = function (_a) {
237
- return __awaiter(this, arguments, void 0, function (_b) {
247
+ FormoAnalytics.prototype.signature = function (_a, properties_1, context_1, callback_1) {
248
+ return __awaiter(this, arguments, void 0, function (_b, properties, context, callback) {
238
249
  var status = _b.status, chainId = _b.chainId, address = _b.address, message = _b.message, signatureHash = _b.signatureHash;
239
250
  return __generator(this, function (_c) {
240
251
  switch (_c.label) {
241
- case 0: return [4 /*yield*/, this.trackEvent(Event.SIGNATURE, __assign({ status: status, chainId: chainId, address: address, message: message }, (signatureHash && { signatureHash: signatureHash })))];
252
+ case 0: return [4 /*yield*/, this.trackEvent(EventType.SIGNATURE, __assign({ status: status, chainId: chainId, address: address, message: message }, (signatureHash && { signatureHash: signatureHash })), properties, context, callback)];
242
253
  case 1:
243
254
  _c.sent();
244
255
  return [2 /*return*/];
@@ -255,14 +266,17 @@ var FormoAnalytics = /** @class */ (function () {
255
266
  * @param {string} params.to
256
267
  * @param {string} params.value
257
268
  * @param {string} params.transactionHash - only provided if status is broadcasted
269
+ * @param {IFormoEventProperties} properties
270
+ * @param {IFormoEventContext} context
271
+ * @param {(...args: unknown[]) => void} callback
258
272
  * @returns {Promise<void>}
259
273
  */
260
- FormoAnalytics.prototype.transaction = function (_a) {
261
- return __awaiter(this, arguments, void 0, function (_b) {
274
+ FormoAnalytics.prototype.transaction = function (_a, properties_1, context_1, callback_1) {
275
+ return __awaiter(this, arguments, void 0, function (_b, properties, context, callback) {
262
276
  var status = _b.status, chainId = _b.chainId, address = _b.address, data = _b.data, to = _b.to, value = _b.value, transactionHash = _b.transactionHash;
263
277
  return __generator(this, function (_c) {
264
278
  switch (_c.label) {
265
- case 0: return [4 /*yield*/, this.trackEvent(Event.TRANSACTION, __assign({ status: status, chainId: chainId, address: address, data: data, to: to, value: value }, (transactionHash && { transactionHash: transactionHash })))];
279
+ case 0: return [4 /*yield*/, this.trackEvent(EventType.TRANSACTION, __assign({ status: status, chainId: chainId, address: address, data: data, to: to, value: value }, (transactionHash && { transactionHash: transactionHash })), properties, context, callback)];
266
280
  case 1:
267
281
  _c.sent();
268
282
  return [2 /*return*/];
@@ -271,116 +285,63 @@ var FormoAnalytics = /** @class */ (function () {
271
285
  });
272
286
  };
273
287
  /**
274
- * Emits an detect event with current wallet provider info.
288
+ * Emits an identify event with current wallet address and provider info.
275
289
  * @param {string} params.providerName
276
290
  * @param {string} params.rdns
277
291
  * @param {string} params.userId
278
292
  * @param {string} params.address
279
- *
293
+ * @param {IFormoEventProperties} properties
294
+ * @param {IFormoEventContext} context
295
+ * @param {(...args: unknown[]) => void} callback
280
296
  * @returns {Promise<void>}
281
297
  */
282
- FormoAnalytics.prototype.identify = function (params) {
298
+ FormoAnalytics.prototype.identify = function (params, properties, context, callback) {
283
299
  return __awaiter(this, void 0, void 0, function () {
284
- var providers, _a, _i, providers_1, eip6963ProviderDetail, accounts, _b, accounts_1, address, err_1, _c, userId, address, providerName, rdns;
285
- return __generator(this, function (_d) {
286
- switch (_d.label) {
300
+ var userId, address, providerName, rdns;
301
+ return __generator(this, function (_a) {
302
+ switch (_a.label) {
287
303
  case 0:
288
- if (!(isArray(params) || !params)) return [3 /*break*/, 17];
289
- if (!isArray(params)) return [3 /*break*/, 1];
290
- _a = params;
291
- return [3 /*break*/, 3];
292
- case 1: return [4 /*yield*/, this.getProviders()];
293
- case 2:
294
- _a = _d.sent();
295
- _d.label = 3;
296
- case 3:
297
- providers = _a;
298
- _d.label = 4;
299
- case 4:
300
- _d.trys.push([4, 15, , 16]);
301
- _i = 0, providers_1 = providers;
302
- _d.label = 5;
303
- case 5:
304
- if (!(_i < providers_1.length)) return [3 /*break*/, 14];
305
- eip6963ProviderDetail = providers_1[_i];
306
- if (!eip6963ProviderDetail)
307
- return [3 /*break*/, 13];
308
- return [4 /*yield*/, this.getAccounts(eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.provider)];
309
- case 6:
310
- accounts = _d.sent();
311
- if (!(accounts && accounts.length > 0)) return [3 /*break*/, 11];
312
- _b = 0, accounts_1 = accounts;
313
- _d.label = 7;
314
- case 7:
315
- if (!(_b < accounts_1.length)) return [3 /*break*/, 10];
316
- address = accounts_1[_b];
317
- return [4 /*yield*/, this.identify({
318
- address: address,
319
- providerName: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.name,
320
- rdns: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.rdns,
321
- })];
322
- case 8:
323
- _d.sent();
324
- _d.label = 9;
325
- case 9:
326
- _b++;
327
- return [3 /*break*/, 7];
328
- case 10: return [3 /*break*/, 13];
329
- case 11:
330
- // Identify without accounts
331
- return [4 /*yield*/, this.identify({
332
- address: null,
333
- providerName: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.name,
334
- rdns: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.rdns,
335
- })];
336
- case 12:
337
- // Identify without accounts
338
- _d.sent();
339
- _d.label = 13;
340
- case 13:
341
- _i++;
342
- return [3 /*break*/, 5];
343
- case 14: return [3 /*break*/, 16];
344
- case 15:
345
- err_1 = _d.sent();
346
- logger.error("Error identifying all:", err_1);
347
- return [3 /*break*/, 16];
348
- case 16: return [3 /*break*/, 19];
349
- case 17:
350
- _c = params, userId = _c.userId, address = _c.address, providerName = _c.providerName, rdns = _c.rdns;
351
- if (userId)
352
- this.userId = userId || null;
353
- return [4 /*yield*/, this.trackEvent(Event.IDENTIFY, {
304
+ userId = params.userId, address = params.address, providerName = params.providerName, rdns = params.rdns;
305
+ this.currentAddress = address;
306
+ if (userId) {
307
+ this.currentUserId = userId;
308
+ session.set(SESSION_USER_ID_KEY, userId);
309
+ }
310
+ return [4 /*yield*/, this.trackEvent(EventType.IDENTIFY, {
354
311
  address: address,
355
312
  providerName: providerName,
313
+ userId: userId,
356
314
  rdns: rdns,
357
- })];
358
- case 18:
359
- _d.sent();
360
- _d.label = 19;
361
- case 19: return [2 /*return*/];
315
+ }, properties, context, callback)];
316
+ case 1:
317
+ _a.sent();
318
+ return [2 /*return*/];
362
319
  }
363
320
  });
364
321
  });
365
322
  };
366
323
  /**
367
- * Emits an identify event with current wallet address.
368
- * @param {Address} params.address
324
+ * Emits a detect wallet event with current wallet provider info.
325
+ * @param {string} params.providerName
326
+ * @param {string} params.rdns
327
+ * @param {IFormoEventProperties} properties
328
+ * @param {IFormoEventContext} context
329
+ * @param {(...args: unknown[]) => void} callback
369
330
  * @returns {Promise<void>}
370
331
  */
371
- FormoAnalytics.prototype.detect = function (_a) {
372
- return __awaiter(this, arguments, void 0, function (_b) {
332
+ FormoAnalytics.prototype.detect = function (_a, properties_1, context_1, callback_1) {
333
+ return __awaiter(this, arguments, void 0, function (_b, properties, context, callback) {
373
334
  var providerName = _b.providerName, rdns = _b.rdns;
374
335
  return __generator(this, function (_c) {
375
336
  switch (_c.label) {
376
337
  case 0:
377
338
  if (this.session.isWalletDetected(rdns))
378
- return [2 /*return*/, logger.warn("detect: Wallet ".concat(providerName, " already detected in this session"))];
379
- this.session.markWalletdetected(rdns);
380
- return [4 /*yield*/, this.trackEvent(Event.DETECT_WALLET, {
339
+ return [2 /*return*/, logger.warn("Detect: Wallet ".concat(providerName, " already detected in this session"))];
340
+ this.session.markWalletDetected(rdns);
341
+ return [4 /*yield*/, this.trackEvent(EventType.DETECT, {
381
342
  providerName: providerName,
382
343
  rdns: rdns,
383
- })];
344
+ }, properties, context, callback)];
384
345
  case 1:
385
346
  _c.sent();
386
347
  return [2 /*return*/];
@@ -389,16 +350,18 @@ var FormoAnalytics = /** @class */ (function () {
389
350
  });
390
351
  };
391
352
  /**
392
- * Emits a custom event with custom data.
393
- * @param {string} action
394
- * @param {Record<string, any>} payload
353
+ * Emits a custom user event with custom properties.
354
+ * @param {string} event The name of the tracked event
355
+ * @param {IFormoEventProperties} properties
356
+ * @param {IFormoEventContext} context
357
+ * @param {(...args: unknown[]) => void} callback
395
358
  * @returns {Promise<void>}
396
359
  */
397
- FormoAnalytics.prototype.track = function (action, payload) {
360
+ FormoAnalytics.prototype.track = function (event, properties, context, callback) {
398
361
  return __awaiter(this, void 0, void 0, function () {
399
362
  return __generator(this, function (_a) {
400
363
  switch (_a.label) {
401
- case 0: return [4 /*yield*/, this.trackEvent(action, payload)];
364
+ case 0: return [4 /*yield*/, this.trackEvent(EventType.TRACK, { event: event }, properties, context, callback)];
402
365
  case 1:
403
366
  _a.sent();
404
367
  return [2 /*return*/];
@@ -416,7 +379,7 @@ var FormoAnalytics = /** @class */ (function () {
416
379
  return;
417
380
  }
418
381
  this.currentChainId = undefined;
419
- this.currentConnectedAddress = undefined;
382
+ this.currentAddress = undefined;
420
383
  if (this._provider) {
421
384
  var actions = Object.keys(this._providerListeners);
422
385
  for (var _i = 0, actions_1 = actions; _i < actions_1.length; _i++) {
@@ -582,10 +545,10 @@ var FormoAnalytics = /** @class */ (function () {
582
545
  return __generator(this, function (_b) {
583
546
  switch (_b.label) {
584
547
  case 0:
585
- if (address === this.currentConnectedAddress)
548
+ if (address === this.currentAddress)
586
549
  // We have already reported this address
587
550
  return [2 /*return*/];
588
- this.currentConnectedAddress = address;
551
+ this.currentAddress = address;
589
552
  _a = this;
590
553
  return [4 /*yield*/, this.getCurrentChainId()];
591
554
  case 1:
@@ -596,20 +559,20 @@ var FormoAnalytics = /** @class */ (function () {
596
559
  });
597
560
  });
598
561
  };
599
- FormoAnalytics.prototype.handleDisconnect = function (chainId, address) {
562
+ FormoAnalytics.prototype.handleDisconnect = function (chainId, address, properties, context, callback) {
600
563
  return __awaiter(this, void 0, void 0, function () {
601
564
  var payload;
602
565
  return __generator(this, function (_a) {
603
566
  switch (_a.label) {
604
567
  case 0:
605
568
  payload = {
606
- chain_id: chainId || this.currentChainId,
607
- address: address || this.currentConnectedAddress,
569
+ chainId: chainId || this.currentChainId,
570
+ address: address || this.currentAddress,
608
571
  };
609
572
  this.currentChainId = undefined;
610
- this.currentConnectedAddress = undefined;
573
+ this.currentAddress = undefined;
611
574
  session.remove(SESSION_USER_ID_KEY);
612
- return [4 /*yield*/, this.trackEvent(Event.DISCONNECT, payload)];
575
+ return [4 /*yield*/, this.trackEvent(EventType.DISCONNECT, payload, properties, context, callback)];
613
576
  case 1:
614
577
  _a.sent();
615
578
  return [2 /*return*/];
@@ -621,7 +584,7 @@ var FormoAnalytics = /** @class */ (function () {
621
584
  return __awaiter(this, void 0, void 0, function () {
622
585
  return __generator(this, function (_a) {
623
586
  switch (_a.label) {
624
- case 0: return [4 /*yield*/, this.handleDisconnect(this.currentChainId, this.currentConnectedAddress)];
587
+ case 0: return [4 /*yield*/, this.handleDisconnect(this.currentChainId, this.currentAddress)];
625
588
  case 1:
626
589
  _a.sent();
627
590
  return [2 /*return*/];
@@ -636,7 +599,7 @@ var FormoAnalytics = /** @class */ (function () {
636
599
  switch (_a.label) {
637
600
  case 0:
638
601
  this.currentChainId = parseInt(chainIdHex);
639
- if (!!this.currentConnectedAddress) return [3 /*break*/, 2];
602
+ if (!!this.currentAddress) return [3 /*break*/, 2];
640
603
  if (!this.provider) {
641
604
  logger.info("OnChainChanged: Provider not found. CHAIN_CHANGED not reported");
642
605
  return [2 /*return*/, Promise.resolve()];
@@ -648,14 +611,14 @@ var FormoAnalytics = /** @class */ (function () {
648
611
  logger.info("OnChainChanged: Unable to fetch or store connected address");
649
612
  return [2 /*return*/, Promise.resolve()];
650
613
  }
651
- this.currentConnectedAddress = address;
614
+ this.currentAddress = address;
652
615
  _a.label = 2;
653
616
  case 2:
654
617
  // Proceed only if the address exists
655
- if (this.currentConnectedAddress) {
618
+ if (this.currentAddress) {
656
619
  return [2 /*return*/, this.chain({
657
620
  chainId: this.currentChainId,
658
- address: this.currentConnectedAddress,
621
+ address: this.currentAddress,
659
622
  })];
660
623
  }
661
624
  else {
@@ -720,46 +683,36 @@ var FormoAnalytics = /** @class */ (function () {
720
683
  });
721
684
  });
722
685
  };
723
- FormoAnalytics.prototype.trackPageHit = function () {
724
- var _this = this;
725
- if (!this.config.trackLocalhost && isLocalhost()) {
726
- return logger.warn("Track page hit: Ignoring event because website is running locally");
727
- }
728
- setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
686
+ FormoAnalytics.prototype.trackPageHit = function (category, name, properties, context, callback) {
687
+ return __awaiter(this, void 0, void 0, function () {
688
+ var _this = this;
729
689
  return __generator(this, function (_a) {
730
- this.trackEvent(Event.PAGE);
690
+ if (!this.config.trackLocalhost && isLocalhost()) {
691
+ return [2 /*return*/, logger.warn("Track page hit: Ignoring event because website is running locally")];
692
+ }
693
+ setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
694
+ return __generator(this, function (_a) {
695
+ this.trackEvent(EventType.PAGE, {
696
+ category: category,
697
+ name: name,
698
+ }, properties, context, callback);
699
+ return [2 /*return*/];
700
+ });
701
+ }); }, 300);
731
702
  return [2 /*return*/];
732
703
  });
733
- }); }, 300);
704
+ });
734
705
  };
735
- FormoAnalytics.prototype.trackEvent = function (action, payload) {
706
+ FormoAnalytics.prototype.trackEvent = function (type, payload, properties, context, callback) {
736
707
  return __awaiter(this, void 0, void 0, function () {
737
- var address, user_id, requestData, error_3;
738
708
  return __generator(this, function (_a) {
739
- switch (_a.label) {
740
- case 0:
741
- _a.trys.push([0, 3, , 4]);
742
- return [4 /*yield*/, this.getAddress()];
743
- case 1:
744
- address = _a.sent();
745
- user_id = this.userId;
746
- requestData = this.eventFactory.create(this.anonymousId, user_id, address, __assign({ action: action }, payload));
747
- return [4 /*yield*/, this.eventQueue.enqueue(requestData, function (err, _, data) {
748
- if (err) {
749
- logger.error("Error sending events:", err);
750
- }
751
- else
752
- logger.info("Events sent successfully: ".concat(data.length, " events"));
753
- })];
754
- case 2:
755
- _a.sent();
756
- return [3 /*break*/, 4];
757
- case 3:
758
- error_3 = _a.sent();
759
- logger.error("Error tracking event:", error_3);
760
- return [3 /*break*/, 4];
761
- case 4: return [2 /*return*/];
709
+ try {
710
+ this.eventManager.addEvent(__assign(__assign({ type: type }, payload), { properties: properties, context: context, callback: callback }), this.currentAddress, this.currentUserId);
762
711
  }
712
+ catch (error) {
713
+ logger.error("Error tracking event:", error);
714
+ }
715
+ return [2 /*return*/];
763
716
  });
764
717
  });
765
718
  };
@@ -782,18 +735,18 @@ var FormoAnalytics = /** @class */ (function () {
782
735
  });
783
736
  });
784
737
  };
785
- FormoAnalytics.prototype.detects = function (providers) {
738
+ FormoAnalytics.prototype.detectWallets = function (providers) {
786
739
  return __awaiter(this, void 0, void 0, function () {
787
- var _i, providers_2, eip6963ProviderDetail, err_2;
740
+ var _i, providers_1, eip6963ProviderDetail, err_1;
788
741
  return __generator(this, function (_a) {
789
742
  switch (_a.label) {
790
743
  case 0:
791
744
  _a.trys.push([0, 5, , 6]);
792
- _i = 0, providers_2 = providers;
745
+ _i = 0, providers_1 = providers;
793
746
  _a.label = 1;
794
747
  case 1:
795
- if (!(_i < providers_2.length)) return [3 /*break*/, 4];
796
- eip6963ProviderDetail = providers_2[_i];
748
+ if (!(_i < providers_1.length)) return [3 /*break*/, 4];
749
+ eip6963ProviderDetail = providers_1[_i];
797
750
  return [4 /*yield*/, this.detect({
798
751
  providerName: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.name,
799
752
  rdns: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.rdns,
@@ -806,8 +759,8 @@ var FormoAnalytics = /** @class */ (function () {
806
759
  return [3 /*break*/, 1];
807
760
  case 4: return [3 /*break*/, 6];
808
761
  case 5:
809
- err_2 = _a.sent();
810
- logger.error("Error detect all wallets:", err_2);
762
+ err_1 = _a.sent();
763
+ logger.error("Error detect all wallets:", err_1);
811
764
  return [3 /*break*/, 6];
812
765
  case 6: return [2 /*return*/];
813
766
  }
@@ -821,22 +774,14 @@ var FormoAnalytics = /** @class */ (function () {
821
774
  enumerable: false,
822
775
  configurable: true
823
776
  });
824
- FormoAnalytics.prototype.getAnonymousId = function () {
825
- var storedAnonymousId = local.get(LOCAL_ANONYMOUS_ID_KEY);
826
- if (storedAnonymousId && typeof storedAnonymousId === "string")
827
- return storedAnonymousId;
828
- var newAnonymousId = generateNativeUUID();
829
- local.set(LOCAL_ANONYMOUS_ID_KEY, newAnonymousId);
830
- return newAnonymousId;
831
- };
832
777
  FormoAnalytics.prototype.getAddress = function () {
833
778
  return __awaiter(this, void 0, void 0, function () {
834
- var accounts, err_3;
779
+ var accounts, err_2;
835
780
  return __generator(this, function (_a) {
836
781
  switch (_a.label) {
837
782
  case 0:
838
- if (this.currentConnectedAddress)
839
- return [2 /*return*/, this.currentConnectedAddress];
783
+ if (this.currentAddress)
784
+ return [2 /*return*/, this.currentAddress];
840
785
  if (!(this === null || this === void 0 ? void 0 : this.provider)) {
841
786
  logger.info("The provider is not set");
842
787
  return [2 /*return*/, null];
@@ -854,8 +799,8 @@ var FormoAnalytics = /** @class */ (function () {
854
799
  }
855
800
  return [3 /*break*/, 4];
856
801
  case 3:
857
- err_3 = _a.sent();
858
- logger.error("Failed to fetch accounts from provider:", err_3);
802
+ err_2 = _a.sent();
803
+ logger.error("Failed to fetch accounts from provider:", err_2);
859
804
  return [2 /*return*/, null];
860
805
  case 4: return [2 /*return*/, null];
861
806
  }
@@ -864,7 +809,7 @@ var FormoAnalytics = /** @class */ (function () {
864
809
  };
865
810
  FormoAnalytics.prototype.getAccounts = function (provider) {
866
811
  return __awaiter(this, void 0, void 0, function () {
867
- var p, res, err_4;
812
+ var p, res, err_3;
868
813
  return __generator(this, function (_a) {
869
814
  switch (_a.label) {
870
815
  case 0:
@@ -881,9 +826,9 @@ var FormoAnalytics = /** @class */ (function () {
881
826
  return [2 /*return*/, null];
882
827
  return [2 /*return*/, res.filter(function (e) { return isAddress(e); })];
883
828
  case 3:
884
- err_4 = _a.sent();
885
- if (err_4.code !== 4001) {
886
- logger.error("FormoAnalytics::getAccounts: eth_accounts threw an error", err_4);
829
+ err_3 = _a.sent();
830
+ if (err_3.code !== 4001) {
831
+ logger.error("FormoAnalytics::getAccounts: eth_accounts threw an error", err_3);
887
832
  }
888
833
  return [2 /*return*/, null];
889
834
  case 4: return [2 /*return*/];
@@ -893,7 +838,7 @@ var FormoAnalytics = /** @class */ (function () {
893
838
  };
894
839
  FormoAnalytics.prototype.getCurrentChainId = function () {
895
840
  return __awaiter(this, void 0, void 0, function () {
896
- var chainIdHex, err_5;
841
+ var chainIdHex, err_4;
897
842
  var _a;
898
843
  return __generator(this, function (_b) {
899
844
  switch (_b.label) {
@@ -915,8 +860,8 @@ var FormoAnalytics = /** @class */ (function () {
915
860
  }
916
861
  return [2 /*return*/, parseInt(chainIdHex, 16)];
917
862
  case 3:
918
- err_5 = _b.sent();
919
- logger.error("eth_chainId threw an error:", err_5);
863
+ err_4 = _b.sent();
864
+ logger.error("eth_chainId threw an error:", err_4);
920
865
  return [2 /*return*/, 0];
921
866
  case 4: return [2 /*return*/];
922
867
  }
@@ -971,7 +916,7 @@ var FormoAnalyticsSession = /** @class */ (function () {
971
916
  var rdnses = session.get(SESSION_WALLET_DETECTED_KEY) || [];
972
917
  return rdnses.includes(rdns);
973
918
  };
974
- FormoAnalyticsSession.prototype.markWalletdetected = function (rdns) {
919
+ FormoAnalyticsSession.prototype.markWalletDetected = function (rdns) {
975
920
  var rdnses = session.get(SESSION_WALLET_DETECTED_KEY) || [];
976
921
  rdnses.push(rdns);
977
922
  session.set(SESSION_WALLET_DETECTED_KEY, rdnses);