@formo/analytics-react-native 0.1.4 → 0.1.6
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/FormoAnalytics.js +91 -16
- package/lib/commonjs/FormoAnalytics.js.map +1 -1
- package/lib/commonjs/constants/storage.js +4 -1
- package/lib/commonjs/constants/storage.js.map +1 -1
- package/lib/commonjs/lib/event/EventFactory.js +6 -13
- package/lib/commonjs/lib/event/EventFactory.js.map +1 -1
- package/lib/commonjs/lib/installReferrer/index.js +227 -0
- package/lib/commonjs/lib/installReferrer/index.js.map +1 -0
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js +1 -6
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js.map +1 -1
- package/lib/commonjs/solana/address.js +110 -0
- package/lib/commonjs/solana/address.js.map +1 -0
- package/lib/commonjs/solana/index.js +28 -0
- package/lib/commonjs/solana/index.js.map +1 -0
- package/lib/commonjs/solana/types.js +47 -0
- package/lib/commonjs/solana/types.js.map +1 -0
- package/lib/commonjs/types/events.js.map +1 -1
- package/lib/commonjs/utils/address.js +60 -6
- package/lib/commonjs/utils/address.js.map +1 -1
- package/lib/commonjs/utils/trafficSource.js +61 -0
- package/lib/commonjs/utils/trafficSource.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/FormoAnalytics.js +93 -18
- package/lib/module/FormoAnalytics.js.map +1 -1
- package/lib/module/constants/storage.js +3 -0
- package/lib/module/constants/storage.js.map +1 -1
- package/lib/module/lib/event/EventFactory.js +7 -14
- package/lib/module/lib/event/EventFactory.js.map +1 -1
- package/lib/module/lib/installReferrer/index.js +221 -0
- package/lib/module/lib/installReferrer/index.js.map +1 -0
- package/lib/module/lib/wagmi/WagmiEventHandler.js +1 -6
- package/lib/module/lib/wagmi/WagmiEventHandler.js.map +1 -1
- package/lib/module/solana/address.js +100 -0
- package/lib/module/solana/address.js.map +1 -0
- package/lib/module/solana/index.js +3 -0
- package/lib/module/solana/index.js.map +1 -0
- package/lib/module/solana/types.js +40 -0
- package/lib/module/solana/types.js.map +1 -0
- package/lib/module/types/events.js.map +1 -1
- package/lib/module/utils/address.js +58 -6
- package/lib/module/utils/address.js.map +1 -1
- package/lib/module/utils/trafficSource.js +59 -0
- package/lib/module/utils/trafficSource.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/FormoAnalytics.d.ts +23 -4
- package/lib/typescript/FormoAnalytics.d.ts.map +1 -1
- package/lib/typescript/constants/storage.d.ts +1 -0
- package/lib/typescript/constants/storage.d.ts.map +1 -1
- package/lib/typescript/lib/event/EventFactory.d.ts +1 -1
- package/lib/typescript/lib/event/EventFactory.d.ts.map +1 -1
- package/lib/typescript/lib/event/types.d.ts +1 -1
- package/lib/typescript/lib/event/types.d.ts.map +1 -1
- package/lib/typescript/lib/installReferrer/index.d.ts +36 -0
- package/lib/typescript/lib/installReferrer/index.d.ts.map +1 -0
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts +0 -1
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts.map +1 -1
- package/lib/typescript/solana/address.d.ts +42 -0
- package/lib/typescript/solana/address.d.ts.map +1 -0
- package/lib/typescript/solana/index.d.ts +3 -0
- package/lib/typescript/solana/index.d.ts.map +1 -0
- package/lib/typescript/solana/types.d.ts +34 -0
- package/lib/typescript/solana/types.d.ts.map +1 -0
- package/lib/typescript/types/base.d.ts +38 -1
- package/lib/typescript/types/base.d.ts.map +1 -1
- package/lib/typescript/types/events.d.ts +0 -1
- package/lib/typescript/types/events.d.ts.map +1 -1
- package/lib/typescript/utils/address.d.ts +24 -4
- package/lib/typescript/utils/address.d.ts.map +1 -1
- package/lib/typescript/utils/trafficSource.d.ts +16 -0
- package/lib/typescript/utils/trafficSource.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/FormoAnalytics.ts +112 -16
- package/src/constants/storage.ts +3 -0
- package/src/lib/event/EventFactory.ts +7 -15
- package/src/lib/event/types.ts +0 -1
- package/src/lib/installReferrer/index.ts +262 -0
- package/src/lib/wagmi/WagmiEventHandler.ts +0 -4
- package/src/solana/address.ts +122 -0
- package/src/solana/index.ts +2 -0
- package/src/solana/types.ts +46 -0
- package/src/types/base.ts +40 -1
- package/src/types/events.ts +0 -1
- package/src/utils/address.ts +72 -6
- package/src/utils/trafficSource.ts +73 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install Referrer / attribution capture
|
|
3
|
+
*
|
|
4
|
+
* Populates the existing traffic source fields (utm_source, utm_medium,
|
|
5
|
+
* utm_campaign, utm_term, utm_content, ref, referrer) from platform install
|
|
6
|
+
* attribution APIs on first launch:
|
|
7
|
+
*
|
|
8
|
+
* - Android: Google Play Install Referrer API via react-native-play-install-referrer
|
|
9
|
+
* (optional peer dep). Returns a URL-encoded query string like
|
|
10
|
+
* "utm_source=google&utm_campaign=spring_sale&..." which we parse with
|
|
11
|
+
* parseTrafficSource.
|
|
12
|
+
*
|
|
13
|
+
* - iOS: AdServices attribution via react-native-ad-services-attribution
|
|
14
|
+
* (optional peer dep). Returns an attribution token which we exchange with
|
|
15
|
+
* Apple's AdServices endpoint; the response is mapped onto utm_* fields.
|
|
16
|
+
*
|
|
17
|
+
* Both native modules are lazy-required and the capture silently no-ops when
|
|
18
|
+
* they are not installed (keeps Expo Go and minimal integrations working).
|
|
19
|
+
*
|
|
20
|
+
* Result is merged with mergeTrafficSourceFill so a deep link that arrived
|
|
21
|
+
* via Linking.getInitialURL() takes precedence over install-referrer data.
|
|
22
|
+
*
|
|
23
|
+
* The resolution is one-shot: on success we set LOCAL_INSTALL_REFERRER_RESOLVED_KEY
|
|
24
|
+
* so we never call the native API again (Play returns meaningful data only on
|
|
25
|
+
* the first fetch; Apple only within ~24h of install).
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
import { Platform } from "react-native";
|
|
29
|
+
import { logger } from "../logger";
|
|
30
|
+
import { storage, getStorageManager } from "../storage";
|
|
31
|
+
import { LOCAL_INSTALL_REFERRER_RESOLVED_KEY } from "../../constants/storage";
|
|
32
|
+
import { parseTrafficSource, mergeTrafficSourceFill } from "../../utils/trafficSource";
|
|
33
|
+
// Lazy-load optional native modules. Absence is fine — attribution is best-effort.
|
|
34
|
+
let PlayInstallReferrer = null;
|
|
35
|
+
try {
|
|
36
|
+
PlayInstallReferrer = require("react-native-play-install-referrer").PlayInstallReferrer;
|
|
37
|
+
} catch {
|
|
38
|
+
// Not installed — Android install referrer capture will no-op.
|
|
39
|
+
}
|
|
40
|
+
let AdServicesAttribution = null;
|
|
41
|
+
try {
|
|
42
|
+
const mod = require("react-native-ad-services-attribution");
|
|
43
|
+
AdServicesAttribution = mod.default ?? mod;
|
|
44
|
+
} catch {
|
|
45
|
+
// Not installed — iOS AdServices capture will no-op.
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Capture install-time attribution and merge into the stored traffic source.
|
|
49
|
+
* One-shot: returns immediately if already resolved on a previous launch.
|
|
50
|
+
*/
|
|
51
|
+
export async function captureInstallReferrer(options = {}) {
|
|
52
|
+
try {
|
|
53
|
+
// The one-shot flag is only useful if it can persist across launches.
|
|
54
|
+
// Without AsyncStorage (MemoryStorage fallback) the flag is lost every
|
|
55
|
+
// restart, so we'd re-hit the native API every cold start. Mirror the
|
|
56
|
+
// lifecycle manager's guard and skip capture entirely in that case.
|
|
57
|
+
const hasPersistentStorage = getStorageManager()?.hasPersistentStorage() ?? false;
|
|
58
|
+
if (!hasPersistentStorage) {
|
|
59
|
+
logger.debug("InstallReferrer: persistent storage unavailable, skipping capture");
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const resolved = storage().get(LOCAL_INSTALL_REFERRER_RESOLVED_KEY);
|
|
63
|
+
if (resolved === "true") {
|
|
64
|
+
logger.debug("InstallReferrer: already resolved, skipping");
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
let didResolve = false;
|
|
68
|
+
if (Platform.OS === "android") {
|
|
69
|
+
didResolve = await captureAndroidReferrer(options);
|
|
70
|
+
} else if (Platform.OS === "ios") {
|
|
71
|
+
didResolve = await captureIOSAttribution();
|
|
72
|
+
} else {
|
|
73
|
+
logger.debug(`InstallReferrer: unsupported platform ${Platform.OS}, skipping`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (didResolve) {
|
|
77
|
+
await storage().setAsync(LOCAL_INSTALL_REFERRER_RESOLVED_KEY, "true");
|
|
78
|
+
}
|
|
79
|
+
} catch (error) {
|
|
80
|
+
// Never let attribution failures break SDK init.
|
|
81
|
+
logger.debug("InstallReferrer: capture failed", error);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Android: call Play Install Referrer API once, parse the returned UTM query
|
|
87
|
+
* string, fill in any empty traffic-source fields.
|
|
88
|
+
*/
|
|
89
|
+
async function captureAndroidReferrer(options) {
|
|
90
|
+
if (!PlayInstallReferrer) {
|
|
91
|
+
logger.debug("InstallReferrer: react-native-play-install-referrer not installed, skipping Android capture");
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Distinguish "native API errored" (retry next launch) from "native API
|
|
96
|
+
// succeeded but no referrer data" (organic install — mark resolved so we
|
|
97
|
+
// don't re-call every launch).
|
|
98
|
+
const result = await new Promise(resolve => {
|
|
99
|
+
try {
|
|
100
|
+
PlayInstallReferrer.getInstallReferrerInfo((info, error) => {
|
|
101
|
+
if (error) {
|
|
102
|
+
logger.debug("InstallReferrer: Play API error", error);
|
|
103
|
+
resolve({
|
|
104
|
+
ok: false,
|
|
105
|
+
info: null
|
|
106
|
+
});
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
resolve({
|
|
110
|
+
ok: true,
|
|
111
|
+
info: info ?? null
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
} catch (e) {
|
|
115
|
+
logger.debug("InstallReferrer: Play API threw", e);
|
|
116
|
+
resolve({
|
|
117
|
+
ok: false,
|
|
118
|
+
info: null
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
if (!result.ok) return false; // errored — retry next launch
|
|
123
|
+
|
|
124
|
+
const referrerQuery = result.info?.installReferrer;
|
|
125
|
+
if (!referrerQuery) {
|
|
126
|
+
// Organic install (or untracked). API answered definitively — mark
|
|
127
|
+
// resolved so we don't ask Play again on every launch.
|
|
128
|
+
logger.debug("InstallReferrer: no Play referrer (organic install)");
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// The referrer string is already URL-encoded UTM params, e.g.
|
|
133
|
+
// "utm_source=google&utm_medium=cpc&utm_campaign=spring&utm_term=kw&utm_content=ad1"
|
|
134
|
+
// Wrap in a dummy URL so parseTrafficSource can read it.
|
|
135
|
+
const parsed = parseTrafficSource(`https://play.google.com/store/apps?${referrerQuery}`, options.customRefParams, options.pathPattern);
|
|
136
|
+
|
|
137
|
+
// Don't let the dummy play.google.com URL overwrite a real referrer — clear
|
|
138
|
+
// referrer if it's the synthetic one and no deep link was present.
|
|
139
|
+
const toMerge = {
|
|
140
|
+
...parsed
|
|
141
|
+
};
|
|
142
|
+
if (toMerge.referrer && toMerge.referrer.startsWith("https://play.google.com/store/apps?")) {
|
|
143
|
+
// Preserve the raw referrer query as-is, useful for debugging campaigns
|
|
144
|
+
// that use non-UTM keys.
|
|
145
|
+
toMerge.referrer = referrerQuery;
|
|
146
|
+
}
|
|
147
|
+
mergeTrafficSourceFill(toMerge);
|
|
148
|
+
logger.info("InstallReferrer: captured Android install referrer");
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* iOS: fetch AdServices attribution token and exchange it with Apple for
|
|
154
|
+
* campaign metadata. Map campaignId/adGroupId/keywordId onto utm_* fields.
|
|
155
|
+
* Falls back to no-op if the native module isn't present.
|
|
156
|
+
*/
|
|
157
|
+
async function captureIOSAttribution() {
|
|
158
|
+
if (!AdServicesAttribution) {
|
|
159
|
+
logger.debug("InstallReferrer: react-native-ad-services-attribution not installed, skipping iOS capture");
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
let token;
|
|
163
|
+
try {
|
|
164
|
+
token = await AdServicesAttribution.getAttributionToken();
|
|
165
|
+
} catch (e) {
|
|
166
|
+
logger.debug("InstallReferrer: failed to get AdServices token", e);
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
if (!token) return false;
|
|
170
|
+
let data = null;
|
|
171
|
+
// Guard against poor-network hangs — this runs fire-and-forget during init.
|
|
172
|
+
const controller = new AbortController();
|
|
173
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000);
|
|
174
|
+
try {
|
|
175
|
+
const response = await fetch("https://api-adservices.apple.com/api/v1/", {
|
|
176
|
+
method: "POST",
|
|
177
|
+
headers: {
|
|
178
|
+
"Content-Type": "text/plain"
|
|
179
|
+
},
|
|
180
|
+
body: token,
|
|
181
|
+
signal: controller.signal
|
|
182
|
+
});
|
|
183
|
+
if (!response.ok) {
|
|
184
|
+
// 4xx are permanent (400 = bad/consumed token, 404 = past Apple's ~24h
|
|
185
|
+
// attribution window). Mark resolved so we stop retrying. 5xx and
|
|
186
|
+
// other transient failures return false so we re-attempt next launch.
|
|
187
|
+
const permanent = response.status >= 400 && response.status < 500;
|
|
188
|
+
logger.debug(`InstallReferrer: AdServices returned ${response.status}, ${permanent ? "permanent — marking resolved" : "transient — will retry"}`);
|
|
189
|
+
return permanent;
|
|
190
|
+
}
|
|
191
|
+
data = await response.json();
|
|
192
|
+
} catch (e) {
|
|
193
|
+
// Network / abort / parse errors — treat as transient.
|
|
194
|
+
logger.debug("InstallReferrer: AdServices exchange failed", e);
|
|
195
|
+
return false;
|
|
196
|
+
} finally {
|
|
197
|
+
clearTimeout(timeoutId);
|
|
198
|
+
}
|
|
199
|
+
if (!data || data.attribution === false) {
|
|
200
|
+
// Organic install
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
const toStr = v => v === undefined || v === null ? undefined : String(v);
|
|
204
|
+
const attributed = {
|
|
205
|
+
utm_source: "apple_search_ads",
|
|
206
|
+
utm_medium: "cpc",
|
|
207
|
+
...(toStr(data.campaignId) && {
|
|
208
|
+
utm_campaign: toStr(data.campaignId)
|
|
209
|
+
}),
|
|
210
|
+
...(toStr(data.adGroupId) && {
|
|
211
|
+
utm_content: toStr(data.adGroupId)
|
|
212
|
+
}),
|
|
213
|
+
...(toStr(data.keywordId) && {
|
|
214
|
+
utm_term: toStr(data.keywordId)
|
|
215
|
+
})
|
|
216
|
+
};
|
|
217
|
+
mergeTrafficSourceFill(attributed);
|
|
218
|
+
logger.info("InstallReferrer: captured iOS AdServices attribution");
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","logger","storage","getStorageManager","LOCAL_INSTALL_REFERRER_RESOLVED_KEY","parseTrafficSource","mergeTrafficSourceFill","PlayInstallReferrer","require","AdServicesAttribution","mod","default","captureInstallReferrer","options","hasPersistentStorage","debug","resolved","get","didResolve","OS","captureAndroidReferrer","captureIOSAttribution","setAsync","error","result","Promise","resolve","getInstallReferrerInfo","info","ok","e","referrerQuery","installReferrer","parsed","customRefParams","pathPattern","toMerge","referrer","startsWith","token","getAttributionToken","data","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","body","signal","permanent","status","json","clearTimeout","attribution","toStr","v","undefined","String","attributed","utm_source","utm_medium","campaignId","utm_campaign","adGroupId","utm_content","keywordId","utm_term"],"sourceRoot":"../../../../src","sources":["lib/installReferrer/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -257,12 +257,10 @@ export class WagmiEventHandler {
|
|
|
257
257
|
}
|
|
258
258
|
try {
|
|
259
259
|
let status;
|
|
260
|
-
let signatureHash;
|
|
261
260
|
if (state.status === "pending") {
|
|
262
261
|
status = SignatureStatus.REQUESTED;
|
|
263
262
|
} else if (state.status === "success") {
|
|
264
263
|
status = SignatureStatus.CONFIRMED;
|
|
265
|
-
signatureHash = state.data;
|
|
266
264
|
} else if (state.status === "error") {
|
|
267
265
|
status = SignatureStatus.REJECTED;
|
|
268
266
|
} else {
|
|
@@ -284,10 +282,7 @@ export class WagmiEventHandler {
|
|
|
284
282
|
status,
|
|
285
283
|
chainId,
|
|
286
284
|
address,
|
|
287
|
-
message
|
|
288
|
-
...(signatureHash && {
|
|
289
|
-
signatureHash
|
|
290
|
-
})
|
|
285
|
+
message
|
|
291
286
|
}).catch(error => {
|
|
292
287
|
logger.error("WagmiEventHandler: Error tracking signature:", error);
|
|
293
288
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SignatureStatus","TransactionStatus","logger","WagmiEventHandler","unsubscribers","trackingState","isProcessing","processedMutations","Set","pendingStatusChanges","constructor","formoAnalytics","wagmiConfig","queryClient","formo","info","setupConnectionListeners","setupMutationTracking","warn","statusUnsubscribe","subscribe","state","status","prevStatus","handleStatusChange","push","chainIdUnsubscribe","chainId","prevChainId","handleChainChange","MAX_PENDING_STATUS_CHANGES","length","shift","debug","processStatusChange","pending","getState","address","getConnectedAddress","isAutocaptureEnabled","disconnect","lastChainId","lastAddress","undefined","connectorName","getConnectorName","connectorId","getConnectorId","connect","providerName","rdns","lastStatus","error","chain","mutationCache","getMutationCache","unsubscribe","event","handleMutationEvent","type","mutation","mutationKey","options","mutationType","mutationStateKey","mutationId","has","add","handleSignatureMutation","handleTransactionMutation","size","entries","Array","from","i","entry","delete","variables","signatureHash","REQUESTED","CONFIRMED","data","REJECTED","message","JSON","stringify","types","signature","catch","account","transactionHash","STARTED","BROADCASTED","to","value","toString","transaction","connections","Map","current","connection","get","accounts","connector","name","id","cleanup","clear"],"sourceRoot":"../../../../src","sources":["lib/wagmi/WagmiEventHandler.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["SignatureStatus","TransactionStatus","logger","WagmiEventHandler","unsubscribers","trackingState","isProcessing","processedMutations","Set","pendingStatusChanges","constructor","formoAnalytics","wagmiConfig","queryClient","formo","info","setupConnectionListeners","setupMutationTracking","warn","statusUnsubscribe","subscribe","state","status","prevStatus","handleStatusChange","push","chainIdUnsubscribe","chainId","prevChainId","handleChainChange","MAX_PENDING_STATUS_CHANGES","length","shift","debug","processStatusChange","pending","getState","address","getConnectedAddress","isAutocaptureEnabled","disconnect","lastChainId","lastAddress","undefined","connectorName","getConnectorName","connectorId","getConnectorId","connect","providerName","rdns","lastStatus","error","chain","mutationCache","getMutationCache","unsubscribe","event","handleMutationEvent","type","mutation","mutationKey","options","mutationType","mutationStateKey","mutationId","has","add","handleSignatureMutation","handleTransactionMutation","size","entries","Array","from","i","entry","delete","variables","REQUESTED","CONFIRMED","REJECTED","message","JSON","stringify","types","signature","catch","account","transactionHash","STARTED","BROADCASTED","data","to","value","toString","transaction","connections","Map","current","connection","get","accounts","connector","name","id","cleanup","clear"],"sourceRoot":"../../../../src","sources":["lib/wagmi/WagmiEventHandler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solana address validation utilities
|
|
3
|
+
*
|
|
4
|
+
* Solana uses Base58 encoded 32-byte public keys as addresses.
|
|
5
|
+
* Format: FDKJvWcJNe6wecbgDYDFPCfgs14aJnVsUfWQRYWLn4Tn (32-44 characters)
|
|
6
|
+
*
|
|
7
|
+
* @see https://solana.com/developers/courses/intro-to-solana/interact-with-wallets
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Base58 alphabet used by Solana (Bitcoin alphabet)
|
|
12
|
+
*/
|
|
13
|
+
const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
|
14
|
+
const BASE58_CHAR_SET = new Set(BASE58_ALPHABET);
|
|
15
|
+
const MIN_SOLANA_ADDRESS_LENGTH = 32;
|
|
16
|
+
const MAX_SOLANA_ADDRESS_LENGTH = 44;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* System program addresses and other special Solana addresses
|
|
20
|
+
* These are valid addresses but may not represent user wallets
|
|
21
|
+
*/
|
|
22
|
+
export const SOLANA_SYSTEM_ADDRESSES = {
|
|
23
|
+
SYSTEM_PROGRAM: "11111111111111111111111111111111",
|
|
24
|
+
TOKEN_PROGRAM: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
|
|
25
|
+
TOKEN_2022_PROGRAM: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
|
|
26
|
+
ASSOCIATED_TOKEN_PROGRAM: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
|
|
27
|
+
RENT_SYSVAR: "SysvarRent111111111111111111111111111111111",
|
|
28
|
+
CLOCK_SYSVAR: "SysvarC1ock11111111111111111111111111111111"
|
|
29
|
+
};
|
|
30
|
+
function isValidBase58String(str) {
|
|
31
|
+
for (const ch of str) {
|
|
32
|
+
if (!BASE58_CHAR_SET.has(ch)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Check if a string is a valid Solana address format
|
|
41
|
+
*
|
|
42
|
+
* Performs format validation only (length and character set). Does not
|
|
43
|
+
* verify that the address is a valid point on the Ed25519 curve.
|
|
44
|
+
*/
|
|
45
|
+
export function isSolanaAddress(value) {
|
|
46
|
+
if (typeof value !== "string") {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const trimmed = value.trim();
|
|
50
|
+
if (trimmed.length < MIN_SOLANA_ADDRESS_LENGTH || trimmed.length > MAX_SOLANA_ADDRESS_LENGTH) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
return isValidBase58String(trimmed);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Get a valid Solana address from a string or PublicKey
|
|
58
|
+
*/
|
|
59
|
+
export function getValidSolanaAddress(address) {
|
|
60
|
+
if (!address) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
if (typeof address === "object" && "toBase58" in address) {
|
|
64
|
+
try {
|
|
65
|
+
const base58 = address.toBase58();
|
|
66
|
+
return isSolanaAddress(base58) ? base58 : null;
|
|
67
|
+
} catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (typeof address === "string") {
|
|
72
|
+
const trimmed = address.trim();
|
|
73
|
+
return isSolanaAddress(trimmed) ? trimmed : null;
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Check if a Solana address is a system program or well-known program address
|
|
80
|
+
*/
|
|
81
|
+
export function isSolanaSystemAddress(address) {
|
|
82
|
+
const validAddress = getValidSolanaAddress(address);
|
|
83
|
+
if (!validAddress) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return Object.values(SOLANA_SYSTEM_ADDRESSES).includes(validAddress);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Check if a Solana address is blocked (should not emit events).
|
|
91
|
+
* Blocks system program addresses since they don't represent user wallets.
|
|
92
|
+
*/
|
|
93
|
+
export function isBlockedSolanaAddress(address) {
|
|
94
|
+
const validAddress = getValidSolanaAddress(address);
|
|
95
|
+
if (!validAddress) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
return isSolanaSystemAddress(validAddress);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BASE58_ALPHABET","BASE58_CHAR_SET","Set","MIN_SOLANA_ADDRESS_LENGTH","MAX_SOLANA_ADDRESS_LENGTH","SOLANA_SYSTEM_ADDRESSES","SYSTEM_PROGRAM","TOKEN_PROGRAM","TOKEN_2022_PROGRAM","ASSOCIATED_TOKEN_PROGRAM","RENT_SYSVAR","CLOCK_SYSVAR","isValidBase58String","str","ch","has","isSolanaAddress","value","trimmed","trim","length","getValidSolanaAddress","address","base58","toBase58","isSolanaSystemAddress","validAddress","Object","values","includes","isBlockedSolanaAddress"],"sourceRoot":"../../../src","sources":["solana/address.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA,MAAMA,eAAe,GACnB,4DAA4D;AAE9D,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAACF,eAAe,CAAC;AAEhD,MAAMG,yBAAyB,GAAG,EAAE;AACpC,MAAMC,yBAAyB,GAAG,EAAE;;AAEpC;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG;EACrCC,cAAc,EAAE,kCAAkC;EAClDC,aAAa,EAAE,6CAA6C;EAC5DC,kBAAkB,EAAE,6CAA6C;EACjEC,wBAAwB,EAAE,8CAA8C;EACxEC,WAAW,EAAE,6CAA6C;EAC1DC,YAAY,EAAE;AAChB,CAAU;AAEV,SAASC,mBAAmBA,CAACC,GAAW,EAAW;EACjD,KAAK,MAAMC,EAAE,IAAID,GAAG,EAAE;IACpB,IAAI,CAACZ,eAAe,CAACc,GAAG,CAACD,EAAE,CAAC,EAAE;MAC5B,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAACC,KAAc,EAAmB;EAC/D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,MAAMC,OAAO,GAAGD,KAAK,CAACE,IAAI,CAAC,CAAC;EAE5B,IACED,OAAO,CAACE,MAAM,GAAGjB,yBAAyB,IAC1Ce,OAAO,CAACE,MAAM,GAAGhB,yBAAyB,EAC1C;IACA,OAAO,KAAK;EACd;EAEA,OAAOQ,mBAAmB,CAACM,OAAO,CAAC;AACrC;;AAEA;AACA;AACA;AACA,OAAO,SAASG,qBAAqBA,CACnCC,OAAoD,EACrC;EACf,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAI,UAAU,IAAIA,OAAO,EAAE;IACxD,IAAI;MACF,MAAMC,MAAM,GAAGD,OAAO,CAACE,QAAQ,CAAC,CAAC;MACjC,OAAOR,eAAe,CAACO,MAAM,CAAC,GAAGA,MAAM,GAAG,IAAI;IAChD,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;EAEA,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAMJ,OAAO,GAAGI,OAAO,CAACH,IAAI,CAAC,CAAC;IAC9B,OAAOH,eAAe,CAACE,OAAO,CAAC,GAAGA,OAAO,GAAG,IAAI;EAClD;EAEA,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA,OAAO,SAASO,qBAAqBA,CAACH,OAAe,EAAW;EAC9D,MAAMI,YAAY,GAAGL,qBAAqB,CAACC,OAAO,CAAC;EACnD,IAAI,CAACI,YAAY,EAAE;IACjB,OAAO,KAAK;EACd;EAEA,OAAOC,MAAM,CAACC,MAAM,CAACvB,uBAAuB,CAAC,CAACwB,QAAQ,CACpDH,YACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,sBAAsBA,CACpCR,OAAoD,EAC3C;EACT,MAAMI,YAAY,GAAGL,qBAAqB,CAACC,OAAO,CAAC;EACnD,IAAI,CAACI,YAAY,EAAE;IACjB,OAAO,KAAK;EACd;EAEA,OAAOD,qBAAqB,CAACC,YAAY,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["solana/index.ts"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solana-specific type definitions
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Solana cluster/network types
|
|
7
|
+
* Solana doesn't use chainId like EVM, instead it uses cluster names
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Mapping of Solana clusters to numeric chain IDs for consistency with EVM events
|
|
12
|
+
* These IDs are non-standard but provide a way to identify Solana networks in our analytics
|
|
13
|
+
*
|
|
14
|
+
* Using high numbers (900000+) to avoid collision with EVM chain IDs
|
|
15
|
+
*/
|
|
16
|
+
export const SOLANA_CHAIN_IDS = {
|
|
17
|
+
"mainnet-beta": 900001,
|
|
18
|
+
testnet: 900002,
|
|
19
|
+
devnet: 900003,
|
|
20
|
+
localnet: 900004
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Default Solana chain ID (mainnet-beta)
|
|
25
|
+
*/
|
|
26
|
+
export const DEFAULT_SOLANA_CHAIN_ID = SOLANA_CHAIN_IDS["mainnet-beta"];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Check if a chain ID belongs to a Solana network.
|
|
30
|
+
*/
|
|
31
|
+
export function isSolanaChainId(chainId) {
|
|
32
|
+
if (chainId === undefined || chainId === null) return false;
|
|
33
|
+
return Object.values(SOLANA_CHAIN_IDS).includes(chainId);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Solana PublicKey interface
|
|
38
|
+
* Used by address validation utilities.
|
|
39
|
+
*/
|
|
40
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SOLANA_CHAIN_IDS","testnet","devnet","localnet","DEFAULT_SOLANA_CHAIN_ID","isSolanaChainId","chainId","undefined","Object","values","includes"],"sourceRoot":"../../../src","sources":["solana/types.ts"],"mappings":"AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,gBAA+C,GAAG;EAC7D,cAAc,EAAE,MAAM;EACtBC,OAAO,EAAE,MAAM;EACfC,MAAM,EAAE,MAAM;EACdC,QAAQ,EAAE;AACZ,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAGJ,gBAAgB,CAAC,cAAc,CAAC;;AAEvE;AACA;AACA;AACA,OAAO,SAASK,eAAeA,CAACC,OAAkC,EAAW;EAC3E,IAAIA,OAAO,KAAKC,SAAS,IAAID,OAAO,KAAK,IAAI,EAAE,OAAO,KAAK;EAC3D,OAAOE,MAAM,CAACC,MAAM,CAACT,gBAAgB,CAAC,CAACU,QAAQ,CAACJ,OAAO,CAAC;AAC1D;;AAEA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SignatureStatus","TransactionStatus"],"sourceRoot":"../../../src","sources":["types/events.ts"],"mappings":"AAyCA;;
|
|
1
|
+
{"version":3,"names":["SignatureStatus","TransactionStatus"],"sourceRoot":"../../../src","sources":["types/events.ts"],"mappings":"AAyCA;;AAqFA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Address validation and checksum utilities
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Supports both EVM and Solana addresses.
|
|
5
|
+
*
|
|
6
|
+
* Uses ethereum-cryptography for proper EIP-55 checksum computation.
|
|
5
7
|
*/
|
|
6
8
|
|
|
7
9
|
import { keccak256 } from "ethereum-cryptography/keccak.js";
|
|
8
10
|
import { utf8ToBytes } from "ethereum-cryptography/utils.js";
|
|
11
|
+
import { isSolanaAddress, getValidSolanaAddress, isBlockedSolanaAddress } from "../solana/address";
|
|
12
|
+
import { isSolanaChainId } from "../solana/types";
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
15
|
* Convert Uint8Array to hex string
|
|
@@ -15,7 +19,7 @@ function toHex(bytes) {
|
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
/**
|
|
18
|
-
* Check if a string is a valid Ethereum address
|
|
22
|
+
* Check if a string is a valid Ethereum (EVM) address
|
|
19
23
|
*/
|
|
20
24
|
export function isValidAddress(address) {
|
|
21
25
|
if (!address) return false;
|
|
@@ -50,7 +54,7 @@ export function toChecksumAddress(address) {
|
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
/**
|
|
53
|
-
* Get valid address or null
|
|
57
|
+
* Get a valid (trimmed) EVM address, or null if invalid.
|
|
54
58
|
*/
|
|
55
59
|
export function getValidAddress(address) {
|
|
56
60
|
if (!address) return null;
|
|
@@ -60,15 +64,63 @@ export function getValidAddress(address) {
|
|
|
60
64
|
}
|
|
61
65
|
|
|
62
66
|
/**
|
|
63
|
-
*
|
|
67
|
+
* Validates an EVM address and returns it in checksummed format.
|
|
68
|
+
*/
|
|
69
|
+
export function validateAndChecksumAddress(address) {
|
|
70
|
+
const validAddress = getValidAddress(address);
|
|
71
|
+
return validAddress ? toChecksumAddress(validAddress) : undefined;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Validates an address for both EVM and Solana chains.
|
|
76
|
+
*
|
|
77
|
+
* For EVM addresses, returns checksummed format.
|
|
78
|
+
* For Solana addresses, returns the Base58 address as-is.
|
|
79
|
+
*
|
|
80
|
+
* When chainId is explicitly provided, validation is strict:
|
|
81
|
+
* - Solana chainId → only Solana validation
|
|
82
|
+
* - Non-Solana chainId → only EVM validation
|
|
83
|
+
*
|
|
84
|
+
* When chainId is omitted, EVM is tried first with Solana fallback.
|
|
85
|
+
*/
|
|
86
|
+
export function validateAddress(address, chainId) {
|
|
87
|
+
// Explicit Solana chainId → validate ONLY as Solana
|
|
88
|
+
if (chainId !== undefined && chainId !== null && isSolanaChainId(chainId)) {
|
|
89
|
+
return getValidSolanaAddress(address) || undefined;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Explicit non-Solana chainId → validate ONLY as EVM
|
|
93
|
+
if (chainId !== undefined && chainId !== null) {
|
|
94
|
+
return validateAndChecksumAddress(address);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// No chainId → try EVM first, then Solana fallback
|
|
98
|
+
const validEvmAddress = validateAndChecksumAddress(address);
|
|
99
|
+
if (validEvmAddress) {
|
|
100
|
+
return validEvmAddress;
|
|
101
|
+
}
|
|
102
|
+
return getValidSolanaAddress(address) || undefined;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Blocked EVM addresses that should not emit events
|
|
64
107
|
* (zero address, dead address)
|
|
65
108
|
*/
|
|
66
109
|
const BLOCKED_ADDRESSES = new Set(["0x0000000000000000000000000000000000000000", "0x000000000000000000000000000000000000dead"]);
|
|
67
110
|
|
|
68
111
|
/**
|
|
69
|
-
* Check if address is in blocked list
|
|
112
|
+
* Check if an address is in a blocked list.
|
|
113
|
+
* Handles both EVM (zero/dead addresses) and Solana (system program) blocks.
|
|
70
114
|
*/
|
|
71
115
|
export function isBlockedAddress(address) {
|
|
72
|
-
|
|
116
|
+
if (!address || typeof address !== "string") return false;
|
|
117
|
+
const trimmed = address.trim();
|
|
118
|
+
if (isValidAddress(trimmed)) {
|
|
119
|
+
return BLOCKED_ADDRESSES.has(trimmed.toLowerCase());
|
|
120
|
+
}
|
|
121
|
+
if (isSolanaAddress(trimmed)) {
|
|
122
|
+
return isBlockedSolanaAddress(trimmed);
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
73
125
|
}
|
|
74
126
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["keccak256","utf8ToBytes","toHex","bytes","Array","from","map","b","toString","padStart","join","isValidAddress","address","test","toChecksumAddress","lowercaseAddress","toLowerCase","replace","hash","checksumAddress","i","length","char","parseInt","toUpperCase","getValidAddress","trimmed","trim","BLOCKED_ADDRESSES","Set","isBlockedAddress","has"],"sourceRoot":"../../../src","sources":["utils/address.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,WAAW,QAAQ,gCAAgC;;
|
|
1
|
+
{"version":3,"names":["keccak256","utf8ToBytes","isSolanaAddress","getValidSolanaAddress","isBlockedSolanaAddress","isSolanaChainId","toHex","bytes","Array","from","map","b","toString","padStart","join","isValidAddress","address","test","toChecksumAddress","lowercaseAddress","toLowerCase","replace","hash","checksumAddress","i","length","char","parseInt","toUpperCase","getValidAddress","trimmed","trim","validateAndChecksumAddress","validAddress","undefined","validateAddress","chainId","validEvmAddress","BLOCKED_ADDRESSES","Set","isBlockedAddress","has"],"sourceRoot":"../../../src","sources":["utils/address.ts"],"mappings":"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","ignoreList":[]}
|