@idosgames/core 0.7.0 → 0.9.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.
- package/CHANGELOG.md +59 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +390 -33
- package/dist/index.d.ts +390 -33
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -74,10 +74,10 @@ declare const IapStore$1: {
|
|
|
74
74
|
readonly AppleAppStore: "AppleAppStore";
|
|
75
75
|
};
|
|
76
76
|
type IapStore$1 = (typeof IapStore$1)[keyof typeof IapStore$1];
|
|
77
|
-
declare const zIapStore: z.ZodEnum<{
|
|
77
|
+
declare const zIapStore: z.ZodCatch<z.ZodEnum<{
|
|
78
78
|
GooglePlay: "GooglePlay";
|
|
79
79
|
AppleAppStore: "AppleAppStore";
|
|
80
|
-
}
|
|
80
|
+
}>>;
|
|
81
81
|
declare const EventTokenType: {
|
|
82
82
|
readonly TimedEvent: "TimedEvent";
|
|
83
83
|
readonly Quest: "Quest";
|
|
@@ -220,11 +220,32 @@ interface EventTokenMetaData {
|
|
|
220
220
|
JoinedAtUtc?: string;
|
|
221
221
|
LastEarnedAtUtc?: string;
|
|
222
222
|
}
|
|
223
|
-
/**
|
|
223
|
+
/**
|
|
224
|
+
* Milestone state of a per-cycle token (points-track / leaderboard / quest): MilestoneID -> what
|
|
225
|
+
* already happened for that milestone.
|
|
226
|
+
*
|
|
227
|
+
* One container instead of parallel claimed/unlocked/granted-tier lists — mirrors the server
|
|
228
|
+
* (`EventTokenMilestoneData.Claims`). The base part is claimed once, while premium tiers arrive as
|
|
229
|
+
* the player buys or upgrades a pass, so both live in the same entry.
|
|
230
|
+
*/
|
|
224
231
|
interface EventTokenMilestoneData {
|
|
225
|
-
|
|
226
|
-
UnlockedIDs?: string[];
|
|
232
|
+
Claims?: Record<string, MilestoneClaimEntry>;
|
|
227
233
|
}
|
|
234
|
+
/** What happened for a single milestone. */
|
|
235
|
+
interface MilestoneClaimEntry {
|
|
236
|
+
/** When the base part was claimed. Absent = not claimed. */
|
|
237
|
+
ClaimedAt?: string | null;
|
|
238
|
+
/** Keys of granted premium tier bundles (`{RequiredPremiumID|*}#{MinPremiumTier}`). */
|
|
239
|
+
PremiumTiers?: string[];
|
|
240
|
+
/** Threshold reached but the claim is still gated by the claim mode. */
|
|
241
|
+
Unlocked?: boolean;
|
|
242
|
+
}
|
|
243
|
+
/** Is the base part of the milestone claimed. */
|
|
244
|
+
declare function isMilestoneClaimed(milestone: EventTokenMilestoneData | null | undefined, milestoneID: string): boolean;
|
|
245
|
+
/** IDs of milestones whose base part is claimed. */
|
|
246
|
+
declare function claimedMilestoneIDs(milestone: EventTokenMilestoneData | null | undefined): string[];
|
|
247
|
+
/** Keys of premium tiers already granted for the milestone. */
|
|
248
|
+
declare function grantedPremiumTiers(milestone: EventTokenMilestoneData | null | undefined, milestoneID: string): string[];
|
|
228
249
|
interface UserEventTokenProgress {
|
|
229
250
|
Balance?: EventTokenBalanceData;
|
|
230
251
|
Daily?: EventTokenDailyData;
|
|
@@ -311,7 +332,7 @@ type PresetBinding = { PresetID?: null | string; Remove?: null | Array<string>;
|
|
|
311
332
|
type SeasonTierRewardBundle = { SeasonChainID?: null | string; MinSeasonTier?: null | number; Rewards?: null | ResourceGrant; [key: string]: unknown; };
|
|
312
333
|
type SeasonTierRewardMultiplier = { SeasonChainID?: null | string; MinSeasonTier?: null | number; Multiplier?: null | number; [key: string]: unknown; };
|
|
313
334
|
type SeasonTierRewardSet = { Bundles?: null | Array<SeasonTierRewardBundle>; Multipliers?: null | Array<SeasonTierRewardMultiplier>; [key: string]: unknown; };
|
|
314
|
-
type RewardProgressionMultiplierSpec = { Source?: null | 'BoardStageLevel' | 'BoardRank' | 'BoardCyclesCompleted' | 'CharacterLevel' | 'SeasonTier' | 'EventTokenTotalEarned' | 'VirtualCurrencyBalance' | 'PlayerLevel'; SourceKey?: null | string;
|
|
335
|
+
type RewardProgressionMultiplierSpec = { Source?: null | 'BoardStageLevel' | 'BoardRank' | 'BoardCyclesCompleted' | 'CharacterLevel' | 'SeasonTier' | 'EventTokenTotalEarned' | 'VirtualCurrencyBalance' | 'PlayerLevel'; SourceKey?: null | string; Curve?: null | ScalarCurveSpec; Anchor?: null | number; IncludeRewards?: null | ResourceBundle; ExcludeRewards?: null | ResourceBundle; [key: string]: unknown; };
|
|
315
336
|
type MilestoneDefinition = { MilestoneID?: null | string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; RequiredProgress?: null | number; Rewards?: null | ResourceGrant; BonusRewards?: null | ResourceGrant; SeasonTierRewards?: null | SeasonTierRewardSet; SortOrder?: null | number; IsFeatured?: null | boolean; [key: string]: unknown; };
|
|
316
337
|
/**
|
|
317
338
|
* Thin wrapper for a reusable milestone set (port of Core/Milestone/Models/MilestoneSet.cs,
|
|
@@ -922,7 +943,7 @@ interface UserPremiumState {
|
|
|
922
943
|
ActivatedTrialIDs?: string[];
|
|
923
944
|
MaxActiveTier?: number;
|
|
924
945
|
}
|
|
925
|
-
type PremiumDefinition = { PremiumID?: null | string; DisplayName?: null | string; Tier?: null | number; DurationDays?: null | number; TrialDurationDays?: null | number; PriceOptions?: null | PriceOptions;
|
|
946
|
+
type PremiumDefinition = { PremiumID?: null | string; DisplayName?: null | string; Tier?: null | number; DurationDays?: null | number; TrialDurationDays?: null | number; PriceOptions?: null | PriceOptions; Benefits?: null | Record<string, string>; [key: string]: unknown; };
|
|
926
947
|
interface PremiumDefinitions {
|
|
927
948
|
Definitions?: Record<string, PremiumDefinition> | null;
|
|
928
949
|
}
|
|
@@ -972,21 +993,21 @@ type UnlockCharactersBatchResponse = { ServerTimeUtc: string; Items: Array<{ Id:
|
|
|
972
993
|
type UpgradeCharacterLevelsBatchResponse = { ServerTimeUtc: string; Items: Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | UpgradeCharacterLevelResponse; }>; Resources?: null | ResourceOperation; };
|
|
973
994
|
type UpgradeStatLevelsBatchResponse = { ServerTimeUtc: string; Items: Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | UpgradeStatLevelResponse; }>; Resources?: null | ResourceOperation; };
|
|
974
995
|
type StatRequirement = { RequiredStatID: string; RequiredLevel: number; [key: string]: unknown; };
|
|
975
|
-
type StatDefinition = { StatID: string; TypeID?: null | string; DisplayName?: null | string; Description?: null | string; MaxLevel?: null | number; Weight?: null | number; PriceOptions?: null | PriceOptions;
|
|
976
|
-
type CharacterLevelDefinition = { Level?: null | number; PriceOptions?: null | PriceOptions; GlobalStatMultiplier?: null | number; StatMaxLevelMultiplier?: null | number; AssetPaths?: null | Record<string, string>; [key: string]: unknown; };
|
|
996
|
+
type StatDefinition = { StatID: string; TypeID?: null | string; DisplayName?: null | string; Description?: null | string; MaxLevel?: null | number; Weight?: null | number; PriceOptions?: null | PriceOptions; CostCurve?: null | ScalarCurveSpec; BaseStatValue?: null | number; ValueCurve?: null | ScalarCurveSpec; RankCurve?: null | ScalarCurveSpec; Requirements?: null | Array<StatRequirement>; AssetPaths?: null | Record<string, string>; [key: string]: unknown; };
|
|
977
997
|
type CharacterEquipmentSlot = { SlotID: string; MinCharacterLevel?: null | number; StatRequirements?: null | Array<StatRequirement>; AllowedRarityIDs?: null | Array<string>; AllowedItemTags?: null | Array<string>; MinItemLevel?: null | number; MaxItemLevel?: null | number; [key: string]: unknown; };
|
|
978
998
|
type CharacterEquipment = { Slots?: null | Record<string, CharacterEquipmentSlot>; [key: string]: unknown; };
|
|
979
999
|
type CharacterIdentity = { DisplayName?: null | string; Description?: null | string; Lore?: null | string; SortOrder?: null | number; AssetPaths?: null | Record<string, string>; [key: string]: unknown; };
|
|
980
1000
|
type CharacterClassification = { ClassID?: null | string; RarityID?: null | string; Tags?: null | Array<string>; [key: string]: unknown; };
|
|
981
1001
|
type CharacterUnlock = { UnlockedByDefault?: null | boolean; PriceOptions?: null | PriceOptions; [key: string]: unknown; };
|
|
982
|
-
type
|
|
1002
|
+
type CharacterRankLadder = { MaxRank?: null | number; FirstPaidRank?: null | number; PriceOptions?: null | PriceOptions; CostCurve?: null | ScalarCurveSpec; [key: string]: unknown; };
|
|
1003
|
+
type CharacterDefinition = { CharacterID: string; Identity?: null | CharacterIdentity; Classification?: null | CharacterClassification; Unlock?: null | CharacterUnlock; Presets?: null | { Stats?: null | PresetBinding; Levels?: null | PresetBinding; Equipment?: null | PresetBinding; [key: string]: unknown; }; Equipment?: null | CharacterEquipment; Stats?: null | Record<string, StatDefinition>; RankLadder?: null | CharacterRankLadder; RankStatCurve?: null | ScalarCurveSpec; StatMaxLevelCurve?: null | ScalarCurveSpec; [key: string]: unknown; };
|
|
983
1004
|
type StatsPreset = { Stats?: null | Record<string, StatDefinition>; [key: string]: unknown; };
|
|
984
|
-
type LevelsPreset = {
|
|
1005
|
+
type LevelsPreset = { RankLadder?: null | CharacterRankLadder; [key: string]: unknown; };
|
|
985
1006
|
type EquipmentPreset = { Equipment?: null | CharacterEquipment; [key: string]: unknown; };
|
|
986
1007
|
/**
|
|
987
|
-
* Registry of shared (reusable) character setting sets (stats /
|
|
988
|
-
* Characters reference them via CharacterDefinition.Presets.
|
|
989
|
-
*
|
|
1008
|
+
* Registry of shared (reusable) character setting sets (stats / rank ladder / equipment).
|
|
1009
|
+
* Characters reference them via CharacterDefinition.Presets. Stats and Equipment merge with the
|
|
1010
|
+
* inline block by key (StatID / SlotID); the rank ladder is replaced whole, not merged.
|
|
990
1011
|
*/
|
|
991
1012
|
interface CharacterPresetRegistry {
|
|
992
1013
|
Stats?: Record<string, StatsPreset> | null;
|
|
@@ -1117,7 +1138,7 @@ declare const MatchAction: {
|
|
|
1117
1138
|
readonly GetDefinitions: "GetDefinitions";
|
|
1118
1139
|
};
|
|
1119
1140
|
type MatchAction = (typeof MatchAction)[keyof typeof MatchAction];
|
|
1120
|
-
type InstantBattleSettings = { StatMapping?: null | { HealthStatID?: null | string; DamageStatID?: null | string; ArmorStatID?: null | string; AttackSpeedStatID?: null | string; CritChanceStatID?: null | string; CritDamageStatID?: null | string; DodgeStatID?: null | string; AllMightStatID?: null | string; [key: string]: unknown; }; Combat?: null | { MaxRounds?: null | number; BlockDamageMultiplier?: null | number; MinHitDamage?: null | number; DefaultCritMultiplier?: null | number; MaxCritChance?: null | number; MaxDodgeChance?: null | number; [key: string]: unknown; }; Formula?: null | { Health?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{
|
|
1141
|
+
type InstantBattleSettings = { StatMapping?: null | { HealthStatID?: null | string; DamageStatID?: null | string; ArmorStatID?: null | string; AttackSpeedStatID?: null | string; CritChanceStatID?: null | string; CritDamageStatID?: null | string; DodgeStatID?: null | string; AllMightStatID?: null | string; [key: string]: unknown; }; Combat?: null | { MaxRounds?: null | number; BlockDamageMultiplier?: null | number; MinHitDamage?: null | number; DefaultCritMultiplier?: null | number; MaxCritChance?: null | number; MaxDodgeChance?: null | number; ArmorMode?: null | 'Flat' | 'PercentReduction'; MaxArmorReduction?: null | number; [key: string]: unknown; }; Formula?: null | { Health?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Kind?: null | 'Curve' | 'Constant' | 'Variable'; Constant?: null | number; VariableID?: null | string; Argument?: null | string; Curve?: null | ScalarCurveSpec; OnePlus?: null | boolean; [key: string]: unknown; }>; [key: string]: unknown; }>; [key: string]: unknown; }; Damage?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Kind?: null | 'Curve' | 'Constant' | 'Variable'; Constant?: null | number; VariableID?: null | string; Argument?: null | string; Curve?: null | ScalarCurveSpec; OnePlus?: null | boolean; [key: string]: unknown; }>; [key: string]: unknown; }>; [key: string]: unknown; }; Armor?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Kind?: null | 'Curve' | 'Constant' | 'Variable'; Constant?: null | number; VariableID?: null | string; Argument?: null | string; Curve?: null | ScalarCurveSpec; OnePlus?: null | boolean; [key: string]: unknown; }>; [key: string]: unknown; }>; [key: string]: unknown; }; AttackSpeed?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Kind?: null | 'Curve' | 'Constant' | 'Variable'; Constant?: null | number; VariableID?: null | string; Argument?: null | string; Curve?: null | ScalarCurveSpec; OnePlus?: null | boolean; [key: string]: unknown; }>; [key: string]: unknown; }>; [key: string]: unknown; }; CritChance?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Kind?: null | 'Curve' | 'Constant' | 'Variable'; Constant?: null | number; VariableID?: null | string; Argument?: null | string; Curve?: null | ScalarCurveSpec; OnePlus?: null | boolean; [key: string]: unknown; }>; [key: string]: unknown; }>; [key: string]: unknown; }; CritDamage?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Kind?: null | 'Curve' | 'Constant' | 'Variable'; Constant?: null | number; VariableID?: null | string; Argument?: null | string; Curve?: null | ScalarCurveSpec; OnePlus?: null | boolean; [key: string]: unknown; }>; [key: string]: unknown; }>; [key: string]: unknown; }; Dodge?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Kind?: null | 'Curve' | 'Constant' | 'Variable'; Constant?: null | number; VariableID?: null | string; Argument?: null | string; Curve?: null | ScalarCurveSpec; OnePlus?: null | boolean; [key: string]: unknown; }>; [key: string]: unknown; }>; [key: string]: unknown; }; [key: string]: unknown; }; [key: string]: unknown; };
|
|
1121
1142
|
type MatchEconomySettings = { BurnRate?: null | number; [key: string]: unknown; };
|
|
1122
1143
|
type MatchEntrySettings = { AllowVirtualCurrency?: null | boolean; AllowItems?: null | boolean; AllowEventTokens?: null | boolean; Allowed?: null | Array<{ Kind?: null | 'Item' | 'VirtualCurrency' | 'EventToken'; CurrencyID?: null | string; CatalogID?: null | string; ItemID?: null | string; TokenType?: null | 'TimedEvent' | 'Quest' | 'Leaderboard' | 'CoopEvent' | 'Season'; EntityID?: null | string; MinAmount?: null | number; MaxAmount?: null | number; [key: string]: unknown; }>; MaxPositions?: null | number; [key: string]: unknown; };
|
|
1123
1144
|
type MatchCreationSettings = { PriceOptions?: null | PriceOptions; RefundCostOnCancel?: null | boolean; MaxOpenMatches?: null | number; Limits?: null | LimitSpec; AllowPrivateMatches?: null | boolean; MaxMatchesPerOpponentPerDay?: null | number; [key: string]: unknown; };
|
|
@@ -1508,8 +1529,8 @@ interface ReferralInviteRewardState {
|
|
|
1508
1529
|
interface UserReferralState {
|
|
1509
1530
|
SubscribedToUserID?: string | null;
|
|
1510
1531
|
ActivationRewardGranted?: boolean;
|
|
1532
|
+
/** How many players activated this player's code. */
|
|
1511
1533
|
FollowersCount?: number;
|
|
1512
|
-
FollowerIDs?: string[];
|
|
1513
1534
|
InviteRewardStates?: Record<string, ReferralInviteRewardState>;
|
|
1514
1535
|
UpdatedAt?: string;
|
|
1515
1536
|
[key: string]: unknown;
|
|
@@ -1564,10 +1585,40 @@ declare const TimelineEventType: {
|
|
|
1564
1585
|
type TimelineEventType = (typeof TimelineEventType)[keyof typeof TimelineEventType];
|
|
1565
1586
|
type FriendPublicProfile = { UserID: string; PublicData?: null | UserPublicDataModel; };
|
|
1566
1587
|
type SocialTimelineEvent = { OwnerUserID?: null | string; ActorUserID?: null | string; ActorProfile?: null | UserPublicDataModel; Type?: null | string; CreatedAt?: null | string; OwnerImpact?: null | ResourceOperation; IsBlocked?: null | boolean; TargetObjectName?: null | string; [key: string]: unknown; };
|
|
1588
|
+
/**
|
|
1589
|
+
* The player's social state.
|
|
1590
|
+
*
|
|
1591
|
+
* ⚠ **Two halves with different origins — do not confuse them.**
|
|
1592
|
+
*
|
|
1593
|
+
* The **counters** are what the server actually sends inside the player state. Friendships and
|
|
1594
|
+
* requests live in their own edge collection now (they used to be three arrays inside the player
|
|
1595
|
+
* document, which meant a third party — whoever sent you a request — could grow *your* document,
|
|
1596
|
+
* unbounded, and it was re-read on every one of *your* calls). Only the sizes travel with state.
|
|
1597
|
+
*
|
|
1598
|
+
* The **arrays below the counters are a local SDK cache**, not server state. Nothing fills them on
|
|
1599
|
+
* login: `getFriendsList()` fills `Accepted`, `getIncomingRequests()` fills `IncomingRequests`,
|
|
1600
|
+
* `getTimeline()` fills `Timeline`, and `OutgoingRequests` only ever grows client-side from your
|
|
1601
|
+
* own `sendFriendRequest()` calls. Consequence to plan the UI around: **until you call them, the
|
|
1602
|
+
* arrays are empty even for a player with friends** — while `FriendsCount` is already correct.
|
|
1603
|
+
* They are also lost on restart, because nothing re-sends them.
|
|
1604
|
+
*
|
|
1605
|
+
* Rule of thumb: render badges and counts from the counters, render lists only on a screen that
|
|
1606
|
+
* loads them.
|
|
1607
|
+
*/
|
|
1567
1608
|
interface UserSocialState {
|
|
1609
|
+
/** Number of friends. Server-sent, always current. */
|
|
1610
|
+
FriendsCount?: number;
|
|
1611
|
+
/** Number of requests awaiting this player's answer. Server-sent, always current. */
|
|
1612
|
+
IncomingCount?: number;
|
|
1613
|
+
/** Number of requests this player sent that are still unanswered. Server-sent. */
|
|
1614
|
+
OutgoingCount?: number;
|
|
1615
|
+
/** Local cache — friend UserIDs. Empty until `getFriendsList()`. */
|
|
1568
1616
|
Accepted?: string[];
|
|
1617
|
+
/** Local cache — UserIDs who requested this player. Empty until `getIncomingRequests()`. */
|
|
1569
1618
|
IncomingRequests?: string[];
|
|
1619
|
+
/** Local cache — UserIDs this player sent a request to. Client-side only; never server-sent. */
|
|
1570
1620
|
OutgoingRequests?: string[];
|
|
1621
|
+
/** Local cache — activity feed. Empty until `getTimeline()`. */
|
|
1571
1622
|
Timeline?: SocialTimelineEvent[];
|
|
1572
1623
|
}
|
|
1573
1624
|
type FriendsListResponse = { Friends?: null | Array<FriendPublicProfile>; };
|
|
@@ -1581,6 +1632,7 @@ interface SocialRequest extends BaseRequest {
|
|
|
1581
1632
|
declare const SocialAction: {
|
|
1582
1633
|
readonly GetFriendsList: "GetFriendsList";
|
|
1583
1634
|
readonly GetIncomingRequests: "GetIncomingRequests";
|
|
1635
|
+
readonly GetOutgoingRequests: "GetOutgoingRequests";
|
|
1584
1636
|
readonly GetRecommendedFriends: "GetRecommendedFriends";
|
|
1585
1637
|
readonly SendFriendRequest: "SendFriendRequest";
|
|
1586
1638
|
readonly AcceptFriendRequest: "AcceptFriendRequest";
|
|
@@ -1739,6 +1791,7 @@ type AttackOutcome = (typeof AttackOutcome)[keyof typeof AttackOutcome];
|
|
|
1739
1791
|
type BuildingState = { SlotIndex: number; Level?: null | number; IsDamaged?: null | boolean; MaxLevelRewardClaimed?: null | boolean; [key: string]: unknown; };
|
|
1740
1792
|
type HeistCell = { Symbol?: null | string | number; OnOpenBonus?: null | ResourceGrant; BonusTag?: null | string; [key: string]: unknown; };
|
|
1741
1793
|
type SpecialGradationTierSnapshot = { ElapsedSeconds?: null | number; Reward?: null | ResourceGrant; [key: string]: unknown; };
|
|
1794
|
+
type SpecialStatMetricSnapshot = { MetricID?: null | string; MaxValuePerClaim?: null | number; TierMode?: null | string; ApplyClaimMultiplier?: null | boolean; Tiers?: null | Array<{ RequiredValue?: null | number; Reward?: null | ResourceGrant; [key: string]: unknown; }>; Rate?: null | { Reward?: null | ResourceGrant; MetricPerReward?: null | number; MaxRewardUnits?: null | number; [key: string]: unknown; }; [key: string]: unknown; };
|
|
1742
1795
|
interface SpecialPendingState {
|
|
1743
1796
|
ModeID?: string;
|
|
1744
1797
|
ChoiceID?: string | null;
|
|
@@ -1747,9 +1800,15 @@ interface SpecialPendingState {
|
|
|
1747
1800
|
DurationSeconds?: number | null;
|
|
1748
1801
|
AdViewsUsed?: number;
|
|
1749
1802
|
AccumulatedMultiplier?: number;
|
|
1803
|
+
/** Null = the choice has no time axis; the whole reward comes from RunStatTiers. */
|
|
1750
1804
|
GradationTiers?: SpecialGradationTierSnapshot[] | null;
|
|
1805
|
+
/** Snapshot of SpecialGradationConfig.TierMode after defaulting. */
|
|
1806
|
+
GradationTierMode?: string | null;
|
|
1751
1807
|
BelowFirstTierReward?: ResourceGrant | null;
|
|
1752
1808
|
Multipliers?: SpecialClaimMultipliers | null;
|
|
1809
|
+
/** Run-statistics ladders frozen at Choose. Null = the choice has no run-stat rewards, or the
|
|
1810
|
+
* pending predates the feature; both mean the claim pays by the time ladder alone. */
|
|
1811
|
+
RunStatTiers?: SpecialStatMetricSnapshot[] | null;
|
|
1753
1812
|
/** Offer choices stashed from the roll's SpecialModeOffer so the UI can render them in-session
|
|
1754
1813
|
* (the server's GetUserBoardState pending only carries ModeID). */
|
|
1755
1814
|
Choices?: SpecialModeChoice[] | null;
|
|
@@ -1803,7 +1862,8 @@ interface HeistGridBonusConfig {
|
|
|
1803
1862
|
}
|
|
1804
1863
|
type ChanceTable = { Outcomes?: null | Array<{ Weight?: null | number; OutcomeID?: null | string; Reward?: null | ScaledResourceOperation; ForceAction?: null | string; SpecialModeID?: null | string; [key: string]: unknown; }>; [key: string]: unknown; };
|
|
1805
1864
|
type SpecialClaimMultipliers = { PerAdMultiplierRange?: null | RewardMultiplierRange; MaxAdViews?: null | number; AdCreditCost?: null | number; FormulaKind?: null | string; ApplyMultiplierOnEarlyClaim?: null | boolean; [key: string]: unknown; };
|
|
1806
|
-
type SpecialGradationConfig = { Tiers?: null | Array<{ ElapsedSeconds?: null | number; Reward?: null | ScaledResourceOperation; [key: string]: unknown; }>; BelowFirstTierReward?: null | ScaledResourceOperation; [key: string]: unknown; };
|
|
1865
|
+
type SpecialGradationConfig = { Tiers?: null | Array<{ ElapsedSeconds?: null | number; Reward?: null | ScaledResourceOperation; [key: string]: unknown; }>; TierMode?: null | string; BelowFirstTierReward?: null | ScaledResourceOperation; [key: string]: unknown; };
|
|
1866
|
+
type SpecialRunStatsConfig = { MetricsByID?: null | Record<string, { MetricID?: null | string; MaxValuePerClaim?: null | number; TierMode?: null | string; ApplyClaimMultiplier?: null | boolean; Tiers?: null | Array<{ RequiredValue?: null | number; Reward?: null | ScaledResourceOperation; [key: string]: unknown; }>; Rate?: null | { Reward?: null | ScaledResourceOperation; MetricPerReward?: null | number; MaxRewardUnits?: null | number; [key: string]: unknown; }; [key: string]: unknown; }>; [key: string]: unknown; };
|
|
1807
1867
|
/** A single choice in a Special mode (Instant reward or Timed flow with multipliers/gradation). */
|
|
1808
1868
|
interface SpecialModeChoice {
|
|
1809
1869
|
ChoiceID?: string | null;
|
|
@@ -1813,6 +1873,7 @@ interface SpecialModeChoice {
|
|
|
1813
1873
|
EntryCost?: ResourceConsume | null;
|
|
1814
1874
|
Multipliers?: SpecialClaimMultipliers | null;
|
|
1815
1875
|
Gradation?: SpecialGradationConfig | null;
|
|
1876
|
+
RunStats?: SpecialRunStatsConfig | null;
|
|
1816
1877
|
}
|
|
1817
1878
|
/** Special-mode configuration bound to a tile via SpecialModeID. */
|
|
1818
1879
|
interface SpecialModeDefinition {
|
|
@@ -1901,11 +1962,19 @@ interface GameLoopDefinitions {
|
|
|
1901
1962
|
[key: string]: unknown;
|
|
1902
1963
|
}
|
|
1903
1964
|
type RollActionData = { TargetUserID?: null | string; IsBot?: null | boolean; PublicData?: null | UserPublicDataModel; TargetBuildingStates?: null | Array<BuildingState>; TargetHasShield?: null | boolean; [key: string]: unknown; };
|
|
1904
|
-
type SpecialModeOfferData = { ModeID?: null | string; Choices?: null | Array<{ ChoiceID?: null | string; Mode?: null | string; Reward?: null | ScaledResourceOperation; DurationSeconds?: null | number; PriceOptions?: null | PriceOptions; Multipliers?: null | SpecialClaimMultipliers; [key: string]: unknown; }>; [key: string]: unknown; };
|
|
1965
|
+
type SpecialModeOfferData = { ModeID?: null | string; Choices?: null | Array<{ ChoiceID?: null | string; Mode?: null | string; Reward?: null | ScaledResourceOperation; DurationSeconds?: null | number; PriceOptions?: null | PriceOptions; Multipliers?: null | SpecialClaimMultipliers; RunStats?: null | SpecialRunStatsConfig; [key: string]: unknown; }>; [key: string]: unknown; };
|
|
1905
1966
|
type CommunityChestContributionResult = { GroupID?: null | string; Delta?: null | number; NewProgress?: null | number; MaxProgress?: null | number; UnlockedMilestoneIDs?: null | Array<string>; Completed?: null | boolean; [key: string]: unknown; };
|
|
1906
1967
|
interface BoardRollResponse {
|
|
1907
1968
|
UsedMultiplier?: number | null;
|
|
1969
|
+
/** Sum of DiceValues. */
|
|
1908
1970
|
Steps?: number | null;
|
|
1971
|
+
/**
|
|
1972
|
+
* Per-die faces in roll order — one entry per BoardDiceConfig.Count, each 1..Sides,
|
|
1973
|
+
* summing to Steps. Render the dice from here; do NOT split Steps yourself.
|
|
1974
|
+
* null = the step was scripted by the tutorial, so no dice breakdown exists
|
|
1975
|
+
* (a scripted step may fall outside the dice range, up to a full lap).
|
|
1976
|
+
*/
|
|
1977
|
+
DiceValues?: number[] | null;
|
|
1909
1978
|
OldPosition?: number | null;
|
|
1910
1979
|
NewPosition: number;
|
|
1911
1980
|
CyclesCompletedDelta?: number | null;
|
|
@@ -1921,7 +1990,7 @@ type RaidResponse = { Status?: null | string; Outcome?: null | string; FoundSymb
|
|
|
1921
1990
|
type BuildResponse = { BuiltIndex: number; NewLevel?: null | number; StageComplete?: null | boolean; MaxLevelRewardClaimed?: null | boolean; Operation?: null | ResourceOperation; [key: string]: unknown; };
|
|
1922
1991
|
type SpecialChooseResponse = { Mode?: null | string | number; Operation?: null | ResourceOperation; DurationSeconds?: null | number; StartedAtUtc?: null | string; ExpiresAtUtc?: null | string; [key: string]: unknown; };
|
|
1923
1992
|
type SpecialApplyMultiplierResponse = { AdViewsUsed?: null | number; RolledMultiplier?: null | number; AccumulatedMultiplier?: null | number; RemainingAdViews?: null | number; [key: string]: unknown; };
|
|
1924
|
-
type SpecialClaimResponse = { FinalMultiplier?: null | number; AdViewsUsed?: null | number; AccumulatedMultiplier?: null | number; IsEarlyClaim?: null | boolean; Operation?: null | ResourceOperation; [key: string]: unknown; };
|
|
1993
|
+
type SpecialClaimResponse = { FinalMultiplier?: null | number; AdViewsUsed?: null | number; AccumulatedMultiplier?: null | number; IsEarlyClaim?: null | boolean; ReachedTierIndex?: null | number; Operation?: null | ResourceOperation; AcceptedRunStats?: null | Record<string, number>; RunStatAwards?: null | Array<{ MetricID?: null | string; ReachedTierIndex?: null | number; RequiredValue?: null | number; RewardUnits?: null | number; [key: string]: unknown; }>; RunStatsClamped?: null | boolean; RunStatGrant?: null | ResourceGrant; [key: string]: unknown; };
|
|
1925
1994
|
/** enum CommunityChestStatus — mirror of CoopGroupStatus. */
|
|
1926
1995
|
declare const CommunityChestStatus: {
|
|
1927
1996
|
readonly Forming: "Forming";
|
|
@@ -1961,6 +2030,13 @@ interface GameLoopRequest extends BaseRequest {
|
|
|
1961
2030
|
ChoiceID?: string;
|
|
1962
2031
|
GroupID?: string;
|
|
1963
2032
|
MilestoneID?: string;
|
|
2033
|
+
/** Gameplay statistics of a Special-mode run ({MetricID: value}), sent with BoardSpecialClaim.
|
|
2034
|
+
* Keys are matched against the whitelist frozen in SpecialPendingState.RunStatTiers; a metric
|
|
2035
|
+
* absent there is ignored. Omitted/empty = the claim pays by the time ladder only.
|
|
2036
|
+
*
|
|
2037
|
+
* Values are fractional by design (run time, experience) — do NOT round them here: the server
|
|
2038
|
+
* compares against thresholds with a relative epsilon and clamps by the per-metric cap. */
|
|
2039
|
+
RunStats?: Record<string, number>;
|
|
1964
2040
|
}
|
|
1965
2041
|
declare const GameLoopAction: {
|
|
1966
2042
|
readonly GetGameLoops: "GetGameLoops";
|
|
@@ -2213,8 +2289,22 @@ interface UserDailyCounters {
|
|
|
2213
2289
|
Earned: number;
|
|
2214
2290
|
Spent: number;
|
|
2215
2291
|
}
|
|
2292
|
+
/**
|
|
2293
|
+
* Auto-recharge state of one currency. The server materializes accrual lazily — on a state read
|
|
2294
|
+
* and on any operation with that currency — so `UserVirtualCurrencyState.Amount` is already up to
|
|
2295
|
+
* date; there is no background job and no push.
|
|
2296
|
+
*
|
|
2297
|
+
* Countdown to the next BATCH (see `RechargeConfig`: a batch is `Rate` units per full `Period`):
|
|
2298
|
+
*
|
|
2299
|
+
* ```ts
|
|
2300
|
+
* const elapsed = (Date.now() - Date.parse(LastRechargeAt)) / 1000 + PendingSeconds;
|
|
2301
|
+
* const secondsToNextBatch = Math.max(0, Period - elapsed);
|
|
2302
|
+
* ```
|
|
2303
|
+
*/
|
|
2216
2304
|
interface UserRechargeState {
|
|
2305
|
+
/** Reference point of the next accrual: last accrual or spend (ISO, UTC). */
|
|
2217
2306
|
LastRechargeAt?: string;
|
|
2307
|
+
/** Carried time that did not add up to a FULL period — always less than `Period`. */
|
|
2218
2308
|
PendingSeconds?: number;
|
|
2219
2309
|
}
|
|
2220
2310
|
interface UserVirtualCurrencyState {
|
|
@@ -2302,14 +2392,58 @@ interface DailyUsageRecord {
|
|
|
2302
2392
|
ActiveHoursMask: number;
|
|
2303
2393
|
LastActiveAt: string;
|
|
2304
2394
|
}
|
|
2305
|
-
/**
|
|
2395
|
+
/**
|
|
2396
|
+
* One rolled-up period (a month or a year) of usage.
|
|
2397
|
+
*
|
|
2398
|
+
* `Seconds`/`Sessions` are `number` here like everywhere else in JS, but note they are 64-bit on
|
|
2399
|
+
* the server: a year of activity does not fit the per-day `int`.
|
|
2400
|
+
*/
|
|
2401
|
+
interface UsagePeriodRecord {
|
|
2402
|
+
Seconds: number;
|
|
2403
|
+
Sessions: number;
|
|
2404
|
+
/**
|
|
2405
|
+
* How many CALENDAR DAYS of the period the player was active.
|
|
2406
|
+
*
|
|
2407
|
+
* This is the field the rollup exists for: a month's total seconds cannot tell you whether the
|
|
2408
|
+
* player came every day for ten minutes or once for five hours, and once the per-day records
|
|
2409
|
+
* are gone that is unrecoverable.
|
|
2410
|
+
*/
|
|
2411
|
+
ActiveDays: number;
|
|
2412
|
+
LongestSessionSeconds: number;
|
|
2413
|
+
ActiveHoursMask: number;
|
|
2414
|
+
FirstActiveDay: string;
|
|
2415
|
+
LastActiveAt: string;
|
|
2416
|
+
}
|
|
2417
|
+
/**
|
|
2418
|
+
* Aggregated app-usage stats (UserDataDocument.Usage), foreground-activity seconds only.
|
|
2419
|
+
*
|
|
2420
|
+
* ⚠ **History is rolled up: days → months → years, and the rollup is IRREVERSIBLE.** `Daily` used
|
|
2421
|
+
* to hold every day the player had ever been active; it grew forever inside the document that is
|
|
2422
|
+
* read on every request. It is now a WINDOW of the most recent days (400 by default, configurable
|
|
2423
|
+
* per title). Everything older is folded into {@link Monthly}, and months of finished years into
|
|
2424
|
+
* {@link Yearly}. Per-day detail outside the window is gone for good.
|
|
2425
|
+
*
|
|
2426
|
+
* Practical consequence: **do not sum `Daily` to get a lifetime or a year-long total** — you will
|
|
2427
|
+
* silently undercount. Use `TotalSeconds`/`TotalSessions` for lifetime (they are kept separately
|
|
2428
|
+
* and are exact), or add the periods.
|
|
2429
|
+
*/
|
|
2306
2430
|
interface UserUsageState {
|
|
2431
|
+
/** Lifetime foreground seconds. Kept separately, never affected by the rollup. */
|
|
2307
2432
|
TotalSeconds: number;
|
|
2433
|
+
/** Lifetime session count. Kept separately, never affected by the rollup. */
|
|
2308
2434
|
TotalSessions: number;
|
|
2309
2435
|
FirstActiveAt?: string | null;
|
|
2310
2436
|
LastActiveAt: string;
|
|
2311
2437
|
Reactivations?: UsageReactivationEvent[];
|
|
2438
|
+
/**
|
|
2439
|
+
* Per-day stats for the recent window only. Key is `"ddMMyyyy"` (historic format, not sortable).
|
|
2440
|
+
* Older days are no longer here — see {@link Monthly}.
|
|
2441
|
+
*/
|
|
2312
2442
|
Daily?: Record<string, DailyUsageRecord>;
|
|
2443
|
+
/** Folded months. Key is `"yyyyMM"` — sortable, unlike the per-day key. */
|
|
2444
|
+
Monthly?: Record<string, UsagePeriodRecord>;
|
|
2445
|
+
/** Folded years. Key is `"yyyy"`. Top step: there is nothing coarser to fold into. */
|
|
2446
|
+
Yearly?: Record<string, UsagePeriodRecord>;
|
|
2313
2447
|
}
|
|
2314
2448
|
interface UserState {
|
|
2315
2449
|
UserID?: string;
|
|
@@ -2685,6 +2819,7 @@ declare const MultiplayerAction: {
|
|
|
2685
2819
|
};
|
|
2686
2820
|
type MultiplayerAction = (typeof MultiplayerAction)[keyof typeof MultiplayerAction];
|
|
2687
2821
|
type PlatformLoginResponse = { TitleUserID: string; TitleClientSessionTicket: string; TitleClientSessionTicketExpiration: string; PlatformUserID?: null | string; PlatformAuthToken?: null | string; PlatformAuthTokenExpiration?: null | string; };
|
|
2822
|
+
type EmailRegistrationResponse = { CodeTtlMinutes?: null | number; ResendCooldownSeconds?: null | number; };
|
|
2688
2823
|
type SuccessResponse = { IsCompleted?: null | boolean; ServerTime?: null | string; };
|
|
2689
2824
|
type WalletChallengeResponse = { Message: string; ExpiresAt: string; };
|
|
2690
2825
|
/** Client-supplied UTM/click-ID attribution signal, sent with login/register (port of AttributionInput). */
|
|
@@ -2713,13 +2848,14 @@ interface AuthenticationRequest extends BaseRequest {
|
|
|
2713
2848
|
WalletAddress?: string;
|
|
2714
2849
|
/** Wallet login: signature of the challenge message (EVM personal_sign hex / Solana ed25519, 0x-hex). */
|
|
2715
2850
|
WalletSignature?: string;
|
|
2851
|
+
/** Code from the confirmation e-mail. See `AuthenticationAction.ConfirmEmailRegistration`. */
|
|
2852
|
+
VerificationCode?: string;
|
|
2716
2853
|
}
|
|
2717
2854
|
declare const AuthenticationAction: {
|
|
2718
2855
|
readonly LoginWithDeviceID: "LoginWithDeviceID";
|
|
2719
2856
|
readonly LoginWithTelegram: "LoginWithTelegram";
|
|
2720
2857
|
readonly LoginWithEmail: "LoginWithEmail";
|
|
2721
2858
|
readonly LoginWithGoogle: "LoginWithGoogle";
|
|
2722
|
-
readonly LoginWithPlatformToken: "LoginWithPlatformToken";
|
|
2723
2859
|
/**
|
|
2724
2860
|
* Exchange a one-time SSO code (issued by idosgames.com) for a title session.
|
|
2725
2861
|
*
|
|
@@ -2728,6 +2864,21 @@ declare const AuthenticationAction: {
|
|
|
2728
2864
|
*/
|
|
2729
2865
|
readonly LoginWithSsoCode: "LoginWithSsoCode";
|
|
2730
2866
|
readonly RegisterWithEmail: "RegisterWithEmail";
|
|
2867
|
+
/**
|
|
2868
|
+
* Confirm the address and create the player.
|
|
2869
|
+
*
|
|
2870
|
+
* Every way of getting it wrong answers with the same error — "no such registration", "code
|
|
2871
|
+
* expired" and "wrong code" are all statements ABOUT AN ADDRESS, and telling them apart would
|
|
2872
|
+
* bring the oracle back through the side door.
|
|
2873
|
+
*/
|
|
2874
|
+
readonly ConfirmEmailRegistration: "ConfirmEmailRegistration";
|
|
2875
|
+
/**
|
|
2876
|
+
* Mail the code again.
|
|
2877
|
+
*
|
|
2878
|
+
* A NEW code is sent, not the previous one: only its hash is stored, so the old one cannot be
|
|
2879
|
+
* re-sent. The last code mailed is the one that works.
|
|
2880
|
+
*/
|
|
2881
|
+
readonly ResendVerificationCode: "ResendVerificationCode";
|
|
2731
2882
|
readonly RequestWalletChallenge: "RequestWalletChallenge";
|
|
2732
2883
|
readonly LoginWithWallet: "LoginWithWallet";
|
|
2733
2884
|
readonly ForgotPassword: "ForgotPassword";
|
|
@@ -2772,14 +2923,20 @@ declare const FodderSelectionMode: {
|
|
|
2772
2923
|
readonly ProtectLeveled: "ProtectLeveled";
|
|
2773
2924
|
readonly CheapestFirst: "CheapestFirst";
|
|
2774
2925
|
readonly ClientSelected: "ClientSelected";
|
|
2926
|
+
/**
|
|
2927
|
+
* Кормом идут только копии ТОГО ЖЕ уровня, что и прокачиваемый предмет: на 2-й уровень —
|
|
2928
|
+
* первые, на 3-й — вторые. Классическое слияние по тирам: копия другого уровня не кандидат
|
|
2929
|
+
* вовсе, поэтому прокачанная не может сгореть «в счёт» дешёвой, а перерасхода не бывает.
|
|
2930
|
+
*/
|
|
2931
|
+
readonly SameLevelOnly: "SameLevelOnly";
|
|
2775
2932
|
};
|
|
2776
2933
|
type FodderSelectionMode = (typeof FodderSelectionMode)[keyof typeof FodderSelectionMode];
|
|
2777
2934
|
type NFTNetworkBinding = { ContractAddress?: null | string; TokenID?: null | string; TokenStandard?: null | string; [key: string]: unknown; };
|
|
2778
2935
|
type NFTModel = { Networks?: null | Record<string, NFTNetworkBinding>; MetadataUrl?: null | string; [key: string]: unknown; };
|
|
2779
2936
|
type ItemStats = { FlatBonuses?: null | Record<string, number>; PercentBonuses?: null | Record<string, number>; Power?: null | number; [key: string]: unknown; };
|
|
2780
2937
|
type ItemEquipment = { MinCharacterLevel?: null | number; UseRequirements?: null | Record<string, number>; AllowedCharacterIDs?: null | Array<string>; AllowedSlotIDs?: null | Array<string>; [key: string]: unknown; };
|
|
2781
|
-
type ItemUpgradeFodder = { ValuationMode?: null | 'FlatCount' | 'Merge' | 'InvestmentRefund';
|
|
2782
|
-
type ItemUpgrade = { MaxLevel?: null | number; PriceOptions?: null | PriceOptions;
|
|
2938
|
+
type ItemUpgradeFodder = { ValuationMode?: null | 'FlatCount' | 'Merge' | 'InvestmentRefund'; WeightCurve?: null | ScalarCurveSpec; Selection?: null | 'ProtectLeveled' | 'CheapestFirst' | 'ClientSelected' | 'SameLevelOnly'; [key: string]: unknown; };
|
|
2939
|
+
type ItemUpgrade = { MaxLevel?: null | number; PriceOptions?: null | PriceOptions; CostCurve?: null | ScalarCurveSpec; FlatBonusCurve?: null | ScalarCurveSpec; PercentBonusCurve?: null | ScalarCurveSpec; PowerCurve?: null | ScalarCurveSpec; Fodder?: null | ItemUpgradeFodder; [key: string]: unknown; };
|
|
2783
2940
|
type ItemMetadata = { RarityID?: null | string; CollectionID?: null | string; AuthorID?: null | string; [key: string]: unknown; };
|
|
2784
2941
|
type ItemDefinition = { ItemID: string; CatalogID: string; ItemClass?: null | string; DisplayName?: null | string; Description?: null | string; Tags?: null | Array<string>; CustomData?: null | string; IsStackable?: null | boolean; IsTradable?: null | boolean; Weight?: null | number; AssetPaths?: null | Record<string, string>; NFT?: null | NFTModel; Stats?: null | ItemStats; Equipment?: null | ItemEquipment; Upgrade?: null | ItemUpgrade; Metadata?: null | ItemMetadata; ExpirationDurationSeconds?: null | number; [key: string]: unknown; };
|
|
2785
2942
|
/** Catalog: a set of items of one thematic group. Key of `Items` is ItemID. */
|
|
@@ -3259,6 +3416,7 @@ interface SdkEvents {
|
|
|
3259
3416
|
"referral:inviteRewardsBatchClaimed": ClaimInviteRewardsBatchResponse;
|
|
3260
3417
|
"social:friendsListLoaded": FriendsListResponse;
|
|
3261
3418
|
"social:incomingRequestsLoaded": FriendsListResponse;
|
|
3419
|
+
"social:outgoingRequestsLoaded": FriendsListResponse;
|
|
3262
3420
|
"social:recommendedFriendsLoaded": FriendsListResponse;
|
|
3263
3421
|
"social:friendRequestSent": FriendActionResponse;
|
|
3264
3422
|
"social:friendRequestAccepted": FriendActionResponse;
|
|
@@ -3434,7 +3592,7 @@ declare class UserData {
|
|
|
3434
3592
|
patchClaimRewardState(claimID: string, newState: UserClaimRewardState): void;
|
|
3435
3593
|
applyQuest(data: UserQuestState | null): void;
|
|
3436
3594
|
patchQuestStatus(questID: string, cycleID: string | null | undefined, status: QuestStatus): void;
|
|
3437
|
-
/** Claimed points-milestone state lives in the Quest event-token bucket (
|
|
3595
|
+
/** Claimed points-milestone state lives in the Quest event-token bucket (one entry per milestone). */
|
|
3438
3596
|
patchMilestoneClaimed(cycleID: string, milestoneID: string): void;
|
|
3439
3597
|
/** Stores the authoritative points-track snapshot in the Quest event-token bucket. */
|
|
3440
3598
|
patchQuestPointsTracks(tracks: Record<string, QuestPointsTrackView> | null | undefined): void;
|
|
@@ -3491,6 +3649,7 @@ declare class UserData {
|
|
|
3491
3649
|
patchReferralInviteRewardClaimed(rewardID: string): void;
|
|
3492
3650
|
applySocialFriendsList(friends: FriendPublicProfile[] | null | undefined): void;
|
|
3493
3651
|
applySocialIncomingRequests(profiles: FriendPublicProfile[] | null | undefined): void;
|
|
3652
|
+
applySocialOutgoingRequests(profiles: FriendPublicProfile[] | null | undefined): void;
|
|
3494
3653
|
applySocialTimeline(events: SocialTimelineEvent[] | null | undefined): void;
|
|
3495
3654
|
patchSocialAddOutgoingRequest(targetUserID: string): void;
|
|
3496
3655
|
patchSocialAcceptFriend(requesterUserID: string): void;
|
|
@@ -3596,6 +3755,20 @@ interface AuthContext {
|
|
|
3596
3755
|
platformAuthTokenExpiration?: string;
|
|
3597
3756
|
}
|
|
3598
3757
|
|
|
3758
|
+
/**
|
|
3759
|
+
* Чем закончилось начало регистрации по почте.
|
|
3760
|
+
*
|
|
3761
|
+
* ⚠ Игрока здесь НЕ появляется никогда: на адрес ушёл код, и аккаунт создаст
|
|
3762
|
+
* `confirmEmailRegistration`. Сессии в этом ответе нет и быть не может — есть только то, что
|
|
3763
|
+
* нужно показать на экране ввода кода.
|
|
3764
|
+
*/
|
|
3765
|
+
interface EmailRegistrationOutcome {
|
|
3766
|
+
/** Сколько живёт код — чтобы экран показал это, а не выдумывал. */
|
|
3767
|
+
codeTtlMinutes?: number;
|
|
3768
|
+
/** Через сколько секунд «отправить ещё раз» снова что-то сделает. */
|
|
3769
|
+
resendCooldownSeconds?: number;
|
|
3770
|
+
}
|
|
3771
|
+
|
|
3599
3772
|
/** Port of AuthenticationService.cs: login methods, AutoLogin, single 401 refresh. */
|
|
3600
3773
|
declare class AuthenticationService {
|
|
3601
3774
|
private readonly ctx;
|
|
@@ -3605,6 +3778,16 @@ declare class AuthenticationService {
|
|
|
3605
3778
|
private sessionAuthType;
|
|
3606
3779
|
private sessionEmail;
|
|
3607
3780
|
private sessionPassword;
|
|
3781
|
+
/**
|
|
3782
|
+
* Credentials from the first step of an e-mail registration.
|
|
3783
|
+
*
|
|
3784
|
+
* The account is created on the SECOND step, and that request carries no password — the server
|
|
3785
|
+
* has been holding its hash since the first one. Without keeping it here for the short gap
|
|
3786
|
+
* between the two, a player who registers is never remembered: `autoLogin()` has nothing to
|
|
3787
|
+
* replay, and the next launch drops them back on the login screen. Signing in with the same
|
|
3788
|
+
* password does remember them, which made the difference look like a bug in the game.
|
|
3789
|
+
*/
|
|
3790
|
+
private pendingRegistration;
|
|
3608
3791
|
constructor(ctx: ClientContext);
|
|
3609
3792
|
get context(): AuthContext | null;
|
|
3610
3793
|
get isLoggedIn(): boolean;
|
|
@@ -3627,7 +3810,37 @@ declare class AuthenticationService {
|
|
|
3627
3810
|
loginWithDeviceID(): Promise<OperationResult<ClientState>>;
|
|
3628
3811
|
loginWithTelegram(): Promise<OperationResult<ClientState>>;
|
|
3629
3812
|
loginWithEmail(email: string, password: string): Promise<OperationResult<ClientState>>;
|
|
3630
|
-
|
|
3813
|
+
/**
|
|
3814
|
+
* Start a registration by e-mail.
|
|
3815
|
+
*
|
|
3816
|
+
* ⚠ **This never creates an account by itself.** The server stores the attempt and mails a
|
|
3817
|
+
* code; the player appears on {@link confirmEmailRegistration}. A screen that waits for a
|
|
3818
|
+
* session here will spin forever.
|
|
3819
|
+
*
|
|
3820
|
+
* Why it works this way: without confirmation anyone can take someone else's address in a
|
|
3821
|
+
* single request, and the real owner is then unable to register and receives no e-mail at all.
|
|
3822
|
+
* This is platform behaviour — no title can switch it off.
|
|
3823
|
+
*
|
|
3824
|
+
* The answer is deliberately identical for a free and for a taken address — otherwise this form
|
|
3825
|
+
* would answer the question "does this person have an account here".
|
|
3826
|
+
*/
|
|
3827
|
+
registerWithEmail(email: string, password: string): Promise<OperationResult<EmailRegistrationOutcome>>;
|
|
3828
|
+
/**
|
|
3829
|
+
* Finish a registration: exchange the code from the e-mail for a session.
|
|
3830
|
+
*
|
|
3831
|
+
* The password is not passed again — the server has been holding its hash since the first step,
|
|
3832
|
+
* and the plaintext never existed anywhere but that one request.
|
|
3833
|
+
*/
|
|
3834
|
+
confirmEmailRegistration(email: string, code: string): Promise<OperationResult<ClientState>>;
|
|
3835
|
+
/**
|
|
3836
|
+
* Mail the confirmation code again.
|
|
3837
|
+
*
|
|
3838
|
+
* A NEW code arrives, not the previous one: the server keeps only its hash and cannot re-send
|
|
3839
|
+
* what it does not have. The last code mailed is the one that works.
|
|
3840
|
+
*
|
|
3841
|
+
* Always resolves successfully, whatever happened on the server — see the note on the action.
|
|
3842
|
+
*/
|
|
3843
|
+
resendVerificationCode(email: string): Promise<OperationResult<void>>;
|
|
3631
3844
|
loginWithGoogle(googleIDToken: string): Promise<OperationResult<ClientState>>;
|
|
3632
3845
|
/**
|
|
3633
3846
|
* Step 1 of wallet login: request the challenge message the wallet must sign. The signing itself
|
|
@@ -3641,7 +3854,6 @@ declare class AuthenticationService {
|
|
|
3641
3854
|
* {@link autoLogin} routes AuthType.Wallet to the default (fail) branch.
|
|
3642
3855
|
*/
|
|
3643
3856
|
loginWithWallet(walletAddress: string, networkID: string, signature: string): Promise<OperationResult<ClientState>>;
|
|
3644
|
-
loginWithPlatformToken(authToken: string): Promise<OperationResult<ClientState>>;
|
|
3645
3857
|
/**
|
|
3646
3858
|
* Exchange a one-time SSO code from idosgames.com for a title session.
|
|
3647
3859
|
*
|
|
@@ -3866,9 +4078,9 @@ declare const IapProductType: {
|
|
|
3866
4078
|
};
|
|
3867
4079
|
type IapProductType = (typeof IapProductType)[keyof typeof IapProductType];
|
|
3868
4080
|
type IapProductRules = { StartUtc?: null | string; EndUtc?: null | string; Gate?: null | SegmentGate; Limits?: null | LimitSpec; [key: string]: unknown; };
|
|
3869
|
-
type IapProductDefinition = { ProductID?: null | string; Name?: null | string; Type?: null | 'Subscription' | 'Consumable' | 'NonConsumable'; Enabled?: null | boolean; StoreProductIDs?: null | Record<string, string>; Rewards?: null | ResourceGrant; PriceUsdCents?: null | number; Rules?: null | IapProductRules; AssetPaths?: null | Record<string, string>; CustomParams?: null | Record<string, string>; [key: string]: unknown; };
|
|
4081
|
+
type IapProductDefinition = { ProductID?: null | string; Name?: null | string; Type?: null | 'Subscription' | 'Consumable' | 'NonConsumable'; Enabled?: null | boolean; StoreProductIDs?: null | Record<string, string>; Rewards?: null | ResourceGrant; PriceUsdCents?: null | number; Rules?: null | IapProductRules; Refund?: null | { ResourceAction?: null | string; RevokeEntitlement?: null | boolean; BlockFuturePurchases?: null | boolean; [key: string]: unknown; }; AssetPaths?: null | Record<string, string>; CustomParams?: null | Record<string, string>; [key: string]: unknown; };
|
|
3870
4082
|
type PurchaseDefinitions = { Enabled?: null | boolean; Products?: null | Record<string, IapProductDefinition>; [key: string]: unknown; };
|
|
3871
|
-
type IapProductPurchaseState = { ProductID?: null | string; TotalPurchases?: null | number; DailyPurchases?: null | number; DailyResetUtc?: null | string; LastPurchasedAt?: null | string; Owned?: null | boolean; [key: string]: unknown; };
|
|
4083
|
+
type IapProductPurchaseState = { ProductID?: null | string; TotalPurchases?: null | number; DailyPurchases?: null | number; DailyResetUtc?: null | string; LastPurchasedAt?: null | string; Owned?: null | boolean; Refunded?: null | boolean; PurchaseBlocked?: null | boolean; [key: string]: unknown; };
|
|
3872
4084
|
type UserPurchaseState = { Products?: null | Record<string, IapProductPurchaseState>; LifetimeSpendUsdCents?: null | number; [key: string]: unknown; };
|
|
3873
4085
|
/** How the server treated the receipt. */
|
|
3874
4086
|
declare const IapPurchaseStatus: {
|
|
@@ -3885,12 +4097,23 @@ interface PurchaseReceiptRef {
|
|
|
3885
4097
|
Signature?: string;
|
|
3886
4098
|
/** Only used when the receipt itself is opaque (legacy Apple app receipt). */
|
|
3887
4099
|
ProductID?: string;
|
|
4100
|
+
/** See {@link PurchaseRequest.TransactionID}. */
|
|
4101
|
+
TransactionID?: string;
|
|
3888
4102
|
}
|
|
3889
4103
|
interface PurchaseRequest extends BaseRequest {
|
|
3890
4104
|
Store?: IapStore;
|
|
3891
4105
|
Receipt?: string;
|
|
3892
4106
|
Signature?: string;
|
|
3893
4107
|
ProductID?: string;
|
|
4108
|
+
/**
|
|
4109
|
+
* Store transaction id. Apple only, and only when the receipt is opaque: a StoreKit 1 app
|
|
4110
|
+
* receipt carries no transaction id, while the App Store Server API answers by exactly that
|
|
4111
|
+
* id — so without this the server cannot verify such a purchase at all.
|
|
4112
|
+
*
|
|
4113
|
+
* Ignored when the id can be read from the receipt (StoreKit 2 signed transaction), and unused
|
|
4114
|
+
* for Google, where the purchase token inside the receipt plays the same role.
|
|
4115
|
+
*/
|
|
4116
|
+
TransactionID?: string;
|
|
3894
4117
|
/** ValidatePurchasesBatch: receipts to restore after a reinstall. */
|
|
3895
4118
|
Receipts?: PurchaseReceiptRef[];
|
|
3896
4119
|
}
|
|
@@ -3929,10 +4152,15 @@ declare class PurchaseService {
|
|
|
3929
4152
|
* `productID` is only a hint for stores whose receipt is opaque (legacy Apple app receipt): in
|
|
3930
4153
|
* every other case the SKU is read from the receipt itself, because the client's claim about
|
|
3931
4154
|
* what was bought cannot be trusted.
|
|
4155
|
+
*
|
|
4156
|
+
* `transactionID` is the other half of that same case — pass it whenever the store SDK reports
|
|
4157
|
+
* one alongside an opaque Apple receipt: it is the only handle the server can use to ask Apple
|
|
4158
|
+
* about the purchase.
|
|
3932
4159
|
*/
|
|
3933
4160
|
validatePurchase(store: IapStore, receipt: string, options?: {
|
|
3934
4161
|
signature?: string;
|
|
3935
4162
|
productID?: string;
|
|
4163
|
+
transactionID?: string;
|
|
3936
4164
|
}): Promise<OperationResult<PurchaseValidationResponse>>;
|
|
3937
4165
|
/**
|
|
3938
4166
|
* Restores purchases after a reinstall: several receipts in one call.
|
|
@@ -4534,6 +4762,17 @@ declare class SocialService {
|
|
|
4534
4762
|
constructor(ctx: ClientContext);
|
|
4535
4763
|
getFriendsList(): Promise<OperationResult<FriendsListResponse>>;
|
|
4536
4764
|
getIncomingRequests(): Promise<OperationResult<FriendsListResponse>>;
|
|
4765
|
+
/**
|
|
4766
|
+
* Requests this player has SENT and that are still unanswered.
|
|
4767
|
+
*
|
|
4768
|
+
* ⚠ The only way to know them across sessions. `OutgoingRequests` in the cache is otherwise
|
|
4769
|
+
* filled solely by your own `sendFriendRequest()` calls this run, so after a restart — or on a
|
|
4770
|
+
* second device — a player who already asked someone shows up as "not asked yet" and the UI
|
|
4771
|
+
* offers "Add" again. (`OutgoingCount` cannot fix that: it is a number, and the UI needs ids.)
|
|
4772
|
+
*
|
|
4773
|
+
* Call it on the screen that renders "Add friend" suggestions, next to `getRecommendedFriends()`.
|
|
4774
|
+
*/
|
|
4775
|
+
getOutgoingRequests(): Promise<OperationResult<FriendsListResponse>>;
|
|
4537
4776
|
getRecommendedFriends(limit?: number): Promise<OperationResult<FriendsListResponse>>;
|
|
4538
4777
|
sendFriendRequest(targetUserID: string): Promise<OperationResult<FriendActionResponse>>;
|
|
4539
4778
|
acceptFriendRequest(requesterUserID: string): Promise<OperationResult<FriendActionResponse>>;
|
|
@@ -4646,7 +4885,15 @@ declare class GameLoopService {
|
|
|
4646
4885
|
boardLoopBuild(buildingIndex: number): Promise<OperationResult<BuildResponse>>;
|
|
4647
4886
|
boardSpecialChoose(choiceID: string, selectedOptionID?: string): Promise<OperationResult<SpecialChooseResponse>>;
|
|
4648
4887
|
boardSpecialApplyMultiplier(existingRelatedEntityID?: string): Promise<OperationResult<SpecialApplyMultiplierResponse>>;
|
|
4649
|
-
|
|
4888
|
+
/**
|
|
4889
|
+
* Claims the Timed Special reward.
|
|
4890
|
+
*
|
|
4891
|
+
* @param runStats Optional gameplay statistics of the run ({MetricID: value}), used by the server
|
|
4892
|
+
* to pay the run-stat reward ladders on top of the time ladder. Omit it whenever the run never
|
|
4893
|
+
* happened or its numbers could not be recovered — the server then pays by time alone, which is
|
|
4894
|
+
* the correct outcome, not a degraded one.
|
|
4895
|
+
*/
|
|
4896
|
+
boardSpecialClaim(runStats?: Record<string, number>): Promise<OperationResult<SpecialClaimResponse>>;
|
|
4650
4897
|
/** Fetch this player's Community Chest state (active group, if any) + seconds remaining. */
|
|
4651
4898
|
getCommunityChestState(): Promise<OperationResult<CommunityChestUserStateResponse>>;
|
|
4652
4899
|
/** Join an existing forming/active Community Chest group, or create one if none is open. */
|
|
@@ -4803,9 +5050,27 @@ declare class AuthenticationApi {
|
|
|
4803
5050
|
loginWithTelegram(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
4804
5051
|
loginWithEmail(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
4805
5052
|
loginWithGoogle(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
4806
|
-
loginWithPlatformToken(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
4807
5053
|
loginWithSsoCode(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
4808
|
-
|
|
5054
|
+
/**
|
|
5055
|
+
* Start a registration. Anonymous.
|
|
5056
|
+
*
|
|
5057
|
+
* ⚠ Success does NOT mean the account exists. This only mails a code; the player is created by
|
|
5058
|
+
* {@link confirmEmailRegistration}. Always move on to the code screen — there is no flag to
|
|
5059
|
+
* check and no title that skips this step: confirmation is platform behaviour, not a setting.
|
|
5060
|
+
*
|
|
5061
|
+
* The response carries only `CodeTtlMinutes` and `ResendCooldownSeconds`, so the screen can
|
|
5062
|
+
* state how long the code lives and when "send again" will do something.
|
|
5063
|
+
*/
|
|
5064
|
+
registerWithEmail(request: AuthenticationRequest): Promise<OperationResult<EmailRegistrationResponse>>;
|
|
5065
|
+
/** Confirm the address with the code from the e-mail and create the player. Anonymous. */
|
|
5066
|
+
confirmEmailRegistration(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
5067
|
+
/**
|
|
5068
|
+
* Mail the confirmation code again. Anonymous.
|
|
5069
|
+
*
|
|
5070
|
+
* Always answers with success — whether a registration was started, whether the cooldown has
|
|
5071
|
+
* passed, whether the letter left. Any other answer would say something about the address.
|
|
5072
|
+
*/
|
|
5073
|
+
resendVerificationCode(request: AuthenticationRequest): Promise<OperationResult<SuccessResponse>>;
|
|
4809
5074
|
/** Step 1 of wallet login: fetch the challenge message the wallet must sign. Anonymous. */
|
|
4810
5075
|
requestWalletChallenge(request: AuthenticationRequest): Promise<OperationResult<WalletChallengeResponse>>;
|
|
4811
5076
|
/** Step 2 of wallet login: exchange the signed challenge for a session. */
|
|
@@ -5120,6 +5385,7 @@ declare class SocialApi {
|
|
|
5120
5385
|
private send;
|
|
5121
5386
|
getFriendsList(request: SocialRequest): Promise<OperationResult<FriendsListResponse>>;
|
|
5122
5387
|
getIncomingRequests(request: SocialRequest): Promise<OperationResult<FriendsListResponse>>;
|
|
5388
|
+
getOutgoingRequests(request: SocialRequest): Promise<OperationResult<FriendsListResponse>>;
|
|
5123
5389
|
getRecommendedFriends(request: SocialRequest): Promise<OperationResult<FriendsListResponse>>;
|
|
5124
5390
|
sendFriendRequest(request: SocialRequest): Promise<OperationResult<FriendActionResponse>>;
|
|
5125
5391
|
acceptFriendRequest(request: SocialRequest): Promise<OperationResult<FriendActionResponse>>;
|
|
@@ -5460,6 +5726,20 @@ declare function readSsoCodeFromUrl(): SsoCodeFromUrl | null;
|
|
|
5460
5726
|
*
|
|
5461
5727
|
* Top-level redirect rather than a popup: popups are blocked by default on mobile browsers and
|
|
5462
5728
|
* inside standalone/PWA windows, which is exactly where games run.
|
|
5729
|
+
*
|
|
5730
|
+
* ⚠ **No PKCE here, deliberately — and the plumbing for it exists on the other side.** The /sso
|
|
5731
|
+
* page reads a `code_challenge` query parameter, the management backend stores it on the code, and
|
|
5732
|
+
* the engine verifies a `code_verifier` at exchange. Nothing in this SDK ever puts one in the URL,
|
|
5733
|
+
* so on the web that whole path stays inert.
|
|
5734
|
+
*
|
|
5735
|
+
* That is the intended state, not an omission: on the web the code comes back in the URL FRAGMENT,
|
|
5736
|
+
* which the browser never sends to a server, so there is no leg for anyone to intercept it on. PKCE
|
|
5737
|
+
* exists for the NATIVE flow, where the code would come back over an app URL scheme that any app on
|
|
5738
|
+
* the device can claim — and that flow does send one (see the Unity SDK's native-SSO manager).
|
|
5739
|
+
*
|
|
5740
|
+
* So don't "fix" this by adding a challenge here: `loginWithSsoCode` has no `CodeVerifier` field to
|
|
5741
|
+
* present at exchange, so a challenge added to the URL by hand would produce a code that this SDK
|
|
5742
|
+
* can never redeem.
|
|
5463
5743
|
*/
|
|
5464
5744
|
declare function beginSsoRedirect(options: {
|
|
5465
5745
|
titleID: string;
|
|
@@ -5469,6 +5749,70 @@ declare function beginSsoRedirect(options: {
|
|
|
5469
5749
|
ssoUrl?: string;
|
|
5470
5750
|
}): void;
|
|
5471
5751
|
|
|
5752
|
+
/**
|
|
5753
|
+
* Shape of a scalar curve: how a value changes from step to step.
|
|
5754
|
+
*
|
|
5755
|
+
* No shape reads another shape's field. A filled `PerStep` under `Shape: "Geometric"` is
|
|
5756
|
+
* simply ignored — the platform never validates a config semantically, because a
|
|
5757
|
+
* publisher's typo must not break live players.
|
|
5758
|
+
*/
|
|
5759
|
+
declare const CurveShape: {
|
|
5760
|
+
/** Value does not change with the step. Same behaviour as an unset curve. */
|
|
5761
|
+
readonly Flat: "Flat";
|
|
5762
|
+
/** Additive in the value's own units: `base + PerStep * (step - firstStep)`. */
|
|
5763
|
+
readonly PerStep: "PerStep";
|
|
5764
|
+
/** Additive share of the base: `base * (1 + PerStepRate * (step - firstStep))`. */
|
|
5765
|
+
readonly PerStepRate: "PerStepRate";
|
|
5766
|
+
/** Compounding: `base * (1 + GrowthRate) ** (step - firstStep)`. */
|
|
5767
|
+
readonly Geometric: "Geometric";
|
|
5768
|
+
/** Table of multipliers over the base: `base * interpolate(Points, step)`. */
|
|
5769
|
+
readonly Table: "Table";
|
|
5770
|
+
/** Table of absolute values: `interpolate(Points, step)`; the base is ignored. */
|
|
5771
|
+
readonly TableAbsolute: "TableAbsolute";
|
|
5772
|
+
};
|
|
5773
|
+
type CurveShape = (typeof CurveShape)[keyof typeof CurveShape];
|
|
5774
|
+
/** How a value between two table points is computed. */
|
|
5775
|
+
declare const CurveInterpolation: {
|
|
5776
|
+
/** Hold the previous point's value until the next one. Behaviour of an unset field. */
|
|
5777
|
+
readonly Step: "Step";
|
|
5778
|
+
/** Linear between adjacent points. */
|
|
5779
|
+
readonly Linear: "Linear";
|
|
5780
|
+
/** Geometric between adjacent points: `lo * (hi / lo) ** t`. */
|
|
5781
|
+
readonly Geometric: "Geometric";
|
|
5782
|
+
};
|
|
5783
|
+
type CurveInterpolation = (typeof CurveInterpolation)[keyof typeof CurveInterpolation];
|
|
5784
|
+
type CurvePoint = { AtStep?: null | number; Value?: null | number; [key: string]: unknown; };
|
|
5785
|
+
type ScalarCurveSpec = { Base?: null | number; Shape?: null | 'Flat' | 'PerStep' | 'PerStepRate' | 'Geometric' | 'Table' | 'TableAbsolute'; PerStep?: null | number; PerStepRate?: null | number; GrowthRate?: null | number; Points?: null | Array<CurvePoint>; Interpolation?: null | 'Geometric' | 'Step' | 'Linear'; TailGrowthRate?: null | number; MinResult?: null | number; MaxResult?: null | number; [key: string]: unknown; };
|
|
5786
|
+
|
|
5787
|
+
/**
|
|
5788
|
+
* Evaluator for scalar curves — the client-side port of the backend's `CurveEvaluator`
|
|
5789
|
+
* (`API/Core/Formula/Services/CurveEvaluator.cs`). Pure, no allocation on the
|
|
5790
|
+
* non-table shapes: a curve is evaluated per stat per fighter.
|
|
5791
|
+
*
|
|
5792
|
+
* An unset curve is the IDENTITY: `evaluateCurve(null, base, n) === base`. That is not
|
|
5793
|
+
* null-safety, it is the rule of the module — an empty field does nothing.
|
|
5794
|
+
*
|
|
5795
|
+
* `firstStep` is supplied by the CALLING code, not by the publisher: a stat level is
|
|
5796
|
+
* numbered from 0 (a missing stat is level 0, worth exactly the base), while prices,
|
|
5797
|
+
* item levels and ranks are numbered from 1. Getting it wrong shifts every value by one
|
|
5798
|
+
* step of the curve.
|
|
5799
|
+
*/
|
|
5800
|
+
declare function evaluateCurve(spec: ScalarCurveSpec | null | undefined, baseValue: number, step: number, firstStep?: number): number;
|
|
5801
|
+
/** The curve as a multiplier: the same evaluation from a base of 1. */
|
|
5802
|
+
declare function curveMultiplier(spec: ScalarCurveSpec | null | undefined, step: number, firstStep?: number): number;
|
|
5803
|
+
/** The curve is set and able to change something. */
|
|
5804
|
+
declare function isCurveConfigured(spec: ScalarCurveSpec | null | undefined): boolean;
|
|
5805
|
+
/**
|
|
5806
|
+
* The platform's single rounding convention, ported for values the client shows BEFORE
|
|
5807
|
+
* the server confirms them (an upgrade cap, a level price): UP, once, to the total.
|
|
5808
|
+
*
|
|
5809
|
+
* The value is first magnetised to the nearest integer: without it `100 * (1 - 0.1)`
|
|
5810
|
+
* gives `90.000000000000014` in floating point, and rounding up turns that into 91 —
|
|
5811
|
+
* every rate would silently overcharge by one. The threshold is relative, because on
|
|
5812
|
+
* large sums the floating-point step is already coarser than an absolute epsilon.
|
|
5813
|
+
*/
|
|
5814
|
+
declare function roundAmount(value: number): number;
|
|
5815
|
+
|
|
5472
5816
|
/** enum AdType — ad format. */
|
|
5473
5817
|
declare const AdType: {
|
|
5474
5818
|
readonly Banner: "Banner";
|
|
@@ -5497,7 +5841,20 @@ type PremiumAdReduction = { MinPremiumTier?: null | number; RequiredPremiumID?:
|
|
|
5497
5841
|
type AdConsentSettings = { RequirePersonalizedAdsConsent?: null | boolean; RequireTrackingConsent?: null | boolean; CurrentPolicyVersion?: null | string; RegulatedRegions?: null | Array<string>; [key: string]: unknown; };
|
|
5498
5842
|
type AdVerificationSettings = { RequireServerSideVerification?: null | boolean; PendingRequestTtlSeconds?: null | number; MaxPendingRequestsPerUser?: null | number; ProviderPublicKeys?: null | Record<string, string>; [key: string]: unknown; };
|
|
5499
5843
|
type AdUnitConfig = { AndroidUnitID?: null | string; IosUnitID?: null | string; WebUnitID?: null | string; Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; [key: string]: unknown; };
|
|
5500
|
-
|
|
5844
|
+
/**
|
|
5845
|
+
* enum AdProviderKind — which mediation vendor a provider entry describes.
|
|
5846
|
+
*
|
|
5847
|
+
* This is the one field a client actually acts on: the ProviderID is a free-form string the
|
|
5848
|
+
* publisher types, so a game deciding which mediation SDK to boot must switch on the Kind,
|
|
5849
|
+
* never on the id. Absent = AppLovinMax (the backend's enum value 0 and its migration
|
|
5850
|
+
* contract — titles configured before the field existed must keep working).
|
|
5851
|
+
*/
|
|
5852
|
+
declare const AdProviderKind: {
|
|
5853
|
+
readonly AppLovinMax: "AppLovinMax";
|
|
5854
|
+
readonly LevelPlay: "LevelPlay";
|
|
5855
|
+
};
|
|
5856
|
+
type AdProviderKind = (typeof AdProviderKind)[keyof typeof AdProviderKind];
|
|
5857
|
+
type AdProviderDefinition = { ProviderID?: null | string; Kind?: null | 'AppLovinMax' | 'LevelPlay'; Enabled?: null | boolean; Priority?: null | number; AndroidAppID?: null | string; IosAppID?: null | string; WebAppID?: null | string; Units?: null | Record<string, AdUnitConfig>; [key: string]: unknown; };
|
|
5501
5858
|
type AdvertisingDefinitions = { Enabled?: null | boolean; Placements?: null | Record<string, AdPlacementDefinition>; Providers?: null | Record<string, AdProviderDefinition>; RewardedVideo?: null | RewardedVideoSettings; Interstitial?: null | InterstitialSettings; Banner?: null | BannerSettings; AppOpen?: null | AppOpenSettings; FrequencyCapping?: null | AdFrequencyCappingSettings; PremiumAdReductions?: null | Array<PremiumAdReduction>; Consent?: null | AdConsentSettings; Verification?: null | AdVerificationSettings; [key: string]: unknown; };
|
|
5502
5859
|
type AdCreditsData = { RewardedVideoCredit?: null | number; TotalEarned?: null | number; TotalSpent?: null | number; [key: string]: unknown; };
|
|
5503
5860
|
type AdPlacementUserState = { PlacementID?: null | string; LastShownAt?: null | string; LastCompletedAt?: null | string; TotalImpressions?: null | number; TotalCompletions?: null | number; ConsecutiveFailures?: null | number; [key: string]: unknown; };
|
|
@@ -5588,4 +5945,4 @@ declare class LocalizationCache {
|
|
|
5588
5945
|
private versionsKey;
|
|
5589
5946
|
}
|
|
5590
5947
|
|
|
5591
|
-
export { type AcceptTradeOfferResponse, type ActivateReferralCodeResponse, type ActivateTimedBoostResponse, type ActiveBoostWindowInfo, type ActiveCoopEventInfo, type ActiveDealSlotInfo, type ActiveEventInfo, type ActiveSeasonInfo, type ActiveTimedBoost, type AdConsentSettings, type AdConsentState, type AdCreditsData, type AdDailyData, type AdFraudFlags, type AdFrequencyCappingSettings, type AdPendingRequest, type AdPlacementDefinition, type AdPlacementUserState, type AdProviderDefinition, type AdSessionData, AdType, type AdUnitConfig, type AdVerificationSettings, type AddQuestProgressResponse, type AdvertisingDefinitions, type AppOpenSettings, AttackOutcome, type AttackResponse, type AttributionInput, type AuthContext, AuthType, AuthenticationAction, type AuthenticationRequest, AuthenticationService, BannerPosition, type BannerSettings, type BaseRequest, type BatchDeleteUserCustomDataResponse, type BatchGetPublicUserCustomDataResponse, type BatchItemResult, type BatchResponse, type BatchSetUserCustomDataResponse, type BattleResult, type BattleStepConfig, type BlockchainAccountSafetyPolicy, BlockchainAction, type BlockchainConfigResponse, type BlockchainDefinitions, type BlockchainNetworkDefinition, BlockchainNetworkType, type BlockchainNftCollectionBinding, BlockchainOperationCategory, type BlockchainRequest, BlockchainService, type BlockchainStats, type BlockchainSystemState, BlockchainTransactionStatus, BlockchainTransactionType, type BoardLoopDefinition, type BoardLoopState, type BoardPendingInteraction, type BoardRollResponse, BodyPart, type BoostTriggerCounter, BoostWindowKind, BroadcastStatus, type BuildResponse, type BuildingState, type CancelMatchResponse, type CancelTradeOfferResponse, type ChangeUsernameResponse, CharacterAction, type CharacterClassification, type CharacterDefinition, type CharacterDefinitions, type CharacterEquipment, type CharacterEquipmentSlot, type CharacterIdentity, type CharacterLevelDefinition, type CharacterLevelRef, type CharacterModel, type CharacterRequest, CharacterService, type CharacterStatRef, type CharacterUnequipResult, type CharacterUnlock, CheckoutService, type ClaimAllRewardsBatchResponse, type ClaimAllRewardsResult, type ClaimComebackRewardResponse, type ClaimCycleRewardResponse, type ClaimCycleRewardsBatchResponse, type ClaimDailyRewardResponse, type ClaimDealMilestoneResponse, type ClaimDealMilestonesBatchResponse, type ClaimGrandPrizeResponse, type ClaimGroupCompletionRewardResponse, type ClaimInviteRewardResponse, type ClaimInviteRewardsBatchResponse, type ClaimLeaderboardMilestoneResponse, type ClaimLeaderboardMilestonesBatchResponse, type ClaimMilestoneRewardResponse, type ClaimMilestoneRewardsBatchResponse, type ClaimMilestonesBatchResponse, type ClaimQuestRewardResponse, type ClaimQuestRewardsBatchResponse, type ClaimRewardResponse, type ClaimSetRewardResponse, type ClaimSetRewardsBatchResponse, type ClaimTierRewardResponse, type ClaimTierRewardsBatchResponse, ClientPlatform, type ClientState, CloudCodeAction, CloudCodeErrorCode, type CloudCodeLogEntry, CloudCodeLogLevel, type CloudCodeRequest, CloudCodeRevisionSelection, CloudCodeService, type CodeExecutionError, type CollectIdleAccrualResponse, CollectionAction, type CollectionDefinitions, type CollectionGlobalSettings, type CollectionRequest, CollectionService, type CollectionSetRef, type CollectionTradeOfferDocument, CommissionSink, type CommunityChestClaimResponse, type CommunityChestGroupDocument, type CommunityChestGroupStateResponse, type CommunityChestHistoryEntry, type CommunityChestLeaveResponse, type CommunityChestMember, CommunityChestMemberStatus, type CommunityChestSharedState, CommunityChestStatus, type CommunityChestUserStateResponse, type ConfirmWithdrawalResponse, type ConversionDailyCounter, ConversionRateMode, type ConversionTarget, type ConvertResponse, type CoopBuildObjectsMemberState, type CoopBuildObjectsState, type CoopClaimRewardResponse, CoopEventAction, type CoopEventDefinitions, type CoopEventRequest, CoopEventService, type CoopGroupDocument, type CoopGroupMember, type CoopGroupStateResponse, CoopGroupStatus, type CoopLeaveGroupResponse, CoopMemberStatus, type CoopPartnerObjectState, type CoopSpinResponse, type CoopUserStateResponse, CraftAction, type CraftDefinitions, type CraftDefinitionsResponse, type CraftRequest, type CraftResponse, CraftService, type CraftSingleResult, CraftType, type CreateMatchResponse, type CryptoConvertResponse, type CryptoCurrencyDefinition, type CryptoCurrencyPermissions, type CryptoLimits, type CryptoNetworkBinding, type CryptoShortfall, CurrencyAction, type CurrencyAudit, type CurrencyConversion, type CurrencyDefinitions, type CurrencyRequest, CurrencyService, CurrencyStatus, CurrencyType, CustomDataBucket, CustomDataValueType, CustomDataWriter, type CyclicSchedule, DEFAULT_BASE_URL, type DailyUsageRecord, type DealMilestoneProgressInfo, DealNodeRuntimeStatus, DealOfferAction, DealOfferActivationStatus, type DealOfferDefinitions, type DealOfferRequest, DealOfferService, type DealOffersDefinitionResponse, type DeclineTradeOfferResponse, type DepositNFTResponse, type DepositTokenResponse, type DismissDealResponse, type DonationResponse, EnvelopeType, type EquipItemsResponse, type EquipSlotPair, type EquipmentPreset, type EquipmentSlot, type EquippedItem, type EventMap, type EventMilestoneClaimResponse, type EventTokenAddress, type EventTokenConversion, type EventTokenDefinition, type EventTokenGrantResponse, type EventTokenOperation, type EventTokenSpendResponse, EventTokenType, type ExecuteCloudCodeResponse, type ExecuteNodeResponse, type ExperimentDefinition, type ExperimentDefinitions, type ExperimentVariant, type ExperimentVariantCondition, type FodderConsumedEntry, FodderSelectionMode, FodderValuationMode, type FriendActionResponse, FriendActionStatus, type FriendPublicProfile, type FriendsListResponse, GameLoopAction, type GameLoopDefinitions, type GameLoopRequest, GameLoopService, type GetActiveBoostWindowsResponse, type GetActiveDealsResponse, type GetActiveEventsResponse, type GetActiveTimedBoostsResponse, type GetCharactersResponse, type GetLeaderboardResponse, type GetLeaderboardsBatchResponse, type GetMatchDefinitionsResponse, type GetMilestoneRewardMultiplierResponse, type GetMyProgressResponse, type GetMyUserCustomDataResponse, type GetOverviewBatchResponse, type GetProgressBatchResponse, type GetPublicTitleDataResponse, type GetPublicUserCustomDataResponse, type GetTradeOffersResponse, type GetUserQuestStateResponse, type GetUserTutorialStateResponse, type GrantStatusTokensResponse, type GrantTokensBatchResponse, type GrantedCollectible, type HeistCell, IDosGamesClient, type IDosGamesClientConfig, IDosGamesData, type IDosGamesSettings, type IapProductDefinition, type IapProductPurchaseState, type IapProductRules, IapProductType, IapPurchaseStatus, type IapStore, IapStore$1 as IapStoreValues, type IceServer, type InstantBattleDefinitions, type InstantBattleResponse, type InstantBattleRule, type InterstitialSettings, type InventoryDelta, ItemAction, type ItemCatalog, type ItemDefinition, type ItemDefinitions, type ItemEquipment, type ItemMetadata, type ItemRequest, ItemService, type ItemStats, type ItemTotals, type ItemUpgrade, type ItemUpgradeFodder, type ItemUpgradeRef, type JsonValue, KeyValueStorage, KycStatus, KycTier, LeaderboardAction, type LeaderboardDefinitions, type LeaderboardMilestoneRef, type LeaderboardOverview, type LeaderboardRequest, type LeaderboardScoreRef, LeaderboardService, type LeaderboardUserEntry, type LeaveRoomResponse, type LevelsPreset, type LimitSpec, type LinkedWalletInfo, type Listener, LocalizationAction, LocalizationCache, type LocalizationDefinitions, type LocalizationLocaleDefinition, type LocalizationLocaleInfo, type LocalizationManifestResponse, LocalizationMissingKeyMode, type LocalizationParams, type LocalizationRequest, LocalizationService, type LocalizationState, type LocalizationTableRef, type LocalizationTableResponse, LootboxAction, type LootboxAmountRange, type LootboxDefinitions, type LootboxDefinitionsResponse, type LootboxGlobalSettings, type LootboxOpenResponse, type LootboxPityRule, type LootboxPityTriggerResponse, type LootboxRequest, type LootboxRewardRoll, type LootboxRewardSlot, LootboxService, type LootboxSupplyRule, type MailboxBroadcastDocument, type MailboxDefinition, type MailboxMessageDocument, MailboxMessageSource, MailboxMessageStatus, type MailboxMessageTypeDefinition, type MailboxSegmentDefinition, MarketGoodsType, MarketOfferStatus, MarketOfferType, MarketplaceAction, type MarketplaceActionCounter, type MarketplaceAuctionSettings, type MarketplaceAuctionState, type MarketplaceBidRefund, type MarketplaceBrowseResponse, type MarketplaceBuyOrderSettings, type MarketplaceCommissionOverride, type MarketplaceCommissionPolicy, type MarketplaceCreateOfferResponse, type MarketplaceDefinitions, type MarketplaceDirectTradeSettings, type MarketplaceGetDefinitionsResponse, type MarketplaceGroupedOfferView, type MarketplaceGroupedOffersResponse, type MarketplaceHistoryEntryView, type MarketplaceHistoryResponse, type MarketplaceListingSettings, type MarketplaceMatchingSettings, type MarketplaceMyStateResponse, type MarketplaceOfferResponse, type MarketplaceOfferView, type MarketplacePlaceBidResponse, type MarketplacePricePolicy, type MarketplaceRequest, MarketplaceService, type MarketplaceSettlementResponse, type MarketplaceTradabilityPolicy, MatchAction, type MatchDefinitions, type MatchRequest, MatchService, MatchStatus, type MatchesPageResponse, type MilestoneClaimRef, type MilestoneDefinition, MultiplayerAction, MultiplayerChatMode, type MultiplayerDefinitions, type MultiplayerRequest, MultiplayerService, type MultiplayerSystemState, MultiplayerTopology, type NFTModel, type NFTNetworkBinding, type NFTTransactionDocument, type NFTWithdrawalResponse, type NftCollectionStats, type NftStatsContainer, type OpenCollectionChestResponse, type OpenPackResponse, type OperationFailure, type OperationFailureReason, type OperationResult, type OperationSuccess, type PackOpenResult, type PaymentProof, type PaymentRequirement, type PendingWithdrawalRef, PlatformAdapter, type PlatformBlockchainState, type PlatformLoginResponse, type PlayerEconomyTuningState, type PollResponse, PremiumAction, type PremiumAdReduction, type PremiumDefinitions, type PremiumDefinitionsResponse, type PremiumPurchaseResponse, type PremiumRequest, PremiumService, type PremiumStateResponse, type PremiumSubscription, type PriceOption, type PriceOptions, type PublishResponse, PurchaseAction, type PurchaseBatchResponse, type PurchaseDefinitions, type PurchaseReceiptRef, type PurchaseRequest, PurchaseService, type PurchaseValidationBatchResponse, type PurchaseValidationResponse, type PvPMatch, QuestAction, type QuestAvailability, type QuestClaimRef, type QuestCycleDefinition, type QuestDefinition, type QuestDefinitions, type QuestGroupCompletionDefinition, type QuestIdentity, type QuestLinking, type QuestObjectiveDefinition, QuestObjectiveSource, type QuestPhaseDefinition, type QuestPointsTrackView, QuestPrerequisiteMode, type QuestPresetBindings, type QuestPresetRegistry, type QuestProgressUpdate, type QuestRequest, type QuestReward, QuestService, QuestStatus, RaidMode, type RaidResponse, type RealtimeEnvelope, type RechargeConfig, type RecordShowResponse, ReferralAction, type ReferralDefinitions, type ReferralDefinitionsResponse, type ReferralInviteRewardState, type ReferralRequest, ReferralService, type RelativeWindow, type ResourceBundle, type ResourceConsume, type ResourceDualPartyResult, type ResourceEntry, ResourceEntryType, type ResourceGrant, type ResourceOperation, type ResourceTransferResult, type RetryWithdrawalResponse, RewardAction, type RewardDefinitions, type RewardDefinitionsResponse, type RewardRequest, RewardService, type RewardedVideoSettings, type RollActionData, type RoomListItem, type RoomMemberView, type RoomSnapshotResponse, RoomVisibility, type RoomsPageResponse, type ScheduleChain, type ScheduleChainPhase, ScheduleMode, type ScheduleSpec, type ScheduledWindow, type SdkEvents, SeasonAction, type SeasonDefinitions, type SeasonRequest, SeasonService, type SeasonTierRewardBundle, type SeasonTierRewardMultiplier, type SeasonTierRewardSet, type SegmentGate, type SendTradeOfferResponse, type SetUserCustomDataResponse, type SettingsInput, SocialAction, type SocialCounters, type SocialRequest, SocialService, type SocialTimelineEvent, type SolanaWithdrawalSignature, type SpecialApplyMultiplierResponse, SpecialChoiceMode, type SpecialChooseResponse, type SpecialClaimResponse, type SpecialModeOfferData, type SpecialPendingState, type SpendRewardDefinition, type SpendTokensBatchResponse, type SsoCodeFromUrl, type StatDefinition, type StatRequirement, type StatsPreset, StoreAction, type StoreDefinitions, type StorePurchaseRef, type StorePurchaseResponse, type StorePurchaseState, type StoreRequest, StoreService, StoreType, type StoredLocalizationTable, type SubmitScoreResponse, type SubmitScoresBatchResponse, type SuccessResponse, TimedBoostAction, type TimedBoostDefinitions, type TimedBoostRequest, TimedBoostService, TimedBoostStackingPolicy, TimedEventAction, type TimedEventDefinitions, type TimedEventGrantRef, type TimedEventInstanceRef, type TimedEventMilestoneRef, type TimedEventRequest, TimedEventService, type TimedEventSpendRef, TimelineEventType, type TimelineResponse, TitleAction, TitleConfig, TitleCustomDataAction, type TitleCustomDataDefinitions, type TitleCustomDataKeyDefinition, type TitleCustomDataRecord, type TitleCustomDataRequest, TitleCustomDataService, TitleDataBucket, TitleDataScope, type TitlePublicConfigurationModel, type TitleRequest, TitleService, type TokenCurrencyStats, type TokenStatsContainer, type TokenTransactionDocument, type TokenWithdrawalResponse, TradeOfferStatus, TransactionDirection, type TransactionHistoryResponse, type TriggerContext, type TriggerSource, TutorialAction, type TutorialAvailability, type TutorialBlockingPolicy, TutorialBoardAction, type TutorialBoardScript, type TutorialClaimResponse, type TutorialDefinitions, type TutorialFlowBatchResponse, type TutorialFlowDefinition, type TutorialFlowPolicy, type TutorialFlowResponse, TutorialFlowStatus, type TutorialFlowView, type TutorialGateCondition, TutorialGateMode, type TutorialGlobalSettings, type TutorialIdentity, type TutorialPresetBindings, type TutorialPresetRegistry, type TutorialRequest, TutorialRestartPolicy, type TutorialReward, TutorialScriptModule, type TutorialScriptedOutcome, type TutorialStepCompletion, TutorialStepCompletionMode, type TutorialStepDefinition, type TutorialStepEffects, type TutorialStepIdentity, type TutorialStepPolicy, type TutorialStepProgress, TypedEmitter, type UnequipAllCharactersResponse, type UnequipItemsResponse, type UnlockCharacterResponse, type UnlockCharactersBatchResponse, type UnstackableItemInstanceState, type Unsubscribe, type UpdateMatchResponse, type UpgradeCharacterLevelResponse, type UpgradeCharacterLevelsBatchResponse, type UpgradeItemLevelResponse, type UpgradeLevelsBatchResponse, type UpgradeLevelsOptions, type UpgradeStatLevelResponse, type UpgradeStatLevelsBatchResponse, type UsageReactivationEvent, type UsageTimeStats, type UseCollectibleJokerResponse, UserAction, type UserAdvertisingState, type UserBlockchainState, type UserBlockchainStateResponse, type UserCharactersState, type UserClaimRewardState, type UserCollectionState, type UserComebackState, type UserCommunityChestState, type UserCoopEventState, type UserCryptoComplianceCounters, type UserCryptoCurrencyState, UserCustomDataAction, type UserCustomDataBatchDeleteItem, type UserCustomDataBatchSetItem, type UserCustomDataDefinitions, type UserCustomDataKeyDefinition, type UserCustomDataRecord, type UserCustomDataRequest, UserCustomDataService, type UserCustomDataState, type UserDailyCalendarState, type UserDailyCounters, UserData, type UserDealNodeLifetimeCounts, type UserDealNodeState, type UserDealOfferActivationState, type UserDealOfferHistory, type UserDealOffersState, type UserDealOffersStateResponse, type UserDealSlotState, type UserDealTrackState, type UserDepositAddress, type UserEventTokenProgress, type UserEventTokensState, type UserGameLoopsState, type UserIdleAccrualState, type UserInventoryState, type UserKycState, type UserLeaderboardProgress, type UserLeaderboardsState, type UserLootboxPityCounter, type UserLootboxState, type UserMailboxState, type UserMarketplaceState, type UserMatchCreationLimitState, type UserMatchState, type UserPremiumState, type UserPublicDataModel, type UserPurchaseState, type UserQuestCycleState, type UserQuestObjectiveProgress, type UserQuestProgress, type UserQuestState, type UserReferralState, type UserReferralStateResponse, type UserRequest, type UserRewardState, type UserRewardsStateResponse, type UserSeasonState, type UserSeasonStateResponse, type UserSeasonsState, UserService, type UserSocialState, type UserState, type UserStateSlice, type UserStateVersions, type UserStoreState, type UserTimedBoostsState, type UserTimedEventStateResponse, type UserTutorialFlowState, type UserTutorialState, type UserTutorialStepState, type UserUsageState, type UserVirtualCurrencyState, type VirtualCurrencyDefinition, type VirtualCurrencyEconomy, type VirtualCurrencyPermissions, type WalletChallengeResponse, WalletLinkType, type WithdrawalSignatureResponse, type WithdrawalSplit, beginSsoRedirect, createIDosGamesClient, isFail, isOk, normalizeBlockchainCategory, readSsoCodeFromUrl, zPaymentProof, zPriceOption, zPriceOptions };
|
|
5948
|
+
export { type AcceptTradeOfferResponse, type ActivateReferralCodeResponse, type ActivateTimedBoostResponse, type ActiveBoostWindowInfo, type ActiveCoopEventInfo, type ActiveDealSlotInfo, type ActiveEventInfo, type ActiveSeasonInfo, type ActiveTimedBoost, type AdConsentSettings, type AdConsentState, type AdCreditsData, type AdDailyData, type AdFraudFlags, type AdFrequencyCappingSettings, type AdPendingRequest, type AdPlacementDefinition, type AdPlacementUserState, type AdProviderDefinition, AdProviderKind, type AdSessionData, AdType, type AdUnitConfig, type AdVerificationSettings, type AddQuestProgressResponse, type AdvertisingDefinitions, type AppOpenSettings, AttackOutcome, type AttackResponse, type AttributionInput, type AuthContext, AuthType, AuthenticationAction, type AuthenticationRequest, AuthenticationService, BannerPosition, type BannerSettings, type BaseRequest, type BatchDeleteUserCustomDataResponse, type BatchGetPublicUserCustomDataResponse, type BatchItemResult, type BatchResponse, type BatchSetUserCustomDataResponse, type BattleResult, type BattleStepConfig, type BlockchainAccountSafetyPolicy, BlockchainAction, type BlockchainConfigResponse, type BlockchainDefinitions, type BlockchainNetworkDefinition, BlockchainNetworkType, type BlockchainNftCollectionBinding, BlockchainOperationCategory, type BlockchainRequest, BlockchainService, type BlockchainStats, type BlockchainSystemState, BlockchainTransactionStatus, BlockchainTransactionType, type BoardLoopDefinition, type BoardLoopState, type BoardPendingInteraction, type BoardRollResponse, BodyPart, type BoostTriggerCounter, BoostWindowKind, BroadcastStatus, type BuildResponse, type BuildingState, type CancelMatchResponse, type CancelTradeOfferResponse, type ChangeUsernameResponse, CharacterAction, type CharacterClassification, type CharacterDefinition, type CharacterDefinitions, type CharacterEquipment, type CharacterEquipmentSlot, type CharacterIdentity, type CharacterLevelRef, type CharacterModel, type CharacterRankLadder, type CharacterRequest, CharacterService, type CharacterStatRef, type CharacterUnequipResult, type CharacterUnlock, CheckoutService, type ClaimAllRewardsBatchResponse, type ClaimAllRewardsResult, type ClaimComebackRewardResponse, type ClaimCycleRewardResponse, type ClaimCycleRewardsBatchResponse, type ClaimDailyRewardResponse, type ClaimDealMilestoneResponse, type ClaimDealMilestonesBatchResponse, type ClaimGrandPrizeResponse, type ClaimGroupCompletionRewardResponse, type ClaimInviteRewardResponse, type ClaimInviteRewardsBatchResponse, type ClaimLeaderboardMilestoneResponse, type ClaimLeaderboardMilestonesBatchResponse, type ClaimMilestoneRewardResponse, type ClaimMilestoneRewardsBatchResponse, type ClaimMilestonesBatchResponse, type ClaimQuestRewardResponse, type ClaimQuestRewardsBatchResponse, type ClaimRewardResponse, type ClaimSetRewardResponse, type ClaimSetRewardsBatchResponse, type ClaimTierRewardResponse, type ClaimTierRewardsBatchResponse, ClientPlatform, type ClientState, CloudCodeAction, CloudCodeErrorCode, type CloudCodeLogEntry, CloudCodeLogLevel, type CloudCodeRequest, CloudCodeRevisionSelection, CloudCodeService, type CodeExecutionError, type CollectIdleAccrualResponse, CollectionAction, type CollectionDefinitions, type CollectionGlobalSettings, type CollectionRequest, CollectionService, type CollectionSetRef, type CollectionTradeOfferDocument, CommissionSink, type CommunityChestClaimResponse, type CommunityChestGroupDocument, type CommunityChestGroupStateResponse, type CommunityChestHistoryEntry, type CommunityChestLeaveResponse, type CommunityChestMember, CommunityChestMemberStatus, type CommunityChestSharedState, CommunityChestStatus, type CommunityChestUserStateResponse, type ConfirmWithdrawalResponse, type ConversionDailyCounter, ConversionRateMode, type ConversionTarget, type ConvertResponse, type CoopBuildObjectsMemberState, type CoopBuildObjectsState, type CoopClaimRewardResponse, CoopEventAction, type CoopEventDefinitions, type CoopEventRequest, CoopEventService, type CoopGroupDocument, type CoopGroupMember, type CoopGroupStateResponse, CoopGroupStatus, type CoopLeaveGroupResponse, CoopMemberStatus, type CoopPartnerObjectState, type CoopSpinResponse, type CoopUserStateResponse, CraftAction, type CraftDefinitions, type CraftDefinitionsResponse, type CraftRequest, type CraftResponse, CraftService, type CraftSingleResult, CraftType, type CreateMatchResponse, type CryptoConvertResponse, type CryptoCurrencyDefinition, type CryptoCurrencyPermissions, type CryptoLimits, type CryptoNetworkBinding, type CryptoShortfall, CurrencyAction, type CurrencyAudit, type CurrencyConversion, type CurrencyDefinitions, type CurrencyRequest, CurrencyService, CurrencyStatus, CurrencyType, CurveInterpolation, type CurvePoint, CurveShape, CustomDataBucket, CustomDataValueType, CustomDataWriter, type CyclicSchedule, DEFAULT_BASE_URL, type DailyUsageRecord, type DealMilestoneProgressInfo, DealNodeRuntimeStatus, DealOfferAction, DealOfferActivationStatus, type DealOfferDefinitions, type DealOfferRequest, DealOfferService, type DealOffersDefinitionResponse, type DeclineTradeOfferResponse, type DepositNFTResponse, type DepositTokenResponse, type DismissDealResponse, type DonationResponse, EnvelopeType, type EquipItemsResponse, type EquipSlotPair, type EquipmentPreset, type EquipmentSlot, type EquippedItem, type EventMap, type EventMilestoneClaimResponse, type EventTokenAddress, type EventTokenConversion, type EventTokenDefinition, type EventTokenGrantResponse, type EventTokenMilestoneData, type EventTokenOperation, type EventTokenSpendResponse, EventTokenType, type ExecuteCloudCodeResponse, type ExecuteNodeResponse, type ExperimentDefinition, type ExperimentDefinitions, type ExperimentVariant, type ExperimentVariantCondition, type FodderConsumedEntry, FodderSelectionMode, FodderValuationMode, type FriendActionResponse, FriendActionStatus, type FriendPublicProfile, type FriendsListResponse, GameLoopAction, type GameLoopDefinitions, type GameLoopRequest, GameLoopService, type GetActiveBoostWindowsResponse, type GetActiveDealsResponse, type GetActiveEventsResponse, type GetActiveTimedBoostsResponse, type GetCharactersResponse, type GetLeaderboardResponse, type GetLeaderboardsBatchResponse, type GetMatchDefinitionsResponse, type GetMilestoneRewardMultiplierResponse, type GetMyProgressResponse, type GetMyUserCustomDataResponse, type GetOverviewBatchResponse, type GetProgressBatchResponse, type GetPublicTitleDataResponse, type GetPublicUserCustomDataResponse, type GetTradeOffersResponse, type GetUserQuestStateResponse, type GetUserTutorialStateResponse, type GrantStatusTokensResponse, type GrantTokensBatchResponse, type GrantedCollectible, type HeistCell, IDosGamesClient, type IDosGamesClientConfig, IDosGamesData, type IDosGamesSettings, type IapProductDefinition, type IapProductPurchaseState, type IapProductRules, IapProductType, IapPurchaseStatus, type IapStore, IapStore$1 as IapStoreValues, type IceServer, type InstantBattleDefinitions, type InstantBattleResponse, type InstantBattleRule, type InterstitialSettings, type InventoryDelta, ItemAction, type ItemCatalog, type ItemDefinition, type ItemDefinitions, type ItemEquipment, type ItemMetadata, type ItemRequest, ItemService, type ItemStats, type ItemTotals, type ItemUpgrade, type ItemUpgradeFodder, type ItemUpgradeRef, type JsonValue, KeyValueStorage, KycStatus, KycTier, LeaderboardAction, type LeaderboardDefinitions, type LeaderboardMilestoneRef, type LeaderboardOverview, type LeaderboardRequest, type LeaderboardScoreRef, LeaderboardService, type LeaderboardUserEntry, type LeaveRoomResponse, type LevelsPreset, type LimitSpec, type LinkedWalletInfo, type Listener, LocalizationAction, LocalizationCache, type LocalizationDefinitions, type LocalizationLocaleDefinition, type LocalizationLocaleInfo, type LocalizationManifestResponse, LocalizationMissingKeyMode, type LocalizationParams, type LocalizationRequest, LocalizationService, type LocalizationState, type LocalizationTableRef, type LocalizationTableResponse, LootboxAction, type LootboxAmountRange, type LootboxDefinitions, type LootboxDefinitionsResponse, type LootboxGlobalSettings, type LootboxOpenResponse, type LootboxPityRule, type LootboxPityTriggerResponse, type LootboxRequest, type LootboxRewardRoll, type LootboxRewardSlot, LootboxService, type LootboxSupplyRule, type MailboxBroadcastDocument, type MailboxDefinition, type MailboxMessageDocument, MailboxMessageSource, MailboxMessageStatus, type MailboxMessageTypeDefinition, type MailboxSegmentDefinition, MarketGoodsType, MarketOfferStatus, MarketOfferType, MarketplaceAction, type MarketplaceActionCounter, type MarketplaceAuctionSettings, type MarketplaceAuctionState, type MarketplaceBidRefund, type MarketplaceBrowseResponse, type MarketplaceBuyOrderSettings, type MarketplaceCommissionOverride, type MarketplaceCommissionPolicy, type MarketplaceCreateOfferResponse, type MarketplaceDefinitions, type MarketplaceDirectTradeSettings, type MarketplaceGetDefinitionsResponse, type MarketplaceGroupedOfferView, type MarketplaceGroupedOffersResponse, type MarketplaceHistoryEntryView, type MarketplaceHistoryResponse, type MarketplaceListingSettings, type MarketplaceMatchingSettings, type MarketplaceMyStateResponse, type MarketplaceOfferResponse, type MarketplaceOfferView, type MarketplacePlaceBidResponse, type MarketplacePricePolicy, type MarketplaceRequest, MarketplaceService, type MarketplaceSettlementResponse, type MarketplaceTradabilityPolicy, MatchAction, type MatchDefinitions, type MatchRequest, MatchService, MatchStatus, type MatchesPageResponse, type MilestoneClaimEntry, type MilestoneClaimRef, type MilestoneDefinition, MultiplayerAction, MultiplayerChatMode, type MultiplayerDefinitions, type MultiplayerRequest, MultiplayerService, type MultiplayerSystemState, MultiplayerTopology, type NFTModel, type NFTNetworkBinding, type NFTTransactionDocument, type NFTWithdrawalResponse, type NftCollectionStats, type NftStatsContainer, type OpenCollectionChestResponse, type OpenPackResponse, type OperationFailure, type OperationFailureReason, type OperationResult, type OperationSuccess, type PackOpenResult, type PaymentProof, type PaymentRequirement, type PendingWithdrawalRef, PlatformAdapter, type PlatformBlockchainState, type PlatformLoginResponse, type PlayerEconomyTuningState, type PollResponse, PremiumAction, type PremiumAdReduction, type PremiumDefinitions, type PremiumDefinitionsResponse, type PremiumPurchaseResponse, type PremiumRequest, PremiumService, type PremiumStateResponse, type PremiumSubscription, type PriceOption, type PriceOptions, type PublishResponse, PurchaseAction, type PurchaseBatchResponse, type PurchaseDefinitions, type PurchaseReceiptRef, type PurchaseRequest, PurchaseService, type PurchaseValidationBatchResponse, type PurchaseValidationResponse, type PvPMatch, QuestAction, type QuestAvailability, type QuestClaimRef, type QuestCycleDefinition, type QuestDefinition, type QuestDefinitions, type QuestGroupCompletionDefinition, type QuestIdentity, type QuestLinking, type QuestObjectiveDefinition, QuestObjectiveSource, type QuestPhaseDefinition, type QuestPointsTrackView, QuestPrerequisiteMode, type QuestPresetBindings, type QuestPresetRegistry, type QuestProgressUpdate, type QuestRequest, type QuestReward, QuestService, QuestStatus, RaidMode, type RaidResponse, type RealtimeEnvelope, type RechargeConfig, type RecordShowResponse, ReferralAction, type ReferralDefinitions, type ReferralDefinitionsResponse, type ReferralInviteRewardState, type ReferralRequest, ReferralService, type RelativeWindow, type ResourceBundle, type ResourceConsume, type ResourceDualPartyResult, type ResourceEntry, ResourceEntryType, type ResourceGrant, type ResourceOperation, type ResourceTransferResult, type RetryWithdrawalResponse, RewardAction, type RewardDefinitions, type RewardDefinitionsResponse, type RewardRequest, RewardService, type RewardedVideoSettings, type RollActionData, type RoomListItem, type RoomMemberView, type RoomSnapshotResponse, RoomVisibility, type RoomsPageResponse, type ScalarCurveSpec, type ScheduleChain, type ScheduleChainPhase, ScheduleMode, type ScheduleSpec, type ScheduledWindow, type SdkEvents, SeasonAction, type SeasonDefinitions, type SeasonRequest, SeasonService, type SeasonTierRewardBundle, type SeasonTierRewardMultiplier, type SeasonTierRewardSet, type SegmentGate, type SendTradeOfferResponse, type SetUserCustomDataResponse, type SettingsInput, SocialAction, type SocialCounters, type SocialRequest, SocialService, type SocialTimelineEvent, type SolanaWithdrawalSignature, type SpecialApplyMultiplierResponse, SpecialChoiceMode, type SpecialChooseResponse, type SpecialClaimResponse, type SpecialModeOfferData, type SpecialPendingState, type SpendRewardDefinition, type SpendTokensBatchResponse, type SsoCodeFromUrl, type StatDefinition, type StatRequirement, type StatsPreset, StoreAction, type StoreDefinitions, type StorePurchaseRef, type StorePurchaseResponse, type StorePurchaseState, type StoreRequest, StoreService, StoreType, type StoredLocalizationTable, type SubmitScoreResponse, type SubmitScoresBatchResponse, type SuccessResponse, TimedBoostAction, type TimedBoostDefinitions, type TimedBoostRequest, TimedBoostService, TimedBoostStackingPolicy, TimedEventAction, type TimedEventDefinitions, type TimedEventGrantRef, type TimedEventInstanceRef, type TimedEventMilestoneRef, type TimedEventRequest, TimedEventService, type TimedEventSpendRef, TimelineEventType, type TimelineResponse, TitleAction, TitleConfig, TitleCustomDataAction, type TitleCustomDataDefinitions, type TitleCustomDataKeyDefinition, type TitleCustomDataRecord, type TitleCustomDataRequest, TitleCustomDataService, TitleDataBucket, TitleDataScope, type TitlePublicConfigurationModel, type TitleRequest, TitleService, type TokenCurrencyStats, type TokenStatsContainer, type TokenTransactionDocument, type TokenWithdrawalResponse, TradeOfferStatus, TransactionDirection, type TransactionHistoryResponse, type TriggerContext, type TriggerSource, TutorialAction, type TutorialAvailability, type TutorialBlockingPolicy, TutorialBoardAction, type TutorialBoardScript, type TutorialClaimResponse, type TutorialDefinitions, type TutorialFlowBatchResponse, type TutorialFlowDefinition, type TutorialFlowPolicy, type TutorialFlowResponse, TutorialFlowStatus, type TutorialFlowView, type TutorialGateCondition, TutorialGateMode, type TutorialGlobalSettings, type TutorialIdentity, type TutorialPresetBindings, type TutorialPresetRegistry, type TutorialRequest, TutorialRestartPolicy, type TutorialReward, TutorialScriptModule, type TutorialScriptedOutcome, type TutorialStepCompletion, TutorialStepCompletionMode, type TutorialStepDefinition, type TutorialStepEffects, type TutorialStepIdentity, type TutorialStepPolicy, type TutorialStepProgress, TypedEmitter, type UnequipAllCharactersResponse, type UnequipItemsResponse, type UnlockCharacterResponse, type UnlockCharactersBatchResponse, type UnstackableItemInstanceState, type Unsubscribe, type UpdateMatchResponse, type UpgradeCharacterLevelResponse, type UpgradeCharacterLevelsBatchResponse, type UpgradeItemLevelResponse, type UpgradeLevelsBatchResponse, type UpgradeLevelsOptions, type UpgradeStatLevelResponse, type UpgradeStatLevelsBatchResponse, type UsagePeriodRecord, type UsageReactivationEvent, type UsageTimeStats, type UseCollectibleJokerResponse, UserAction, type UserAdvertisingState, type UserBlockchainState, type UserBlockchainStateResponse, type UserCharactersState, type UserClaimRewardState, type UserCollectionState, type UserComebackState, type UserCommunityChestState, type UserCoopEventState, type UserCryptoComplianceCounters, type UserCryptoCurrencyState, UserCustomDataAction, type UserCustomDataBatchDeleteItem, type UserCustomDataBatchSetItem, type UserCustomDataDefinitions, type UserCustomDataKeyDefinition, type UserCustomDataRecord, type UserCustomDataRequest, UserCustomDataService, type UserCustomDataState, type UserDailyCalendarState, type UserDailyCounters, UserData, type UserDealNodeLifetimeCounts, type UserDealNodeState, type UserDealOfferActivationState, type UserDealOfferHistory, type UserDealOffersState, type UserDealOffersStateResponse, type UserDealSlotState, type UserDealTrackState, type UserDepositAddress, type UserEventTokenProgress, type UserEventTokensState, type UserGameLoopsState, type UserIdleAccrualState, type UserInventoryState, type UserKycState, type UserLeaderboardProgress, type UserLeaderboardsState, type UserLootboxPityCounter, type UserLootboxState, type UserMailboxState, type UserMarketplaceState, type UserMatchCreationLimitState, type UserMatchState, type UserPremiumState, type UserPublicDataModel, type UserPurchaseState, type UserQuestCycleState, type UserQuestObjectiveProgress, type UserQuestProgress, type UserQuestState, type UserReferralState, type UserReferralStateResponse, type UserRequest, type UserRewardState, type UserRewardsStateResponse, type UserSeasonState, type UserSeasonStateResponse, type UserSeasonsState, UserService, type UserSocialState, type UserState, type UserStateSlice, type UserStateVersions, type UserStoreState, type UserTimedBoostsState, type UserTimedEventStateResponse, type UserTutorialFlowState, type UserTutorialState, type UserTutorialStepState, type UserUsageState, type UserVirtualCurrencyState, type VirtualCurrencyDefinition, type VirtualCurrencyEconomy, type VirtualCurrencyPermissions, type WalletChallengeResponse, WalletLinkType, type WithdrawalSignatureResponse, type WithdrawalSplit, beginSsoRedirect, claimedMilestoneIDs, createIDosGamesClient, curveMultiplier, evaluateCurve, grantedPremiumTiers, isCurveConfigured, isFail, isMilestoneClaimed, isOk, normalizeBlockchainCategory, readSsoCodeFromUrl, roundAmount, zPaymentProof, zPriceOption, zPriceOptions };
|