@exodus/analytics-validation 2.77.1 → 2.78.0

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 (33) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/common-properties.schemasafe.json +34 -0
  3. package/lib/events.d.ts +174 -0
  4. package/lib/index.js +7 -2
  5. package/lib/main.schemasafe.json +81 -0
  6. package/lib/predictions/pay-predictions-account-activate.schemasafe.json +25 -0
  7. package/lib/predictions/pay-predictions-buy-abandon-during-processing.schemasafe.json +42 -0
  8. package/lib/predictions/pay-predictions-buy-confirm.schemasafe.json +50 -0
  9. package/lib/predictions/pay-predictions-buy-fail.schemasafe.json +45 -0
  10. package/lib/predictions/pay-predictions-buy-fund-trigger.schemasafe.json +34 -0
  11. package/lib/predictions/pay-predictions-buy-insufficient-funds.schemasafe.json +42 -0
  12. package/lib/predictions/pay-predictions-buy-option-change.schemasafe.json +48 -0
  13. package/lib/predictions/pay-predictions-buy-start.schemasafe.json +52 -0
  14. package/lib/predictions/pay-predictions-buy-success.schemasafe.json +61 -0
  15. package/lib/predictions/pay-predictions-fund-entry.schemasafe.json +37 -0
  16. package/lib/predictions/pay-predictions-history-item-tap.schemasafe.json +37 -0
  17. package/lib/predictions/pay-predictions-history-view.schemasafe.json +38 -0
  18. package/lib/predictions/pay-predictions-market-detail-open.schemasafe.json +34 -0
  19. package/lib/predictions/pay-predictions-market-resolve.schemasafe.json +51 -0
  20. package/lib/predictions/pay-predictions-market-swipe.schemasafe.json +37 -0
  21. package/lib/predictions/pay-predictions-market-view.schemasafe.json +56 -0
  22. package/lib/predictions/pay-predictions-open.schemasafe.json +29 -0
  23. package/lib/predictions/pay-predictions-position-tap.schemasafe.json +37 -0
  24. package/lib/predictions/pay-predictions-position-view.schemasafe.json +51 -0
  25. package/lib/predictions/pay-predictions-positions-see-all.schemasafe.json +30 -0
  26. package/lib/predictions/pay-predictions-search.schemasafe.json +34 -0
  27. package/lib/predictions/pay-predictions-sell-fail.schemasafe.json +45 -0
  28. package/lib/predictions/pay-predictions-sell-start.schemasafe.json +45 -0
  29. package/lib/predictions/pay-predictions-sell-success.schemasafe.json +44 -0
  30. package/lib/predictions/pay-predictions-tab-select.schemasafe.json +34 -0
  31. package/lib/predictions/pay-predictions-view-mode-change.schemasafe.json +32 -0
  32. package/lib/predictions/pay-predictions-winnings-claim.schemasafe.json +44 -0
  33. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
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
+ ## [2.78.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@2.77.1...@exodus/analytics-validation@2.78.0) (2026-06-02)
7
+
8
+ ### Features
9
+
10
+ - **analytics-validation:** add Predictions event schemas ([#16521](https://github.com/ExodusMovement/exodus-hydra/issues/16521)) ([9cb302b](https://github.com/ExodusMovement/exodus-hydra/commit/9cb302becb668e279837e01acc087d04474d2f84)), closes [ExodusMovement/exodus-mobile#39181](https://github.com/ExodusMovement/exodus-mobile/issues/39181)
11
+
6
12
  ## [2.77.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/analytics-validation@2.77.0...@exodus/analytics-validation@2.77.1) (2026-05-26)
7
13
 
8
14
  **Note:** Version bump only for package @exodus/analytics-validation
@@ -15,6 +15,40 @@
15
15
  }
16
16
  },
17
17
  "$comment": "It explicitly omits the 'unevaluatedProperties' keyword to make it usable with 'allOf' syntax."
18
+ },
19
+ "predictionsProperties": {
20
+ "description": "Global properties shared by every Predictions (PayPredictions*) event.",
21
+ "type": "object",
22
+ "required": [],
23
+ "properties": {
24
+ "funded_state": {
25
+ "enum": ["funded", "non_funded"]
26
+ },
27
+ "entry_source": {
28
+ "enum": ["tab_nav", "deeplink", "p2p_share", "rewards_card", "home_recommendation"]
29
+ },
30
+ "user_type": {
31
+ "type": "string",
32
+ "format": "any-string"
33
+ },
34
+ "prediction_account_activated": {
35
+ "type": "boolean"
36
+ },
37
+ "view_mode": {
38
+ "enum": ["card", "list"]
39
+ },
40
+ "provider": {
41
+ "enum": ["polymarket", "kalshi"]
42
+ },
43
+ "market_type": {
44
+ "enum": ["binary", "multi"]
45
+ },
46
+ "balance_usd_at_event": {
47
+ "type": "number",
48
+ "minimum": 0
49
+ }
50
+ },
51
+ "$comment": "It explicitly omits the 'unevaluatedProperties' keyword to make it usable with 'allOf' syntax."
18
52
  }
19
53
  },
20
54
  "properties": {
package/lib/events.d.ts CHANGED
@@ -83,6 +83,17 @@ export type AnalyticsCommonProperties = {
83
83
  payHasSavedDepositMethod?: boolean
84
84
  }
85
85
 
86
+ export type PredictionsProperties = {
87
+ fundedState?: "funded" | "non_funded"
88
+ entrySource?: "tab_nav" | "deeplink" | "p2p_share" | "rewards_card" | "home_recommendation"
89
+ userType?: string
90
+ predictionAccountActivated?: boolean
91
+ viewMode?: "card" | "list"
92
+ provider?: "polymarket" | "kalshi"
93
+ marketType?: "binary" | "multi"
94
+ balanceUsdAtEvent?: number
95
+ }
96
+
86
97
  export type Web3Properties = {
87
98
  dappDomain?: string
88
99
  }
@@ -879,6 +890,169 @@ export interface AnalyticsEventMap {
879
890
  "PayPayQRScan": {}
880
891
  "PayPayQRScannerView": {}
881
892
  "PayPayView": {}
893
+ "PayPredictionsAccountActivate": {} & PredictionsProperties
894
+ "PayPredictionsBuyAbandonDuringProcessing": {
895
+ marketId?: string
896
+ optionId?: string
897
+ amountUsd?: number
898
+ msInPendingState?: number
899
+ } & PredictionsProperties
900
+ "PayPredictionsBuyConfirm": {
901
+ marketId?: string
902
+ optionId?: string
903
+ amountUsd?: number
904
+ feeUsd?: number
905
+ rewardPct?: number
906
+ expectedPayoutUsd?: number
907
+ } & PredictionsProperties
908
+ "PayPredictionsBuyFail": {
909
+ marketId?: string
910
+ optionId?: string
911
+ amountUsd?: number
912
+ failureReason?: "provider_error" | "network" | "market_closed" | "price_changed" | "other"
913
+ errorCode?: string
914
+ } & PredictionsProperties
915
+ "PayPredictionsBuyFundTrigger": {
916
+ marketId?: string
917
+ amountAttemptedUsd?: number
918
+ } & PredictionsProperties
919
+ "PayPredictionsBuyInsufficientFunds": {
920
+ marketId?: string
921
+ amountAttemptedUsd?: number
922
+ balanceUsd?: number
923
+ shortfallUsd?: number
924
+ } & PredictionsProperties
925
+ "PayPredictionsBuyOptionChange": {
926
+ marketId?: string
927
+ fromOptionId?: string
928
+ toOptionId?: string
929
+ fromOptionPrice?: number
930
+ toOptionPrice?: number
931
+ amountEnteredUsd?: number
932
+ } & PredictionsProperties
933
+ "PayPredictionsBuyStart": {
934
+ marketId?: string
935
+ optionSelected?: string
936
+ optionId?: string
937
+ optionPrice?: number
938
+ rewardPct?: number
939
+ availableBalanceUsd?: number
940
+ isPositionExisting?: boolean
941
+ } & PredictionsProperties
942
+ "PayPredictionsBuySuccess": {
943
+ marketId?: string
944
+ optionId?: string
945
+ positionId?: string
946
+ amountUsd?: number
947
+ feeUsd?: number
948
+ rewardPct?: number
949
+ expectedPayoutUsd?: number
950
+ isFirstBuy?: boolean
951
+ latencyMs?: number
952
+ } & PredictionsProperties
953
+ "PayPredictionsFundEntry": {
954
+ source?: "empty_state" | "insufficient_funds" | "proactive_top_up"
955
+ marketId?: string
956
+ amountPrefilledUsd?: number
957
+ } & PredictionsProperties
958
+ "PayPredictionsHistoryItemTap": {
959
+ positionId?: string
960
+ marketId?: string
961
+ positionStatus?: "active" | "won" | "lost" | "void"
962
+ } & PredictionsProperties
963
+ "PayPredictionsHistoryView": {
964
+ positionsCount?: number
965
+ activeCount?: number
966
+ resolvedCount?: number
967
+ } & PredictionsProperties
968
+ "PayPredictionsMarketDetailOpen": {
969
+ marketId?: string
970
+ sourceSurface?: string
971
+ } & PredictionsProperties
972
+ "PayPredictionsMarketResolve": {
973
+ positionId?: string
974
+ marketId?: string
975
+ outcome?: "won" | "lost" | "void"
976
+ payoutUsd?: number
977
+ costBasisUsd?: number
978
+ realizedPnlUsd?: number
979
+ source?: "client"
980
+ } & PredictionsProperties
981
+ "PayPredictionsMarketSwipe": {
982
+ marketId?: string
983
+ direction?: "left" | "right" | "up" | "down"
984
+ viewDurationMs?: number
985
+ } & PredictionsProperties
986
+ "PayPredictionsMarketView": {
987
+ marketId?: string
988
+ marketCategory?: string
989
+ marketQuestion?: string
990
+ optionsCount?: number
991
+ timeRemainingSeconds?: number
992
+ marketVolumeUsd?: number
993
+ surface?: "feed" | "detail" | "history" | "search_results"
994
+ position?: number
995
+ } & PredictionsProperties
996
+ "PayPredictionsOpen": {
997
+ isFirstOpen?: boolean
998
+ } & PredictionsProperties
999
+ "PayPredictionsPositionsSeeAll": {
1000
+ activePositionsCount?: number
1001
+ } & PredictionsProperties
1002
+ "PayPredictionsPositionTap": {
1003
+ positionId?: string
1004
+ marketId?: string
1005
+ unrealizedPnlPct?: number
1006
+ } & PredictionsProperties
1007
+ "PayPredictionsPositionView": {
1008
+ positionId?: string
1009
+ marketId?: string
1010
+ currentValueUsd?: number
1011
+ costBasisUsd?: number
1012
+ unrealizedPnlUsd?: number
1013
+ unrealizedPnlPct?: number
1014
+ timeToResolutionSeconds?: number
1015
+ } & PredictionsProperties
1016
+ "PayPredictionsSearch": {
1017
+ queryLength?: number
1018
+ resultsCount?: number
1019
+ } & PredictionsProperties
1020
+ "PayPredictionsSellFail": {
1021
+ positionId?: string
1022
+ marketId?: string
1023
+ sellAmountUsd?: number
1024
+ failureReason?: "provider_error" | "network" | "market_closed" | "price_changed" | "other"
1025
+ errorCode?: string
1026
+ } & PredictionsProperties
1027
+ "PayPredictionsSellStart": {
1028
+ positionId?: string
1029
+ marketId?: string
1030
+ currentPositionValueUsd?: number
1031
+ costBasisUsd?: number
1032
+ unrealizedPnlUsd?: number
1033
+ } & PredictionsProperties
1034
+ "PayPredictionsSellSuccess": {
1035
+ positionId?: string
1036
+ marketId?: string
1037
+ sellAmountUsd?: number
1038
+ realizedPnlUsd?: number
1039
+ isFirstSell?: boolean
1040
+ } & PredictionsProperties
1041
+ "PayPredictionsTabSelect": {
1042
+ tabName?: string
1043
+ tabPosition?: number
1044
+ } & PredictionsProperties
1045
+ "PayPredictionsViewModeChange": {
1046
+ fromMode?: "card" | "list"
1047
+ toMode?: "card" | "list"
1048
+ } & PredictionsProperties
1049
+ "PayPredictionsWinningsClaim": {
1050
+ positionId?: string
1051
+ marketId?: string
1052
+ payoutUsd?: number
1053
+ claimMethod?: "auto" | "manual"
1054
+ isFirstClaim?: boolean
1055
+ } & PredictionsProperties
882
1056
  "PayProfileDirectDepositShareTap": {}
883
1057
  "PayProfileDirectDepositView": {}
884
1058
  "PayProfilePaymentMethodsAdd": {
package/lib/index.js CHANGED
@@ -1,2 +1,7 @@
1
- import validateEvent from './main.schemasafe.json';
2
- export default validateEvent;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const main_schemasafe_json_1 = __importDefault(require("./main.schemasafe.json"));
7
+ exports.default = main_schemasafe_json_1.default;
@@ -656,6 +656,87 @@
656
656
  {
657
657
  "$ref": "performance-view-render#"
658
658
  },
659
+ {
660
+ "$ref": "pay-predictions-account-activate#"
661
+ },
662
+ {
663
+ "$ref": "pay-predictions-buy-abandon-during-processing#"
664
+ },
665
+ {
666
+ "$ref": "pay-predictions-buy-confirm#"
667
+ },
668
+ {
669
+ "$ref": "pay-predictions-buy-fail#"
670
+ },
671
+ {
672
+ "$ref": "pay-predictions-buy-fund-trigger#"
673
+ },
674
+ {
675
+ "$ref": "pay-predictions-buy-insufficient-funds#"
676
+ },
677
+ {
678
+ "$ref": "pay-predictions-buy-option-change#"
679
+ },
680
+ {
681
+ "$ref": "pay-predictions-buy-start#"
682
+ },
683
+ {
684
+ "$ref": "pay-predictions-buy-success#"
685
+ },
686
+ {
687
+ "$ref": "pay-predictions-fund-entry#"
688
+ },
689
+ {
690
+ "$ref": "pay-predictions-history-item-tap#"
691
+ },
692
+ {
693
+ "$ref": "pay-predictions-history-view#"
694
+ },
695
+ {
696
+ "$ref": "pay-predictions-market-detail-open#"
697
+ },
698
+ {
699
+ "$ref": "pay-predictions-market-resolve#"
700
+ },
701
+ {
702
+ "$ref": "pay-predictions-market-swipe#"
703
+ },
704
+ {
705
+ "$ref": "pay-predictions-market-view#"
706
+ },
707
+ {
708
+ "$ref": "pay-predictions-open#"
709
+ },
710
+ {
711
+ "$ref": "pay-predictions-position-tap#"
712
+ },
713
+ {
714
+ "$ref": "pay-predictions-position-view#"
715
+ },
716
+ {
717
+ "$ref": "pay-predictions-positions-see-all#"
718
+ },
719
+ {
720
+ "$ref": "pay-predictions-search#"
721
+ },
722
+ {
723
+ "$ref": "pay-predictions-sell-fail#"
724
+ },
725
+ {
726
+ "$ref": "pay-predictions-sell-start#"
727
+ },
728
+ {
729
+ "$ref": "pay-predictions-sell-success#"
730
+ },
731
+ {
732
+ "$ref": "pay-predictions-tab-select#"
733
+ },
734
+ {
735
+ "$ref": "pay-predictions-view-mode-change#"
736
+ },
737
+ {
738
+ "$ref": "pay-predictions-winnings-claim#"
739
+ },
659
740
  {
660
741
  "$ref": "profile-features-order-change#"
661
742
  },
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsAccountActivate"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {},
20
+ "unevaluatedProperties": false
21
+ }
22
+ },
23
+ "unevaluatedProperties": false,
24
+ "required": ["event", "properties"]
25
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsBuyAbandonDuringProcessing"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {
20
+ "market_id": {
21
+ "type": "string",
22
+ "format": "any-string"
23
+ },
24
+ "option_id": {
25
+ "type": "string",
26
+ "format": "any-string"
27
+ },
28
+ "amount_usd": {
29
+ "type": "number",
30
+ "minimum": 0
31
+ },
32
+ "ms_in_pending_state": {
33
+ "type": "number",
34
+ "minimum": 0
35
+ }
36
+ },
37
+ "unevaluatedProperties": false
38
+ }
39
+ },
40
+ "unevaluatedProperties": false,
41
+ "required": ["event", "properties"]
42
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsBuyConfirm"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {
20
+ "market_id": {
21
+ "type": "string",
22
+ "format": "any-string"
23
+ },
24
+ "option_id": {
25
+ "type": "string",
26
+ "format": "any-string"
27
+ },
28
+ "amount_usd": {
29
+ "type": "number",
30
+ "minimum": 0
31
+ },
32
+ "fee_usd": {
33
+ "type": "number",
34
+ "minimum": 0
35
+ },
36
+ "reward_pct": {
37
+ "type": "number",
38
+ "minimum": 0
39
+ },
40
+ "expected_payout_usd": {
41
+ "type": "number",
42
+ "minimum": 0
43
+ }
44
+ },
45
+ "unevaluatedProperties": false
46
+ }
47
+ },
48
+ "unevaluatedProperties": false,
49
+ "required": ["event", "properties"]
50
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsBuyFail"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {
20
+ "market_id": {
21
+ "type": "string",
22
+ "format": "any-string"
23
+ },
24
+ "option_id": {
25
+ "type": "string",
26
+ "format": "any-string"
27
+ },
28
+ "amount_usd": {
29
+ "type": "number",
30
+ "minimum": 0
31
+ },
32
+ "failure_reason": {
33
+ "enum": ["provider_error", "network", "market_closed", "price_changed", "other"]
34
+ },
35
+ "error_code": {
36
+ "type": "string",
37
+ "format": "any-string"
38
+ }
39
+ },
40
+ "unevaluatedProperties": false
41
+ }
42
+ },
43
+ "unevaluatedProperties": false,
44
+ "required": ["event", "properties"]
45
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsBuyFundTrigger"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {
20
+ "market_id": {
21
+ "type": "string",
22
+ "format": "any-string"
23
+ },
24
+ "amount_attempted_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,42 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsBuyInsufficientFunds"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {
20
+ "market_id": {
21
+ "type": "string",
22
+ "format": "any-string"
23
+ },
24
+ "amount_attempted_usd": {
25
+ "type": "number",
26
+ "minimum": 0
27
+ },
28
+ "balance_usd": {
29
+ "type": "number",
30
+ "minimum": 0
31
+ },
32
+ "shortfall_usd": {
33
+ "type": "number",
34
+ "minimum": 0
35
+ }
36
+ },
37
+ "unevaluatedProperties": false
38
+ }
39
+ },
40
+ "unevaluatedProperties": false,
41
+ "required": ["event", "properties"]
42
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsBuyOptionChange"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {
20
+ "market_id": {
21
+ "type": "string",
22
+ "format": "any-string"
23
+ },
24
+ "from_option_id": {
25
+ "type": "string",
26
+ "format": "any-string"
27
+ },
28
+ "to_option_id": {
29
+ "type": "string",
30
+ "format": "any-string"
31
+ },
32
+ "from_option_price": {
33
+ "type": "number"
34
+ },
35
+ "to_option_price": {
36
+ "type": "number"
37
+ },
38
+ "amount_entered_usd": {
39
+ "type": "number",
40
+ "minimum": 0
41
+ }
42
+ },
43
+ "unevaluatedProperties": false
44
+ }
45
+ },
46
+ "unevaluatedProperties": false,
47
+ "required": ["event", "properties"]
48
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "event": {
6
+ "const": "PayPredictionsBuyStart"
7
+ },
8
+ "properties": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "common-properties#"
12
+ },
13
+ {
14
+ "$ref": "common-properties#/definitions/predictionsProperties"
15
+ }
16
+ ],
17
+ "type": "object",
18
+ "required": [],
19
+ "properties": {
20
+ "market_id": {
21
+ "type": "string",
22
+ "format": "any-string"
23
+ },
24
+ "option_selected": {
25
+ "type": "string",
26
+ "format": "any-string"
27
+ },
28
+ "option_id": {
29
+ "type": "string",
30
+ "format": "any-string"
31
+ },
32
+ "option_price": {
33
+ "type": "number"
34
+ },
35
+ "reward_pct": {
36
+ "type": "number",
37
+ "minimum": 0
38
+ },
39
+ "available_balance_usd": {
40
+ "type": "number",
41
+ "minimum": 0
42
+ },
43
+ "is_position_existing": {
44
+ "type": "boolean"
45
+ }
46
+ },
47
+ "unevaluatedProperties": false
48
+ }
49
+ },
50
+ "unevaluatedProperties": false,
51
+ "required": ["event", "properties"]
52
+ }