@exodus/analytics-validation 1.0.1-alpha.1 → 1.0.1-alpha.2

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 (188) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/index.js +1 -0
  3. package/package.json +6 -3
  4. package/schemasafe.config.js +37 -0
  5. package/src/app-session.schemasafe.json +18 -0
  6. package/src/asset-network-manual-refresh.schemasafe.json +31 -0
  7. package/src/backup-prompt-view.schemasafe.json +28 -0
  8. package/src/balance-fetch-network-error-notice.schemasafe.json +37 -0
  9. package/src/client-migration-run.schemasafe.json +38 -0
  10. package/src/common-properties.schemasafe.json +181 -0
  11. package/src/compound-finance-view.schemasafe.json +18 -0
  12. package/src/contact-support-email-send.schemasafe.json +18 -0
  13. package/src/contact-support-view.schemasafe.json +18 -0
  14. package/src/d-app-auto-approve-set.schemasafe.json +18 -0
  15. package/src/d-app-auto-approve-unset.schemasafe.json +18 -0
  16. package/src/d-app-connection-delete.schemasafe.json +18 -0
  17. package/src/d-app-connection-request.schemasafe.json +42 -0
  18. package/src/d-app-favorite-set.schemasafe.json +18 -0
  19. package/src/d-app-launch.schemasafe.json +18 -0
  20. package/src/d-app-network-switch-request.schemasafe.json +27 -0
  21. package/src/d-app-sign-message-request.schemasafe.json +38 -0
  22. package/src/d-app-sign-transaction-request.schemasafe.json +38 -0
  23. package/src/dapp-evm-chain-set.schemasafe.json +39 -0
  24. package/src/dapp-wallet-watch-asset.schemasafe.json +50 -0
  25. package/src/exchange-asset-swap.schemasafe.json +45 -0
  26. package/src/exchange-configure-asset-swap.schemasafe.json +38 -0
  27. package/src/exchange-order-create.schemasafe.json +138 -0
  28. package/src/exchange-order-flag.schemasafe.json +135 -0
  29. package/src/exchange-order-status-change.schemasafe.json +131 -0
  30. package/src/exchange-prompt-be-click.schemasafe.json +18 -0
  31. package/src/exchange-prompt-be-show.schemasafe.json +18 -0
  32. package/src/exchange-view.schemasafe.json +40 -0
  33. package/src/exodus-shares-view.schemasafe.json +18 -0
  34. package/src/exodus-transaction-broadcast-error.schemasafe.json +47 -0
  35. package/src/exodus-transaction-broadcast.schemasafe.json +47 -0
  36. package/src/fiat-view.schemasafe.json +40 -0
  37. package/src/fusion-profile-create.schemasafe.json +28 -0
  38. package/src/fusion-profile-read.schemasafe.json +28 -0
  39. package/src/fusion-profile-update.schemasafe.json +28 -0
  40. package/src/history-view.schemasafe.json +18 -0
  41. package/src/home-news-tap.schemasafe.json +39 -0
  42. package/src/home-portfolio-select.schemasafe.json +18 -0
  43. package/src/home-portfolio-swipe.schemasafe.json +18 -0
  44. package/src/home-portfolio-time-frame-select.schemasafe.json +28 -0
  45. package/src/home-suggestion-skip.schemasafe.json +54 -0
  46. package/src/home-suggestion-view.schemasafe.json +54 -0
  47. package/src/home-top-mover-tap.schemasafe.json +27 -0
  48. package/src/home-view.schemasafe.json +18 -0
  49. package/src/home-widget-rerank.schemasafe.json +41 -0
  50. package/src/home-widget-toggle.schemasafe.json +41 -0
  51. package/src/install-referrer-attribution.schemasafe.json +40 -0
  52. package/src/invite-friends-view.schemasafe.json +28 -0
  53. package/src/lightning-deposit-view.schemasafe.json +18 -0
  54. package/src/lightning-deposit.schemasafe.json +27 -0
  55. package/src/lightning-history-view.schemasafe.json +18 -0
  56. package/src/lightning-invoice-generated.schemasafe.json +27 -0
  57. package/src/lightning-lnur-view.schemasafe.json +18 -0
  58. package/src/lightning-onboarding-view.schemasafe.json +28 -0
  59. package/src/lightning-receive-funds.schemasafe.json +28 -0
  60. package/src/lightning-receive-view.schemasafe.json +28 -0
  61. package/src/lightning-send-view.schemasafe.json +28 -0
  62. package/src/lightning-send.schemasafe.json +27 -0
  63. package/src/lightning-terms-and-conditions.schemasafe.json +27 -0
  64. package/src/lightning-view.schemasafe.json +28 -0
  65. package/src/lightning-withdraw-view.schemasafe.json +18 -0
  66. package/src/lightning-withdraw.schemasafe.json +27 -0
  67. package/src/main.schemasafe.json +560 -0
  68. package/src/menu-view.schemasafe.json +18 -0
  69. package/src/network-easter-egg-activate.schemasafe.json +28 -0
  70. package/src/news-article-tap.schemasafe.json +39 -0
  71. package/src/news-view.schemasafe.json +18 -0
  72. package/src/nft-gallery-asset-receive-address-copy.schemasafe.json +18 -0
  73. package/src/nft-gallery-asset-receive-view.schemasafe.json +18 -0
  74. package/src/nft-gallery-asset-send-view.schemasafe.json +18 -0
  75. package/src/nft-gallery-asset-send.schemasafe.json +18 -0
  76. package/src/nft-gallery-asset-view.schemasafe.json +18 -0
  77. package/src/nft-gallery-view.schemasafe.json +18 -0
  78. package/src/nfts-proxy-server-get-image.schemasafe.json +35 -0
  79. package/src/notifications-system-permission-modal-enable-tap.schemasafe.json +27 -0
  80. package/src/notifications-system-permission-modal-view.schemasafe.json +18 -0
  81. package/src/off-ramp-configure-asset-sale.schemasafe.json +38 -0
  82. package/src/off-ramp-configure-asset-sell.schemasafe.json +28 -0
  83. package/src/off-ramp-continue-tap.schemasafe.json +50 -0
  84. package/src/off-ramp-provider-status-change.schemasafe.json +86 -0
  85. package/src/off-ramp-sale-confirm-view.schemasafe.json +28 -0
  86. package/src/off-ramp-sale-confirm.schemasafe.json +31 -0
  87. package/src/off-ramp-send-to-browser.schemasafe.json +28 -0
  88. package/src/off-ramp-view.schemasafe.json +28 -0
  89. package/src/on-ramp-configure-asset-purchase.schemasafe.json +28 -0
  90. package/src/on-ramp-continue-tap.schemasafe.json +40 -0
  91. package/src/on-ramp-disabled-view.schemasafe.json +28 -0
  92. package/src/on-ramp-payment-method-select.schemasafe.json +32 -0
  93. package/src/on-ramp-payment-method-view.schemasafe.json +28 -0
  94. package/src/on-ramp-provider-select.schemasafe.json +39 -0
  95. package/src/on-ramp-provider-status-change.schemasafe.json +92 -0
  96. package/src/on-ramp-provider-view.schemasafe.json +28 -0
  97. package/src/on-ramp-purchase-confirm.schemasafe.json +31 -0
  98. package/src/on-ramp-receive-from-browser.schemasafe.json +28 -0
  99. package/src/on-ramp-send-to-browser.schemasafe.json +28 -0
  100. package/src/on-ramp-view.schemasafe.json +28 -0
  101. package/src/onboarding-page-skipped.schemasafe.json +46 -0
  102. package/src/onboarding-page-view.schemasafe.json +46 -0
  103. package/src/onboarding-password-creation-confirm.schemasafe.json +18 -0
  104. package/src/onboarding-password-creation-initiate.schemasafe.json +18 -0
  105. package/src/onboarding-seed-create.schemasafe.json +18 -0
  106. package/src/onboarding-seed-input.schemasafe.json +18 -0
  107. package/src/portfolio-view.schemasafe.json +18 -0
  108. package/src/primitive-type.schemasafe.json +35 -0
  109. package/src/profile-edit-change-avatar.schemasafe.json +18 -0
  110. package/src/profile-edit-change-name.schemasafe.json +18 -0
  111. package/src/profile-edit-view.schemasafe.json +18 -0
  112. package/src/receive-select-asset-view.schemasafe.json +28 -0
  113. package/src/referral-code-input.schemasafe.json +27 -0
  114. package/src/referral-opt-in.schemasafe.json +28 -0
  115. package/src/referral-program-banner-view.schemasafe.json +28 -0
  116. package/src/referral-program-kyc-completion.schemasafe.json +31 -0
  117. package/src/referral-program-kyc-page-view.schemasafe.json +28 -0
  118. package/src/referral-program-partner-assignment.schemasafe.json +31 -0
  119. package/src/referral-program-referral-activation.schemasafe.json +32 -0
  120. package/src/referral-program-referral-code-page-view.schemasafe.json +28 -0
  121. package/src/referral-program-revenue-share-activity.schemasafe.json +42 -0
  122. package/src/referral-program-send-to-kyc.schemasafe.json +32 -0
  123. package/src/restore-wallet-seed-input.schemasafe.json +35 -0
  124. package/src/rewards-view.schemasafe.json +18 -0
  125. package/src/securitize-account-link.schemasafe.json +18 -0
  126. package/src/security-auto-lock-time-set.schemasafe.json +27 -0
  127. package/src/security-backup-created.schemasafe.json +18 -0
  128. package/src/security-backup-creation-initiated.schemasafe.json +18 -0
  129. package/src/security-backup-vault-view.schemasafe.json +38 -0
  130. package/src/security-backups-screen-view.schemasafe.json +28 -0
  131. package/src/security-private-key-view.schemasafe.json +18 -0
  132. package/src/security-secret-phrase-screen-view.schemasafe.json +37 -0
  133. package/src/send-select-asset-view.schemasafe.json +18 -0
  134. package/src/settings-advanced-mode-toggle.schemasafe.json +27 -0
  135. package/src/settings-auto-connect-toggle.schemasafe.json +27 -0
  136. package/src/settings-default-wallet-toggle.schemasafe.json +27 -0
  137. package/src/settings-lightning-higher-limits-toggle.schemasafe.json +27 -0
  138. package/src/settings-notifications-activity-product-toggle.schemasafe.json +27 -0
  139. package/src/settings-notifications-allow-toggle.schemasafe.json +27 -0
  140. package/src/settings-notifications-special-offers-toggle.schemasafe.json +27 -0
  141. package/src/settings-notifications-view.schemasafe.json +18 -0
  142. package/src/settings-preferred-currency-set.schemasafe.json +28 -0
  143. package/src/settings-restore-from-backup-view.schemasafe.json +28 -0
  144. package/src/settings-restore-wallet-screen-view.schemasafe.json +18 -0
  145. package/src/solana-mobile-adapter-enable.schemasafe.json +27 -0
  146. package/src/solana-pay-qr-code-reader-view.schemasafe.json +47 -0
  147. package/src/solana-pay-transaction-confirm.schemasafe.json +47 -0
  148. package/src/solana-pay-transaction-confirmation-view.schemasafe.json +47 -0
  149. package/src/support-knowledge-base-send-to-browser.schemasafe.json +18 -0
  150. package/src/support-status-send-to-browser.schemasafe.json +18 -0
  151. package/src/support-view.schemasafe.json +18 -0
  152. package/src/telemetry-collection-decision.schemasafe.json +27 -0
  153. package/src/unknown-event.schemasafe.json +18 -0
  154. package/src/wallet-asset-copy-receive-address.schemasafe.json +18 -0
  155. package/src/wallet-asset-manager-toggle.schemasafe.json +27 -0
  156. package/src/wallet-asset-manager-view.schemasafe.json +18 -0
  157. package/src/wallet-asset-network-manual-refresh.schemasafe.json +31 -0
  158. package/src/wallet-asset-receive-view.schemasafe.json +28 -0
  159. package/src/wallet-asset-send-view.schemasafe.json +18 -0
  160. package/src/wallet-asset-send.schemasafe.json +27 -0
  161. package/src/wallet-asset-view.schemasafe.json +18 -0
  162. package/src/wallet-connect-activity-detail-view.schemasafe.json +18 -0
  163. package/src/wallet-connect-activity-view.schemasafe.json +18 -0
  164. package/src/wallet-connect-connection-added.schemasafe.json +28 -0
  165. package/src/wallet-connect-connection-deleted.schemasafe.json +28 -0
  166. package/src/wallet-connect-disconnect-all.schemasafe.json +31 -0
  167. package/src/wallet-connect-edit-connection-update.schemasafe.json +28 -0
  168. package/src/wallet-connect-edit-connection-view.schemasafe.json +28 -0
  169. package/src/wallet-connect-fiat-on-ramp-cta-tap.schemasafe.json +28 -0
  170. package/src/wallet-connect-initiate-connection.schemasafe.json +28 -0
  171. package/src/wallet-connect-view.schemasafe.json +18 -0
  172. package/src/wallet-custom-token-add.schemasafe.json +18 -0
  173. package/src/wallet-exchange-detail-view.schemasafe.json +18 -0
  174. package/src/wallet-portfolio-create.schemasafe.json +18 -0
  175. package/src/wallet-portfolio-select.schemasafe.json +18 -0
  176. package/src/wallet-receive-assets-view.schemasafe.json +28 -0
  177. package/src/wallet-staking-claim.schemasafe.json +27 -0
  178. package/src/wallet-staking-stake.schemasafe.json +27 -0
  179. package/src/wallet-staking-unstake.schemasafe.json +27 -0
  180. package/src/wallet-staking-view.schemasafe.json +31 -0
  181. package/src/wallet-transaction-detail-view.schemasafe.json +18 -0
  182. package/src/wallet-view.schemasafe.json +18 -0
  183. package/src/web3-browser-home-tap.schemasafe.json +18 -0
  184. package/src/web3-browser-launch-dapp.schemasafe.json +32 -0
  185. package/src/web3-browser-view.schemasafe.json +18 -0
  186. package/src/web3-explore-view.schemasafe.json +18 -0
  187. package/src/web3-favorites-view.schemasafe.json +18 -0
  188. package/src/web3-view.schemasafe.json +18 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
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
+ ## [1.0.1-alpha.2](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@1.0.1-alpha.1...@exodus/analytics-validation@1.0.1-alpha.2) (2023-04-14)
7
+
8
+ **Note:** Version bump only for package @exodus/analytics-validation
9
+
6
10
  ## [1.0.1-alpha.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@1.0.1-alpha.0...@exodus/analytics-validation@1.0.1-alpha.1) (2023-04-14)
7
11
 
8
12
  ### ⚠ BREAKING CHANGES
package/index.js ADDED
@@ -0,0 +1 @@
1
+ export { validateEvent } from './src/main.schemasafe.json'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/analytics-validation",
3
- "version": "1.0.1-alpha.1",
3
+ "version": "1.0.1-alpha.2",
4
4
  "description": "The analytics-validation library",
5
5
  "author": "Exodus Movement Inc",
6
6
  "repository": {
@@ -14,7 +14,10 @@
14
14
  },
15
15
  "main": "./lib/index.js",
16
16
  "files": [
17
- "lib",
17
+ "src",
18
+ "!**/__tests__",
19
+ "schemasafe.config.js",
20
+ "index.js",
18
21
  "README.md",
19
22
  "CHANGELOG.md"
20
23
  ],
@@ -29,5 +32,5 @@
29
32
  "eslint": "^8.33.0",
30
33
  "jest": "^29.1.2"
31
34
  },
32
- "gitHead": "f03e530bddd1c6cc51d648b0cd8681d2b2691438"
35
+ "gitHead": "40f7aed15122ee8a6b4bb6d05da665635ca04b30"
33
36
  }
@@ -0,0 +1,37 @@
1
+ const fs = require('fs')
2
+ const path = require('path')
3
+
4
+ const schemasDirPath = path.join(__dirname, './src')
5
+ const schemaNames = fs.readdirSync(schemasDirPath)
6
+
7
+ const schemas = {}
8
+ for (const schemaName of schemaNames) {
9
+ if (schemaName === 'main.schemasafe.json') continue
10
+ const schemaPath = path.join(schemasDirPath, schemaName)
11
+
12
+ if (fs.statSync(schemaPath).isDirectory()) {
13
+ if (schemaName === '__tests__') continue
14
+ throw new Error('unexpected directory in schemas folder')
15
+ }
16
+
17
+ // primitive-type.schemafe.json -> primitive-type
18
+ const name = schemaName.slice(0, schemaName.indexOf('.'))
19
+ const schemaString = fs.readFileSync(schemaPath, 'utf8')
20
+ schemas[name] = JSON.parse(schemaString)
21
+ }
22
+
23
+ // Source: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
24
+ const semVerRegEx =
25
+ /^(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-]+)*))?$/
26
+ const localeRegEx = /^[A-Za-z]{2,4}([_-][A-Za-z]{2,4})?$/
27
+
28
+ // NOTE: this is exported so consumers can use the same settings at runtime
29
+ // as were used to compile schemas at build time
30
+ module.exports = {
31
+ formats: {
32
+ 'any-string': (str) => typeof str === 'string',
33
+ 'semver-string': semVerRegEx,
34
+ locale: localeRegEx,
35
+ },
36
+ schemas,
37
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "AppSession"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "AssetNetworkManualRefresh"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": [],
16
+ "properties": {
17
+ "balance_changed": {
18
+ "type": "boolean"
19
+ },
20
+ "category": {
21
+ "type": "string",
22
+ "enum": ["BITCOIN_LIKE", "ETHEREUM_LIKE", "OTHER"]
23
+ }
24
+ }
25
+ }
26
+ ]
27
+ }
28
+ },
29
+ "unevaluatedProperties": false,
30
+ "required": ["event", "properties"]
31
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "BackupPromptView"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": [],
16
+ "properties": {
17
+ "origin": {
18
+ "type": "string",
19
+ "enum": ["enabling-passcode", "newly-funded-wallet"]
20
+ }
21
+ }
22
+ }
23
+ ]
24
+ }
25
+ },
26
+ "unevaluatedProperties": false,
27
+ "required": ["event", "properties"]
28
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "BalanceFetchNetworkErrorNotice"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": [],
16
+ "properties": {
17
+ "network": {
18
+ "type": "string",
19
+ "enum": [
20
+ "avalanchec",
21
+ "bsc",
22
+ "ethereum",
23
+ "ethereumarbone",
24
+ "fantommainnet",
25
+ "matic",
26
+ "rootstock",
27
+ "solana"
28
+ ]
29
+ }
30
+ }
31
+ }
32
+ ]
33
+ }
34
+ },
35
+ "unevaluatedProperties": false,
36
+ "required": ["event", "properties"]
37
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "ClientMigrationRun"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": [],
16
+ "properties": {
17
+ "migration_id": {
18
+ "type": "string",
19
+ "enum": [
20
+ "encrypt-fusion-storage",
21
+ "encrypt-orders-storage",
22
+ "encrypt-synced-balances-storage",
23
+ "encrypt-wallet-accounts-storage",
24
+ "nfts-hidden-config",
25
+ "revoke-connections"
26
+ ]
27
+ },
28
+ "success": {
29
+ "type": "boolean"
30
+ }
31
+ }
32
+ }
33
+ ]
34
+ }
35
+ },
36
+ "unevaluatedProperties": false,
37
+ "required": ["event", "properties"]
38
+ }
@@ -0,0 +1,181 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "description": "Common properties used by most of the events.",
4
+ "type": "object",
5
+ "required": [],
6
+ "unevaluatedProperties": false,
7
+ "additionalProperties": {
8
+ "anyOf": [
9
+ {
10
+ "type": "string",
11
+ "format": "any-string",
12
+ "maxLength": 100
13
+ },
14
+ {
15
+ "type": "number"
16
+ },
17
+ {
18
+ "type": "boolean"
19
+ },
20
+ {
21
+ "type": "null"
22
+ }
23
+ ]
24
+ },
25
+ "propertyNames": {
26
+ "pattern": "^\\w*$"
27
+ },
28
+ "properties": {
29
+ "time": {
30
+ "type": "number"
31
+ },
32
+ "distinct_id": {
33
+ "type": "string",
34
+ "format": "base64",
35
+ "maxLength": 100,
36
+ "$comment": "Max length is arbitrary"
37
+ },
38
+ "app_build": {
39
+ "anyOf": [
40
+ { "const": "dev" },
41
+ { "const": "prod" },
42
+ { "const": "mobile" },
43
+ { "const": "nile" },
44
+ { "const": "production" },
45
+ { "const": "stage" }
46
+ ]
47
+ },
48
+ "app_platform": {
49
+ "anyOf": [{ "const": "browser" }, { "const": "mobile" }, { "const": "desktop" }]
50
+ },
51
+ "app_version": {
52
+ "type": "string",
53
+ "format": "semver-string",
54
+ "maxLength": 10,
55
+ "$comment": "Max length is arbitrary"
56
+ },
57
+ "asset_exchanged_last_90": {
58
+ "type": "boolean"
59
+ },
60
+ "asset_purchased_last_90": {
61
+ "type": "boolean"
62
+ },
63
+ "asset_received_last_90": {
64
+ "type": "boolean"
65
+ },
66
+ "asset_sent_last_90": {
67
+ "type": "boolean"
68
+ },
69
+ "asset_staked_last_90": {
70
+ "type": "boolean"
71
+ },
72
+ "device_manufacturer": {
73
+ "anyOf": [{ "const": "Apple" }]
74
+ },
75
+ "device_model": {
76
+ "type": "string",
77
+ "format": "any-string"
78
+ },
79
+ "device_arch": {
80
+ "type": "string",
81
+ "format": "any-string"
82
+ },
83
+ "experiments": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "string",
87
+ "enum": [
88
+ "lightning-app:enabled",
89
+ "lightning-app:disabled",
90
+ "nft-app:enabled",
91
+ "ftx-21.7.29:A",
92
+ "exchange-2022-06-20:aero2",
93
+ "exchange-2022-06-20:default",
94
+ "exchange-metrics:enabled",
95
+ "exchange-v2-21.8.12:v2",
96
+ "ramp-onboarding:enabled",
97
+ "ramp-app:on",
98
+ "ramp-tab-button:off",
99
+ "ramp-tab-button:on",
100
+ "on-ramp-experiment-1:v1",
101
+ "wallet-connect:enabled",
102
+ "wallet-connect-dapps:enabled",
103
+ "seedless:disabled",
104
+ "seedless:enabled",
105
+ "support-chat:on"
106
+ ]
107
+ }
108
+ },
109
+ "has_balance": {
110
+ "type": "boolean"
111
+ },
112
+ "has_nft": {
113
+ "type": "boolean"
114
+ },
115
+ "locale": {
116
+ "type": "array",
117
+ "items": {
118
+ "type": "string",
119
+ "format": "locale",
120
+ "maxLength": 10,
121
+ "$comment": "Max length is arbitrary"
122
+ }
123
+ },
124
+ "mp_lib": {
125
+ "const": "Segment: unknown"
126
+ },
127
+ "mp_processing_time_ms": {
128
+ "type": "number"
129
+ },
130
+ "os_name": {
131
+ "anyOf": [
132
+ {
133
+ "const": "A"
134
+ },
135
+ {
136
+ "const": "android"
137
+ },
138
+ {
139
+ "const": "darwin"
140
+ },
141
+ {
142
+ "const": "I"
143
+ },
144
+ {
145
+ "const": "ios"
146
+ },
147
+ {
148
+ "const": "L"
149
+ },
150
+ {
151
+ "const": "linux"
152
+ },
153
+ {
154
+ "const": "M"
155
+ },
156
+ {
157
+ "const": "W"
158
+ },
159
+ {
160
+ "const": "win32"
161
+ }
162
+ ]
163
+ },
164
+ "os_version": {
165
+ "type": "string",
166
+ "format": "semver-string",
167
+ "maxLength": 10,
168
+ "$comment": "Max length is arbitrary"
169
+ },
170
+ "screen_height": {
171
+ "type": "number"
172
+ },
173
+ "screen_width": {
174
+ "type": "number"
175
+ },
176
+ "selected_language": {
177
+ "type": "string",
178
+ "format": "any-string"
179
+ }
180
+ }
181
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "CompoundFinanceView"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "ContactSupportEmailSend"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "ContactSupportView"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppAutoApproveSet"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppAutoApproveUnset"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppConnectionDelete"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppConnectionRequest"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": [],
16
+ "properties": {
17
+ "approved": {
18
+ "type": "boolean"
19
+ },
20
+ "connection_origin": {
21
+ "type": "string",
22
+ "enum": ["banner", "default", "lucky-cat___en"]
23
+ },
24
+ "connection_protocol": {
25
+ "type": "string",
26
+ "enum": [
27
+ "wallet-connect",
28
+ "solana-adapter",
29
+ "Solana Mobile Wallet Adapter",
30
+ "dApp Browser",
31
+ "Wallet Connect",
32
+ "WalletConnect"
33
+ ]
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
39
+ },
40
+ "unevaluatedProperties": false,
41
+ "required": ["event", "properties"]
42
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppFavoriteSet"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppLaunch"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ "unevaluatedProperties": false,
17
+ "required": ["event", "properties"]
18
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppNetworkSwitchRequest"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": [],
16
+ "properties": {
17
+ "approved": {
18
+ "type": "boolean"
19
+ }
20
+ }
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ "unevaluatedProperties": false,
26
+ "required": ["event", "properties"]
27
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "DAppSignMessageRequest"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": [],
16
+ "properties": {
17
+ "approved": {
18
+ "type": "boolean"
19
+ },
20
+ "connection_protocol": {
21
+ "type": "string",
22
+ "enum": [
23
+ "wallet-connect",
24
+ "solana-adapter",
25
+ "Solana Mobile Wallet Adapter",
26
+ "dApp Browser",
27
+ "Wallet Connect",
28
+ "WalletConnect"
29
+ ]
30
+ }
31
+ }
32
+ }
33
+ ]
34
+ }
35
+ },
36
+ "unevaluatedProperties": false,
37
+ "required": ["event", "properties"]
38
+ }