@reown/appkit-core-react-native 0.0.0-feat-multichain-20251002190808 → 0.0.0-feat-multichain-20251006182725
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/controllers/EventsController.js +50 -1
- package/lib/commonjs/controllers/EventsController.js.map +1 -1
- package/lib/commonjs/controllers/LogController.js +0 -6
- package/lib/commonjs/controllers/LogController.js.map +1 -1
- package/lib/module/controllers/EventsController.js +50 -1
- package/lib/module/controllers/EventsController.js.map +1 -1
- package/lib/module/controllers/LogController.js +0 -6
- package/lib/module/controllers/LogController.js.map +1 -1
- package/lib/typescript/controllers/EventsController.d.ts +13 -1
- package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
- package/lib/typescript/controllers/LogController.d.ts +0 -4
- package/lib/typescript/controllers/LogController.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/controllers/EventsController.ts +72 -2
- package/src/controllers/LogController.ts +0 -8
|
@@ -15,6 +15,7 @@ const api = new _FetchUtil.FetchUtil({
|
|
|
15
15
|
baseUrl
|
|
16
16
|
});
|
|
17
17
|
const excluded = ['MODAL_CREATED'];
|
|
18
|
+
const IMPRESSION_TIMEOUT = 3000;
|
|
18
19
|
|
|
19
20
|
// -- Types --------------------------------------------- //
|
|
20
21
|
|
|
@@ -24,7 +25,9 @@ const state = (0, _valtio.proxy)({
|
|
|
24
25
|
data: {
|
|
25
26
|
type: 'track',
|
|
26
27
|
event: 'MODAL_CREATED' // just for init purposes
|
|
27
|
-
}
|
|
28
|
+
},
|
|
29
|
+
pendingWalletImpressions: [],
|
|
30
|
+
pendingImpressionTimeout: undefined
|
|
28
31
|
});
|
|
29
32
|
|
|
30
33
|
// -- Controller ---------------------------------------- //
|
|
@@ -40,6 +43,40 @@ const EventsController = exports.EventsController = {
|
|
|
40
43
|
}
|
|
41
44
|
});
|
|
42
45
|
},
|
|
46
|
+
trackWalletImpression(props) {
|
|
47
|
+
state.pendingWalletImpressions.push({
|
|
48
|
+
name: props.wallet.name ?? 'Unknown',
|
|
49
|
+
walletRank: props.wallet.order,
|
|
50
|
+
explorerId: props.wallet.id,
|
|
51
|
+
certified: props.wallet.badge_type === 'certified',
|
|
52
|
+
displayIndex: props.displayIndex,
|
|
53
|
+
view: props.view,
|
|
54
|
+
query: props.query,
|
|
55
|
+
installed: props.installed
|
|
56
|
+
});
|
|
57
|
+
if (state.pendingImpressionTimeout) {
|
|
58
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
59
|
+
}
|
|
60
|
+
state.pendingImpressionTimeout = setTimeout(() => {
|
|
61
|
+
EventsController.sendWalletImpressions();
|
|
62
|
+
}, IMPRESSION_TIMEOUT);
|
|
63
|
+
},
|
|
64
|
+
sendWalletImpressions() {
|
|
65
|
+
if (state.pendingImpressionTimeout) {
|
|
66
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
67
|
+
state.pendingImpressionTimeout = undefined;
|
|
68
|
+
}
|
|
69
|
+
const impressions = state.pendingWalletImpressions;
|
|
70
|
+
if (impressions.length === 0) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
state.pendingWalletImpressions = [];
|
|
74
|
+
EventsController.sendEvent({
|
|
75
|
+
type: 'track',
|
|
76
|
+
event: 'WALLET_IMPRESSION',
|
|
77
|
+
items: impressions
|
|
78
|
+
});
|
|
79
|
+
},
|
|
43
80
|
async _sendAnalyticsEvent(data, timestamp) {
|
|
44
81
|
if (excluded.includes(data.event)) {
|
|
45
82
|
return;
|
|
@@ -68,6 +105,18 @@ const EventsController = exports.EventsController = {
|
|
|
68
105
|
if (_OptionsController.OptionsController.state.enableAnalytics) {
|
|
69
106
|
EventsController._sendAnalyticsEvent(data, timestamp);
|
|
70
107
|
}
|
|
108
|
+
},
|
|
109
|
+
resetState() {
|
|
110
|
+
if (state.pendingImpressionTimeout) {
|
|
111
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
112
|
+
state.pendingImpressionTimeout = undefined;
|
|
113
|
+
}
|
|
114
|
+
state.pendingWalletImpressions = [];
|
|
115
|
+
state.data = {
|
|
116
|
+
type: 'track',
|
|
117
|
+
event: 'MODAL_CREATED'
|
|
118
|
+
};
|
|
119
|
+
state.timestamp = Date.now();
|
|
71
120
|
}
|
|
72
121
|
};
|
|
73
122
|
//# sourceMappingURL=EventsController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_valtio","require","_ApiController","_OptionsController","_CoreHelperUtil","_FetchUtil","baseUrl","CoreHelperUtil","getAnalyticsUrl","api","FetchUtil","excluded","state","proxy","timestamp","Date","now","data","type","event","EventsController","exports","subscribe","callback","sub","subscribeEvent","_sendAnalyticsEvent","includes","post","path","headers","ApiController","_getApiHeaders","params","_getApiParams","body","eventId","getUUID","bundleId","getBundleId","
|
|
1
|
+
{"version":3,"names":["_valtio","require","_ApiController","_OptionsController","_CoreHelperUtil","_FetchUtil","baseUrl","CoreHelperUtil","getAnalyticsUrl","api","FetchUtil","excluded","IMPRESSION_TIMEOUT","state","proxy","timestamp","Date","now","data","type","event","pendingWalletImpressions","pendingImpressionTimeout","undefined","EventsController","exports","subscribe","callback","sub","subscribeEvent","trackWalletImpression","props","push","name","wallet","walletRank","order","explorerId","id","certified","badge_type","displayIndex","view","query","installed","clearTimeout","setTimeout","sendWalletImpressions","impressions","length","sendEvent","items","_sendAnalyticsEvent","includes","post","path","headers","ApiController","_getApiHeaders","params","_getApiParams","body","eventId","getUUID","bundleId","getBundleId","prefetchPromise","OptionsController","enableAnalytics","resetState"],"sourceRoot":"../../../src","sources":["controllers/EventsController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -52,12 +52,6 @@ const logToConsole = entry => {
|
|
|
52
52
|
// -- Controller ---------------------------------------- //
|
|
53
53
|
const LogController = exports.LogController = {
|
|
54
54
|
state,
|
|
55
|
-
/**
|
|
56
|
-
* Initialize the LogController
|
|
57
|
-
*/
|
|
58
|
-
initialize() {
|
|
59
|
-
// Initialize the LogController
|
|
60
|
-
},
|
|
61
55
|
/**
|
|
62
56
|
* Destroy the LogController (cleanup resources)
|
|
63
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_valtio","require","_OptionsController","_LogUtils","_CoreHelperUtil","MAX_LOGS_COUNT","state","proxy","logs","generateLogId","CoreHelperUtil","getUUID","logToConsole","entry","debug","OptionsController","location","fileName","functionName","logMessage","message","level","console","error","warn","log","LogController","exports","
|
|
1
|
+
{"version":3,"names":["_valtio","require","_OptionsController","_LogUtils","_CoreHelperUtil","MAX_LOGS_COUNT","state","proxy","logs","generateLogId","CoreHelperUtil","getUUID","logToConsole","entry","debug","OptionsController","location","fileName","functionName","logMessage","message","level","console","error","warn","log","LogController","exports","destroy","sendLog","data","id","timestamp","Date","now","sanitizeString","sanitizeData","push","length","slice","sendError","additionalData","Error","stack","sanitizeStackTrace","undefined","name","errorProps","Object","getOwnPropertyNames","forEach","prop","keys","assign","sanitizeValue","String","sendInfo","sendWarn","sendDebug","getLogs","getLogsByLevel","filter","getRecentLogs","count","clearLogs","exportLogs","JSON","stringify","getLogsStats","stats","info"],"sourceRoot":"../../../src","sources":["controllers/LogController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ const api = new FetchUtil({
|
|
|
11
11
|
baseUrl
|
|
12
12
|
});
|
|
13
13
|
const excluded = ['MODAL_CREATED'];
|
|
14
|
+
const IMPRESSION_TIMEOUT = 3000;
|
|
14
15
|
|
|
15
16
|
// -- Types --------------------------------------------- //
|
|
16
17
|
|
|
@@ -20,7 +21,9 @@ const state = proxy({
|
|
|
20
21
|
data: {
|
|
21
22
|
type: 'track',
|
|
22
23
|
event: 'MODAL_CREATED' // just for init purposes
|
|
23
|
-
}
|
|
24
|
+
},
|
|
25
|
+
pendingWalletImpressions: [],
|
|
26
|
+
pendingImpressionTimeout: undefined
|
|
24
27
|
});
|
|
25
28
|
|
|
26
29
|
// -- Controller ---------------------------------------- //
|
|
@@ -36,6 +39,40 @@ export const EventsController = {
|
|
|
36
39
|
}
|
|
37
40
|
});
|
|
38
41
|
},
|
|
42
|
+
trackWalletImpression(props) {
|
|
43
|
+
state.pendingWalletImpressions.push({
|
|
44
|
+
name: props.wallet.name ?? 'Unknown',
|
|
45
|
+
walletRank: props.wallet.order,
|
|
46
|
+
explorerId: props.wallet.id,
|
|
47
|
+
certified: props.wallet.badge_type === 'certified',
|
|
48
|
+
displayIndex: props.displayIndex,
|
|
49
|
+
view: props.view,
|
|
50
|
+
query: props.query,
|
|
51
|
+
installed: props.installed
|
|
52
|
+
});
|
|
53
|
+
if (state.pendingImpressionTimeout) {
|
|
54
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
55
|
+
}
|
|
56
|
+
state.pendingImpressionTimeout = setTimeout(() => {
|
|
57
|
+
EventsController.sendWalletImpressions();
|
|
58
|
+
}, IMPRESSION_TIMEOUT);
|
|
59
|
+
},
|
|
60
|
+
sendWalletImpressions() {
|
|
61
|
+
if (state.pendingImpressionTimeout) {
|
|
62
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
63
|
+
state.pendingImpressionTimeout = undefined;
|
|
64
|
+
}
|
|
65
|
+
const impressions = state.pendingWalletImpressions;
|
|
66
|
+
if (impressions.length === 0) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
state.pendingWalletImpressions = [];
|
|
70
|
+
EventsController.sendEvent({
|
|
71
|
+
type: 'track',
|
|
72
|
+
event: 'WALLET_IMPRESSION',
|
|
73
|
+
items: impressions
|
|
74
|
+
});
|
|
75
|
+
},
|
|
39
76
|
async _sendAnalyticsEvent(data, timestamp) {
|
|
40
77
|
if (excluded.includes(data.event)) {
|
|
41
78
|
return;
|
|
@@ -64,6 +101,18 @@ export const EventsController = {
|
|
|
64
101
|
if (OptionsController.state.enableAnalytics) {
|
|
65
102
|
EventsController._sendAnalyticsEvent(data, timestamp);
|
|
66
103
|
}
|
|
104
|
+
},
|
|
105
|
+
resetState() {
|
|
106
|
+
if (state.pendingImpressionTimeout) {
|
|
107
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
108
|
+
state.pendingImpressionTimeout = undefined;
|
|
109
|
+
}
|
|
110
|
+
state.pendingWalletImpressions = [];
|
|
111
|
+
state.data = {
|
|
112
|
+
type: 'track',
|
|
113
|
+
event: 'MODAL_CREATED'
|
|
114
|
+
};
|
|
115
|
+
state.timestamp = Date.now();
|
|
67
116
|
}
|
|
68
117
|
};
|
|
69
118
|
//# sourceMappingURL=EventsController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["proxy","subscribe","sub","ApiController","OptionsController","CoreHelperUtil","FetchUtil","baseUrl","getAnalyticsUrl","api","excluded","state","timestamp","Date","now","data","type","event","EventsController","callback","subscribeEvent","_sendAnalyticsEvent","includes","post","path","headers","_getApiHeaders","params","_getApiParams","body","eventId","getUUID","bundleId","getBundleId","
|
|
1
|
+
{"version":3,"names":["proxy","subscribe","sub","ApiController","OptionsController","CoreHelperUtil","FetchUtil","baseUrl","getAnalyticsUrl","api","excluded","IMPRESSION_TIMEOUT","state","timestamp","Date","now","data","type","event","pendingWalletImpressions","pendingImpressionTimeout","undefined","EventsController","callback","subscribeEvent","trackWalletImpression","props","push","name","wallet","walletRank","order","explorerId","id","certified","badge_type","displayIndex","view","query","installed","clearTimeout","setTimeout","sendWalletImpressions","impressions","length","sendEvent","items","_sendAnalyticsEvent","includes","post","path","headers","_getApiHeaders","params","_getApiParams","body","eventId","getUUID","bundleId","getBundleId","prefetchPromise","enableAnalytics","resetState"],"sourceRoot":"../../../src","sources":["controllers/EventsController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,12 +49,6 @@ const logToConsole = entry => {
|
|
|
49
49
|
// -- Controller ---------------------------------------- //
|
|
50
50
|
export const LogController = {
|
|
51
51
|
state,
|
|
52
|
-
/**
|
|
53
|
-
* Initialize the LogController
|
|
54
|
-
*/
|
|
55
|
-
initialize() {
|
|
56
|
-
// Initialize the LogController
|
|
57
|
-
},
|
|
58
52
|
/**
|
|
59
53
|
* Destroy the LogController (cleanup resources)
|
|
60
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["proxy","OptionsController","sanitizeString","sanitizeStackTrace","sanitizeValue","sanitizeData","CoreHelperUtil","MAX_LOGS_COUNT","state","logs","generateLogId","getUUID","logToConsole","entry","debug","location","fileName","functionName","logMessage","message","level","console","error","warn","log","LogController","
|
|
1
|
+
{"version":3,"names":["proxy","OptionsController","sanitizeString","sanitizeStackTrace","sanitizeValue","sanitizeData","CoreHelperUtil","MAX_LOGS_COUNT","state","logs","generateLogId","getUUID","logToConsole","entry","debug","location","fileName","functionName","logMessage","message","level","console","error","warn","log","LogController","destroy","sendLog","data","id","timestamp","Date","now","push","length","slice","sendError","additionalData","Error","stack","undefined","name","errorProps","Object","getOwnPropertyNames","forEach","prop","keys","assign","String","sendInfo","sendWarn","sendDebug","getLogs","getLogsByLevel","filter","getRecentLogs","count","clearLogs","exportLogs","JSON","stringify","getLogsStats","stats","info"],"sourceRoot":"../../../src","sources":["controllers/LogController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { Event, EventName, WalletImpressionItem, WcWallet } from '@reown/appkit-common-react-native';
|
|
2
3
|
export interface EventsControllerState {
|
|
3
4
|
timestamp: number;
|
|
4
5
|
data: Event;
|
|
6
|
+
pendingWalletImpressions: WalletImpressionItem[];
|
|
7
|
+
pendingImpressionTimeout?: NodeJS.Timeout;
|
|
5
8
|
}
|
|
6
9
|
export declare const EventsController: {
|
|
7
10
|
state: EventsControllerState;
|
|
8
11
|
subscribe(callback: (newState: EventsControllerState) => void): () => void;
|
|
9
12
|
subscribeEvent(event: EventName, callback: (newEvent: EventsControllerState) => void): () => void;
|
|
13
|
+
trackWalletImpression(props: {
|
|
14
|
+
wallet: WcWallet;
|
|
15
|
+
view: 'Connect' | 'AllWallets';
|
|
16
|
+
displayIndex: number;
|
|
17
|
+
query?: string;
|
|
18
|
+
installed?: boolean;
|
|
19
|
+
}): void;
|
|
20
|
+
sendWalletImpressions(): void;
|
|
10
21
|
_sendAnalyticsEvent(data: EventsControllerState['data'], timestamp: number): Promise<void>;
|
|
11
22
|
sendEvent(data: EventsControllerState['data']): Promise<void>;
|
|
23
|
+
resetState(): void;
|
|
12
24
|
};
|
|
13
25
|
//# sourceMappingURL=EventsController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsController.d.ts","sourceRoot":"","sources":["../../../src/controllers/EventsController.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"EventsController.d.ts","sourceRoot":"","sources":["../../../src/controllers/EventsController.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,QAAQ,EACT,MAAM,mCAAmC,CAAC;AAS3C,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IACZ,wBAAwB,EAAE,oBAAoB,EAAE,CAAC;IACjD,wBAAwB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CAC3C;AAcD,eAAO,MAAM,gBAAgB;;mCAGI,qBAAqB,KAAK,IAAI;0BAIvC,SAAS,uBAAuB,qBAAqB,KAAK,IAAI;iCAQvD;QAC3B,MAAM,EAAE,QAAQ,CAAC;QACjB,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;;8BAyC+B,qBAAqB,CAAC,MAAM,CAAC,aAAa,MAAM;oBAsB1D,qBAAqB,CAAC,MAAM,CAAC;;CAuBpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LogController.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAmDD,eAAO,MAAM,aAAa;;IAGxB;;OAEG;;
|
|
1
|
+
{"version":3,"file":"LogController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LogController.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAmDD,eAAO,MAAM,aAAa;;IAGxB;;OAEG;;IAMH;;OAEG;mBAEM,QAAQ,WACN,MAAM,aACJ,MAAM,iBACF,MAAM,SACd,OAAO,MAAM,EAAE,OAAO,CAAC;IAyBhC;;OAEG;qBAEM,KAAK,GAAG,MAAM,GAAG,OAAO,aACpB,MAAM,iBACF,MAAM,mBACJ,OAAO,MAAM,EAAE,OAAO,CAAC;IAuC1C;;OAEG;sBAEQ,MAAM,aACJ,MAAM,iBACF,MAAM,SACd,OAAO,MAAM,EAAE,OAAO,CAAC;IAKhC;;OAEG;sBAEQ,MAAM,aACJ,MAAM,iBACF,MAAM,SACd,OAAO,MAAM,EAAE,OAAO,CAAC;IAKhC;;OAEG;uBAEQ,MAAM,aACJ,MAAM,iBACF,MAAM,SACd,OAAO,MAAM,EAAE,OAAO,CAAC;IAKhC;;OAEG;eACQ,QAAQ,EAAE;IAIrB;;OAEG;0BACmB,QAAQ,GAAG,QAAQ,EAAE;IAI3C;;OAEG;0BACkB,MAAM,GAAS,QAAQ,EAAE;IAI9C;;OAEG;;IAKH;;OAEG;kBACW,MAAM;IAIpB;;OAEG;oBACa,OAAO,QAAQ,EAAE,MAAM,CAAC;CAczC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-core-react-native",
|
|
3
|
-
"version": "0.0.0-feat-multichain-
|
|
3
|
+
"version": "0.0.0-feat-multichain-20251006182725",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"types": "lib/typescript/index.d.ts",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"provenance": true
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@reown/appkit-common-react-native": "0.0.0-feat-multichain-
|
|
43
|
+
"@reown/appkit-common-react-native": "0.0.0-feat-multichain-20251006182725",
|
|
44
44
|
"countries-and-timezones": "3.7.2",
|
|
45
45
|
"derive-valtio": "0.2.0",
|
|
46
46
|
"valtio": "2.1.8"
|
|
@@ -3,17 +3,25 @@ import { ApiController } from './ApiController';
|
|
|
3
3
|
import { OptionsController } from './OptionsController';
|
|
4
4
|
import { CoreHelperUtil } from '../utils/CoreHelperUtil';
|
|
5
5
|
import { FetchUtil } from '../utils/FetchUtil';
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
Event,
|
|
8
|
+
EventName,
|
|
9
|
+
WalletImpressionItem,
|
|
10
|
+
WcWallet
|
|
11
|
+
} from '@reown/appkit-common-react-native';
|
|
7
12
|
|
|
8
13
|
// -- Helpers ------------------------------------------- //
|
|
9
14
|
const baseUrl = CoreHelperUtil.getAnalyticsUrl();
|
|
10
15
|
const api = new FetchUtil({ baseUrl });
|
|
11
16
|
const excluded = ['MODAL_CREATED'];
|
|
17
|
+
const IMPRESSION_TIMEOUT = 3000;
|
|
12
18
|
|
|
13
19
|
// -- Types --------------------------------------------- //
|
|
14
20
|
export interface EventsControllerState {
|
|
15
21
|
timestamp: number;
|
|
16
22
|
data: Event;
|
|
23
|
+
pendingWalletImpressions: WalletImpressionItem[];
|
|
24
|
+
pendingImpressionTimeout?: NodeJS.Timeout;
|
|
17
25
|
}
|
|
18
26
|
|
|
19
27
|
// -- State --------------------------------------------- //
|
|
@@ -22,7 +30,9 @@ const state = proxy<EventsControllerState>({
|
|
|
22
30
|
data: {
|
|
23
31
|
type: 'track',
|
|
24
32
|
event: 'MODAL_CREATED' // just for init purposes
|
|
25
|
-
}
|
|
33
|
+
},
|
|
34
|
+
pendingWalletImpressions: [],
|
|
35
|
+
pendingImpressionTimeout: undefined
|
|
26
36
|
});
|
|
27
37
|
|
|
28
38
|
// -- Controller ---------------------------------------- //
|
|
@@ -41,6 +51,53 @@ export const EventsController = {
|
|
|
41
51
|
});
|
|
42
52
|
},
|
|
43
53
|
|
|
54
|
+
trackWalletImpression(props: {
|
|
55
|
+
wallet: WcWallet;
|
|
56
|
+
view: 'Connect' | 'AllWallets';
|
|
57
|
+
displayIndex: number;
|
|
58
|
+
query?: string;
|
|
59
|
+
installed?: boolean;
|
|
60
|
+
}) {
|
|
61
|
+
state.pendingWalletImpressions.push({
|
|
62
|
+
name: props.wallet.name ?? 'Unknown',
|
|
63
|
+
walletRank: props.wallet.order,
|
|
64
|
+
explorerId: props.wallet.id,
|
|
65
|
+
certified: props.wallet.badge_type === 'certified',
|
|
66
|
+
displayIndex: props.displayIndex,
|
|
67
|
+
view: props.view,
|
|
68
|
+
query: props.query,
|
|
69
|
+
installed: props.installed
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
if (state.pendingImpressionTimeout) {
|
|
73
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
state.pendingImpressionTimeout = setTimeout(() => {
|
|
77
|
+
EventsController.sendWalletImpressions();
|
|
78
|
+
}, IMPRESSION_TIMEOUT);
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
sendWalletImpressions() {
|
|
82
|
+
if (state.pendingImpressionTimeout) {
|
|
83
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
84
|
+
state.pendingImpressionTimeout = undefined;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const impressions = state.pendingWalletImpressions;
|
|
88
|
+
|
|
89
|
+
if (impressions.length === 0) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
state.pendingWalletImpressions = [];
|
|
94
|
+
EventsController.sendEvent({
|
|
95
|
+
type: 'track',
|
|
96
|
+
event: 'WALLET_IMPRESSION',
|
|
97
|
+
items: impressions
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
|
|
44
101
|
async _sendAnalyticsEvent(data: EventsControllerState['data'], timestamp: number) {
|
|
45
102
|
if (excluded.includes(data.event)) {
|
|
46
103
|
return;
|
|
@@ -72,5 +129,18 @@ export const EventsController = {
|
|
|
72
129
|
if (OptionsController.state.enableAnalytics) {
|
|
73
130
|
EventsController._sendAnalyticsEvent(data, timestamp);
|
|
74
131
|
}
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
resetState() {
|
|
135
|
+
if (state.pendingImpressionTimeout) {
|
|
136
|
+
clearTimeout(state.pendingImpressionTimeout);
|
|
137
|
+
state.pendingImpressionTimeout = undefined;
|
|
138
|
+
}
|
|
139
|
+
state.pendingWalletImpressions = [];
|
|
140
|
+
state.data = {
|
|
141
|
+
type: 'track',
|
|
142
|
+
event: 'MODAL_CREATED'
|
|
143
|
+
};
|
|
144
|
+
state.timestamp = Date.now();
|
|
75
145
|
}
|
|
76
146
|
};
|
|
@@ -72,13 +72,6 @@ const logToConsole = (entry: LogEntry) => {
|
|
|
72
72
|
export const LogController = {
|
|
73
73
|
state,
|
|
74
74
|
|
|
75
|
-
/**
|
|
76
|
-
* Initialize the LogController
|
|
77
|
-
*/
|
|
78
|
-
initialize() {
|
|
79
|
-
// Initialize the LogController
|
|
80
|
-
},
|
|
81
|
-
|
|
82
75
|
/**
|
|
83
76
|
* Destroy the LogController (cleanup resources)
|
|
84
77
|
*/
|
|
@@ -100,7 +93,6 @@ export const LogController = {
|
|
|
100
93
|
if (!OptionsController.state.debug) {
|
|
101
94
|
return;
|
|
102
95
|
}
|
|
103
|
-
|
|
104
96
|
const entry: LogEntry = {
|
|
105
97
|
id: generateLogId(),
|
|
106
98
|
timestamp: Date.now(),
|