@idosgames/core 0.1.5 → 0.3.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/dist/index.cjs +2 -2
- package/dist/index.d.cts +844 -560
- package/dist/index.d.ts +844 -560
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -439,7 +439,7 @@ interface UserQuestState {
|
|
|
439
439
|
PermanentQuests?: Record<string, UserQuestProgress>;
|
|
440
440
|
LastUpdatedUtc?: string;
|
|
441
441
|
}
|
|
442
|
-
type QuestPointsTrackView = { CycleID: string; InstanceKey?: null | string; CycleStartUtc?: null | string; CycleEndUtc?: null | string; PointsTotalEarned?: null | number; PointsCurrent?: null | number; ClaimedPointMilestoneIDs?: null | Array<string>; };
|
|
442
|
+
type QuestPointsTrackView = { CycleID: string; InstanceKey?: null | string; PhaseID?: null | string; CycleIndex?: null | number; CycleStartUtc?: null | string; CycleEndUtc?: null | string; PointsTotalEarned?: null | number; PointsCurrent?: null | number; ClaimedPointMilestoneIDs?: null | Array<string>; };
|
|
443
443
|
type QuestProgressUpdate = { QuestID: string; Status: 'Active' | 'Completed' | 'Claimed' | 'Expired'; CycleID?: null | string; ObjectiveID?: null | string; NewValue?: null | number; ObjectiveCompleted?: null | boolean; };
|
|
444
444
|
type GetUserQuestStateResponse = { State?: null | UserQuestState; PointsTracks?: null | Record<string, QuestPointsTrackView>; };
|
|
445
445
|
type ClaimQuestRewardResponse = { ServerTimeUtc: string; QuestID: string; CycleID?: null | string; NewStatus?: null | 'Active' | 'Completed' | 'Claimed' | 'Expired'; Resources?: null | ResourceOperation; };
|
|
@@ -461,8 +461,16 @@ declare const QuestPrerequisiteMode: {
|
|
|
461
461
|
readonly BlockClaimOnly: "BlockClaimOnly";
|
|
462
462
|
};
|
|
463
463
|
type QuestPrerequisiteMode = (typeof QuestPrerequisiteMode)[keyof typeof QuestPrerequisiteMode];
|
|
464
|
-
type
|
|
464
|
+
type QuestObjectiveDefinition = { ObjectiveID?: null | string; Source?: null | 'ClientApi' | 'ServerApi' | 'SystemEvent'; MaxProgressPerCall?: null | number; MetricID?: null | string; Triggers?: null | Array<TriggerSource>; TargetValue?: null | number; AggregationMethod?: null | string; [key: string]: unknown; };
|
|
465
|
+
type QuestPresetBindings = { Milestones?: null | PresetBinding; Linking?: null | PresetBinding; Availability?: null | PresetBinding; Reward?: null | PresetBinding; Objectives?: null | PresetBinding; [key: string]: unknown; };
|
|
466
|
+
type QuestIdentity = { DisplayName?: null | string; Description?: null | string; SortOrder?: null | number; AssetPaths?: null | Record<string, string>; CustomParams?: null | Record<string, string>; [key: string]: unknown; };
|
|
467
|
+
type QuestLinking = { CycleIDs?: null | Array<string>; GroupID?: null | string; PhaseIDs?: null | Array<string>; RequiredQuestIDs?: null | Array<string>; PrerequisiteMode?: null | 'BlockProgressAndClaim' | 'BlockClaimOnly'; [key: string]: unknown; };
|
|
468
|
+
type QuestAvailability = { Schedule?: null | ScheduleSpec; AccrueProgressWhenLocked?: null | boolean; Gate?: null | SegmentGate; Limits?: null | LimitSpec; [key: string]: unknown; };
|
|
469
|
+
type QuestReward = { Grant?: null | ResourceGrant; PointsReward?: null | number; [key: string]: unknown; };
|
|
470
|
+
type QuestDefinition = { QuestID?: null | string; Identity?: null | QuestIdentity; Linking?: null | QuestLinking; Availability?: null | QuestAvailability; Objectives?: null | Record<string, QuestObjectiveDefinition>; Reward?: null | QuestReward; Presets?: null | QuestPresetBindings; [key: string]: unknown; };
|
|
465
471
|
type QuestGroupCompletionDefinition = { CompletionID?: null | string; GroupID?: null | string; RequiredCompletedQuests?: null | number; Gate?: null | SegmentGate; Reward?: null | ResourceGrant; PointsReward?: null | number; [key: string]: unknown; };
|
|
472
|
+
type QuestPhaseDefinition = { PhaseID?: null | string; Order?: null | number; DurationSec?: null | number; ClaimGraceHours?: null | number; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; CustomParams?: null | Record<string, string>; Gate?: null | SegmentGate; Milestones?: null | Record<string, MilestoneDefinition>; Presets?: null | QuestPresetBindings; PointsToken?: null | EventTokenDefinition; [key: string]: unknown; };
|
|
473
|
+
type QuestPresetRegistry = { Milestones?: null | Record<string, MilestoneSet>; Linking?: null | Record<string, QuestLinking>; Availability?: null | Record<string, QuestAvailability>; Reward?: null | Record<string, QuestReward>; Objectives?: null | Record<string, Record<string, QuestObjectiveDefinition>>; [key: string]: unknown; };
|
|
466
474
|
/** Cycle definition: schedule + milestone rewards + points-track token. */
|
|
467
475
|
interface QuestCycleDefinition {
|
|
468
476
|
CycleID?: string | null;
|
|
@@ -472,12 +480,19 @@ interface QuestCycleDefinition {
|
|
|
472
480
|
Gate?: SegmentGate | null;
|
|
473
481
|
PointsToken?: EventTokenDefinition | null;
|
|
474
482
|
GroupCompletions?: Record<string, QuestGroupCompletionDefinition> | null;
|
|
483
|
+
/** Chain phases, keyed by PhaseID — only for `Schedule.Mode = "Chained"`. */
|
|
484
|
+
Phases?: Record<string, QuestPhaseDefinition> | null;
|
|
485
|
+
Presets?: QuestPresetBindings | null;
|
|
486
|
+
AssetPaths?: Record<string, string> | null;
|
|
487
|
+
CustomParams?: Record<string, string> | null;
|
|
475
488
|
[key: string]: unknown;
|
|
476
489
|
}
|
|
477
490
|
/** Root block of the quest system in the title config. */
|
|
478
491
|
interface QuestDefinitions {
|
|
479
492
|
Cycles?: Record<string, QuestCycleDefinition> | null;
|
|
480
493
|
Quests?: Record<string, QuestDefinition> | null;
|
|
494
|
+
/** Reusable blocks referenced by cycles, phases and quests. The only reuse mechanism. */
|
|
495
|
+
Presets?: QuestPresetRegistry | null;
|
|
481
496
|
[key: string]: unknown;
|
|
482
497
|
}
|
|
483
498
|
/** One (cycle, quest) pair for a batch reward claim. CycleID null/empty = permanent quest. */
|
|
@@ -1828,228 +1843,383 @@ declare const MarketplaceAction: {
|
|
|
1828
1843
|
readonly ClaimBack: "ClaimBack";
|
|
1829
1844
|
};
|
|
1830
1845
|
type MarketplaceAction = (typeof MarketplaceAction)[keyof typeof MarketplaceAction];
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
ItemInstanceID?: string;
|
|
1837
|
-
Levels?: number;
|
|
1838
|
-
TargetLevel?: number;
|
|
1839
|
-
FodderInstanceIDs?: string[];
|
|
1846
|
+
|
|
1847
|
+
interface UserDailyCounters {
|
|
1848
|
+
PeriodStartUtc: string;
|
|
1849
|
+
Earned: number;
|
|
1850
|
+
Spent: number;
|
|
1840
1851
|
}
|
|
1841
|
-
interface
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
TargetLevel?: number;
|
|
1845
|
-
FodderInstanceIDs?: string[];
|
|
1846
|
-
/** UpgradeLevelsBatch: per-instance upgrades (deduped by ItemInstanceID). */
|
|
1847
|
-
Upgrades?: ItemUpgradeRef[];
|
|
1852
|
+
interface UserRechargeState {
|
|
1853
|
+
LastRechargeAt?: string;
|
|
1854
|
+
PendingSeconds?: number;
|
|
1848
1855
|
}
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
readonly FlatCount: "FlatCount";
|
|
1856
|
-
readonly Merge: "Merge";
|
|
1857
|
-
readonly InvestmentRefund: "InvestmentRefund";
|
|
1858
|
-
};
|
|
1859
|
-
type FodderValuationMode = (typeof FodderValuationMode)[keyof typeof FodderValuationMode];
|
|
1860
|
-
declare const FodderSelectionMode: {
|
|
1861
|
-
readonly ProtectLeveled: "ProtectLeveled";
|
|
1862
|
-
readonly CheapestFirst: "CheapestFirst";
|
|
1863
|
-
readonly ClientSelected: "ClientSelected";
|
|
1864
|
-
};
|
|
1865
|
-
type FodderSelectionMode = (typeof FodderSelectionMode)[keyof typeof FodderSelectionMode];
|
|
1866
|
-
type NFTNetworkBinding = { ContractAddress?: null | string; TokenID?: null | string; TokenStandard?: null | string; [key: string]: unknown; };
|
|
1867
|
-
type NFTModel = { Networks?: null | Record<string, NFTNetworkBinding>; MetadataUrl?: null | string; [key: string]: unknown; };
|
|
1868
|
-
type ItemStats = { FlatBonuses?: null | Record<string, number>; PercentBonuses?: null | Record<string, number>; Power?: null | number; [key: string]: unknown; };
|
|
1869
|
-
type ItemEquipment = { MinCharacterLevel?: null | number; UseRequirements?: null | Record<string, number>; AllowedCharacterIDs?: null | Array<string>; AllowedSlotIDs?: null | Array<string>; [key: string]: unknown; };
|
|
1870
|
-
type ItemUpgradeFodder = { ValuationMode?: null | 'FlatCount' | 'Merge' | 'InvestmentRefund'; MergeRatio?: null | number; Selection?: null | 'ProtectLeveled' | 'CheapestFirst' | 'ClientSelected'; [key: string]: unknown; };
|
|
1871
|
-
type ItemUpgrade = { MaxLevel?: null | number; BaseCostResource?: null | ResourceConsume; CostScalingFactor?: null | number; FlatScalingFactor?: null | number; PercentScalingFactor?: null | number; PowerScalingFactor?: null | number; Fodder?: null | ItemUpgradeFodder; [key: string]: unknown; };
|
|
1872
|
-
type ItemMetadata = { RarityID?: null | string; CollectionID?: null | string; AuthorID?: null | string; [key: string]: unknown; };
|
|
1873
|
-
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; };
|
|
1874
|
-
/** Catalog: a set of items of one thematic group. Key of `Items` is ItemID. */
|
|
1875
|
-
interface ItemCatalog {
|
|
1876
|
-
Items?: Record<string, ItemDefinition> | null;
|
|
1856
|
+
interface UserVirtualCurrencyState {
|
|
1857
|
+
Amount: number;
|
|
1858
|
+
Recharge?: UserRechargeState | null;
|
|
1859
|
+
Daily?: UserDailyCounters | null;
|
|
1860
|
+
CreatedAt?: string;
|
|
1861
|
+
UpdatedAt?: string;
|
|
1877
1862
|
}
|
|
1878
|
-
/**
|
|
1879
|
-
interface
|
|
1880
|
-
|
|
1863
|
+
/** Personal deposit address assigned to the player in one network (lazily generated). */
|
|
1864
|
+
interface UserDepositAddress {
|
|
1865
|
+
Address: string;
|
|
1866
|
+
Memo?: string | null;
|
|
1867
|
+
AssignedAt: string;
|
|
1881
1868
|
}
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1869
|
+
/** Spent-compliance (AML) window counters, checked against CryptoCurrencyDefinition.Limits. */
|
|
1870
|
+
interface UserCryptoComplianceCounters {
|
|
1871
|
+
DailyPeriodStartUtc: string;
|
|
1872
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
1873
|
+
DailyWithdrawnUsd: string;
|
|
1874
|
+
MonthlyPeriodStartUtc: string;
|
|
1875
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
1876
|
+
MonthlyWithdrawnUsd: string;
|
|
1890
1877
|
}
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
1901
|
-
/** Container of content preset wiring (milestones). null = presets unused. */
|
|
1902
|
-
Presets?: TimedEventPresetBindings | null;
|
|
1903
|
-
BonusWindow?: BonusWindowConfig | null;
|
|
1878
|
+
interface UserCryptoCurrencyState {
|
|
1879
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
1880
|
+
Amount: string;
|
|
1881
|
+
Frozen: string;
|
|
1882
|
+
DepositAddresses?: Record<string, UserDepositAddress>;
|
|
1883
|
+
Compliance?: UserCryptoComplianceCounters;
|
|
1884
|
+
CreatedAt?: string;
|
|
1885
|
+
UpdatedAt?: string;
|
|
1886
|
+
[k: string]: unknown;
|
|
1904
1887
|
}
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
DurationSec?: number | null;
|
|
1910
|
-
Content?: EventContent | null;
|
|
1911
|
-
ClaimGraceHours?: number | null;
|
|
1912
|
-
CustomParams?: Record<string, string> | null;
|
|
1888
|
+
interface ItemTotals {
|
|
1889
|
+
StackableAmount: number;
|
|
1890
|
+
UnstackableAmount: number;
|
|
1891
|
+
TotalAmount: number;
|
|
1913
1892
|
}
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1893
|
+
interface UnstackableItemInstanceState {
|
|
1894
|
+
ItemInstanceID: string;
|
|
1895
|
+
ItemID: string;
|
|
1896
|
+
CatalogID?: string | null;
|
|
1897
|
+
Quantity?: number;
|
|
1898
|
+
RemainingUses?: number;
|
|
1899
|
+
Level?: number;
|
|
1900
|
+
AcquiredAt: string;
|
|
1901
|
+
ExpiresAt?: string | null;
|
|
1902
|
+
EquippedSlot?: EquipmentSlot | null;
|
|
1903
|
+
CustomData?: string | null;
|
|
1925
1904
|
}
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1905
|
+
/** Daily-window counter for one conversion pair ("{srcType}:{srcID}->{tgtType}:{tgtID}"). */
|
|
1906
|
+
interface ConversionDailyCounter {
|
|
1907
|
+
PeriodStartUtc: string;
|
|
1908
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
1909
|
+
AmountToday: string;
|
|
1930
1910
|
}
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1911
|
+
interface UserInventoryState {
|
|
1912
|
+
Version?: number;
|
|
1913
|
+
VirtualCurrencies?: Record<string, UserVirtualCurrencyState>;
|
|
1914
|
+
CryptoCurrencies?: Record<string, UserCryptoCurrencyState>;
|
|
1915
|
+
Items?: Record<string, ItemTotals>;
|
|
1916
|
+
UnstackableItems?: Record<string, UnstackableItemInstanceState>;
|
|
1917
|
+
ConversionDaily?: Record<string, ConversionDailyCounter>;
|
|
1937
1918
|
}
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
CanEarn?: boolean | null;
|
|
1947
|
-
CanClaim?: boolean | null;
|
|
1948
|
-
NextMilestone?: MilestoneDefinition | null;
|
|
1949
|
-
BonusWindow?: BonusWindowState | null;
|
|
1950
|
-
CurrentCycleIndex?: number | null;
|
|
1951
|
-
/** Chained-mode only: this event's 1-based position within the chain. */
|
|
1952
|
-
CurrentEventOrder?: number | null;
|
|
1953
|
-
/** Chained-mode only: total number of events in the chain. */
|
|
1954
|
-
TotalEventsInChain?: number | null;
|
|
1919
|
+
/** Personal "balance tuning" multiplier, server-only in intent but present on ClientState.User. */
|
|
1920
|
+
interface PlayerEconomyTuningState {
|
|
1921
|
+
Segment: string;
|
|
1922
|
+
RewardMultiplier: number;
|
|
1923
|
+
CostMultiplier: number;
|
|
1924
|
+
MaxRollMultiplierOverride: number;
|
|
1925
|
+
ExpiresAtUtc: string;
|
|
1926
|
+
Version: number;
|
|
1955
1927
|
}
|
|
1956
|
-
|
|
1957
|
-
|
|
1928
|
+
/** One recorded reactivation — a return after a silence gap of 7+ days. */
|
|
1929
|
+
interface UsageReactivationEvent {
|
|
1930
|
+
ReactivatedAt: string;
|
|
1931
|
+
DaysSinceLastActive: number;
|
|
1958
1932
|
}
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
/** Addresses one event instance in a batch request (Type+LteID, optionally CycleIndex/ChainedEventID). */
|
|
1967
|
-
interface TimedEventInstanceRef {
|
|
1968
|
-
Type?: ScheduleMode;
|
|
1969
|
-
LteID?: string;
|
|
1970
|
-
CycleIndex?: number;
|
|
1971
|
-
ChainedEventID?: string;
|
|
1933
|
+
/** One calendar day's usage stats (UTC). Key in UserUsageState.Daily is "ddMMyyyy". */
|
|
1934
|
+
interface DailyUsageRecord {
|
|
1935
|
+
Seconds: number;
|
|
1936
|
+
Sessions: number;
|
|
1937
|
+
LongestSessionSeconds: number;
|
|
1938
|
+
ActiveHoursMask: number;
|
|
1939
|
+
LastActiveAt: string;
|
|
1972
1940
|
}
|
|
1973
|
-
/**
|
|
1974
|
-
interface
|
|
1975
|
-
|
|
1941
|
+
/** Aggregated app-usage stats (UserDataDocument.Usage), foreground-activity seconds only. */
|
|
1942
|
+
interface UserUsageState {
|
|
1943
|
+
TotalSeconds: number;
|
|
1944
|
+
TotalSessions: number;
|
|
1945
|
+
FirstActiveAt?: string | null;
|
|
1946
|
+
LastActiveAt: string;
|
|
1947
|
+
Reactivations?: UsageReactivationEvent[];
|
|
1948
|
+
Daily?: Record<string, DailyUsageRecord>;
|
|
1976
1949
|
}
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1950
|
+
interface UserState {
|
|
1951
|
+
UserID?: string;
|
|
1952
|
+
InventoryV2?: UserInventoryState;
|
|
1953
|
+
EventToken?: UserEventTokensState;
|
|
1954
|
+
Store?: UserStoreState | null;
|
|
1955
|
+
Lootbox?: UserLootboxState | null;
|
|
1956
|
+
Reward?: UserRewardState | null;
|
|
1957
|
+
Quest?: UserQuestState | null;
|
|
1958
|
+
Leaderboard?: UserLeaderboardsState | null;
|
|
1959
|
+
Season?: UserSeasonsState | null;
|
|
1960
|
+
Premium?: UserPremiumState | null;
|
|
1961
|
+
Character?: UserCharactersState | null;
|
|
1962
|
+
Match?: UserMatchState | null;
|
|
1963
|
+
Collection?: UserCollectionState | null;
|
|
1964
|
+
CoopEvent?: UserCoopEventState | null;
|
|
1965
|
+
DealOffer?: UserDealOffersState | null;
|
|
1966
|
+
Referral?: UserReferralState | null;
|
|
1967
|
+
Social?: UserSocialState | null;
|
|
1968
|
+
TimedBoost?: UserTimedBoostsState | null;
|
|
1969
|
+
CustomData?: UserCustomDataState | null;
|
|
1970
|
+
GameLoop?: UserGameLoopsState | null;
|
|
1971
|
+
Blockchain?: UserBlockchainState | null;
|
|
1972
|
+
Marketplace?: UserMarketplaceState | null;
|
|
1973
|
+
PublicData?: UserPublicDataModel | null;
|
|
1974
|
+
EconomyTuning?: PlayerEconomyTuningState | null;
|
|
1975
|
+
Usage?: UserUsageState | null;
|
|
1976
|
+
[k: string]: unknown;
|
|
1981
1977
|
}
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1978
|
+
interface ClientState {
|
|
1979
|
+
/**
|
|
1980
|
+
* Версия конфига тайтла для запрошенного набора полей. Приходит всегда; клиент хранит её
|
|
1981
|
+
* рядом с конфигом и присылает обратно в `KnownTitleConfigVersion`.
|
|
1982
|
+
*/
|
|
1983
|
+
TitleConfigVersion?: string | null;
|
|
1984
|
+
/**
|
|
1985
|
+
* Конфиг тайтла. ОТСУТСТВУЕТ, если клиент прислал актуальную `KnownTitleConfigVersion` —
|
|
1986
|
+
* значит, сервер не стал гнать неизменившийся конфиг повторно, и брать его надо из
|
|
1987
|
+
* локального хранилища (`TitleConfigCache`). `UserService` делает это сам.
|
|
1988
|
+
*/
|
|
1989
|
+
/**
|
|
1990
|
+
* Ссылка на конфиг тайтла на CDN. Самого конфига в этом ответе НЕТ — он забирается по
|
|
1991
|
+
* ссылке и кладётся в локальное хранилище. `null`, если конфиг у клиента уже актуален
|
|
1992
|
+
* (см. `TitleConfigVersion`) либо раздача с CDN недоступна.
|
|
1993
|
+
*
|
|
1994
|
+
* `UserService` разбирается с этим сам: качает по ссылке, а при неудаче (или при её
|
|
1995
|
+
* отсутствии) идёт за конфигом в `client.title.getTitlePublicConfiguration*`.
|
|
1996
|
+
*/
|
|
1997
|
+
TitleConfigUrl?: string | null;
|
|
1998
|
+
User?: UserState | null;
|
|
1999
|
+
/**
|
|
2000
|
+
* Версии контейнеров состояния на момент ответа: «имя контейнера → номер». Присутствуют
|
|
2001
|
+
* только запрошенные поля.
|
|
2002
|
+
*
|
|
2003
|
+
* Клиент хранит карту рядом с самим состоянием (`UserStateCache`) и присылает обратно в
|
|
2004
|
+
* `KnownStateVersions`. Контейнеры с совпавшей версией сервер в ответ не кладёт — у клиента
|
|
2005
|
+
* они уже актуальны. `UserService` делает это сам.
|
|
2006
|
+
*
|
|
2007
|
+
* ВАЖНО для чтения ответа вручную: «контейнера нет в `User`» НЕ значит «его нет у игрока».
|
|
2008
|
+
* Отличить «не изменился» от «стал пустым» можно только по этой карте — сравнив номер с тем,
|
|
2009
|
+
* который присылал сам.
|
|
2010
|
+
*/
|
|
2011
|
+
StateVersions?: Record<string, number> | null;
|
|
2012
|
+
/**
|
|
2013
|
+
* Эпоха карты версий. Хранится вместе с ней; сервер сменил — вся сохранённая карта
|
|
2014
|
+
* недействительна, состояние приходит целиком.
|
|
2015
|
+
*/
|
|
2016
|
+
StateEpoch?: string | null;
|
|
2017
|
+
[k: string]: unknown;
|
|
1990
2018
|
}
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
Outcome?: string;
|
|
2002
|
-
RollMultiplier?: number;
|
|
2003
|
-
/** ClaimMilestonesBatch: milestones to claim (deduped by Type+LteID+instance+MilestoneID). */
|
|
2004
|
-
Milestones?: TimedEventMilestoneRef[];
|
|
2005
|
-
/** ClaimAllMilestones: event instances to sweep. Null/empty = all active events. */
|
|
2006
|
-
Events?: TimedEventInstanceRef[];
|
|
2007
|
-
/** SpendTokensBatch: spends to apply (deduped by Type+LteID+instance). */
|
|
2008
|
-
Spends?: TimedEventSpendRef[];
|
|
2009
|
-
/** GrantTokensBatch: grants to apply (deduped by event address). */
|
|
2010
|
-
Grants?: TimedEventGrantRef[];
|
|
2019
|
+
/**
|
|
2020
|
+
* Ответ `User/GetStateVersions`: только карта версий, данных нет вовсе.
|
|
2021
|
+
*
|
|
2022
|
+
* Нужен, чтобы выяснить «что у меня протухло», не выкачивая состояние: два десятка чисел против
|
|
2023
|
+
* десятков килобайт. Дальше разошедшееся забирается через `User/GetUserState`.
|
|
2024
|
+
*/
|
|
2025
|
+
interface UserStateVersions {
|
|
2026
|
+
StateEpoch?: string | null;
|
|
2027
|
+
StateVersions?: Record<string, number> | null;
|
|
2028
|
+
[k: string]: unknown;
|
|
2011
2029
|
}
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2030
|
+
/**
|
|
2031
|
+
* Ответ `User/GetUserState`: адресная выборка контейнеров — без конфига тайтла.
|
|
2032
|
+
*
|
|
2033
|
+
* Если в запросе были `KnownStateVersions`, в `User` лежат только те контейнеры, чья версия
|
|
2034
|
+
* разошлась. Контейнера нет = «не изменился»; отличить это от «стал пустым» можно ТОЛЬКО по
|
|
2035
|
+
* номеру в `StateVersions`.
|
|
2036
|
+
*/
|
|
2037
|
+
interface UserStateSlice {
|
|
2038
|
+
StateEpoch?: string | null;
|
|
2039
|
+
StateVersions?: Record<string, number> | null;
|
|
2040
|
+
User?: UserState | null;
|
|
2041
|
+
[k: string]: unknown;
|
|
2042
|
+
}
|
|
2043
|
+
type UsageTimeStats = { Today: number; Yesterday: number; CurrentWeek: number; CurrentMonth: number; Total: number; TotalSessions: number; FirstActiveAt?: null | string; LastActiveAt?: null | string; LongestSessionEverSeconds?: null | number; CurrentWeekActiveHoursMask?: null | number; CurrentMonthActiveHoursMask?: null | number; ReactivationCount?: null | number; History?: null | Record<string, unknown>; [key: string]: unknown; };
|
|
2044
|
+
type ChangeUsernameResponse = { Username: string; };
|
|
2045
|
+
interface UserRequest extends BaseRequest {
|
|
2046
|
+
IsNewSession?: boolean;
|
|
2047
|
+
SessionDurationSeconds?: number;
|
|
2048
|
+
Fields?: string[];
|
|
2049
|
+
TitleFields?: string[];
|
|
2050
|
+
ExcludeFields?: string[];
|
|
2051
|
+
ExcludeTitleFields?: string[];
|
|
2052
|
+
/** Версия конфига тайтла, которая уже есть у клиента (см. `ClientState.TitleConfigVersion`). */
|
|
2053
|
+
KnownTitleConfigVersion?: string;
|
|
2054
|
+
/**
|
|
2055
|
+
* Версии контейнеров состояния, которые уже есть у клиента (см. `ClientState.StateVersions`).
|
|
2056
|
+
* Совпавшие контейнеры сервер в ответ не кладёт. Проставляется SDK автоматически из
|
|
2057
|
+
* `UserStateCache`; вручную задавать не нужно.
|
|
2058
|
+
*/
|
|
2059
|
+
KnownStateVersions?: Record<string, number>;
|
|
2060
|
+
/** Эпоха, при которой была получена `KnownStateVersions`. Без неё карта версий игнорируется. */
|
|
2061
|
+
KnownStateEpoch?: string;
|
|
2062
|
+
/**
|
|
2063
|
+
* Отдать конфиг телом, даже если он выложен на CDN. Ставится SDK автоматически при повторе
|
|
2064
|
+
* запроса, когда скачать артефакт не удалось; вручную задавать не нужно.
|
|
2065
|
+
*/
|
|
2066
|
+
ForceInlineConfig?: boolean;
|
|
2067
|
+
}
|
|
2068
|
+
declare const UserAction: {
|
|
2069
|
+
readonly GetClientState: "GetClientState";
|
|
2070
|
+
readonly GetClientStateExcept: "GetClientStateExcept";
|
|
2071
|
+
readonly GetStateVersions: "GetStateVersions";
|
|
2072
|
+
readonly GetUserState: "GetUserState";
|
|
2073
|
+
readonly GetInventory: "GetInventory";
|
|
2074
|
+
readonly GetEventTokens: "GetEventTokens";
|
|
2075
|
+
readonly GetUsageTime: "GetUsageTime";
|
|
2076
|
+
readonly AddUsageTime: "AddUsageTime";
|
|
2077
|
+
readonly DeleteUserAccount: "DeleteUserAccount";
|
|
2078
|
+
readonly ChangeUsername: "ChangeUsername";
|
|
2023
2079
|
};
|
|
2024
|
-
type
|
|
2080
|
+
type UserAction = (typeof UserAction)[keyof typeof UserAction];
|
|
2025
2081
|
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
readonly
|
|
2082
|
+
/** enum BlockchainNetworkType — chain family; controls signature payload shape. */
|
|
2083
|
+
declare const BlockchainNetworkType: {
|
|
2084
|
+
readonly EVM: "EVM";
|
|
2085
|
+
readonly Solana: "Solana";
|
|
2029
2086
|
};
|
|
2030
|
-
type
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2087
|
+
type BlockchainNetworkType = (typeof BlockchainNetworkType)[keyof typeof BlockchainNetworkType];
|
|
2088
|
+
/** enum WalletLinkType — how a wallet address became linked to the account. */
|
|
2089
|
+
declare const WalletLinkType: {
|
|
2090
|
+
readonly AutoLinkedFromTransaction: "AutoLinkedFromTransaction";
|
|
2091
|
+
readonly SignatureVerified: "SignatureVerified";
|
|
2092
|
+
readonly ManuallyLinked: "ManuallyLinked";
|
|
2093
|
+
};
|
|
2094
|
+
type WalletLinkType = (typeof WalletLinkType)[keyof typeof WalletLinkType];
|
|
2095
|
+
/** enum BlockchainTransactionType — asset kind of a pending/retryable withdrawal. */
|
|
2096
|
+
declare const BlockchainTransactionType: {
|
|
2097
|
+
readonly Token: "Token";
|
|
2098
|
+
readonly Nft: "Nft";
|
|
2099
|
+
};
|
|
2100
|
+
type BlockchainTransactionType = (typeof BlockchainTransactionType)[keyof typeof BlockchainTransactionType];
|
|
2101
|
+
/** enum KycStatus — player's KYC verification status. */
|
|
2102
|
+
declare const KycStatus: {
|
|
2103
|
+
readonly NotRequested: "NotRequested";
|
|
2104
|
+
readonly Pending: "Pending";
|
|
2105
|
+
readonly Verified: "Verified";
|
|
2106
|
+
readonly Rejected: "Rejected";
|
|
2107
|
+
readonly Expired: "Expired";
|
|
2108
|
+
};
|
|
2109
|
+
type KycStatus = (typeof KycStatus)[keyof typeof KycStatus];
|
|
2110
|
+
/** enum KycTier — verification depth reached. */
|
|
2111
|
+
declare const KycTier: {
|
|
2112
|
+
readonly None: "None";
|
|
2113
|
+
readonly Tier1: "Tier1";
|
|
2114
|
+
readonly Tier2: "Tier2";
|
|
2115
|
+
readonly Tier3: "Tier3";
|
|
2116
|
+
};
|
|
2117
|
+
type KycTier = (typeof KycTier)[keyof typeof KycTier];
|
|
2118
|
+
/** enum BlockchainTransactionStatus — lifecycle status of one deposit/withdrawal transaction. */
|
|
2119
|
+
declare const BlockchainTransactionStatus: {
|
|
2120
|
+
readonly Pending: "Pending";
|
|
2121
|
+
readonly Completed: "Completed";
|
|
2122
|
+
readonly Failed: "Failed";
|
|
2123
|
+
readonly Expired: "Expired";
|
|
2124
|
+
readonly Abandoned: "Abandoned";
|
|
2125
|
+
};
|
|
2126
|
+
type BlockchainTransactionStatus = (typeof BlockchainTransactionStatus)[keyof typeof BlockchainTransactionStatus];
|
|
2127
|
+
/**
|
|
2128
|
+
* Generic "kind" of a deposit/withdrawal operation. Stored as a free string (not an enum) so new
|
|
2129
|
+
* kinds can be added without a redeploy — it mirrors the RewardPool contract, where it is also a
|
|
2130
|
+
* string. Only the known values are listed here; arbitrary strings are allowed (the server signs
|
|
2131
|
+
* whatever it receives after normalization). On a withdrawal the client MUST pass the same value
|
|
2132
|
+
* on-chain that the server signed, or the contract rejects the signature. Empty → "game_topup".
|
|
2133
|
+
* Port of Blockchain/Models/BlockchainOperationCategory.cs.
|
|
2134
|
+
*/
|
|
2135
|
+
declare const BlockchainOperationCategory: {
|
|
2136
|
+
/** Top up the game / withdraw to a wallet — the default kind. */
|
|
2137
|
+
readonly GameTopUp: "game_topup";
|
|
2138
|
+
/** Community reward (social promotion etc.) — a grant payout. */
|
|
2139
|
+
readonly CommunityReward: "community_reward";
|
|
2140
|
+
};
|
|
2141
|
+
type BlockchainOperationCategory = (typeof BlockchainOperationCategory)[keyof typeof BlockchainOperationCategory];
|
|
2142
|
+
/** Empty/absent category is treated as {@link BlockchainOperationCategory.GameTopUp}. */
|
|
2143
|
+
declare function normalizeBlockchainCategory(category?: string | null): string;
|
|
2144
|
+
/** enum TransactionDirection — which side of the platform pool the asset is moving to/from. */
|
|
2145
|
+
declare const TransactionDirection: {
|
|
2146
|
+
readonly UsersCryptoWallet: "UsersCryptoWallet";
|
|
2147
|
+
readonly Game: "Game";
|
|
2148
|
+
};
|
|
2149
|
+
type TransactionDirection = (typeof TransactionDirection)[keyof typeof TransactionDirection];
|
|
2150
|
+
type BlockchainNftCollectionBinding = { ContractAddress?: null | string; ItemCatalogID?: null | string; DisplayName?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; [key: string]: unknown; };
|
|
2151
|
+
type PlatformBlockchainState = { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; [key: string]: unknown; };
|
|
2152
|
+
type BlockchainNetworkDefinition = { NetworkID?: null | string; DisplayName?: null | string; Type?: null | 'EVM' | 'Solana'; ChainID?: null | number; ChainTicker?: null | string; RewardPoolAddress?: null | string; VaultDepositAddress?: null | string; ChainConfigVersion?: null | number; RequiredConfirmations?: null | number; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | PlatformBlockchainState; NftCollections?: null | Array<BlockchainNftCollectionBinding>; AssetPaths?: null | Record<string, string>; [key: string]: unknown; };
|
|
2153
|
+
type BlockchainSystemState = { DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | PlatformBlockchainState; [key: string]: unknown; };
|
|
2154
|
+
type BlockchainAccountSafetyPolicy = { MinAccountAgeDays?: null | number; MultiAccountCheckEnabled?: null | boolean; BanOnSharedWithdrawalAddress?: null | boolean; PendingWithdrawalTtlHours?: null | number; [key: string]: unknown; };
|
|
2155
|
+
type BlockchainDefinitions = { SystemState?: null | BlockchainSystemState; Networks?: null | Record<string, BlockchainNetworkDefinition>; AccountSafety?: null | BlockchainAccountSafetyPolicy; WalletLogin?: null | { Enabled?: null | boolean; TokenGates?: null | Array<{ Enabled?: null | boolean; NetworkID?: null | string; CurrencyID?: null | string; MinBalance?: null | string; BalanceSource?: null | 'OnChain' | 'Combined'; DenyMessage?: null | string; [key: string]: unknown; }>; WalletConnectProjectId?: null | string; [key: string]: unknown; }; [key: string]: unknown; };
|
|
2156
|
+
type LinkedWalletInfo = { NetworkID?: null | string; Address?: null | string; LinkedAt?: null | string; LastUsedAt?: null | string; LinkType?: null | 'AutoLinkedFromTransaction' | 'SignatureVerified' | 'ManuallyLinked'; IsSignatureVerified?: null | boolean; [key: string]: unknown; };
|
|
2157
|
+
type PendingWithdrawalRef = { TitleTransactionID?: null | string; Type?: null | 'Token' | 'Nft'; NetworkID?: null | string; AssetID?: null | string; Amount?: null | string; CreatedAt?: null | string; ExpiresAt?: null | string; [key: string]: unknown; };
|
|
2158
|
+
type UserKycState = { Status?: null | 'Expired' | 'Pending' | 'Rejected' | 'NotRequested' | 'Verified'; Tier?: null | 'None' | 'Tier1' | 'Tier2' | 'Tier3'; VerifiedAt?: null | string; ExpiresAt?: null | string; RejectedAt?: null | string; ProviderReference?: null | string; RejectionReason?: null | string; [key: string]: unknown; };
|
|
2159
|
+
type TokenCurrencyStats = { CurrencyID?: null | string; Deposits?: null | number; DepositsVolumeNative?: null | string; DepositsVolumeUsd?: null | string; Withdrawals?: null | number; WithdrawalsVolumeNative?: null | string; WithdrawalsVolumeUsd?: null | string; FailedWithdrawals?: null | number; RejectedDeposits?: null | number; FirstDepositAt?: null | string; LastDepositAt?: null | string; FirstWithdrawalAt?: null | string; LastWithdrawalAt?: null | string; [key: string]: unknown; };
|
|
2160
|
+
type TokenStatsContainer = { TotalDeposits?: null | number; TotalWithdrawals?: null | number; FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDepositsVolumeUsd?: null | string; TotalWithdrawalsVolumeUsd?: null | string; PerCurrency?: null | Record<string, TokenCurrencyStats>; [key: string]: unknown; };
|
|
2161
|
+
type NftCollectionStats = { NetworkID?: null | string; ItemCatalogID?: null | string; Deposits?: null | number; Withdrawals?: null | number; FailedWithdrawals?: null | number; RejectedDeposits?: null | number; FirstDepositAt?: null | string; LastDepositAt?: null | string; FirstWithdrawalAt?: null | string; LastWithdrawalAt?: null | string; [key: string]: unknown; };
|
|
2162
|
+
type NftStatsContainer = { TotalDeposits?: null | number; TotalWithdrawals?: null | number; FailedWithdrawals?: null | number; RejectedDeposits?: null | number; PerCollection?: null | Record<string, NftCollectionStats>; [key: string]: unknown; };
|
|
2163
|
+
type BlockchainStats = { Tokens?: null | TokenStatsContainer; Nfts?: null | NftStatsContainer; [key: string]: unknown; };
|
|
2164
|
+
type UserBlockchainState = { Version?: null | number; Stats?: null | BlockchainStats; LinkedWallets?: null | Record<string, LinkedWalletInfo>; LastWalletLogin?: null | { NetworkID?: null | string; Address?: null | string; CheckedAt?: null | string; LoggedInAt?: null | string; GatePassed?: null | boolean; GatedBalances?: null | Array<{ CurrencyID?: null | string; Balance?: null | string; MinBalance?: null | string; [key: string]: unknown; }>; [key: string]: unknown; }; PendingWithdrawals?: null | Array<PendingWithdrawalRef>; Kyc?: null | UserKycState; FirstActivityAt?: null | string; LastActivityAt?: null | string; IsFlagged?: null | boolean; FlagReason?: null | string; [key: string]: unknown; };
|
|
2165
|
+
type TokenTransactionDocument = { ID?: null | string; TitleID?: null | string; CreatedAt?: null | string; UpdatedAt?: null | string; UserID?: null | string; TransactionHash?: null | string; Nonce?: null | string; NetworkID?: null | string; ChainType?: null | string; ChainID?: null | number; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; Amount?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; SignatureData?: null | string; CompletedAt?: null | string; ExpiresAt?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; TokenID?: null | string; CurrencyID?: null | string; AmountUsd?: null | string; NetPayoutAmount?: null | string; [key: string]: unknown; };
|
|
2166
|
+
type NFTTransactionDocument = { ID?: null | string; TitleID?: null | string; CreatedAt?: null | string; UpdatedAt?: null | string; UserID?: null | string; TransactionHash?: null | string; Nonce?: null | string; NetworkID?: null | string; ChainType?: null | string; ChainID?: null | number; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; Amount?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; SignatureData?: null | string; CompletedAt?: null | string; ExpiresAt?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; NFTID?: null | string; ItemID?: null | string; CatalogID?: null | string; SkinID?: null | string; [key: string]: unknown; };
|
|
2167
|
+
type WithdrawalSplit = { To?: null | string; Amount?: null | string | number; [key: string]: unknown; };
|
|
2168
|
+
type WithdrawalSignatureResponse = { TokenAddress?: null | string; WalletAddress?: null | string; Amount?: null | string; BurnAmount?: null | string; TokenId?: null | string; Nonce?: null | string; ContractAddress?: null | string; UserID?: null | string; TitleID?: null | string; Category?: null | string; Deadline?: null | string; SignatureEpoch?: null | string; Splits?: null | Array<WithdrawalSplit>; Signature?: null | string; [key: string]: unknown; };
|
|
2169
|
+
type SolanaWithdrawalSignature = { Mint?: null | string; WalletAddress?: null | string; Amount?: null | string; BurnAmount?: null | string; Nonce?: null | string; ExpiresAt?: null | string; ProgramID?: null | string; SignatureEpoch?: null | string; Domain?: null | string; Splits?: null | Array<WithdrawalSplit>; SignatureHex?: null | string; SigIxIndex?: null | number; Ed25519PublicKey?: null | string; Ed25519Message?: null | string; UserID?: null | string; TitleID?: null | string; Category?: null | string; [key: string]: unknown; };
|
|
2170
|
+
type BlockchainConfigResponse = { Blockchain?: null | BlockchainDefinitions; CryptoCurrencies?: null | Record<string, CryptoCurrencyDefinition>; [key: string]: unknown; };
|
|
2171
|
+
type UserBlockchainStateResponse = { State?: null | UserBlockchainState; CryptoBalances?: null | Record<string, UserCryptoCurrencyState>; [key: string]: unknown; };
|
|
2172
|
+
type DepositTokenResponse = { ServerTimeUtc?: null | string; TransactionHash?: null | string; NetworkID?: null | string; CurrencyID?: null | string; AmountNative?: null | string; AmountUsd?: null | string; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; [key: string]: unknown; };
|
|
2173
|
+
type DepositNFTResponse = { ServerTimeUtc?: null | string; TransactionHash?: null | string; NetworkID?: null | string; ItemID?: null | string; CatalogID?: null | string; NftTokenID?: null | string; Amount?: null | number; Resources?: null | ResourceOperation; Inventory?: null | InventoryDelta; [key: string]: unknown; };
|
|
2174
|
+
type TokenWithdrawalResponse = { ServerTimeUtc?: null | string; TitleTransactionID?: null | string; NetworkID?: null | string; CurrencyID?: null | string; AmountNative?: null | string; NetAmountNative?: null | string; BurnAmountNative?: null | string; AmountUsd?: null | string; ExpiresAt?: null | string; EvmSignature?: null | WithdrawalSignatureResponse; SolanaSignature?: null | SolanaWithdrawalSignature; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; [key: string]: unknown; };
|
|
2175
|
+
type NFTWithdrawalResponse = { ServerTimeUtc?: null | string; TitleTransactionID?: null | string; NetworkID?: null | string; ItemID?: null | string; CatalogID?: null | string; NftTokenID?: null | string; Amount?: null | number; ExpiresAt?: null | string; Resources?: null | ResourceOperation; EvmSignature?: null | WithdrawalSignatureResponse; SolanaSignature?: null | SolanaWithdrawalSignature; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; Inventory?: null | InventoryDelta; [key: string]: unknown; };
|
|
2176
|
+
type TransactionHistoryResponse = { TokenTransactions?: null | Array<TokenTransactionDocument>; NFTTransactions?: null | Array<NFTTransactionDocument>; [key: string]: unknown; };
|
|
2177
|
+
type DonationResponse = { ServerTimeUtc?: null | string; TransactionHash?: null | string; NetworkID?: null | string; CurrencyID?: null | string; AmountNative?: null | string; AmountUsd?: null | string; Target?: null | string; [key: string]: unknown; };
|
|
2178
|
+
type RetryWithdrawalResponse = { TitleTransactionID?: null | string; Kind?: null | 'Token' | 'Nft'; EvmSignature?: null | WithdrawalSignatureResponse; SolanaSignature?: null | SolanaWithdrawalSignature; [key: string]: unknown; };
|
|
2179
|
+
type ConfirmWithdrawalResponse = { TitleTransactionID?: null | string; OnChainTxHash?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; [key: string]: unknown; };
|
|
2180
|
+
interface BlockchainRequest extends BaseRequest {
|
|
2181
|
+
TitleTransactionID?: string;
|
|
2182
|
+
NetworkID?: string;
|
|
2183
|
+
CurrencyID?: string;
|
|
2184
|
+
TransactionHash?: string;
|
|
2185
|
+
WalletAddress?: string;
|
|
2186
|
+
/** Decimal string for token withdrawals, integer string for NFT withdrawals/tx-history limit. */
|
|
2187
|
+
Amount?: string;
|
|
2188
|
+
ItemID?: string;
|
|
2189
|
+
/**
|
|
2190
|
+
* Operation kind for withdrawals (e.g. "game_topup", "community_reward"). The server signs this
|
|
2191
|
+
* into the withdrawal hash and the client must submit the same value on-chain. Empty → "game_topup".
|
|
2192
|
+
* Ignored by deposits (there the category is read back from the on-chain transaction).
|
|
2193
|
+
*/
|
|
2194
|
+
Category?: string;
|
|
2195
|
+
/**
|
|
2196
|
+
* Item level for RequestNFTWithdrawal. Determines the tokenId (tokenId = base + Level - 1) and
|
|
2197
|
+
* which instances are debited. 0/1 → base level (stackable/level-1, prior behavior). >1 → debits
|
|
2198
|
+
* unstackable instances of that level. Defaults to 1 server-side.
|
|
2199
|
+
*/
|
|
2200
|
+
Level?: number;
|
|
2201
|
+
/**
|
|
2202
|
+
* Specific instance ID to withdraw as an ERC-721 unique token. Required when the item's NFT
|
|
2203
|
+
* binding has TokenStandard == "ERC-721" — the server debits and tokenizes exactly this
|
|
2204
|
+
* instance, preserving its state (Level/RemainingUses/CustomData) in the registry. Ignored for
|
|
2205
|
+
* ERC-1155.
|
|
2206
|
+
*/
|
|
2207
|
+
ItemInstanceID?: string;
|
|
2044
2208
|
}
|
|
2045
|
-
declare const
|
|
2209
|
+
declare const BlockchainAction: {
|
|
2046
2210
|
readonly GetDefinitions: "GetDefinitions";
|
|
2047
|
-
readonly
|
|
2211
|
+
readonly GetUserState: "GetUserState";
|
|
2212
|
+
readonly DepositToken: "DepositToken";
|
|
2213
|
+
readonly DepositNFT: "DepositNFT";
|
|
2214
|
+
readonly RequestTokenWithdrawal: "RequestTokenWithdrawal";
|
|
2215
|
+
readonly RequestNFTWithdrawal: "RequestNFTWithdrawal";
|
|
2216
|
+
readonly GetTransactionHistory: "GetTransactionHistory";
|
|
2217
|
+
readonly RetryWithdrawal: "RetryWithdrawal";
|
|
2218
|
+
readonly ConfirmWithdrawal: "ConfirmWithdrawal";
|
|
2219
|
+
readonly DonateToDeveloper: "DonateToDeveloper";
|
|
2220
|
+
readonly DonateToUsersPool: "DonateToUsersPool";
|
|
2048
2221
|
};
|
|
2049
|
-
type
|
|
2050
|
-
type ExperimentVariant = { VariantID?: null | string; DisplayName?: null | string; Weight?: null | number; IsControl?: null | boolean; Params?: null | Record<string, string>; [key: string]: unknown; };
|
|
2051
|
-
type ExperimentDefinition = { ExperimentID?: null | string; DisplayName?: null | string; Description?: null | string; IsEnabled?: null | boolean; Schedule?: null | ScheduleSpec; Gate?: null | SegmentGate; Variants?: null | Array<ExperimentVariant>; Salt?: null | string; LayerID?: null | string; StickyAssignment?: null | boolean; CustomParams?: null | Record<string, string>; [key: string]: unknown; };
|
|
2052
|
-
type ExperimentDefinitions = { Experiments?: null | Record<string, ExperimentDefinition>; [key: string]: unknown; };
|
|
2222
|
+
type BlockchainAction = (typeof BlockchainAction)[keyof typeof BlockchainAction];
|
|
2053
2223
|
|
|
2054
2224
|
/** enum MultiplayerTopology — p2p connection topology within a room. */
|
|
2055
2225
|
declare const MultiplayerTopology: {
|
|
@@ -2125,392 +2295,351 @@ declare const MultiplayerAction: {
|
|
|
2125
2295
|
readonly SetMemberState: "SetMemberState";
|
|
2126
2296
|
};
|
|
2127
2297
|
type MultiplayerAction = (typeof MultiplayerAction)[keyof typeof MultiplayerAction];
|
|
2128
|
-
type
|
|
2129
|
-
type
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
Craft?: CraftDefinitions | null;
|
|
2144
|
-
DealOffer?: DealOfferDefinitions | null;
|
|
2145
|
-
Premium?: PremiumDefinitions | null;
|
|
2146
|
-
TimedBoost?: TimedBoostDefinitions | null;
|
|
2147
|
-
CoopEvent?: CoopEventDefinitions | null;
|
|
2148
|
-
GameLoop?: GameLoopDefinitions | null;
|
|
2149
|
-
Match?: MatchDefinitions | null;
|
|
2150
|
-
Experiment?: ExperimentDefinitions | null;
|
|
2151
|
-
Blockchain?: BlockchainDefinitions | null;
|
|
2152
|
-
Marketplace?: MarketplaceDefinitions | null;
|
|
2153
|
-
Multiplayer?: MultiplayerDefinitions | null;
|
|
2154
|
-
UserCustomData?: UserCustomDataDefinitions | null;
|
|
2155
|
-
Referral?: ReferralDefinitions | null;
|
|
2156
|
-
[key: string]: unknown;
|
|
2298
|
+
type PlatformLoginResponse = { TitleUserID: string; TitleClientSessionTicket: string; TitleClientSessionTicketExpiration: string; PlatformUserID?: null | string; PlatformAuthToken?: null | string; PlatformAuthTokenExpiration?: null | string; };
|
|
2299
|
+
type SuccessResponse = { IsCompleted?: null | boolean; ServerTime?: null | string; };
|
|
2300
|
+
type WalletChallengeResponse = { Message: string; ExpiresAt: string; };
|
|
2301
|
+
/** Client-supplied UTM/click-ID attribution signal, sent with login/register (port of AttributionInput). */
|
|
2302
|
+
interface AttributionInput {
|
|
2303
|
+
UtmSource?: string;
|
|
2304
|
+
UtmMedium?: string;
|
|
2305
|
+
UtmCampaign?: string;
|
|
2306
|
+
UtmTerm?: string;
|
|
2307
|
+
UtmContent?: string;
|
|
2308
|
+
/** gclid / fbclid / ttclid / msclkid / yclid. */
|
|
2309
|
+
ClickID?: string;
|
|
2310
|
+
Referrer?: string;
|
|
2311
|
+
Country?: string;
|
|
2312
|
+
AppVersion?: string;
|
|
2157
2313
|
}
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2314
|
+
interface AuthenticationRequest extends BaseRequest {
|
|
2315
|
+
PlatformAuthToken?: string;
|
|
2316
|
+
PlatformRefreshToken?: string;
|
|
2317
|
+
GoogleIDToken?: string;
|
|
2318
|
+
Attribution?: AttributionInput;
|
|
2319
|
+
/** Wallet login: NetworkID (key of cfg.Blockchain.Networks) the wallet is proving on. */
|
|
2320
|
+
NetworkID?: string;
|
|
2321
|
+
/** Wallet login: the crypto wallet address (EVM 0x… / Solana base58). */
|
|
2322
|
+
WalletAddress?: string;
|
|
2323
|
+
/** Wallet login: signature of the challenge message (EVM personal_sign hex / Solana ed25519, 0x-hex). */
|
|
2324
|
+
WalletSignature?: string;
|
|
2163
2325
|
}
|
|
2164
|
-
declare const
|
|
2165
|
-
readonly
|
|
2166
|
-
readonly
|
|
2167
|
-
readonly
|
|
2168
|
-
readonly
|
|
2169
|
-
readonly
|
|
2170
|
-
readonly
|
|
2326
|
+
declare const AuthenticationAction: {
|
|
2327
|
+
readonly LoginWithDeviceID: "LoginWithDeviceID";
|
|
2328
|
+
readonly LoginWithTelegram: "LoginWithTelegram";
|
|
2329
|
+
readonly LoginWithEmail: "LoginWithEmail";
|
|
2330
|
+
readonly LoginWithGoogle: "LoginWithGoogle";
|
|
2331
|
+
readonly LoginWithPlatformToken: "LoginWithPlatformToken";
|
|
2332
|
+
readonly RegisterWithEmail: "RegisterWithEmail";
|
|
2333
|
+
readonly RefreshPlatformToken: "RefreshPlatformToken";
|
|
2334
|
+
readonly RequestWalletChallenge: "RequestWalletChallenge";
|
|
2335
|
+
readonly LoginWithWallet: "LoginWithWallet";
|
|
2336
|
+
readonly ForgotPassword: "ForgotPassword";
|
|
2337
|
+
readonly ResetPassword: "ResetPassword";
|
|
2171
2338
|
};
|
|
2172
|
-
type
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2339
|
+
type AuthenticationAction = (typeof AuthenticationAction)[keyof typeof AuthenticationAction];
|
|
2340
|
+
type FodderConsumedEntry = { ItemInstanceID: string; Units: number; Level: number; };
|
|
2341
|
+
type UpgradeItemLevelResponse = { ServerTimeUtc: string; ItemInstanceID: string; ItemID: string; Level: number; CatalogID?: null | string; Resources?: null | ResourceOperation; FodderConsumed?: null | Array<FodderConsumedEntry>; };
|
|
2342
|
+
type UpgradeLevelsBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | UpgradeItemLevelResponse; }>;
|
|
2343
|
+
/** One instance's upgrade in a batch (with optional multi-level Levels/TargetLevel). */
|
|
2344
|
+
interface ItemUpgradeRef {
|
|
2345
|
+
ItemInstanceID?: string;
|
|
2346
|
+
Levels?: number;
|
|
2347
|
+
TargetLevel?: number;
|
|
2348
|
+
FodderInstanceIDs?: string[];
|
|
2178
2349
|
}
|
|
2179
|
-
interface
|
|
2180
|
-
|
|
2181
|
-
|
|
2350
|
+
interface ItemRequest extends BaseRequest {
|
|
2351
|
+
ItemInstanceID?: string;
|
|
2352
|
+
Levels?: number;
|
|
2353
|
+
TargetLevel?: number;
|
|
2354
|
+
FodderInstanceIDs?: string[];
|
|
2355
|
+
/** UpgradeLevelsBatch: per-instance upgrades (deduped by ItemInstanceID). */
|
|
2356
|
+
Upgrades?: ItemUpgradeRef[];
|
|
2182
2357
|
}
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2358
|
+
declare const ItemAction: {
|
|
2359
|
+
readonly UpgradeLevel: "UpgradeLevel";
|
|
2360
|
+
readonly UpgradeLevelsBatch: "UpgradeLevelsBatch";
|
|
2361
|
+
};
|
|
2362
|
+
type ItemAction = (typeof ItemAction)[keyof typeof ItemAction];
|
|
2363
|
+
declare const FodderValuationMode: {
|
|
2364
|
+
readonly FlatCount: "FlatCount";
|
|
2365
|
+
readonly Merge: "Merge";
|
|
2366
|
+
readonly InvestmentRefund: "InvestmentRefund";
|
|
2367
|
+
};
|
|
2368
|
+
type FodderValuationMode = (typeof FodderValuationMode)[keyof typeof FodderValuationMode];
|
|
2369
|
+
declare const FodderSelectionMode: {
|
|
2370
|
+
readonly ProtectLeveled: "ProtectLeveled";
|
|
2371
|
+
readonly CheapestFirst: "CheapestFirst";
|
|
2372
|
+
readonly ClientSelected: "ClientSelected";
|
|
2373
|
+
};
|
|
2374
|
+
type FodderSelectionMode = (typeof FodderSelectionMode)[keyof typeof FodderSelectionMode];
|
|
2375
|
+
type NFTNetworkBinding = { ContractAddress?: null | string; TokenID?: null | string; TokenStandard?: null | string; [key: string]: unknown; };
|
|
2376
|
+
type NFTModel = { Networks?: null | Record<string, NFTNetworkBinding>; MetadataUrl?: null | string; [key: string]: unknown; };
|
|
2377
|
+
type ItemStats = { FlatBonuses?: null | Record<string, number>; PercentBonuses?: null | Record<string, number>; Power?: null | number; [key: string]: unknown; };
|
|
2378
|
+
type ItemEquipment = { MinCharacterLevel?: null | number; UseRequirements?: null | Record<string, number>; AllowedCharacterIDs?: null | Array<string>; AllowedSlotIDs?: null | Array<string>; [key: string]: unknown; };
|
|
2379
|
+
type ItemUpgradeFodder = { ValuationMode?: null | 'FlatCount' | 'Merge' | 'InvestmentRefund'; MergeRatio?: null | number; Selection?: null | 'ProtectLeveled' | 'CheapestFirst' | 'ClientSelected'; [key: string]: unknown; };
|
|
2380
|
+
type ItemUpgrade = { MaxLevel?: null | number; BaseCostResource?: null | ResourceConsume; CostScalingFactor?: null | number; FlatScalingFactor?: null | number; PercentScalingFactor?: null | number; PowerScalingFactor?: null | number; Fodder?: null | ItemUpgradeFodder; [key: string]: unknown; };
|
|
2381
|
+
type ItemMetadata = { RarityID?: null | string; CollectionID?: null | string; AuthorID?: null | string; [key: string]: unknown; };
|
|
2382
|
+
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; };
|
|
2383
|
+
/** Catalog: a set of items of one thematic group. Key of `Items` is ItemID. */
|
|
2384
|
+
interface ItemCatalog {
|
|
2385
|
+
Items?: Record<string, ItemDefinition> | null;
|
|
2189
2386
|
}
|
|
2190
|
-
/**
|
|
2191
|
-
interface
|
|
2192
|
-
|
|
2193
|
-
Memo?: string | null;
|
|
2194
|
-
AssignedAt: string;
|
|
2387
|
+
/** Root container for all item catalogs of a title. Key of `Catalogs` is CatalogID. */
|
|
2388
|
+
interface ItemDefinitions {
|
|
2389
|
+
Catalogs?: Record<string, ItemCatalog> | null;
|
|
2195
2390
|
}
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2391
|
+
type BonusWindowConfig = { Schedule?: null | Array<{ Order?: null | number; Type?: null | string; DurationSec?: null | number; BonusMultiplier?: null | number; [key: string]: unknown; }>; RepeatCycle?: null | boolean; MaxCycles?: null | number; [key: string]: unknown; };
|
|
2392
|
+
type BonusWindowState = { IsActive?: null | boolean; CurrentPhaseEndUtc?: null | string; NextBonusStartUtc?: null | string; CurrentCycleIndex?: null | number; CurrentPhaseIndex?: null | number; ActiveBonusMultiplier?: null | number; [key: string]: unknown; };
|
|
2393
|
+
/**
|
|
2394
|
+
* Container of preset wiring for event content — one PresetBinding per block. Inline data
|
|
2395
|
+
* (Milestones) lives on EventContent. null = presets unused.
|
|
2396
|
+
*/
|
|
2397
|
+
interface TimedEventPresetBindings {
|
|
2398
|
+
Milestones?: PresetBinding | null;
|
|
2204
2399
|
}
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2400
|
+
/** Event content: display, token, sources, rewards, milestones, bonus window. */
|
|
2401
|
+
interface EventContent {
|
|
2402
|
+
DisplayName?: string | null;
|
|
2403
|
+
Description?: string | null;
|
|
2404
|
+
AssetPaths?: Record<string, string> | null;
|
|
2405
|
+
Category?: string | null;
|
|
2406
|
+
Token?: EventTokenDefinition | null;
|
|
2407
|
+
TokenSources?: TriggerSource[] | null;
|
|
2408
|
+
ClaimMode?: string | null;
|
|
2409
|
+
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
2410
|
+
/** Container of content preset wiring (milestones). null = presets unused. */
|
|
2411
|
+
Presets?: TimedEventPresetBindings | null;
|
|
2412
|
+
BonusWindow?: BonusWindowConfig | null;
|
|
2214
2413
|
}
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2414
|
+
/** One event inside a cyclic chain (dates computed from AnchorUtc + DurationSec). */
|
|
2415
|
+
interface ChainedEventDefinition {
|
|
2416
|
+
ChainedEventID?: string | null;
|
|
2417
|
+
Order?: number | null;
|
|
2418
|
+
DurationSec?: number | null;
|
|
2419
|
+
Content?: EventContent | null;
|
|
2420
|
+
ClaimGraceHours?: number | null;
|
|
2421
|
+
CustomParams?: Record<string, string> | null;
|
|
2219
2422
|
}
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2423
|
+
/** Definition of a single event (Scheduled single-window or Chained phase-chain). */
|
|
2424
|
+
interface TimedEventDefinition {
|
|
2425
|
+
TimedEventID?: string | null;
|
|
2426
|
+
DisplayName?: string | null;
|
|
2427
|
+
Description?: string | null;
|
|
2428
|
+
AssetPaths?: Record<string, string> | null;
|
|
2429
|
+
Schedule?: ScheduleSpec | null;
|
|
2430
|
+
Content?: EventContent | null;
|
|
2431
|
+
Events?: ChainedEventDefinition[] | null;
|
|
2432
|
+
Gate?: SegmentGate | null;
|
|
2433
|
+
CustomParams?: Record<string, string> | null;
|
|
2231
2434
|
}
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
AmountToday: string;
|
|
2435
|
+
type LimitedTimeEventsGlobalSettings = { MaxConcurrentEvents?: null | number; [key: string]: unknown; };
|
|
2436
|
+
/** Registry of reusable event presets (milestones). Phases/events reference them via EventContent.Presets. */
|
|
2437
|
+
interface TimedEventPresetRegistry {
|
|
2438
|
+
Milestones?: Record<string, MilestoneSet> | null;
|
|
2237
2439
|
}
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
ConversionDaily?: Record<string, ConversionDailyCounter>;
|
|
2440
|
+
/** Root config of the limited-time events system, returned by getDefinitions(). */
|
|
2441
|
+
interface TimedEventDefinitions {
|
|
2442
|
+
Definitions?: Record<string, TimedEventDefinition> | null;
|
|
2443
|
+
Settings?: LimitedTimeEventsGlobalSettings | null;
|
|
2444
|
+
/** Registry of reusable event presets (milestones). null = unused. */
|
|
2445
|
+
Presets?: TimedEventPresetRegistry | null;
|
|
2245
2446
|
}
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2447
|
+
interface ActiveEventInfo {
|
|
2448
|
+
Type?: ScheduleMode;
|
|
2449
|
+
TimedEventID?: string;
|
|
2450
|
+
CurrentChainedEventID?: string | null;
|
|
2451
|
+
Content?: EventContent | null;
|
|
2452
|
+
Progress?: UserEventTokenProgress | null;
|
|
2453
|
+
ComputedStartUtc?: string | null;
|
|
2454
|
+
ComputedEndUtc?: string | null;
|
|
2455
|
+
CanEarn?: boolean | null;
|
|
2456
|
+
CanClaim?: boolean | null;
|
|
2457
|
+
NextMilestone?: MilestoneDefinition | null;
|
|
2458
|
+
BonusWindow?: BonusWindowState | null;
|
|
2459
|
+
CurrentCycleIndex?: number | null;
|
|
2460
|
+
/** Chained-mode only: this event's 1-based position within the chain. */
|
|
2461
|
+
CurrentEventOrder?: number | null;
|
|
2462
|
+
/** Chained-mode only: total number of events in the chain. */
|
|
2463
|
+
TotalEventsInChain?: number | null;
|
|
2254
2464
|
}
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
ReactivatedAt: string;
|
|
2258
|
-
DaysSinceLastActive: number;
|
|
2465
|
+
interface GetActiveEventsResponse {
|
|
2466
|
+
ActiveEvents?: ActiveEventInfo[] | null;
|
|
2259
2467
|
}
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2468
|
+
type UserTimedEventStateResponse = { Tokens?: null | Record<string, UserEventTokenProgress>; };
|
|
2469
|
+
type EventTokenSpendResponse = { Type?: null | 'Scheduled' | 'Cyclic' | 'Chained'; LteID?: null | string; Resources?: null | ResourceOperation; };
|
|
2470
|
+
type EventMilestoneClaimResponse = { Type?: null | 'Scheduled' | 'Cyclic' | 'Chained'; LteID?: null | string; MilestoneID?: null | string; Rewards?: null | ResourceOperation; };
|
|
2471
|
+
type EventTokenGrantResponse = { Type?: null | 'Scheduled' | 'Cyclic' | 'Chained'; LteID?: null | string; Resources?: null | ResourceOperation; };
|
|
2472
|
+
type ClaimMilestonesBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | EventMilestoneClaimResponse; }>;
|
|
2473
|
+
type SpendTokensBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | EventTokenSpendResponse; }>;
|
|
2474
|
+
type GrantTokensBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | EventTokenGrantResponse; }>;
|
|
2475
|
+
/** Addresses one event instance in a batch request (Type+LteID, optionally CycleIndex/ChainedEventID). */
|
|
2476
|
+
interface TimedEventInstanceRef {
|
|
2477
|
+
Type?: ScheduleMode;
|
|
2478
|
+
LteID?: string;
|
|
2479
|
+
CycleIndex?: number;
|
|
2480
|
+
ChainedEventID?: string;
|
|
2267
2481
|
}
|
|
2268
|
-
/**
|
|
2269
|
-
interface
|
|
2270
|
-
|
|
2271
|
-
TotalSessions: number;
|
|
2272
|
-
FirstActiveAt?: string | null;
|
|
2273
|
-
LastActiveAt: string;
|
|
2274
|
-
Reactivations?: UsageReactivationEvent[];
|
|
2275
|
-
Daily?: Record<string, DailyUsageRecord>;
|
|
2482
|
+
/** One milestone claim in a batch (for ClaimMilestonesBatch). */
|
|
2483
|
+
interface TimedEventMilestoneRef extends TimedEventInstanceRef {
|
|
2484
|
+
MilestoneID?: string;
|
|
2276
2485
|
}
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
Store?: UserStoreState | null;
|
|
2282
|
-
Lootbox?: UserLootboxState | null;
|
|
2283
|
-
Reward?: UserRewardState | null;
|
|
2284
|
-
Quest?: UserQuestState | null;
|
|
2285
|
-
Leaderboard?: UserLeaderboardsState | null;
|
|
2286
|
-
Season?: UserSeasonsState | null;
|
|
2287
|
-
Premium?: UserPremiumState | null;
|
|
2288
|
-
Character?: UserCharactersState | null;
|
|
2289
|
-
Match?: UserMatchState | null;
|
|
2290
|
-
Collection?: UserCollectionState | null;
|
|
2291
|
-
CoopEvent?: UserCoopEventState | null;
|
|
2292
|
-
DealOffer?: UserDealOffersState | null;
|
|
2293
|
-
Referral?: UserReferralState | null;
|
|
2294
|
-
Social?: UserSocialState | null;
|
|
2295
|
-
TimedBoost?: UserTimedBoostsState | null;
|
|
2296
|
-
CustomData?: UserCustomDataState | null;
|
|
2297
|
-
GameLoop?: UserGameLoopsState | null;
|
|
2298
|
-
Blockchain?: UserBlockchainState | null;
|
|
2299
|
-
Marketplace?: UserMarketplaceState | null;
|
|
2300
|
-
PublicData?: UserPublicDataModel | null;
|
|
2301
|
-
EconomyTuning?: PlayerEconomyTuningState | null;
|
|
2302
|
-
Usage?: UserUsageState | null;
|
|
2303
|
-
[k: string]: unknown;
|
|
2486
|
+
/** One token spend in a batch (for SpendTokensBatch). */
|
|
2487
|
+
interface TimedEventSpendRef extends TimedEventInstanceRef {
|
|
2488
|
+
SpendAmount?: number;
|
|
2489
|
+
RelatedEntityID?: string;
|
|
2304
2490
|
}
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2491
|
+
/** One token grant in a batch (for GrantTokensBatch). */
|
|
2492
|
+
interface TimedEventGrantRef extends TimedEventInstanceRef {
|
|
2493
|
+
SourceType?: string;
|
|
2494
|
+
Outcome?: string;
|
|
2495
|
+
SourceParams?: Record<string, string>;
|
|
2496
|
+
AmountOverride?: number;
|
|
2497
|
+
RollMultiplier?: number;
|
|
2498
|
+
RelatedEntityID?: string;
|
|
2309
2499
|
}
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2500
|
+
interface TimedEventRequest extends BaseRequest {
|
|
2501
|
+
Type?: ScheduleMode;
|
|
2502
|
+
LteID?: string;
|
|
2503
|
+
CycleIndex?: number;
|
|
2504
|
+
ChainedEventID?: string;
|
|
2505
|
+
SourceType?: string;
|
|
2506
|
+
AmountOverride?: number;
|
|
2507
|
+
SourceParams?: Record<string, string>;
|
|
2508
|
+
SpendAmount?: number;
|
|
2509
|
+
MilestoneID?: string;
|
|
2510
|
+
Outcome?: string;
|
|
2511
|
+
RollMultiplier?: number;
|
|
2512
|
+
/** ClaimMilestonesBatch: milestones to claim (deduped by Type+LteID+instance+MilestoneID). */
|
|
2513
|
+
Milestones?: TimedEventMilestoneRef[];
|
|
2514
|
+
/** ClaimAllMilestones: event instances to sweep. Null/empty = all active events. */
|
|
2515
|
+
Events?: TimedEventInstanceRef[];
|
|
2516
|
+
/** SpendTokensBatch: spends to apply (deduped by Type+LteID+instance). */
|
|
2517
|
+
Spends?: TimedEventSpendRef[];
|
|
2518
|
+
/** GrantTokensBatch: grants to apply (deduped by event address). */
|
|
2519
|
+
Grants?: TimedEventGrantRef[];
|
|
2319
2520
|
}
|
|
2320
|
-
declare const
|
|
2321
|
-
readonly
|
|
2322
|
-
readonly
|
|
2323
|
-
readonly
|
|
2324
|
-
readonly
|
|
2325
|
-
readonly
|
|
2326
|
-
readonly
|
|
2327
|
-
readonly
|
|
2328
|
-
readonly
|
|
2521
|
+
declare const TimedEventAction: {
|
|
2522
|
+
readonly GetActiveEvents: "GetActiveEvents";
|
|
2523
|
+
readonly GrantTokens: "GrantTokens";
|
|
2524
|
+
readonly SpendTokens: "SpendTokens";
|
|
2525
|
+
readonly ClaimMilestone: "ClaimMilestone";
|
|
2526
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
2527
|
+
readonly GetUserLteState: "GetUserLteState";
|
|
2528
|
+
readonly ClaimMilestonesBatch: "ClaimMilestonesBatch";
|
|
2529
|
+
readonly ClaimAllMilestones: "ClaimAllMilestones";
|
|
2530
|
+
readonly SpendTokensBatch: "SpendTokensBatch";
|
|
2531
|
+
readonly GrantTokensBatch: "GrantTokensBatch";
|
|
2329
2532
|
};
|
|
2330
|
-
type
|
|
2533
|
+
type TimedEventAction = (typeof TimedEventAction)[keyof typeof TimedEventAction];
|
|
2331
2534
|
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
readonly
|
|
2335
|
-
readonly Solana: "Solana";
|
|
2336
|
-
};
|
|
2337
|
-
type BlockchainNetworkType = (typeof BlockchainNetworkType)[keyof typeof BlockchainNetworkType];
|
|
2338
|
-
/** enum WalletLinkType — how a wallet address became linked to the account. */
|
|
2339
|
-
declare const WalletLinkType: {
|
|
2340
|
-
readonly AutoLinkedFromTransaction: "AutoLinkedFromTransaction";
|
|
2341
|
-
readonly SignatureVerified: "SignatureVerified";
|
|
2342
|
-
readonly ManuallyLinked: "ManuallyLinked";
|
|
2343
|
-
};
|
|
2344
|
-
type WalletLinkType = (typeof WalletLinkType)[keyof typeof WalletLinkType];
|
|
2345
|
-
/** enum BlockchainTransactionType — asset kind of a pending/retryable withdrawal. */
|
|
2346
|
-
declare const BlockchainTransactionType: {
|
|
2347
|
-
readonly Token: "Token";
|
|
2348
|
-
readonly Nft: "Nft";
|
|
2349
|
-
};
|
|
2350
|
-
type BlockchainTransactionType = (typeof BlockchainTransactionType)[keyof typeof BlockchainTransactionType];
|
|
2351
|
-
/** enum KycStatus — player's KYC verification status. */
|
|
2352
|
-
declare const KycStatus: {
|
|
2353
|
-
readonly NotRequested: "NotRequested";
|
|
2354
|
-
readonly Pending: "Pending";
|
|
2355
|
-
readonly Verified: "Verified";
|
|
2356
|
-
readonly Rejected: "Rejected";
|
|
2357
|
-
readonly Expired: "Expired";
|
|
2358
|
-
};
|
|
2359
|
-
type KycStatus = (typeof KycStatus)[keyof typeof KycStatus];
|
|
2360
|
-
/** enum KycTier — verification depth reached. */
|
|
2361
|
-
declare const KycTier: {
|
|
2362
|
-
readonly None: "None";
|
|
2363
|
-
readonly Tier1: "Tier1";
|
|
2364
|
-
readonly Tier2: "Tier2";
|
|
2365
|
-
readonly Tier3: "Tier3";
|
|
2535
|
+
declare const CraftType: {
|
|
2536
|
+
readonly TradeUpRarity: "TradeUpRarity";
|
|
2537
|
+
readonly TradeUpCollection: "TradeUpCollection";
|
|
2366
2538
|
};
|
|
2367
|
-
type
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2539
|
+
type CraftType = (typeof CraftType)[keyof typeof CraftType];
|
|
2540
|
+
type CraftSingleResult = { Index?: null | number; BurnedItemIDs?: null | Array<string>; RolledCollectionID?: null | string; UsedCollections?: null | Record<string, number>; Output?: null | ResourceEntry; };
|
|
2541
|
+
type CraftResponse = { ServerTimeUtc: string; CraftID: string; Type?: null | 'TradeUpRarity' | 'TradeUpCollection'; CraftedCount?: null | number; SelectedOptionID?: null | string; InputRarity?: null | string; OutputRarity?: null | string; Resources?: null | ResourceOperation; Results?: null | Array<CraftSingleResult>; };
|
|
2542
|
+
type CraftDefinition = { CraftID?: null | string; Type?: null | 'TradeUpRarity' | 'TradeUpCollection'; CatalogID?: null | string; CollectionID?: null | string; InputRarityID?: null | string; OutputRarityID?: null | string; RequiredItemCount?: null | number; PriceOptions?: null | Record<string, { OptionID?: null | string; RequiredResources?: null | ResourceConsume; [key: string]: unknown; }>; [key: string]: unknown; };
|
|
2543
|
+
/** The title's craft catalog (config), returned by getDefinitions(). */
|
|
2544
|
+
interface CraftDefinitions {
|
|
2545
|
+
Definitions?: Record<string, CraftDefinition> | null;
|
|
2546
|
+
}
|
|
2547
|
+
type CraftDefinitionsResponse = { ServerTimeUtc?: null | string; CraftDefinitions?: null | CraftDefinitions; };
|
|
2548
|
+
interface CraftRequest extends BaseRequest {
|
|
2549
|
+
CraftID?: string;
|
|
2550
|
+
Count?: number;
|
|
2551
|
+
SelectedOptionID?: string;
|
|
2552
|
+
InputItemIDs?: string[];
|
|
2553
|
+
}
|
|
2554
|
+
declare const CraftAction: {
|
|
2555
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
2556
|
+
readonly Craft: "Craft";
|
|
2375
2557
|
};
|
|
2376
|
-
type
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
*/
|
|
2385
|
-
declare const BlockchainOperationCategory: {
|
|
2386
|
-
/** Top up the game / withdraw to a wallet — the default kind. */
|
|
2387
|
-
readonly GameTopUp: "game_topup";
|
|
2388
|
-
/** Community reward (social promotion etc.) — a grant payout. */
|
|
2389
|
-
readonly CommunityReward: "community_reward";
|
|
2558
|
+
type CraftAction = (typeof CraftAction)[keyof typeof CraftAction];
|
|
2559
|
+
|
|
2560
|
+
/** Storage scope: who may write a record and whether it is cached server-side. */
|
|
2561
|
+
declare const TitleDataScope: {
|
|
2562
|
+
/** Authored configuration. Written by the publisher / AI Coder; cached with the title config. */
|
|
2563
|
+
readonly Static: "Static";
|
|
2564
|
+
/** Mutable title state. Written only by CloudCode scripts; never cached. */
|
|
2565
|
+
readonly Runtime: "Runtime";
|
|
2390
2566
|
};
|
|
2391
|
-
type
|
|
2392
|
-
/**
|
|
2393
|
-
declare
|
|
2394
|
-
/**
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
readonly
|
|
2567
|
+
type TitleDataScope = (typeof TitleDataScope)[keyof typeof TitleDataScope];
|
|
2568
|
+
/** Visibility bucket. Clients never write title data — the bucket only decides who reads. */
|
|
2569
|
+
declare const TitleDataBucket: {
|
|
2570
|
+
/** Readable by game clients. */
|
|
2571
|
+
readonly Public: "Public";
|
|
2572
|
+
/** Server and CloudCode only — never returned to a client. */
|
|
2573
|
+
readonly Private: "Private";
|
|
2398
2574
|
};
|
|
2399
|
-
type
|
|
2400
|
-
type
|
|
2401
|
-
type
|
|
2402
|
-
type
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
type NftCollectionStats = { NetworkID?: null | string; ItemCatalogID?: null | string; Deposits?: null | number; Withdrawals?: null | number; FailedWithdrawals?: null | number; RejectedDeposits?: null | number; FirstDepositAt?: null | string; LastDepositAt?: null | string; FirstWithdrawalAt?: null | string; LastWithdrawalAt?: null | string; [key: string]: unknown; };
|
|
2412
|
-
type NftStatsContainer = { TotalDeposits?: null | number; TotalWithdrawals?: null | number; FailedWithdrawals?: null | number; RejectedDeposits?: null | number; PerCollection?: null | Record<string, NftCollectionStats>; [key: string]: unknown; };
|
|
2413
|
-
type BlockchainStats = { Tokens?: null | TokenStatsContainer; Nfts?: null | NftStatsContainer; [key: string]: unknown; };
|
|
2414
|
-
type UserBlockchainState = { Version?: null | number; Stats?: null | BlockchainStats; LinkedWallets?: null | Record<string, LinkedWalletInfo>; LastWalletLogin?: null | { NetworkID?: null | string; Address?: null | string; CheckedAt?: null | string; LoggedInAt?: null | string; GatePassed?: null | boolean; GatedBalances?: null | Array<{ CurrencyID?: null | string; Balance?: null | string; MinBalance?: null | string; [key: string]: unknown; }>; [key: string]: unknown; }; PendingWithdrawals?: null | Array<PendingWithdrawalRef>; Kyc?: null | UserKycState; FirstActivityAt?: null | string; LastActivityAt?: null | string; IsFlagged?: null | boolean; FlagReason?: null | string; [key: string]: unknown; };
|
|
2415
|
-
type TokenTransactionDocument = { ID?: null | string; TitleID?: null | string; CreatedAt?: null | string; UpdatedAt?: null | string; UserID?: null | string; TransactionHash?: null | string; Nonce?: null | string; NetworkID?: null | string; ChainType?: null | string; ChainID?: null | number; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; Amount?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; SignatureData?: null | string; CompletedAt?: null | string; ExpiresAt?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; TokenID?: null | string; CurrencyID?: null | string; AmountUsd?: null | string; NetPayoutAmount?: null | string; [key: string]: unknown; };
|
|
2416
|
-
type NFTTransactionDocument = { ID?: null | string; TitleID?: null | string; CreatedAt?: null | string; UpdatedAt?: null | string; UserID?: null | string; TransactionHash?: null | string; Nonce?: null | string; NetworkID?: null | string; ChainType?: null | string; ChainID?: null | number; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; Amount?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; SignatureData?: null | string; CompletedAt?: null | string; ExpiresAt?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; NFTID?: null | string; ItemID?: null | string; CatalogID?: null | string; SkinID?: null | string; [key: string]: unknown; };
|
|
2417
|
-
type WithdrawalSignatureResponse = { TokenAddress?: null | string; WalletAddress?: null | string; Amount?: null | string; BurnAmount?: null | string; TokenId?: null | string; Nonce?: null | string; ContractAddress?: null | string; UserID?: null | string; TitleID?: null | string; Category?: null | string; Deadline?: null | string; Signature?: null | string; [key: string]: unknown; };
|
|
2418
|
-
type SolanaWithdrawalSignature = { Mint?: null | string; WalletAddress?: null | string; Amount?: null | string; Nonce?: null | string; ExpiresAt?: null | string; ProgramID?: null | string; SignatureHex?: null | string; SigIxIndex?: null | number; Ed25519PublicKey?: null | string; Ed25519Message?: null | string; UserID?: null | string; [key: string]: unknown; };
|
|
2419
|
-
type BlockchainConfigResponse = { Blockchain?: null | BlockchainDefinitions; CryptoCurrencies?: null | Record<string, CryptoCurrencyDefinition>; [key: string]: unknown; };
|
|
2420
|
-
type UserBlockchainStateResponse = { State?: null | UserBlockchainState; CryptoBalances?: null | Record<string, UserCryptoCurrencyState>; [key: string]: unknown; };
|
|
2421
|
-
type DepositTokenResponse = { ServerTimeUtc?: null | string; TransactionHash?: null | string; NetworkID?: null | string; CurrencyID?: null | string; AmountNative?: null | string; AmountUsd?: null | string; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; [key: string]: unknown; };
|
|
2422
|
-
type DepositNFTResponse = { ServerTimeUtc?: null | string; TransactionHash?: null | string; NetworkID?: null | string; ItemID?: null | string; CatalogID?: null | string; NftTokenID?: null | string; Amount?: null | number; Resources?: null | ResourceOperation; Inventory?: null | InventoryDelta; [key: string]: unknown; };
|
|
2423
|
-
type TokenWithdrawalResponse = { ServerTimeUtc?: null | string; TitleTransactionID?: null | string; NetworkID?: null | string; CurrencyID?: null | string; AmountNative?: null | string; NetAmountNative?: null | string; BurnAmountNative?: null | string; AmountUsd?: null | string; ExpiresAt?: null | string; EvmSignature?: null | WithdrawalSignatureResponse; SolanaSignature?: null | SolanaWithdrawalSignature; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; [key: string]: unknown; };
|
|
2424
|
-
type NFTWithdrawalResponse = { ServerTimeUtc?: null | string; TitleTransactionID?: null | string; NetworkID?: null | string; ItemID?: null | string; CatalogID?: null | string; NftTokenID?: null | string; Amount?: null | number; ExpiresAt?: null | string; Resources?: null | ResourceOperation; EvmSignature?: null | WithdrawalSignatureResponse; SolanaSignature?: null | SolanaWithdrawalSignature; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; Inventory?: null | InventoryDelta; [key: string]: unknown; };
|
|
2425
|
-
type TransactionHistoryResponse = { TokenTransactions?: null | Array<TokenTransactionDocument>; NFTTransactions?: null | Array<NFTTransactionDocument>; [key: string]: unknown; };
|
|
2426
|
-
type DonationResponse = { ServerTimeUtc?: null | string; TransactionHash?: null | string; NetworkID?: null | string; CurrencyID?: null | string; AmountNative?: null | string; AmountUsd?: null | string; Target?: null | string; [key: string]: unknown; };
|
|
2427
|
-
type RetryWithdrawalResponse = { TitleTransactionID?: null | string; Kind?: null | 'Token' | 'Nft'; EvmSignature?: null | WithdrawalSignatureResponse; SolanaSignature?: null | SolanaWithdrawalSignature; [key: string]: unknown; };
|
|
2428
|
-
type ConfirmWithdrawalResponse = { TitleTransactionID?: null | string; OnChainTxHash?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; StateDelta?: null | { CryptoBalances?: null | Record<string, { CurrencyID: string; AmountDelta: string; FrozenDelta: string; UpdatedAt: string; [key: string]: unknown; }>; PendingAdded?: null | PendingWithdrawalRef; PendingRemovedIDs?: null | Array<string>; [key: string]: unknown; }; [key: string]: unknown; };
|
|
2429
|
-
interface BlockchainRequest extends BaseRequest {
|
|
2430
|
-
TitleTransactionID?: string;
|
|
2431
|
-
NetworkID?: string;
|
|
2432
|
-
CurrencyID?: string;
|
|
2433
|
-
TransactionHash?: string;
|
|
2434
|
-
WalletAddress?: string;
|
|
2435
|
-
/** Decimal string for token withdrawals, integer string for NFT withdrawals/tx-history limit. */
|
|
2436
|
-
Amount?: string;
|
|
2437
|
-
ItemID?: string;
|
|
2438
|
-
/**
|
|
2439
|
-
* Operation kind for withdrawals (e.g. "game_topup", "community_reward"). The server signs this
|
|
2440
|
-
* into the withdrawal hash and the client must submit the same value on-chain. Empty → "game_topup".
|
|
2441
|
-
* Ignored by deposits (there the category is read back from the on-chain transaction).
|
|
2442
|
-
*/
|
|
2443
|
-
Category?: string;
|
|
2444
|
-
/**
|
|
2445
|
-
* Item level for RequestNFTWithdrawal. Determines the tokenId (tokenId = base + Level - 1) and
|
|
2446
|
-
* which instances are debited. 0/1 → base level (stackable/level-1, prior behavior). >1 → debits
|
|
2447
|
-
* unstackable instances of that level. Defaults to 1 server-side.
|
|
2448
|
-
*/
|
|
2449
|
-
Level?: number;
|
|
2450
|
-
/**
|
|
2451
|
-
* Specific instance ID to withdraw as an ERC-721 unique token. Required when the item's NFT
|
|
2452
|
-
* binding has TokenStandard == "ERC-721" — the server debits and tokenizes exactly this
|
|
2453
|
-
* instance, preserving its state (Level/RemainingUses/CustomData) in the registry. Ignored for
|
|
2454
|
-
* ERC-1155.
|
|
2455
|
-
*/
|
|
2456
|
-
ItemInstanceID?: string;
|
|
2575
|
+
type TitleDataBucket = (typeof TitleDataBucket)[keyof typeof TitleDataBucket];
|
|
2576
|
+
type TitleCustomDataRecord = { Value?: null | string; UpdatedAt?: null | string; Version?: null | number; LastWriter?: null | 'Client' | 'Server' | 'System'; ExpiresAt?: null | string; [key: string]: unknown; };
|
|
2577
|
+
type GetPublicTitleDataResponse = { StaticVersion?: null | number; RuntimeVersion?: null | number; Static?: null | Record<string, TitleCustomDataRecord>; Runtime?: null | Record<string, TitleCustomDataRecord>; NotModified?: null | boolean; };
|
|
2578
|
+
type TitleCustomDataKeyDefinition = { KeyID: string; Scope?: null | 'Static' | 'Runtime'; Bucket?: null | 'Private' | 'Public'; ValueType?: null | 'String' | 'Int' | 'Bool' | 'Json'; MaxValueLengthBytes?: null | number; TtlSeconds?: null | number; DefaultValue?: null | string; Description?: null | string; [key: string]: unknown; };
|
|
2579
|
+
/** Title-data schema as served to clients: public-bucket keys plus the title's limits. */
|
|
2580
|
+
interface TitleCustomDataDefinitions {
|
|
2581
|
+
Keys?: Record<string, TitleCustomDataKeyDefinition> | null;
|
|
2582
|
+
DefaultMaxValueLengthBytes?: number | null;
|
|
2583
|
+
DefaultTtlSeconds?: number | null;
|
|
2584
|
+
MaxKeysPerBucket?: number | null;
|
|
2585
|
+
MaxTotalSizeBytes?: number | null;
|
|
2586
|
+
RejectUnregisteredKeys?: boolean | null;
|
|
2457
2587
|
}
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
readonly
|
|
2464
|
-
readonly
|
|
2465
|
-
readonly
|
|
2466
|
-
readonly RetryWithdrawal: "RetryWithdrawal";
|
|
2467
|
-
readonly ConfirmWithdrawal: "ConfirmWithdrawal";
|
|
2468
|
-
readonly DonateToDeveloper: "DonateToDeveloper";
|
|
2469
|
-
readonly DonateToUsersPool: "DonateToUsersPool";
|
|
2588
|
+
interface TitleCustomDataRequest extends BaseRequest {
|
|
2589
|
+
KeyIDs?: string[];
|
|
2590
|
+
KnownRuntimeVersion?: number;
|
|
2591
|
+
}
|
|
2592
|
+
declare const TitleCustomDataAction: {
|
|
2593
|
+
readonly GetTitleCustomDataDefinitions: "GetTitleCustomDataDefinitions";
|
|
2594
|
+
readonly GetPublicTitleData: "GetPublicTitleData";
|
|
2595
|
+
readonly GetPublicTitleDataKeys: "GetPublicTitleDataKeys";
|
|
2470
2596
|
};
|
|
2471
|
-
type
|
|
2472
|
-
type
|
|
2473
|
-
type
|
|
2474
|
-
type
|
|
2475
|
-
|
|
2476
|
-
interface
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2597
|
+
type TitleCustomDataAction = (typeof TitleCustomDataAction)[keyof typeof TitleCustomDataAction];
|
|
2598
|
+
type ExperimentVariant = { VariantID?: null | string; DisplayName?: null | string; Weight?: null | number; IsControl?: null | boolean; Params?: null | Record<string, string>; [key: string]: unknown; };
|
|
2599
|
+
type ExperimentDefinition = { ExperimentID?: null | string; DisplayName?: null | string; Description?: null | string; IsEnabled?: null | boolean; Schedule?: null | ScheduleSpec; Gate?: null | SegmentGate; Variants?: null | Array<ExperimentVariant>; Salt?: null | string; LayerID?: null | string; StickyAssignment?: null | boolean; CustomParams?: null | Record<string, string>; [key: string]: unknown; };
|
|
2600
|
+
type ExperimentDefinitions = { Experiments?: null | Record<string, ExperimentDefinition>; [key: string]: unknown; };
|
|
2601
|
+
|
|
2602
|
+
interface TitlePublicConfigurationModel {
|
|
2603
|
+
/** Schema of the title-wide key-value store; the values live in client.titleCustomData. */
|
|
2604
|
+
TitleCustomData?: TitleCustomDataDefinitions | null;
|
|
2605
|
+
Character?: CharacterDefinitions | null;
|
|
2606
|
+
Item?: ItemDefinitions | null;
|
|
2607
|
+
Currency?: CurrencyDefinitions | null;
|
|
2608
|
+
Store?: StoreDefinitions | null;
|
|
2609
|
+
Lootbox?: LootboxDefinitions | null;
|
|
2610
|
+
Quest?: QuestDefinitions | null;
|
|
2611
|
+
TimedEvent?: TimedEventDefinitions | null;
|
|
2612
|
+
Leaderboard?: LeaderboardDefinitions | null;
|
|
2613
|
+
Season?: SeasonDefinitions | null;
|
|
2614
|
+
Reward?: RewardDefinitions | null;
|
|
2615
|
+
Collection?: CollectionDefinitions | null;
|
|
2616
|
+
Craft?: CraftDefinitions | null;
|
|
2617
|
+
DealOffer?: DealOfferDefinitions | null;
|
|
2618
|
+
Premium?: PremiumDefinitions | null;
|
|
2619
|
+
TimedBoost?: TimedBoostDefinitions | null;
|
|
2620
|
+
CoopEvent?: CoopEventDefinitions | null;
|
|
2621
|
+
GameLoop?: GameLoopDefinitions | null;
|
|
2622
|
+
Match?: MatchDefinitions | null;
|
|
2623
|
+
Experiment?: ExperimentDefinitions | null;
|
|
2624
|
+
Blockchain?: BlockchainDefinitions | null;
|
|
2625
|
+
Marketplace?: MarketplaceDefinitions | null;
|
|
2626
|
+
Multiplayer?: MultiplayerDefinitions | null;
|
|
2627
|
+
UserCustomData?: UserCustomDataDefinitions | null;
|
|
2628
|
+
Referral?: ReferralDefinitions | null;
|
|
2629
|
+
[key: string]: unknown;
|
|
2487
2630
|
}
|
|
2488
|
-
interface
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
GoogleIDToken?: string;
|
|
2492
|
-
Attribution?: AttributionInput;
|
|
2493
|
-
/** Wallet login: NetworkID (key of cfg.Blockchain.Networks) the wallet is proving on. */
|
|
2494
|
-
NetworkID?: string;
|
|
2495
|
-
/** Wallet login: the crypto wallet address (EVM 0x… / Solana base58). */
|
|
2496
|
-
WalletAddress?: string;
|
|
2497
|
-
/** Wallet login: signature of the challenge message (EVM personal_sign hex / Solana ed25519, 0x-hex). */
|
|
2498
|
-
WalletSignature?: string;
|
|
2631
|
+
interface TitleRequest extends BaseRequest {
|
|
2632
|
+
Fields?: string[];
|
|
2633
|
+
ExcludeFields?: string[];
|
|
2499
2634
|
}
|
|
2500
|
-
declare const
|
|
2501
|
-
readonly
|
|
2502
|
-
readonly
|
|
2503
|
-
readonly
|
|
2504
|
-
readonly
|
|
2505
|
-
readonly
|
|
2506
|
-
readonly RegisterWithEmail: "RegisterWithEmail";
|
|
2507
|
-
readonly RefreshPlatformToken: "RefreshPlatformToken";
|
|
2508
|
-
readonly RequestWalletChallenge: "RequestWalletChallenge";
|
|
2509
|
-
readonly LoginWithWallet: "LoginWithWallet";
|
|
2510
|
-
readonly ForgotPassword: "ForgotPassword";
|
|
2511
|
-
readonly ResetPassword: "ResetPassword";
|
|
2635
|
+
declare const TitleAction: {
|
|
2636
|
+
readonly GetTitlePublicConfiguration: "GetTitlePublicConfiguration";
|
|
2637
|
+
readonly GetTitlePublicConfigurationExcept: "GetTitlePublicConfigurationExcept";
|
|
2638
|
+
readonly GetCurrencyDefinitions: "GetCurrencyDefinitions";
|
|
2639
|
+
readonly GetItemDefinitions: "GetItemDefinitions";
|
|
2640
|
+
readonly GetServerTime: "GetServerTime";
|
|
2512
2641
|
};
|
|
2513
|
-
type
|
|
2642
|
+
type TitleAction = (typeof TitleAction)[keyof typeof TitleAction];
|
|
2514
2643
|
|
|
2515
2644
|
interface SdkEvents {
|
|
2516
2645
|
"transport:busy": boolean;
|
|
@@ -2578,6 +2707,13 @@ interface SdkEvents {
|
|
|
2578
2707
|
"quest:milestonesClaimedBatch": ClaimMilestoneRewardsBatchResponse;
|
|
2579
2708
|
"quest:groupCompletionClaimed": ClaimGroupCompletionRewardResponse;
|
|
2580
2709
|
"quest:progressAdded": AddQuestProgressResponse;
|
|
2710
|
+
/**
|
|
2711
|
+
* The backend advanced quests by itself while handling some other call — objectives with
|
|
2712
|
+
* `Source: "SystemEvent"` (board roll, store purchase, marketplace deal, claiming another
|
|
2713
|
+
* quest). The cached user state is already patched when this fires; subscribe to refresh the
|
|
2714
|
+
* quest UI. Nothing to call to trigger it.
|
|
2715
|
+
*/
|
|
2716
|
+
"quest:systemProgress": QuestProgressUpdate[];
|
|
2581
2717
|
"timedEvent:activeEventsLoaded": GetActiveEventsResponse;
|
|
2582
2718
|
"timedEvent:definitionsLoaded": TimedEventDefinitions;
|
|
2583
2719
|
"timedEvent:userStateLoaded": UserTimedEventStateResponse;
|
|
@@ -2694,8 +2830,9 @@ interface SdkEvents {
|
|
|
2694
2830
|
"userCustomData:batchSet": BatchSetUserCustomDataResponse;
|
|
2695
2831
|
"userCustomData:batchDeleted": BatchDeleteUserCustomDataResponse;
|
|
2696
2832
|
"userCustomData:batchPublicDataLoaded": BatchGetPublicUserCustomDataResponse;
|
|
2833
|
+
"titleCustomData:definitionsLoaded": TitleCustomDataDefinitions;
|
|
2834
|
+
"titleCustomData:publicDataLoaded": GetPublicTitleDataResponse;
|
|
2697
2835
|
"title:publicConfigurationReceived": TitlePublicConfigurationModel;
|
|
2698
|
-
"title:publicCustomDataReceived": TitleCustomDataResponse;
|
|
2699
2836
|
"title:currencyDefinitionsReceived": CurrencyDefinitions;
|
|
2700
2837
|
"title:itemDefinitionsReceived": ItemDefinitions;
|
|
2701
2838
|
"title:serverTimeReceived": SuccessResponse;
|
|
@@ -2762,6 +2899,20 @@ interface SdkEvents {
|
|
|
2762
2899
|
"multiplayer:memberStateSet": PublishResponse;
|
|
2763
2900
|
}
|
|
2764
2901
|
|
|
2902
|
+
/**
|
|
2903
|
+
* Хранилище, переживающее перезапуск игры. Нужно ровно для одной вещи — держать конфиг тайтла
|
|
2904
|
+
* между сессиями, чтобы не качать его заново на каждом заходе (см. TitleConfigCache).
|
|
2905
|
+
*
|
|
2906
|
+
* Интерфейс намеренно узкий и допускает как синхронную реализацию (localStorage), так и
|
|
2907
|
+
* асинхронную (IndexedDB, файловая система, PlayerPrefs в обёртке): вызывающий всегда делает
|
|
2908
|
+
* `await`, а синхронная реализация просто вернёт значение.
|
|
2909
|
+
*/
|
|
2910
|
+
interface ConfigStorage {
|
|
2911
|
+
get(key: string): Promise<string | null> | string | null;
|
|
2912
|
+
set(key: string, value: string): Promise<void> | void;
|
|
2913
|
+
remove(key: string): Promise<void> | void;
|
|
2914
|
+
}
|
|
2915
|
+
|
|
2765
2916
|
declare const DEFAULT_BASE_URL = "https://api.idosgames.com";
|
|
2766
2917
|
interface IDosGamesSettings {
|
|
2767
2918
|
readonly titleID: string;
|
|
@@ -2770,6 +2921,12 @@ interface IDosGamesSettings {
|
|
|
2770
2921
|
readonly baseUrl: string;
|
|
2771
2922
|
readonly devBuild: boolean;
|
|
2772
2923
|
readonly debugLogging: boolean;
|
|
2924
|
+
/**
|
|
2925
|
+
* Куда складывать конфиг тайтла между сессиями. По умолчанию — `localStorage` с откатом
|
|
2926
|
+
* в память. Своя реализация нужна там, где `localStorage` нет или он не переживает
|
|
2927
|
+
* перезапуск (React Native, встраивание в нативную оболочку).
|
|
2928
|
+
*/
|
|
2929
|
+
readonly configStorage: ConfigStorage;
|
|
2773
2930
|
}
|
|
2774
2931
|
interface SettingsInput {
|
|
2775
2932
|
titleID: string;
|
|
@@ -2778,6 +2935,7 @@ interface SettingsInput {
|
|
|
2778
2935
|
baseUrl?: string;
|
|
2779
2936
|
devBuild?: boolean;
|
|
2780
2937
|
debugLogging?: boolean;
|
|
2938
|
+
configStorage?: ConfigStorage;
|
|
2781
2939
|
}
|
|
2782
2940
|
|
|
2783
2941
|
/**
|
|
@@ -2793,6 +2951,15 @@ declare class UserData {
|
|
|
2793
2951
|
getCachedActiveEvents(): GetActiveEventsResponse | null;
|
|
2794
2952
|
clear(): void;
|
|
2795
2953
|
applyUserState(state: UserState): void;
|
|
2954
|
+
/**
|
|
2955
|
+
* Точечная замена перечисленных контейнеров — для адресной выборки (`getUserState`), которая
|
|
2956
|
+
* приносит только часть состояния.
|
|
2957
|
+
*
|
|
2958
|
+
* Обычный `applyUserState` заменяет состояние ЦЕЛИКОМ и обнулил бы всё, чего в выборке нет.
|
|
2959
|
+
* Список контейнеров передаётся отдельно от самих данных намеренно: контейнер, ставший у
|
|
2960
|
+
* игрока пустым, приходит отсутствующим — и его нужно именно стереть, а не «не трогать».
|
|
2961
|
+
*/
|
|
2962
|
+
applyUserStateContainers(state: UserState, containers: string[]): void;
|
|
2796
2963
|
applyInventory(inventory: UserInventoryState): void;
|
|
2797
2964
|
applyVirtualCurrency(data: Record<string, UserVirtualCurrencyState>): void;
|
|
2798
2965
|
applyResourceOperation(op: ResourceOperation | null | undefined, itemDefs?: ItemDefinitions, now?: Date): void;
|
|
@@ -3046,13 +3213,70 @@ declare class UserService {
|
|
|
3046
3213
|
private readonly ctx;
|
|
3047
3214
|
constructor(ctx: ClientContext);
|
|
3048
3215
|
private baseRequest;
|
|
3216
|
+
private get configCache();
|
|
3217
|
+
private cache?;
|
|
3218
|
+
private get stateCache();
|
|
3219
|
+
private userStateCache?;
|
|
3049
3220
|
getClientState(): Promise<OperationResult<ClientState>>;
|
|
3221
|
+
/**
|
|
3222
|
+
* Подготовка версионного хендшейка состояния: достаём сохранённое состояние игрока и
|
|
3223
|
+
* прикладываем к запросу версии контейнеров, которые у нас уже есть. Сервер не станет
|
|
3224
|
+
* присылать те, что не изменились.
|
|
3225
|
+
*
|
|
3226
|
+
* Ничего не сохранено (первый вход, другое устройство, битый кэш) — запрос уходит как раньше
|
|
3227
|
+
* и приходит полное состояние.
|
|
3228
|
+
*/
|
|
3229
|
+
private prepareStateHandshake;
|
|
3230
|
+
/**
|
|
3231
|
+
* Достройка ответа до полного состояния и сохранение нового снимка.
|
|
3232
|
+
*
|
|
3233
|
+
* `data.User` ЗАМЕНЯЕТСЯ склеенным состоянием — это главное обещание механики: вызывающий код
|
|
3234
|
+
* и подписчики `user:clientStateReceived` видят ровно то же, что видели бы без дельты. Иначе
|
|
3235
|
+
* каждая игра на свете обязана была бы узнать про версии и научиться доклеивать сама.
|
|
3236
|
+
*/
|
|
3237
|
+
private finishStateHandshake;
|
|
3238
|
+
/**
|
|
3239
|
+
* Приводит конфиг тайтла к пригодному виду. Тела конфига в ответе `GetClientState` НЕТ —
|
|
3240
|
+
* там только версия и, если артефакт выложен, ссылка на CDN. Порядок источников:
|
|
3241
|
+
*
|
|
3242
|
+
* 1. версия совпала с сохранённой — берём из локального хранилища, сети не касаемся;
|
|
3243
|
+
* 2. пришла ссылка — качаем артефакт с CDN;
|
|
3244
|
+
* 3. иначе (ссылки нет или не скачалось) — просим конфиг телом у эндпоинта `Title`.
|
|
3245
|
+
*
|
|
3246
|
+
* Третий шаг существует, чтобы недоступность CDN не означала незапускающуюся игру: до
|
|
3247
|
+
* появления раздачи через CDN хватало работающего API, и терять это свойство нельзя.
|
|
3248
|
+
* Возвращает null, только если не сработало вообще ничего.
|
|
3249
|
+
*/
|
|
3250
|
+
private resolveTitleConfig;
|
|
3251
|
+
private fetchConfigFromCdn;
|
|
3252
|
+
/**
|
|
3253
|
+
* Фолбэк на эндпоинт `Title`. Набор полей передаётся ТОТ ЖЕ, что просили у `GetClientState`:
|
|
3254
|
+
* иначе конфиг не будет соответствовать версии, под которой мы его сохраним.
|
|
3255
|
+
*/
|
|
3256
|
+
private fetchConfigFromApi;
|
|
3050
3257
|
/**
|
|
3051
3258
|
* Loads ClientState excluding the given fields. At login GameLoop is excluded (loaded
|
|
3052
3259
|
* per-stage separately) and carried across the wholesale state replace so a mid-session
|
|
3053
3260
|
* refresh doesn't wipe the active board.
|
|
3054
3261
|
*/
|
|
3055
3262
|
getClientStateExcept(excludeFields?: string[], excludeTitleFields?: string[]): Promise<OperationResult<ClientState>>;
|
|
3263
|
+
/**
|
|
3264
|
+
* Только версии контейнеров — без единого байта данных.
|
|
3265
|
+
*
|
|
3266
|
+
* Дешёвый способ узнать, что протухло: два десятка чисел вместо всего состояния. Типовой цикл
|
|
3267
|
+
* после эндпоинта, меняющего данные: сюда → сравнить с `client.data.user.stateVersions` →
|
|
3268
|
+
* забрать разошедшееся через `getUserState`. Ходить сюда ради одного известного контейнера
|
|
3269
|
+
* смысла нет — дешевле сразу `getUserState([контейнер])`, он и так пришлёт только изменённое.
|
|
3270
|
+
*/
|
|
3271
|
+
getStateVersions(fields?: string[]): Promise<OperationResult<UserStateVersions>>;
|
|
3272
|
+
/**
|
|
3273
|
+
* Адресная выборка контейнеров состояния — без конфига тайтла.
|
|
3274
|
+
*
|
|
3275
|
+
* Версионный хендшейк работает и здесь: запросить можно широко, а приедет только разошедшееся.
|
|
3276
|
+
* В отличие от `getClientState`, локальное состояние правится ТОЧЕЧНО — контейнеры, которых в
|
|
3277
|
+
* выборке нет, остаются нетронутыми.
|
|
3278
|
+
*/
|
|
3279
|
+
getUserState(fields?: string[]): Promise<OperationResult<UserStateSlice>>;
|
|
3056
3280
|
getUserInventory(): Promise<OperationResult<UserInventoryState>>;
|
|
3057
3281
|
getEventTokens(): Promise<OperationResult<UserEventTokensState>>;
|
|
3058
3282
|
getUsageTime(): Promise<OperationResult<UsageTimeStats>>;
|
|
@@ -3422,12 +3646,51 @@ declare class UserCustomDataService {
|
|
|
3422
3646
|
private baseRequest;
|
|
3423
3647
|
}
|
|
3424
3648
|
|
|
3649
|
+
/**
|
|
3650
|
+
* Title-scoped key-value data: values shared by every player of the title —
|
|
3651
|
+
* event state, global counters, server-side thresholds, feature toggles.
|
|
3652
|
+
*
|
|
3653
|
+
* Read-only by design. There is no client write path at all: authored values
|
|
3654
|
+
* (Static) are written by the publisher/AI Coder, and mutable values (Runtime)
|
|
3655
|
+
* only by CloudCode scripts. A shared value a client could write would be a
|
|
3656
|
+
* value any player could set for everyone.
|
|
3657
|
+
*
|
|
3658
|
+
* Per-player data belongs in `client.userCustomData`, not here.
|
|
3659
|
+
*/
|
|
3660
|
+
declare class TitleCustomDataService {
|
|
3661
|
+
private readonly ctx;
|
|
3662
|
+
/** Last RuntimeVersion seen, used to make repeat polls cheap. */
|
|
3663
|
+
private lastRuntimeVersion;
|
|
3664
|
+
/** Latest known runtime records, kept so a NotModified response still has data to return. */
|
|
3665
|
+
private runtimeCache;
|
|
3666
|
+
constructor(ctx: ClientContext);
|
|
3667
|
+
/** Schema of the title's public keys plus its size/TTL limits. */
|
|
3668
|
+
getTitleCustomDataDefinitions(): Promise<OperationResult<TitleCustomDataDefinitions>>;
|
|
3669
|
+
/**
|
|
3670
|
+
* All public title data: authored (`Static`) and live (`Runtime`).
|
|
3671
|
+
*
|
|
3672
|
+
* Pass `useKnownVersion` (default true) to let the server skip the Runtime map
|
|
3673
|
+
* when nothing changed since the last call — the response comes back with
|
|
3674
|
+
* `NotModified: true` and this service fills `Runtime` from its own cache, so
|
|
3675
|
+
* callers never have to special-case it.
|
|
3676
|
+
*/
|
|
3677
|
+
getPublicTitleData(useKnownVersion?: boolean): Promise<OperationResult<GetPublicTitleDataResponse>>;
|
|
3678
|
+
/** Same as {@link getPublicTitleData} but returns only the requested keys. */
|
|
3679
|
+
getPublicTitleDataKeys(keyIDs: string[]): Promise<OperationResult<GetPublicTitleDataResponse>>;
|
|
3680
|
+
/** Value of one key from the last full read, checking Runtime first, then Static. */
|
|
3681
|
+
getValue(keyID: string): string | undefined;
|
|
3682
|
+
/** Change counter of the mutable part from the last read — `null` before the first read. */
|
|
3683
|
+
get runtimeVersion(): number | null;
|
|
3684
|
+
private staticCache;
|
|
3685
|
+
private absorb;
|
|
3686
|
+
private baseRequest;
|
|
3687
|
+
}
|
|
3688
|
+
|
|
3425
3689
|
/** Port of TitleService.cs (standalone config fetches). */
|
|
3426
3690
|
declare class TitleService {
|
|
3427
3691
|
private readonly ctx;
|
|
3428
3692
|
constructor(ctx: ClientContext);
|
|
3429
3693
|
getTitlePublicConfiguration(): Promise<OperationResult<TitlePublicConfigurationModel>>;
|
|
3430
|
-
getPublicTitleCustomData(): Promise<OperationResult<TitleCustomDataResponse>>;
|
|
3431
3694
|
getCurrencyDefinitions(): Promise<OperationResult<CurrencyDefinitions>>;
|
|
3432
3695
|
getItemDefinitions(): Promise<OperationResult<ItemDefinitions>>;
|
|
3433
3696
|
getServerTime(): Promise<OperationResult<SuccessResponse>>;
|
|
@@ -3626,6 +3889,8 @@ declare class UserApi {
|
|
|
3626
3889
|
private endpoint;
|
|
3627
3890
|
getClientState(request: UserRequest): Promise<OperationResult<ClientState>>;
|
|
3628
3891
|
getClientStateExcept(request: UserRequest): Promise<OperationResult<ClientState>>;
|
|
3892
|
+
getStateVersions(request: UserRequest): Promise<OperationResult<UserStateVersions>>;
|
|
3893
|
+
getUserState(request: UserRequest): Promise<OperationResult<UserStateSlice>>;
|
|
3629
3894
|
getInventory(request: UserRequest): Promise<OperationResult<UserInventoryState>>;
|
|
3630
3895
|
getEventTokens(request: UserRequest): Promise<OperationResult<UserEventTokensState>>;
|
|
3631
3896
|
getUsageTime(request: UserRequest): Promise<OperationResult<UsageTimeStats>>;
|
|
@@ -3912,13 +4177,29 @@ declare class UserCustomDataApi {
|
|
|
3912
4177
|
batchGetPublicUserCustomDataOf(request: UserCustomDataRequest): Promise<OperationResult<BatchGetPublicUserCustomDataResponse>>;
|
|
3913
4178
|
}
|
|
3914
4179
|
|
|
4180
|
+
/** Thin transport wrapper for the TitleCustomData feature (port of TitleCustomDataV2.cs). */
|
|
4181
|
+
declare class TitleCustomDataApi {
|
|
4182
|
+
private readonly ctx;
|
|
4183
|
+
constructor(ctx: ClientContext);
|
|
4184
|
+
private send;
|
|
4185
|
+
getTitleCustomDataDefinitions(request: TitleCustomDataRequest): Promise<OperationResult<TitleCustomDataDefinitions>>;
|
|
4186
|
+
getPublicTitleData(request: TitleCustomDataRequest): Promise<OperationResult<GetPublicTitleDataResponse>>;
|
|
4187
|
+
getPublicTitleDataKeys(request: TitleCustomDataRequest): Promise<OperationResult<GetPublicTitleDataResponse>>;
|
|
4188
|
+
}
|
|
4189
|
+
|
|
3915
4190
|
/** Thin transport wrapper for the Title feature (port of TitleAPI.cs). */
|
|
3916
4191
|
declare class TitleApi {
|
|
3917
4192
|
private readonly ctx;
|
|
3918
4193
|
constructor(ctx: ClientContext);
|
|
3919
4194
|
private send;
|
|
3920
4195
|
getTitlePublicConfiguration(request: TitleRequest): Promise<OperationResult<TitlePublicConfigurationModel>>;
|
|
3921
|
-
|
|
4196
|
+
/**
|
|
4197
|
+
* Всё, кроме перечисленного в `request.ExcludeFields`. Нужен `UserService` как фолбэк:
|
|
4198
|
+
* `GetClientState` отдаёт только ссылку на CDN, и когда по ней не скачалось, конфиг
|
|
4199
|
+
* запрашивается телом — но ровно тем же набором полей, иначе он не будет соответствовать
|
|
4200
|
+
* версии, под которой клиент его сохранит.
|
|
4201
|
+
*/
|
|
4202
|
+
getTitlePublicConfigurationExcept(request: TitleRequest): Promise<OperationResult<TitlePublicConfigurationModel>>;
|
|
3922
4203
|
getCurrencyDefinitions(request: TitleRequest): Promise<OperationResult<CurrencyDefinitions>>;
|
|
3923
4204
|
getItemDefinitions(request: TitleRequest): Promise<OperationResult<ItemDefinitions>>;
|
|
3924
4205
|
getServerTime(request: TitleRequest): Promise<OperationResult<SuccessResponse>>;
|
|
@@ -4061,6 +4342,7 @@ declare class ClientContext {
|
|
|
4061
4342
|
social: SocialApi;
|
|
4062
4343
|
timedBoost: TimedBoostApi;
|
|
4063
4344
|
userCustomData: UserCustomDataApi;
|
|
4345
|
+
titleCustomData: TitleCustomDataApi;
|
|
4064
4346
|
title: TitleApi;
|
|
4065
4347
|
gameLoop: GameLoopApi;
|
|
4066
4348
|
cloudCode: CloudCodeApi;
|
|
@@ -4090,6 +4372,7 @@ declare class ClientContext {
|
|
|
4090
4372
|
readonly social: SocialService;
|
|
4091
4373
|
readonly timedBoost: TimedBoostService;
|
|
4092
4374
|
readonly userCustomData: UserCustomDataService;
|
|
4375
|
+
readonly titleCustomData: TitleCustomDataService;
|
|
4093
4376
|
readonly title: TitleService;
|
|
4094
4377
|
readonly gameLoop: GameLoopService;
|
|
4095
4378
|
readonly cloudCode: CloudCodeService;
|
|
@@ -4133,6 +4416,7 @@ declare class IDosGamesClient {
|
|
|
4133
4416
|
get social(): SocialService;
|
|
4134
4417
|
get timedBoost(): TimedBoostService;
|
|
4135
4418
|
get userCustomData(): UserCustomDataService;
|
|
4419
|
+
get titleCustomData(): TitleCustomDataService;
|
|
4136
4420
|
get title(): TitleService;
|
|
4137
4421
|
get gameLoop(): GameLoopService;
|
|
4138
4422
|
get cloudCode(): CloudCodeService;
|
|
@@ -4225,4 +4509,4 @@ type MailboxMessageDocument = { MessageID?: null | string; TitleID?: null | stri
|
|
|
4225
4509
|
type MailboxBroadcastDocument = { BroadcastID?: null | string; TitleID?: null | string; MessageTypeID?: null | string; Subject?: null | string; Body?: null | string; TemplateParams?: null | Record<string, string>; AssetPaths?: null | Record<string, string>; Rewards?: null | ResourceGrant; TargetSegmentID?: null | string; TargetUserIDs?: null | Array<string>; StartsAtUtc?: null | string; ExpiresAtUtc?: null | string; CreatedAtUtc?: null | string; CreatedByAdminID?: null | string; AdminComment?: null | string; Status?: null | 'Active' | 'Completed' | 'Cancelled' | 'Paused'; DeliveredCount?: null | number; ClaimedCount?: null | number; [key: string]: unknown; };
|
|
4226
4510
|
type UserMailboxState = { UnreadCount?: null | number; UnclaimedRewardCount?: null | number; LastFetchCursor?: null | string; ReceivedBroadcastIDs?: null | Array<string>; ClaimedBroadcastIDs?: null | Array<string>; DailyP2PGiftsSent?: null | number; DailyGiftsResetDate?: null | string; LastOpenedAtUtc?: null | string; TotalMessagesReceived?: null | number; TotalRewardsClaimed?: null | number; [key: string]: unknown; };
|
|
4227
4511
|
|
|
4228
|
-
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, type ClaimAllRewardsBatchResponse, type ClaimAllRewardsResult, type ClaimComebackRewardResponse, type ClaimCycleRewardResponse, type ClaimCycleRewardsBatchResponse, type ClaimDailyRewardResponse, type ClaimDealMilestoneResponse, type ClaimDealMilestonesBatchResponse, type ClaimGrandPrizeResponse, type ClaimGroupCompletionRewardResponse, type ClaimInviteRewardResponse, type ClaimLeaderboardMilestoneResponse, type ClaimLeaderboardMilestonesBatchResponse, type ClaimMilestoneRewardResponse, type ClaimMilestoneRewardsBatchResponse, type ClaimMilestonesBatchResponse, type ClaimQuestRewardResponse, type ClaimQuestRewardsBatchResponse, type ClaimRewardResponse, type ClaimSetRewardResponse, type ClaimSetRewardsBatchResponse, type ClaimTierRewardResponse, type ClientState, CloudCodeAction, CloudCodeErrorCode, type CloudCodeLogEntry, CloudCodeLogLevel, type CloudCodeRequest, CloudCodeRevisionSelection, CloudCodeService, type CodeExecutionError, type CollectIdleAccrualResponse, CollectionAction, type CollectionDefinitions, 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, 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 GetPublicUserCustomDataResponse, type GetTradeOffersResponse, type GetUserQuestStateResponse, type GrantStatusTokensResponse, type GrantTokensBatchResponse, type GrantedCollectible, type HeistCell, IDosGamesClient, type IDosGamesClientConfig, IDosGamesData, type IDosGamesSettings, 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, LootboxAction, type LootboxAmountRange, type LootboxDefinitions, type LootboxDefinitionsResponse, 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 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 PublishResponse, type PurchaseBatchResponse, type PvPMatch, QuestAction, type QuestClaimRef, type QuestDefinitions, QuestObjectiveSource, type QuestPointsTrackView, QuestPrerequisiteMode, type QuestProgressUpdate, type QuestRequest, 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 SocialRequest, SocialService, type SocialTimelineEvent, type SolanaWithdrawalSignature, type SpecialApplyMultiplierResponse, SpecialChoiceMode, type SpecialChooseResponse, type SpecialClaimResponse, type SpecialModeOfferData, type SpecialPendingState, type SpendRewardDefinition, type SpendTokensBatchResponse, type StatDefinition, type StatRequirement, type StatsPreset, StoreAction, type StoreDefinitions, type StorePurchaseRef, type StorePurchaseResponse, type StorePurchaseState, type StoreRequest, StoreService, StoreType, 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, type TitleCustomData, type TitleCustomDataResponse, type TitlePublicConfigurationModel, type TitlePublicData, type TitleRequest, TitleService, type TokenCurrencyStats, type TokenStatsContainer, type TokenTransactionDocument, type TokenWithdrawalResponse, TradeOfferStatus, TransactionDirection, type TransactionHistoryResponse, type TriggerContext, type TriggerSource, 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 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 UserStoreState, type UserTimedBoostsState, type UserTimedEventStateResponse, type UserUsageState, type UserVirtualCurrencyState, type VirtualCurrencyDefinition, type VirtualCurrencyEconomy, type VirtualCurrencyPermissions, type WalletChallengeResponse, WalletLinkType, type WithdrawalSignatureResponse, createIDosGamesClient, isFail, isOk, normalizeBlockchainCategory };
|
|
4512
|
+
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, type ClaimAllRewardsBatchResponse, type ClaimAllRewardsResult, type ClaimComebackRewardResponse, type ClaimCycleRewardResponse, type ClaimCycleRewardsBatchResponse, type ClaimDailyRewardResponse, type ClaimDealMilestoneResponse, type ClaimDealMilestonesBatchResponse, type ClaimGrandPrizeResponse, type ClaimGroupCompletionRewardResponse, type ClaimInviteRewardResponse, type ClaimLeaderboardMilestoneResponse, type ClaimLeaderboardMilestonesBatchResponse, type ClaimMilestoneRewardResponse, type ClaimMilestoneRewardsBatchResponse, type ClaimMilestonesBatchResponse, type ClaimQuestRewardResponse, type ClaimQuestRewardsBatchResponse, type ClaimRewardResponse, type ClaimSetRewardResponse, type ClaimSetRewardsBatchResponse, type ClaimTierRewardResponse, type ClientState, CloudCodeAction, CloudCodeErrorCode, type CloudCodeLogEntry, CloudCodeLogLevel, type CloudCodeRequest, CloudCodeRevisionSelection, CloudCodeService, type CodeExecutionError, type CollectIdleAccrualResponse, CollectionAction, type CollectionDefinitions, 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, 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 GrantStatusTokensResponse, type GrantTokensBatchResponse, type GrantedCollectible, type HeistCell, IDosGamesClient, type IDosGamesClientConfig, IDosGamesData, type IDosGamesSettings, 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, LootboxAction, type LootboxAmountRange, type LootboxDefinitions, type LootboxDefinitionsResponse, 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 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 PublishResponse, type PurchaseBatchResponse, 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 SocialRequest, SocialService, type SocialTimelineEvent, type SolanaWithdrawalSignature, type SpecialApplyMultiplierResponse, SpecialChoiceMode, type SpecialChooseResponse, type SpecialClaimResponse, type SpecialModeOfferData, type SpecialPendingState, type SpendRewardDefinition, type SpendTokensBatchResponse, type StatDefinition, type StatRequirement, type StatsPreset, StoreAction, type StoreDefinitions, type StorePurchaseRef, type StorePurchaseResponse, type StorePurchaseState, type StoreRequest, StoreService, StoreType, 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, 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 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 UserUsageState, type UserVirtualCurrencyState, type VirtualCurrencyDefinition, type VirtualCurrencyEconomy, type VirtualCurrencyPermissions, type WalletChallengeResponse, WalletLinkType, type WithdrawalSignatureResponse, type WithdrawalSplit, createIDosGamesClient, isFail, isOk, normalizeBlockchainCategory };
|