@formo/analytics 1.13.0-alpha.1 → 1.13.1

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 (69) hide show
  1. package/dist/cjs/src/FormoAnalytics.d.ts +91 -24
  2. package/dist/cjs/src/FormoAnalytics.d.ts.map +1 -1
  3. package/dist/cjs/src/FormoAnalytics.js +325 -37
  4. package/dist/cjs/src/FormoAnalytics.js.map +1 -1
  5. package/dist/cjs/src/constants/config.d.ts +522 -522
  6. package/dist/cjs/src/constants/config.d.ts.map +1 -1
  7. package/dist/cjs/src/constants/config.js +557 -557
  8. package/dist/cjs/src/constants/config.js.map +1 -1
  9. package/dist/cjs/src/constants/events.d.ts +1 -1
  10. package/dist/cjs/src/constants/events.d.ts.map +1 -1
  11. package/dist/cjs/src/constants/events.js +1 -1
  12. package/dist/cjs/src/constants/events.js.map +1 -1
  13. package/dist/cjs/src/types/base.d.ts +1 -1
  14. package/dist/cjs/src/types/base.d.ts.map +1 -1
  15. package/dist/cjs/src/types/events.d.ts +11 -0
  16. package/dist/cjs/src/types/events.d.ts.map +1 -0
  17. package/dist/cjs/src/types/events.js +16 -0
  18. package/dist/cjs/src/types/events.js.map +1 -0
  19. package/dist/cjs/src/types/index.d.ts +2 -1
  20. package/dist/cjs/src/types/index.d.ts.map +1 -1
  21. package/dist/cjs/src/types/index.js +2 -1
  22. package/dist/cjs/src/types/index.js.map +1 -1
  23. package/dist/cjs/src/types/{wallet.d.ts → provider.d.ts} +5 -1
  24. package/dist/cjs/src/types/provider.d.ts.map +1 -0
  25. package/dist/cjs/src/types/{wallet.js → provider.js} +1 -1
  26. package/dist/cjs/src/types/provider.js.map +1 -0
  27. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  28. package/dist/esm/src/FormoAnalytics.d.ts +91 -24
  29. package/dist/esm/src/FormoAnalytics.d.ts.map +1 -1
  30. package/dist/esm/src/FormoAnalytics.js +326 -38
  31. package/dist/esm/src/FormoAnalytics.js.map +1 -1
  32. package/dist/esm/src/constants/config.d.ts +522 -522
  33. package/dist/esm/src/constants/config.d.ts.map +1 -1
  34. package/dist/esm/src/constants/config.js +556 -556
  35. package/dist/esm/src/constants/config.js.map +1 -1
  36. package/dist/esm/src/constants/events.d.ts +1 -1
  37. package/dist/esm/src/constants/events.d.ts.map +1 -1
  38. package/dist/esm/src/constants/events.js +1 -1
  39. package/dist/esm/src/constants/events.js.map +1 -1
  40. package/dist/esm/src/types/base.d.ts +1 -1
  41. package/dist/esm/src/types/base.d.ts.map +1 -1
  42. package/dist/esm/src/types/events.d.ts +11 -0
  43. package/dist/esm/src/types/events.d.ts.map +1 -0
  44. package/dist/esm/src/types/events.js +13 -0
  45. package/dist/esm/src/types/events.js.map +1 -0
  46. package/dist/esm/src/types/index.d.ts +2 -1
  47. package/dist/esm/src/types/index.d.ts.map +1 -1
  48. package/dist/esm/src/types/index.js +2 -1
  49. package/dist/esm/src/types/index.js.map +1 -1
  50. package/dist/esm/src/types/{wallet.d.ts → provider.d.ts} +5 -1
  51. package/dist/esm/src/types/provider.d.ts.map +1 -0
  52. package/dist/esm/src/types/provider.js +2 -0
  53. package/dist/esm/src/types/provider.js.map +1 -0
  54. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  55. package/dist/index.umd.min.js +1 -1
  56. package/dist/index.umd.min.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/FormoAnalytics.ts +418 -69
  59. package/src/constants/config.ts +556 -556
  60. package/src/constants/events.ts +1 -1
  61. package/src/types/base.ts +1 -1
  62. package/src/types/events.ts +11 -0
  63. package/src/types/index.ts +2 -1
  64. package/src/types/{wallet.ts → provider.ts} +5 -0
  65. package/dist/cjs/src/types/wallet.d.ts.map +0 -1
  66. package/dist/cjs/src/types/wallet.js.map +0 -1
  67. package/dist/esm/src/types/wallet.d.ts.map +0 -1
  68. package/dist/esm/src/types/wallet.js +0 -2
  69. package/dist/esm/src/types/wallet.js.map +0 -1
@@ -1,34 +1,38 @@
1
- import { ChainID, Address, EIP1193Provider, Options, Config } from "./types";
1
+ import { ChainID, Address, EIP1193Provider, Options, Config, SignatureStatus, TransactionStatus } from "./types";
2
2
  interface IFormoAnalytics {
3
- /**
4
- * Tracks page visit events.
5
- */
6
3
  page(): void;
7
- /**
8
- * Connects to a wallet with the specified chain ID and address.
9
- */
10
4
  connect(params: {
11
5
  chainId: ChainID;
12
- address: string;
6
+ address: Address;
13
7
  }): Promise<void>;
14
- /**
15
- * Disconnects the current wallet.
16
- */
17
8
  disconnect(params?: {
18
9
  chainId?: ChainID;
19
- address?: string;
10
+ address?: Address;
20
11
  }): Promise<void>;
21
- /**
22
- * Switches the blockchain chain context and optionally logs additional params.
23
- */
24
12
  chain(params: {
25
13
  chainId: ChainID;
26
- address?: string;
14
+ address?: Address;
15
+ }): Promise<void>;
16
+ signature({ status, chainId, address, message, signatureHash, }: {
17
+ status: SignatureStatus;
18
+ chainId?: ChainID;
19
+ address: Address;
20
+ message: string;
21
+ signatureHash?: string;
22
+ }): Promise<void>;
23
+ transaction({ status, chainId, address, data, to, value, transactionHash, }: {
24
+ status: TransactionStatus;
25
+ chainId: ChainID;
26
+ address: Address;
27
+ data?: string;
28
+ to?: string;
29
+ value?: string;
30
+ transactionHash?: string;
27
31
  }): Promise<void>;
28
- /**
29
- * Tracks a specific event with a name and associated data.
30
- */
31
- track(eventName: string, eventData: Record<string, any>): Promise<void>;
32
+ identify(params: {
33
+ address: Address;
34
+ }): Promise<void>;
35
+ track(action: string, payload: Record<string, any>): Promise<void>;
32
36
  }
33
37
  export declare class FormoAnalytics implements IFormoAnalytics {
34
38
  readonly apiKey: string;
@@ -40,28 +44,88 @@ export declare class FormoAnalytics implements IFormoAnalytics {
40
44
  currentConnectedAddress?: Address;
41
45
  private constructor();
42
46
  static init(apiKey: string, options?: Options): Promise<FormoAnalytics>;
43
- connect({ chainId, address }: {
47
+ /**
48
+ * Emits a page visit event with the current URL information, fire on page change.
49
+ * @returns {Promise<void>}
50
+ */
51
+ page(): Promise<void>;
52
+ /**
53
+ * Emits a wallet connect event.
54
+ * @param {ChainID} params.chainId
55
+ * @param {Address} params.address
56
+ * @throws {Error} If chainId or address is empty
57
+ * @returns {Promise<void>}
58
+ */
59
+ connect({ chainId, address, }: {
44
60
  chainId: ChainID;
45
61
  address: Address;
46
62
  }): Promise<void>;
63
+ /**
64
+ * Emits a wallet disconnect event.
65
+ * @param {ChainID} params.chainId
66
+ * @param {Address} params.address
67
+ * @returns {Promise<void>}
68
+ */
47
69
  disconnect(params?: {
48
70
  chainId?: ChainID;
49
71
  address?: Address;
50
72
  }): Promise<void>;
51
- chain({ chainId, address }: {
73
+ /**
74
+ * Emits a chain network change event.
75
+ * @param {ChainID} params.chainId
76
+ * @param {Address} params.address
77
+ * @throws {Error} If chainId is empty, zero, or not a valid number
78
+ * @throws {Error} If no address is provided and no previous address is recorded
79
+ * @returns {Promise<void>}
80
+ */
81
+ chain({ chainId, address, }: {
52
82
  chainId: ChainID;
53
83
  address?: Address;
54
84
  }): Promise<void>;
55
- page(): Promise<void>;
56
- track(eventName: string, eventData: Record<string, any>): Promise<void>;
85
+ signature({ status, chainId, address, message, signatureHash, }: {
86
+ status: SignatureStatus;
87
+ chainId?: ChainID;
88
+ address: Address;
89
+ message: string;
90
+ signatureHash?: string;
91
+ }): Promise<void>;
92
+ transaction({ status, chainId, address, data, to, value, transactionHash, }: {
93
+ status: TransactionStatus;
94
+ chainId: ChainID;
95
+ address: Address;
96
+ data?: string;
97
+ to?: string;
98
+ value?: string;
99
+ transactionHash?: string;
100
+ }): Promise<void>;
101
+ /**
102
+ * Emits a identify event with current wallet address.
103
+ * @param {Address} params.address
104
+ * @returns {Promise<void>}
105
+ */
106
+ identify(params?: {
107
+ address: Address;
108
+ }): Promise<void>;
109
+ /**
110
+ * Emits a custom event with custom data.
111
+ * @param {string} action
112
+ * @param {Record<string, any>} payload
113
+ * @returns {Promise<void>}
114
+ */
115
+ track(action: string, payload: Record<string, any>): Promise<void>;
57
116
  private trackProvider;
58
117
  private registerAddressChangedListener;
59
118
  private registerChainChangedListener;
119
+ private registerSignatureListener;
120
+ private registerTransactionListener;
60
121
  private onAddressChanged;
61
122
  private onAddressConnected;
62
123
  private handleDisconnect;
63
124
  private onAddressDisconnected;
64
125
  private onChainChanged;
126
+ private trackFirstPageVisit;
127
+ private trackPagesChange;
128
+ private onLocationChange;
65
129
  private trackPageHit;
66
130
  private trackEvent;
67
131
  get provider(): EIP1193Provider | undefined;
@@ -71,6 +135,9 @@ export declare class FormoAnalytics implements IFormoAnalytics {
71
135
  private getLocation;
72
136
  private getLanguage;
73
137
  private buildEventPayload;
138
+ private buildSignatureEventPayload;
139
+ private buildTransactionEventPayload;
140
+ private getActionDescriptor;
74
141
  }
75
142
  export {};
76
143
  //# sourceMappingURL=FormoAnalytics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormoAnalytics.d.ts","sourceRoot":"","sources":["../../../src/FormoAnalytics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE7E,UAAU,eAAe;IACvB;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;OAEG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,qBAAa,cAAe,YAAW,eAAe;aAYlC,MAAM,EAAE,MAAM;IACvB,OAAO,EAAE,OAAO;IAZzB,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,kBAAkB,CAGnB;IAEP,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,OAAO;WAeM,IAAI,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,cAAc,CAAC;IAUpB,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpF,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7E,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,4BAA4B;YAOtB,gBAAgB;YAQhB,kBAAkB;YAYlB,gBAAgB;YAUhB,qBAAqB;YAIrB,cAAc;IAsC5B,OAAO,CAAC,YAAY;YAcN,UAAU;IAyCxB,IAAI,QAAQ,IAAI,eAAe,GAAG,SAAS,CAE1C;YAEa,UAAU;YAsBV,WAAW;YAuBX,iBAAiB;IA0B/B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;YAcL,iBAAiB;CAwBhC"}
1
+ {"version":3,"file":"FormoAnalytics.d.ts","sourceRoot":"","sources":["../../../src/FormoAnalytics.ts"],"names":[],"mappings":"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"}