@exodus/analytics-validation 3.1.0 → 3.2.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.
- package/CHANGELOG.md +12 -0
- package/lib/events.d.ts +73 -0
- package/lib/main.schemasafe.json +36 -0
- package/lib/wealth/stocks-buy-amount-dismissed.schemasafe.json +44 -0
- package/lib/wealth/stocks-buy-amount-ready.schemasafe.json +33 -0
- package/lib/wealth/stocks-buy-amount-view.schemasafe.json +4 -0
- package/lib/wealth/stocks-buy-blocked.schemasafe.json +38 -0
- package/lib/wealth/stocks-buy-confirm-blocked.schemasafe.json +34 -0
- package/lib/wealth/stocks-buy-confirm-dismissed.schemasafe.json +36 -0
- package/lib/wealth/stocks-buy-confirm-ready.schemasafe.json +33 -0
- package/lib/wealth/stocks-buy-confirm-view.schemasafe.json +6 -0
- package/lib/wealth/stocks-buy-deposit-tap.schemasafe.json +34 -0
- package/lib/wealth/stocks-buy-success.schemasafe.json +33 -0
- package/lib/wealth/stocks-buy.schemasafe.json +6 -0
- package/lib/wealth/stocks-sell-confirm-blocked.schemasafe.json +34 -0
- package/lib/wealth/stocks-sell-confirm-dismissed.schemasafe.json +36 -0
- package/lib/wealth/stocks-sell-confirm-ready.schemasafe.json +33 -0
- package/lib/wealth/stocks-sell-success.schemasafe.json +33 -0
- package/lib/wealth/stocks-sell.schemasafe.json +6 -0
- package/package.json +3 -3
- package/schemasafe.config.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.2.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@3.2.0...@exodus/analytics-validation@3.2.1) (2026-07-03)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **analytics-validation:** constrain stocks buy balance_usd to minimum 0 ([#17463](https://github.com/ExodusMovement/exodus-hydra/issues/17463)) ([e027a2e](https://github.com/ExodusMovement/exodus-hydra/commit/e027a2e62f50c8bc49ac1f0cb6eea97d6de93d33))
|
|
11
|
+
|
|
12
|
+
## [3.2.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@3.1.0...@exodus/analytics-validation@3.2.0) (2026-07-02)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- **analytics-validation:** add stocks buy funnel telemetry schemas ([#17453](https://github.com/ExodusMovement/exodus-hydra/issues/17453)) ([a9f9a70](https://github.com/ExodusMovement/exodus-hydra/commit/a9f9a7024836bb902ddde52b17f385eafe581495))
|
|
17
|
+
|
|
6
18
|
## [3.1.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@3.0.1...@exodus/analytics-validation@3.1.0) (2026-06-19)
|
|
7
19
|
|
|
8
20
|
### Features
|
package/lib/events.d.ts
CHANGED
|
@@ -1333,18 +1333,68 @@ export interface AnalyticsEventMap {
|
|
|
1333
1333
|
"StocksBuy": {
|
|
1334
1334
|
asset?: string
|
|
1335
1335
|
amountUsd?: number
|
|
1336
|
+
confirmReadyS?: number
|
|
1337
|
+
timeToConfirmS?: number
|
|
1338
|
+
}
|
|
1339
|
+
"StocksBuyAmountDismissed": {
|
|
1340
|
+
asset?: string
|
|
1341
|
+
amountUsd?: number
|
|
1342
|
+
buttonReady?: boolean
|
|
1343
|
+
errorType?: string
|
|
1344
|
+
balanceUsd?: number
|
|
1345
|
+
durationS?: number
|
|
1346
|
+
}
|
|
1347
|
+
"StocksBuyAmountReady": {
|
|
1348
|
+
asset?: string
|
|
1349
|
+
amountUsd?: number
|
|
1350
|
+
timeToReadyS?: number
|
|
1336
1351
|
}
|
|
1337
1352
|
"StocksBuyAmountView": {
|
|
1338
1353
|
asset?: string
|
|
1354
|
+
balanceUsd?: number
|
|
1355
|
+
}
|
|
1356
|
+
"StocksBuyBlocked": {
|
|
1357
|
+
asset?: string
|
|
1358
|
+
amountUsd?: number
|
|
1359
|
+
errorType?: string
|
|
1360
|
+
balanceUsd?: number
|
|
1361
|
+
}
|
|
1362
|
+
"StocksBuyConfirmBlocked": {
|
|
1363
|
+
asset?: string
|
|
1364
|
+
amountUsd?: number
|
|
1365
|
+
errorType?: string
|
|
1366
|
+
}
|
|
1367
|
+
"StocksBuyConfirmDismissed": {
|
|
1368
|
+
asset?: string
|
|
1369
|
+
amountUsd?: number
|
|
1370
|
+
confirmReady?: boolean
|
|
1371
|
+
durationS?: number
|
|
1372
|
+
}
|
|
1373
|
+
"StocksBuyConfirmReady": {
|
|
1374
|
+
asset?: string
|
|
1375
|
+
amountUsd?: number
|
|
1376
|
+
timeToReadyS?: number
|
|
1339
1377
|
}
|
|
1340
1378
|
"StocksBuyConfirmView": {
|
|
1341
1379
|
asset?: string
|
|
1380
|
+
amountUsd?: number
|
|
1381
|
+
timeToBuyS?: number
|
|
1382
|
+
}
|
|
1383
|
+
"StocksBuyDepositTap": {
|
|
1384
|
+
asset?: string
|
|
1385
|
+
amountUsd?: number
|
|
1386
|
+
balanceUsd?: number
|
|
1342
1387
|
}
|
|
1343
1388
|
"StocksBuyError": {
|
|
1344
1389
|
asset?: string
|
|
1345
1390
|
errorType?: string
|
|
1346
1391
|
failureReason?: string
|
|
1347
1392
|
}
|
|
1393
|
+
"StocksBuySuccess": {
|
|
1394
|
+
asset?: string
|
|
1395
|
+
amountUsd?: number
|
|
1396
|
+
exchangeS?: number
|
|
1397
|
+
}
|
|
1348
1398
|
"StocksBuyView": {
|
|
1349
1399
|
asset?: string
|
|
1350
1400
|
}
|
|
@@ -1359,6 +1409,24 @@ export interface AnalyticsEventMap {
|
|
|
1359
1409
|
"StocksSell": {
|
|
1360
1410
|
asset?: string
|
|
1361
1411
|
amountUsd?: number
|
|
1412
|
+
confirmReadyS?: number
|
|
1413
|
+
timeToConfirmS?: number
|
|
1414
|
+
}
|
|
1415
|
+
"StocksSellConfirmBlocked": {
|
|
1416
|
+
asset?: string
|
|
1417
|
+
amountUsd?: number
|
|
1418
|
+
errorType?: string
|
|
1419
|
+
}
|
|
1420
|
+
"StocksSellConfirmDismissed": {
|
|
1421
|
+
asset?: string
|
|
1422
|
+
amountUsd?: number
|
|
1423
|
+
confirmReady?: boolean
|
|
1424
|
+
durationS?: number
|
|
1425
|
+
}
|
|
1426
|
+
"StocksSellConfirmReady": {
|
|
1427
|
+
asset?: string
|
|
1428
|
+
amountUsd?: number
|
|
1429
|
+
timeToReadyS?: number
|
|
1362
1430
|
}
|
|
1363
1431
|
"StocksSellConfirmView": {
|
|
1364
1432
|
asset?: string
|
|
@@ -1368,6 +1436,11 @@ export interface AnalyticsEventMap {
|
|
|
1368
1436
|
errorType?: string
|
|
1369
1437
|
failureReason?: string
|
|
1370
1438
|
}
|
|
1439
|
+
"StocksSellSuccess": {
|
|
1440
|
+
asset?: string
|
|
1441
|
+
amountUsd?: number
|
|
1442
|
+
exchangeS?: number
|
|
1443
|
+
}
|
|
1371
1444
|
"StocksSellView": {
|
|
1372
1445
|
asset?: string
|
|
1373
1446
|
}
|
package/lib/main.schemasafe.json
CHANGED
|
@@ -1049,15 +1049,39 @@
|
|
|
1049
1049
|
{
|
|
1050
1050
|
"$ref": "stocks-asset-detail-view#"
|
|
1051
1051
|
},
|
|
1052
|
+
{
|
|
1053
|
+
"$ref": "stocks-buy-amount-dismissed#"
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
"$ref": "stocks-buy-amount-ready#"
|
|
1057
|
+
},
|
|
1052
1058
|
{
|
|
1053
1059
|
"$ref": "stocks-buy-amount-view#"
|
|
1054
1060
|
},
|
|
1061
|
+
{
|
|
1062
|
+
"$ref": "stocks-buy-blocked#"
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"$ref": "stocks-buy-confirm-blocked#"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"$ref": "stocks-buy-confirm-dismissed#"
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
"$ref": "stocks-buy-confirm-ready#"
|
|
1072
|
+
},
|
|
1055
1073
|
{
|
|
1056
1074
|
"$ref": "stocks-buy-confirm-view#"
|
|
1057
1075
|
},
|
|
1076
|
+
{
|
|
1077
|
+
"$ref": "stocks-buy-deposit-tap#"
|
|
1078
|
+
},
|
|
1058
1079
|
{
|
|
1059
1080
|
"$ref": "stocks-buy-error#"
|
|
1060
1081
|
},
|
|
1082
|
+
{
|
|
1083
|
+
"$ref": "stocks-buy-success#"
|
|
1084
|
+
},
|
|
1061
1085
|
{
|
|
1062
1086
|
"$ref": "stocks-buy-view#"
|
|
1063
1087
|
},
|
|
@@ -1082,12 +1106,24 @@
|
|
|
1082
1106
|
{
|
|
1083
1107
|
"$ref": "stocks-portfolio-view#"
|
|
1084
1108
|
},
|
|
1109
|
+
{
|
|
1110
|
+
"$ref": "stocks-sell-confirm-blocked#"
|
|
1111
|
+
},
|
|
1112
|
+
{
|
|
1113
|
+
"$ref": "stocks-sell-confirm-dismissed#"
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"$ref": "stocks-sell-confirm-ready#"
|
|
1117
|
+
},
|
|
1085
1118
|
{
|
|
1086
1119
|
"$ref": "stocks-sell-confirm-view#"
|
|
1087
1120
|
},
|
|
1088
1121
|
{
|
|
1089
1122
|
"$ref": "stocks-sell-error#"
|
|
1090
1123
|
},
|
|
1124
|
+
{
|
|
1125
|
+
"$ref": "stocks-sell-success#"
|
|
1126
|
+
},
|
|
1091
1127
|
{
|
|
1092
1128
|
"$ref": "stocks-sell-view#"
|
|
1093
1129
|
},
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuyAmountDismissed"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"button_ready": {
|
|
25
|
+
"type": "boolean"
|
|
26
|
+
},
|
|
27
|
+
"error_type": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"format": "any-string"
|
|
30
|
+
},
|
|
31
|
+
"balance_usd": {
|
|
32
|
+
"type": "number",
|
|
33
|
+
"minimum": 0
|
|
34
|
+
},
|
|
35
|
+
"duration_s": {
|
|
36
|
+
"type": "number"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"unevaluatedProperties": false
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"unevaluatedProperties": false,
|
|
43
|
+
"required": ["event", "properties"]
|
|
44
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuyAmountReady"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"time_to_ready_s": {
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"unevaluatedProperties": false
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"unevaluatedProperties": false,
|
|
32
|
+
"required": ["event", "properties"]
|
|
33
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuyBlocked"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"error_type": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"format": "any-string"
|
|
27
|
+
},
|
|
28
|
+
"balance_usd": {
|
|
29
|
+
"type": "number",
|
|
30
|
+
"minimum": 0
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"unevaluatedProperties": false
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"unevaluatedProperties": false,
|
|
37
|
+
"required": ["event", "properties"]
|
|
38
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuyConfirmBlocked"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"error_type": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"format": "any-string"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"unevaluatedProperties": false
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"unevaluatedProperties": false,
|
|
33
|
+
"required": ["event", "properties"]
|
|
34
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuyConfirmDismissed"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"confirm_ready": {
|
|
25
|
+
"type": "boolean"
|
|
26
|
+
},
|
|
27
|
+
"duration_s": {
|
|
28
|
+
"type": "number"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"unevaluatedProperties": false
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"unevaluatedProperties": false,
|
|
35
|
+
"required": ["event", "properties"]
|
|
36
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuyConfirmReady"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"time_to_ready_s": {
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"unevaluatedProperties": false
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"unevaluatedProperties": false,
|
|
32
|
+
"required": ["event", "properties"]
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuyDepositTap"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"balance_usd": {
|
|
25
|
+
"type": "number",
|
|
26
|
+
"minimum": 0
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"unevaluatedProperties": false
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"unevaluatedProperties": false,
|
|
33
|
+
"required": ["event", "properties"]
|
|
34
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksBuySuccess"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"exchange_s": {
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"unevaluatedProperties": false
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"unevaluatedProperties": false,
|
|
32
|
+
"required": ["event", "properties"]
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksSellConfirmBlocked"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"error_type": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"format": "any-string"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"unevaluatedProperties": false
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"unevaluatedProperties": false,
|
|
33
|
+
"required": ["event", "properties"]
|
|
34
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksSellConfirmDismissed"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"confirm_ready": {
|
|
25
|
+
"type": "boolean"
|
|
26
|
+
},
|
|
27
|
+
"duration_s": {
|
|
28
|
+
"type": "number"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"unevaluatedProperties": false
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"unevaluatedProperties": false,
|
|
35
|
+
"required": ["event", "properties"]
|
|
36
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksSellConfirmReady"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"time_to_ready_s": {
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"unevaluatedProperties": false
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"unevaluatedProperties": false,
|
|
32
|
+
"required": ["event", "properties"]
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"event": {
|
|
6
|
+
"const": "StocksSellSuccess"
|
|
7
|
+
},
|
|
8
|
+
"properties": {
|
|
9
|
+
"allOf": [
|
|
10
|
+
{
|
|
11
|
+
"$ref": "common-properties#"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [],
|
|
16
|
+
"properties": {
|
|
17
|
+
"asset": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "any-string"
|
|
20
|
+
},
|
|
21
|
+
"amount_usd": {
|
|
22
|
+
"type": "number"
|
|
23
|
+
},
|
|
24
|
+
"exchange_s": {
|
|
25
|
+
"type": "number"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"unevaluatedProperties": false
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"unevaluatedProperties": false,
|
|
32
|
+
"required": ["event", "properties"]
|
|
33
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exodus/analytics-validation",
|
|
3
|
-
"version": "3.1
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "JSON schemas for analytics events, to prevent sensitive data from being sent up to the infamous cloud",
|
|
6
6
|
"author": "Exodus Movement, Inc.",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"prepublishOnly": "pnpm -w run build --scope @exodus/analytics-validation",
|
|
37
37
|
"test": "node scripts/build-schemasafe.mjs && pnpm exec exodus-test --jest --esbuild",
|
|
38
38
|
"typecheck": "node scripts/build-schemasafe.mjs && pnpm exec tsc --noEmit",
|
|
39
|
-
"lint": "pnpm run build:generated && pnpm exec
|
|
39
|
+
"lint": "pnpm run build:generated && pnpm exec eslint .",
|
|
40
40
|
"lint:fix": "pnpm run lint --fix"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"access": "public",
|
|
57
57
|
"provenance": false
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "33353b3f8d8e07e4974c36b05692427212f27951"
|
|
60
60
|
}
|
package/schemasafe.config.js
CHANGED
|
@@ -32,7 +32,6 @@ getSchemas({ schemaDir, schemaNames })
|
|
|
32
32
|
|
|
33
33
|
// Source: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
|
|
34
34
|
const semVerRegEx =
|
|
35
|
-
// eslint-disable-next-line sonarjs/regex-complexity
|
|
36
35
|
/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/u
|
|
37
36
|
const localeRegEx = /^[A-Za-z]{2,8}([_-][\dA-Za-z]{1,8}){0,2}$/u
|
|
38
37
|
// NOTE: this is exported so consumers can use the same settings at runtime
|