@formo/analytics 1.13.4-alpha.1 → 1.13.4-alpha.10

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 (108) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/dist/cjs/src/FormoAnalytics.d.ts +6 -8
  3. package/dist/cjs/src/FormoAnalytics.d.ts.map +1 -1
  4. package/dist/cjs/src/FormoAnalytics.js +118 -113
  5. package/dist/cjs/src/FormoAnalytics.js.map +1 -1
  6. package/dist/cjs/src/FormoAnalyticsProvider.d.ts +2 -3
  7. package/dist/cjs/src/FormoAnalyticsProvider.d.ts.map +1 -1
  8. package/dist/cjs/src/FormoAnalyticsProvider.js +2 -33
  9. package/dist/cjs/src/FormoAnalyticsProvider.js.map +1 -1
  10. package/dist/cjs/src/constants/base.d.ts +3 -0
  11. package/dist/cjs/src/constants/base.d.ts.map +1 -0
  12. package/dist/cjs/src/constants/base.js +6 -0
  13. package/dist/cjs/src/constants/base.js.map +1 -0
  14. package/dist/cjs/src/constants/index.d.ts +3 -2
  15. package/dist/cjs/src/constants/index.d.ts.map +1 -1
  16. package/dist/cjs/src/constants/index.js +1 -0
  17. package/dist/cjs/src/constants/index.js.map +1 -1
  18. package/dist/cjs/src/lib/index.d.ts +3 -0
  19. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  20. package/dist/cjs/src/lib/index.js +24 -0
  21. package/dist/cjs/src/lib/index.js.map +1 -0
  22. package/dist/cjs/src/lib/session-storage.d.ts +11 -0
  23. package/dist/cjs/src/lib/session-storage.d.ts.map +1 -0
  24. package/dist/cjs/src/lib/session-storage.js +52 -0
  25. package/dist/cjs/src/lib/session-storage.js.map +1 -0
  26. package/dist/cjs/src/lib/utils.d.ts +1 -0
  27. package/dist/cjs/src/lib/utils.d.ts.map +1 -1
  28. package/dist/cjs/src/lib/utils.js +5 -0
  29. package/dist/cjs/src/lib/utils.js.map +1 -1
  30. package/dist/cjs/src/types/base.d.ts +2 -1
  31. package/dist/cjs/src/types/base.d.ts.map +1 -1
  32. package/dist/cjs/test/lib.spec.js +3 -3
  33. package/dist/cjs/test/lib.spec.js.map +1 -1
  34. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  35. package/dist/esm/src/FormoAnalytics.d.ts +168 -0
  36. package/dist/esm/src/FormoAnalytics.d.ts.map +1 -0
  37. package/dist/esm/src/FormoAnalytics.js +947 -0
  38. package/dist/esm/src/FormoAnalytics.js.map +1 -0
  39. package/dist/esm/src/FormoAnalyticsProvider.d.ts +6 -0
  40. package/dist/esm/src/FormoAnalyticsProvider.d.ts.map +1 -0
  41. package/dist/esm/src/FormoAnalyticsProvider.js +123 -0
  42. package/dist/esm/src/FormoAnalyticsProvider.js.map +1 -0
  43. package/dist/esm/src/constants/base.d.ts +3 -0
  44. package/dist/esm/src/constants/base.d.ts.map +1 -0
  45. package/dist/esm/src/constants/base.js +3 -0
  46. package/dist/esm/src/constants/base.js.map +1 -0
  47. package/dist/esm/src/constants/config.d.ts +602 -0
  48. package/dist/esm/src/constants/config.d.ts.map +1 -0
  49. package/dist/esm/src/constants/config.js +654 -0
  50. package/dist/esm/src/constants/config.js.map +1 -0
  51. package/dist/esm/src/constants/events.d.ts +10 -0
  52. package/dist/esm/src/constants/events.d.ts.map +1 -0
  53. package/dist/esm/src/constants/events.js +11 -0
  54. package/dist/esm/src/constants/events.js.map +1 -0
  55. package/dist/esm/src/constants/index.d.ts +4 -0
  56. package/dist/esm/src/constants/index.d.ts.map +1 -0
  57. package/dist/esm/src/constants/index.js +4 -0
  58. package/dist/esm/src/constants/index.js.map +1 -0
  59. package/dist/esm/src/index.d.ts +4 -0
  60. package/dist/esm/src/index.d.ts.map +1 -0
  61. package/dist/esm/src/index.js +4 -0
  62. package/dist/esm/src/index.js.map +1 -0
  63. package/dist/esm/src/lib/index.d.ts +3 -0
  64. package/dist/esm/src/lib/index.d.ts.map +1 -0
  65. package/dist/esm/src/lib/index.js +3 -0
  66. package/dist/esm/src/lib/index.js.map +1 -0
  67. package/dist/esm/src/lib/session-storage.d.ts +11 -0
  68. package/dist/esm/src/lib/session-storage.d.ts.map +1 -0
  69. package/dist/esm/src/lib/session-storage.js +49 -0
  70. package/dist/esm/src/lib/session-storage.js.map +1 -0
  71. package/dist/esm/src/lib/utils.d.ts +3 -0
  72. package/dist/esm/src/lib/utils.d.ts.map +1 -0
  73. package/dist/esm/src/lib/utils.js +31 -0
  74. package/dist/esm/src/lib/utils.js.map +1 -0
  75. package/dist/esm/src/types/base.d.ts +18 -0
  76. package/dist/esm/src/types/base.d.ts.map +1 -0
  77. package/dist/esm/src/types/base.js +2 -0
  78. package/dist/esm/src/types/base.js.map +1 -0
  79. package/dist/esm/src/types/events.d.ts +11 -0
  80. package/dist/esm/src/types/events.d.ts.map +1 -0
  81. package/dist/esm/src/types/events.js +13 -0
  82. package/dist/esm/src/types/events.js.map +1 -0
  83. package/dist/esm/src/types/index.d.ts +4 -0
  84. package/dist/esm/src/types/index.d.ts.map +1 -0
  85. package/dist/esm/src/types/index.js +4 -0
  86. package/dist/esm/src/types/index.js.map +1 -0
  87. package/dist/esm/src/types/provider.d.ts +15 -0
  88. package/dist/esm/src/types/provider.d.ts.map +1 -0
  89. package/dist/esm/src/types/provider.js +2 -0
  90. package/dist/esm/src/types/provider.js.map +1 -0
  91. package/dist/esm/test/lib.spec.d.ts +2 -0
  92. package/dist/esm/test/lib.spec.d.ts.map +1 -0
  93. package/dist/esm/test/lib.spec.js +23 -0
  94. package/dist/esm/test/lib.spec.js.map +1 -0
  95. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  96. package/dist/index.umd.min.js +3 -0
  97. package/dist/index.umd.min.js.LICENSE.txt +19 -0
  98. package/dist/index.umd.min.js.map +1 -0
  99. package/package.json +4 -3
  100. package/src/FormoAnalytics.ts +60 -17
  101. package/src/FormoAnalyticsProvider.tsx +2 -8
  102. package/src/constants/base.ts +2 -0
  103. package/src/constants/index.ts +3 -2
  104. package/src/lib/index.ts +2 -0
  105. package/src/lib/session-storage.ts +53 -0
  106. package/src/lib/utils.ts +5 -0
  107. package/src/types/base.ts +5 -3
  108. package/test/lib.spec.ts +1 -1
package/CONTRIBUTING.md CHANGED
@@ -89,5 +89,5 @@ Run the following command to publish the package to NPM:
89
89
  npm version <major/minor/patch>
90
90
 
91
91
  // Publish the package to NPM
92
- npm publish
92
+ npm pub
93
93
  ```
@@ -31,16 +31,15 @@ interface IFormoAnalytics {
31
31
  }): Promise<void>;
32
32
  identify(params: {
33
33
  address: Address;
34
- providerName?: string;
35
- rdns?: string;
36
34
  }): Promise<void>;
37
35
  track(action: string, payload: Record<string, any>): Promise<void>;
38
36
  }
39
37
  export declare class FormoAnalytics implements IFormoAnalytics {
40
38
  readonly apiKey: string;
41
39
  options: Options;
42
- currentProvider?: EIP1193Provider;
43
- currentProviderListeners: Record<string, (...args: unknown[]) => void>;
40
+ private _provider?;
41
+ private _providerListeners;
42
+ private session;
44
43
  config: Config;
45
44
  currentChainId?: ChainID;
46
45
  currentConnectedAddress?: Address;
@@ -121,12 +120,12 @@ export declare class FormoAnalytics implements IFormoAnalytics {
121
120
  transactionHash?: string;
122
121
  }): Promise<void>;
123
122
  /**
124
- * Emits a identify event with current wallet address.
123
+ * Emits an identify event with current wallet address.
125
124
  * @param {Address} params.address
126
125
  * @returns {Promise<void>}
127
126
  */
128
127
  identify({ address, providerName, rdns, }: {
129
- address: Address;
128
+ address: Address | null;
130
129
  providerName?: string;
131
130
  rdns?: string;
132
131
  }): Promise<void>;
@@ -138,15 +137,14 @@ export declare class FormoAnalytics implements IFormoAnalytics {
138
137
  */
139
138
  track(action: string, payload: Record<string, any>): Promise<void>;
140
139
  private trackProvider;
141
- private clearProvider;
142
140
  private registerAddressChangedListener;
143
141
  private registerChainChangedListener;
144
142
  private registerSignatureListener;
145
143
  private registerTransactionListener;
146
144
  private onAddressChanged;
147
145
  private onAddressConnected;
148
- private onAddressDisconnected;
149
146
  private handleDisconnect;
147
+ private onAddressDisconnected;
150
148
  private onChainChanged;
151
149
  private trackFirstPageHit;
152
150
  private trackPageHits;
@@ -1 +1 @@
1
- {"version":3,"file":"FormoAnalytics.d.ts","sourceRoot":"","sources":["../../../src/FormoAnalytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormoAnalytics.d.ts","sourceRoot":"","sources":["../../../src/FormoAnalytics.ts"],"names":[],"mappings":"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"}
@@ -63,19 +63,20 @@ exports.FormoAnalytics = void 0;
63
63
  var axios_1 = __importDefault(require("axios"));
64
64
  var mipd_1 = require("mipd");
65
65
  var constants_1 = require("./constants");
66
- var highlight_run_1 = require("highlight.run");
67
66
  var types_1 = require("./types");
68
- var utils_1 = require("./lib/utils");
67
+ var lib_1 = require("./lib");
68
+ var constants_2 = require("./constants");
69
69
  var FormoAnalytics = /** @class */ (function () {
70
70
  function FormoAnalytics(apiKey, options) {
71
71
  if (options === void 0) { options = {}; }
72
72
  this.apiKey = apiKey;
73
73
  this.options = options;
74
- this.currentProviderListeners = {};
74
+ this._providerListeners = {};
75
75
  this.config = {
76
76
  apiKey: apiKey,
77
- options: options
77
+ trackLocalhost: options.trackLocalhost,
78
78
  };
79
+ this.session = new FormoAnalyticsSession();
79
80
  // TODO: replace with eip6963
80
81
  var provider = options.provider || (window === null || window === void 0 ? void 0 : window.ethereum);
81
82
  if (provider) {
@@ -257,7 +258,7 @@ var FormoAnalytics = /** @class */ (function () {
257
258
  });
258
259
  };
259
260
  /**
260
- * Emits a identify event with current wallet address.
261
+ * Emits an identify event with current wallet address.
261
262
  * @param {Address} params.address
262
263
  * @returns {Promise<void>}
263
264
  */
@@ -267,7 +268,9 @@ var FormoAnalytics = /** @class */ (function () {
267
268
  return __generator(this, function (_c) {
268
269
  switch (_c.label) {
269
270
  case 0:
270
- if (!address) return [3 /*break*/, 2];
271
+ if (this.session.isIdentified())
272
+ return [2 /*return*/, console.warn("FormoAnalytics::identify: Wallet already identified in this session")];
273
+ this.session.identify();
271
274
  return [4 /*yield*/, this.trackEvent(constants_1.Event.IDENTIFY, {
272
275
  address: address,
273
276
  providerName: providerName,
@@ -275,8 +278,7 @@ var FormoAnalytics = /** @class */ (function () {
275
278
  })];
276
279
  case 1:
277
280
  _c.sent();
278
- _c.label = 2;
279
- case 2: return [2 /*return*/];
281
+ return [2 /*return*/];
280
282
  }
281
283
  });
282
284
  });
@@ -303,38 +305,26 @@ var FormoAnalytics = /** @class */ (function () {
303
305
  SDK tracking and event listener functions
304
306
  */
305
307
  FormoAnalytics.prototype.trackProvider = function (provider) {
306
- console.log('trackProvider', provider, this.currentProvider);
307
- if (provider === this.currentProvider) {
308
- console.log("Provider already tracked.");
308
+ if (provider === this._provider) {
309
+ console.warn("FormoAnalytics::trackProvider: Provider already tracked.");
309
310
  return;
310
311
  }
311
- this.clearProvider(this.currentProvider);
312
- this.currentProvider = provider;
313
- // Register listeners for web3 provider events
314
- console.log('registering listeners for', provider);
315
- this.registerAddressChangedListener(provider);
316
- this.registerChainChangedListener(provider);
317
- this.registerSignatureListener(provider);
318
- this.registerTransactionListener(provider);
319
- };
320
- FormoAnalytics.prototype.clearProvider = function (provider) {
321
- console.log('clearProvider', provider, this.currentProvider);
322
- // Only clear if the current provider is the same as the one we are clearing
323
- if (this.currentProvider && provider === this.currentProvider) {
324
- this.currentChainId = undefined;
325
- this.currentConnectedAddress = undefined;
326
- var actions = Object.keys(this.currentProviderListeners);
312
+ this.currentChainId = undefined;
313
+ this.currentConnectedAddress = undefined;
314
+ if (this._provider) {
315
+ var actions = Object.keys(this._providerListeners);
327
316
  for (var _i = 0, actions_1 = actions; _i < actions_1.length; _i++) {
328
317
  var action = actions_1[_i];
329
- this.currentProvider.removeListener(action, this.currentProviderListeners[action]);
330
- delete this.currentProviderListeners[action];
318
+ this._provider.removeListener(action, this._providerListeners[action]);
319
+ delete this._providerListeners[action];
331
320
  }
332
- this.currentProvider = undefined;
333
- console.log('cleared provider', provider);
334
- }
335
- else {
336
- console.log('skip clearing provider', provider);
337
321
  }
322
+ this._provider = provider;
323
+ // Register listeners for web3 provider events
324
+ this.registerAddressChangedListener();
325
+ this.registerChainChangedListener();
326
+ this.registerSignatureListener();
327
+ this.registerTransactionListener();
338
328
  };
339
329
  FormoAnalytics.prototype.registerAddressChangedListener = function () {
340
330
  var _this = this;
@@ -346,11 +336,11 @@ var FormoAnalytics = /** @class */ (function () {
346
336
  }
347
337
  return _this.onAddressChanged(args[0]);
348
338
  };
349
- (_a = this.currentProvider) === null || _a === void 0 ? void 0 : _a.on("accountsChanged", listener);
350
- this.currentProviderListeners["accountsChanged"] = listener;
339
+ (_a = this._provider) === null || _a === void 0 ? void 0 : _a.on("accountsChanged", listener);
340
+ this._providerListeners["accountsChanged"] = listener;
351
341
  var onAddressDisconnected = this.onAddressDisconnected.bind(this);
352
- (_b = this.currentProvider) === null || _b === void 0 ? void 0 : _b.on("disconnect", onAddressDisconnected);
353
- this.currentProviderListeners["disconnect"] = onAddressDisconnected;
342
+ (_b = this._provider) === null || _b === void 0 ? void 0 : _b.on("disconnect", onAddressDisconnected);
343
+ this._providerListeners["disconnect"] = onAddressDisconnected;
354
344
  };
355
345
  FormoAnalytics.prototype.registerChainChangedListener = function () {
356
346
  var _this = this;
@@ -362,29 +352,28 @@ var FormoAnalytics = /** @class */ (function () {
362
352
  }
363
353
  return _this.onChainChanged(args[0]);
364
354
  };
365
- (_a = this.currentProvider) === null || _a === void 0 ? void 0 : _a.on("chainChanged", listener);
366
- this.currentProviderListeners["chainChanged"] = listener;
355
+ (_a = this.provider) === null || _a === void 0 ? void 0 : _a.on("chainChanged", listener);
356
+ this._providerListeners["chainChanged"] = listener;
367
357
  };
368
358
  FormoAnalytics.prototype.registerSignatureListener = function () {
369
359
  var _this = this;
370
360
  var _a;
371
- if (!this.currentProvider) {
361
+ if (!this.provider) {
372
362
  console.error("_trackSigning: provider not found");
373
363
  return;
374
364
  }
375
- if (((_a = Object.getOwnPropertyDescriptor(this.currentProvider, "request")) === null || _a === void 0 ? void 0 : _a.writable) ===
365
+ if (((_a = Object.getOwnPropertyDescriptor(this.provider, "request")) === null || _a === void 0 ? void 0 : _a.writable) ===
376
366
  false) {
377
367
  console.warn("_trackSigning: provider.request is not writable");
378
368
  return;
379
369
  }
380
- var request = this.currentProvider.request.bind(this.currentProvider);
381
- this.currentProvider.request = function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
370
+ var request = this.provider.request.bind(this.provider);
371
+ this.provider.request = function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
382
372
  var response, error_1, rpcError;
383
373
  var method = _b.method, params = _b.params;
384
374
  return __generator(this, function (_c) {
385
375
  switch (_c.label) {
386
376
  case 0:
387
- console.log('signature listener', method, params, this.currentProvider);
388
377
  if (!(Array.isArray(params) &&
389
378
  ["eth_signTypedData_v4", "personal_sign"].includes(method))) return [3 /*break*/, 4];
390
379
  // Emit signature request event
@@ -417,17 +406,17 @@ var FormoAnalytics = /** @class */ (function () {
417
406
  FormoAnalytics.prototype.registerTransactionListener = function () {
418
407
  var _this = this;
419
408
  var _a;
420
- if (!this.currentProvider) {
409
+ if (!this.provider) {
421
410
  console.error("_trackTransactions: provider not found");
422
411
  return;
423
412
  }
424
- if (((_a = Object.getOwnPropertyDescriptor(this.currentProvider, "request")) === null || _a === void 0 ? void 0 : _a.writable) ===
413
+ if (((_a = Object.getOwnPropertyDescriptor(this.provider, "request")) === null || _a === void 0 ? void 0 : _a.writable) ===
425
414
  false) {
426
415
  console.warn("_trackTransactions: provider.request is not writable");
427
416
  return;
428
417
  }
429
- var request = this.currentProvider.request.bind(this.currentProvider);
430
- this.currentProvider.request = function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
418
+ var request = this.provider.request.bind(this.provider);
419
+ this.provider.request = function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
431
420
  var payload, transactionHash, error_2, rpcError;
432
421
  var method = _b.method, params = _b.params;
433
422
  return __generator(this, function (_c) {
@@ -451,6 +440,8 @@ var FormoAnalytics = /** @class */ (function () {
451
440
  return [2 /*return*/];
452
441
  case 4:
453
442
  error_2 = _c.sent();
443
+ console.log("transaction listener catch");
444
+ console.log(error_2);
454
445
  rpcError = error_2;
455
446
  if (rpcError && (rpcError === null || rpcError === void 0 ? void 0 : rpcError.code) === 4001) {
456
447
  // Emit transaction rejected event
@@ -466,7 +457,6 @@ var FormoAnalytics = /** @class */ (function () {
466
457
  FormoAnalytics.prototype.onAddressChanged = function (addresses) {
467
458
  return __awaiter(this, void 0, void 0, function () {
468
459
  return __generator(this, function (_a) {
469
- console.log('onAddressChanged', addresses);
470
460
  if (addresses.length > 0) {
471
461
  this.onAddressConnected(addresses[0]);
472
462
  }
@@ -483,7 +473,6 @@ var FormoAnalytics = /** @class */ (function () {
483
473
  return __generator(this, function (_b) {
484
474
  switch (_b.label) {
485
475
  case 0:
486
- console.log('onAddressConnected', address);
487
476
  if (address === this.currentConnectedAddress) {
488
477
  // We have already reported this address
489
478
  return [2 /*return*/];
@@ -501,13 +490,19 @@ var FormoAnalytics = /** @class */ (function () {
501
490
  });
502
491
  });
503
492
  };
504
- FormoAnalytics.prototype.onAddressDisconnected = function () {
493
+ FormoAnalytics.prototype.handleDisconnect = function (chainId, address) {
505
494
  return __awaiter(this, void 0, void 0, function () {
495
+ var payload;
506
496
  return __generator(this, function (_a) {
507
497
  switch (_a.label) {
508
498
  case 0:
509
- console.log('onAddressDisconnected', this.currentChainId, this.currentConnectedAddress);
510
- return [4 /*yield*/, this.handleDisconnect(this.currentChainId, this.currentConnectedAddress)];
499
+ payload = {
500
+ chain_id: chainId || this.currentChainId,
501
+ address: address || this.currentConnectedAddress,
502
+ };
503
+ this.currentChainId = undefined;
504
+ this.currentConnectedAddress = undefined;
505
+ return [4 /*yield*/, this.trackEvent(constants_1.Event.DISCONNECT, payload)];
511
506
  case 1:
512
507
  _a.sent();
513
508
  return [2 /*return*/];
@@ -515,19 +510,11 @@ var FormoAnalytics = /** @class */ (function () {
515
510
  });
516
511
  });
517
512
  };
518
- FormoAnalytics.prototype.handleDisconnect = function (chainId, address) {
513
+ FormoAnalytics.prototype.onAddressDisconnected = function () {
519
514
  return __awaiter(this, void 0, void 0, function () {
520
- var payload;
521
515
  return __generator(this, function (_a) {
522
516
  switch (_a.label) {
523
- case 0:
524
- payload = {
525
- chain_id: chainId || this.currentChainId,
526
- address: address || this.currentConnectedAddress,
527
- };
528
- this.currentChainId = undefined;
529
- this.currentConnectedAddress = undefined;
530
- return [4 /*yield*/, this.trackEvent(constants_1.Event.DISCONNECT, payload)];
517
+ case 0: return [4 /*yield*/, this.handleDisconnect(this.currentChainId, this.currentConnectedAddress)];
531
518
  case 1:
532
519
  _a.sent();
533
520
  return [2 /*return*/];
@@ -542,9 +529,8 @@ var FormoAnalytics = /** @class */ (function () {
542
529
  switch (_a.label) {
543
530
  case 0:
544
531
  this.currentChainId = parseInt(chainIdHex);
545
- console.log('onChainChanged', this.currentChainId);
546
532
  if (!!this.currentConnectedAddress) return [3 /*break*/, 2];
547
- if (!this.currentProvider) {
533
+ if (!this.provider) {
548
534
  console.log("FormoAnalytics::onChainChanged: provider not found. CHAIN_CHANGED not reported");
549
535
  return [2 /*return*/, Promise.resolve()];
550
536
  }
@@ -576,8 +562,8 @@ var FormoAnalytics = /** @class */ (function () {
576
562
  FormoAnalytics.prototype.trackFirstPageHit = function () {
577
563
  return __awaiter(this, void 0, void 0, function () {
578
564
  return __generator(this, function (_a) {
579
- if (sessionStorage.getItem(constants_1.CURRENT_URL_KEY) === null) {
580
- sessionStorage.setItem(constants_1.CURRENT_URL_KEY, window.location.href);
565
+ if (lib_1.session.get(constants_1.CURRENT_URL_KEY) === null) {
566
+ lib_1.session.set(constants_1.CURRENT_URL_KEY, window.location.href);
581
567
  }
582
568
  return [2 /*return*/, this.trackPageHit()];
583
569
  });
@@ -618,9 +604,9 @@ var FormoAnalytics = /** @class */ (function () {
618
604
  return __awaiter(this, void 0, void 0, function () {
619
605
  var currentUrl;
620
606
  return __generator(this, function (_a) {
621
- currentUrl = sessionStorage.getItem(constants_1.CURRENT_URL_KEY);
607
+ currentUrl = lib_1.session.get(constants_1.CURRENT_URL_KEY);
622
608
  if (currentUrl !== window.location.href) {
623
- sessionStorage.setItem(constants_1.CURRENT_URL_KEY, window.location.href);
609
+ lib_1.session.set(constants_1.CURRENT_URL_KEY, window.location.href);
624
610
  this.trackPageHit();
625
611
  }
626
612
  return [2 /*return*/];
@@ -632,6 +618,9 @@ var FormoAnalytics = /** @class */ (function () {
632
618
  var pathname = window.location.pathname;
633
619
  var href = window.location.href;
634
620
  var hash = window.location.hash;
621
+ if (!this.config.trackLocalhost && (0, lib_1.isLocalhost)()) {
622
+ return console.warn("FormoAnalytics::trackPageHit: Ignoring event because website is running locally");
623
+ }
635
624
  setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
636
625
  return __generator(this, function (_a) {
637
626
  this.trackEvent(constants_1.Event.PAGE, {
@@ -647,53 +636,46 @@ var FormoAnalytics = /** @class */ (function () {
647
636
  // https://linear.app/getformo/issue/P-835/sdk-refactor-retries-with-event-queue-and-batching
648
637
  FormoAnalytics.prototype.trackEvent = function (action, payload) {
649
638
  return __awaiter(this, void 0, void 0, function () {
650
- var address, _a, requestData, response, error_3;
651
- var _b;
652
- return __generator(this, function (_c) {
653
- switch (_c.label) {
654
- case 0:
655
- _a = payload.address;
656
- if (_a) return [3 /*break*/, 2];
657
- return [4 /*yield*/, this.getAddress()];
639
+ var address, requestData, response, error_3;
640
+ var _a;
641
+ return __generator(this, function (_b) {
642
+ switch (_b.label) {
643
+ case 0: return [4 /*yield*/, this.getAddress()];
658
644
  case 1:
659
- _a = (_c.sent());
660
- _c.label = 2;
661
- case 2:
662
- address = _a;
663
- _b = {
645
+ address = _b.sent();
646
+ _a = {
664
647
  address: address,
665
648
  timestamp: new Date().toISOString(),
666
649
  action: action,
667
650
  version: "1"
668
651
  };
669
- return [4 /*yield*/, this.buildEventPayload((0, utils_1.toSnakeCase)(payload))];
652
+ return [4 /*yield*/, this.buildEventPayload((0, lib_1.toSnakeCase)(payload))];
653
+ case 2:
654
+ requestData = (_a.payload = _b.sent(),
655
+ _a);
656
+ _b.label = 3;
670
657
  case 3:
671
- requestData = (_b.payload = _c.sent(),
672
- _b);
673
- _c.label = 4;
674
- case 4:
675
- _c.trys.push([4, 6, , 7]);
658
+ _b.trys.push([3, 5, , 6]);
676
659
  return [4 /*yield*/, axios_1.default.post(constants_1.EVENTS_API_URL, JSON.stringify(requestData), {
677
660
  headers: {
678
661
  "Content-Type": "application/json",
679
662
  Authorization: "Bearer ".concat(this.config.apiKey),
680
663
  },
681
664
  })];
682
- case 5:
683
- response = _c.sent();
665
+ case 4:
666
+ response = _b.sent();
684
667
  if (response.status >= 200 && response.status < 300) {
685
668
  console.log("Event sent successfully: ".concat(this.getActionDescriptor(action, payload)));
686
669
  }
687
670
  else {
688
671
  throw new Error("Failed with status: ".concat(response.status));
689
672
  }
690
- return [3 /*break*/, 7];
691
- case 6:
692
- error_3 = _c.sent();
693
- highlight_run_1.H.consumeError(error_3, "Request data: ".concat(JSON.stringify(requestData)));
673
+ return [3 /*break*/, 6];
674
+ case 5:
675
+ error_3 = _b.sent();
694
676
  console.error("Event \"".concat(action, "\" failed. Error: ").concat(error_3));
695
- return [3 /*break*/, 7];
696
- case 7: return [2 /*return*/];
677
+ return [3 /*break*/, 6];
678
+ case 6: return [2 /*return*/];
697
679
  }
698
680
  });
699
681
  });
@@ -726,15 +708,15 @@ var FormoAnalytics = /** @class */ (function () {
726
708
  _i = 0, providers_1 = providers;
727
709
  _c.label = 1;
728
710
  case 1:
729
- if (!(_i < providers_1.length)) return [3 /*break*/, 10];
711
+ if (!(_i < providers_1.length)) return [3 /*break*/, 13];
730
712
  _a = providers_1[_i], provider = _a.provider, info = _a.info;
731
713
  _c.label = 2;
732
714
  case 2:
733
- _c.trys.push([2, 8, , 9]);
715
+ _c.trys.push([2, 11, , 12]);
734
716
  return [4 /*yield*/, this.getAccounts(provider)];
735
717
  case 3:
736
718
  accounts = _c.sent();
737
- if (!(accounts && accounts.length > 0)) return [3 /*break*/, 7];
719
+ if (!(accounts && accounts.length > 0)) return [3 /*break*/, 8];
738
720
  _b = 0, accounts_1 = accounts;
739
721
  _c.label = 4;
740
722
  case 4:
@@ -751,21 +733,34 @@ var FormoAnalytics = /** @class */ (function () {
751
733
  case 6:
752
734
  _b++;
753
735
  return [3 /*break*/, 4];
754
- case 7: return [3 /*break*/, 9];
755
- case 8:
756
- err_1 = _c.sent();
757
- return [3 /*break*/, 9];
736
+ case 7: return [3 /*break*/, 10];
737
+ case 8:
738
+ // Identify without accounts
739
+ return [4 /*yield*/, this.identify({
740
+ address: null,
741
+ providerName: info.name,
742
+ rdns: info.rdns,
743
+ })];
758
744
  case 9:
745
+ // Identify without accounts
746
+ _c.sent();
747
+ _c.label = 10;
748
+ case 10: return [3 /*break*/, 12];
749
+ case 11:
750
+ err_1 = _c.sent();
751
+ console.log("identifying all => err", err_1);
752
+ return [3 /*break*/, 12];
753
+ case 12:
759
754
  _i++;
760
755
  return [3 /*break*/, 1];
761
- case 10: return [2 /*return*/];
756
+ case 13: return [2 /*return*/];
762
757
  }
763
758
  });
764
759
  });
765
760
  };
766
761
  Object.defineProperty(FormoAnalytics.prototype, "provider", {
767
762
  get: function () {
768
- return this.currentProvider;
763
+ return this._provider;
769
764
  },
770
765
  enumerable: false,
771
766
  configurable: true
@@ -785,18 +780,18 @@ var FormoAnalytics = /** @class */ (function () {
785
780
  _a.label = 1;
786
781
  case 1:
787
782
  _a.trys.push([1, 3, , 4]);
788
- return [4 /*yield*/, this.getAccounts(this.provider)];
783
+ return [4 /*yield*/, this.getAccounts()];
789
784
  case 2:
790
785
  accounts = _a.sent();
791
786
  if (accounts && accounts.length > 0) {
792
787
  return [2 /*return*/, accounts[0]];
793
788
  }
794
- return [2 /*return*/, null];
789
+ return [3 /*break*/, 4];
795
790
  case 3:
796
791
  err_2 = _a.sent();
797
792
  console.log("Failed to fetch accounts from provider:", err_2);
798
793
  return [2 /*return*/, null];
799
- case 4: return [2 /*return*/];
794
+ case 4: return [2 /*return*/, null];
800
795
  }
801
796
  });
802
797
  });
@@ -837,14 +832,13 @@ var FormoAnalytics = /** @class */ (function () {
837
832
  return __generator(this, function (_b) {
838
833
  switch (_b.label) {
839
834
  case 0:
840
- if (!this.currentProvider) {
835
+ if (!this.provider) {
841
836
  console.error("FormoAnalytics::getCurrentChainId: provider not set");
842
- return [2 /*return*/, 0];
843
837
  }
844
838
  _b.label = 1;
845
839
  case 1:
846
840
  _b.trys.push([1, 3, , 4]);
847
- return [4 /*yield*/, ((_a = this.currentProvider) === null || _a === void 0 ? void 0 : _a.request({
841
+ return [4 /*yield*/, ((_a = this.provider) === null || _a === void 0 ? void 0 : _a.request({
848
842
  method: "eth_chainId",
849
843
  }))];
850
844
  case 2:
@@ -897,7 +891,7 @@ var FormoAnalytics = /** @class */ (function () {
897
891
  location = this.getLocation();
898
892
  language = this.getLanguage();
899
893
  // common browser properties
900
- return [2 /*return*/, __assign({ "user-agent": window.navigator.userAgent, locale: language, location: location, referrer: document.referrer, utm_source: params.get("utm_source"), utm_medium: params.get("utm_medium"), utm_campaign: params.get("utm_campaign"), ref: params.get("ref") }, eventSpecificPayload)];
894
+ return [2 /*return*/, __assign({ "user-agent": window.navigator.userAgent, origin: url.origin, locale: language, location: location, referrer: document.referrer, utm_source: params.get("utm_source"), utm_medium: params.get("utm_medium"), utm_campaign: params.get("utm_campaign"), ref: params.get("ref") }, eventSpecificPayload)];
901
895
  });
902
896
  });
903
897
  };
@@ -945,4 +939,15 @@ var FormoAnalytics = /** @class */ (function () {
945
939
  return FormoAnalytics;
946
940
  }());
947
941
  exports.FormoAnalytics = FormoAnalytics;
942
+ var FormoAnalyticsSession = /** @class */ (function () {
943
+ function FormoAnalyticsSession() {
944
+ }
945
+ FormoAnalyticsSession.prototype.isIdentified = function () {
946
+ return lib_1.session.get(constants_2.SESSION_IDENTIFIED_KEY) === true;
947
+ };
948
+ FormoAnalyticsSession.prototype.identify = function () {
949
+ lib_1.session.set(constants_2.SESSION_IDENTIFIED_KEY, true);
950
+ };
951
+ return FormoAnalyticsSession;
952
+ }());
948
953
  //# sourceMappingURL=FormoAnalytics.js.map