@idosgames/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/LICENSE +21 -0
- package/README.md +84 -0
- package/dist/chunk-QJVWT32O.js +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +4143 -0
- package/dist/index.d.ts +4143 -0
- package/dist/index.js +2 -0
- package/dist/platform/index.cjs +1 -0
- package/dist/platform/index.d.cts +85 -0
- package/dist/platform/index.d.ts +85 -0
- package/dist/platform/index.js +1 -0
- package/package.json +58 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,4143 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { KeyValueStorage, PlatformAdapter } from './platform/index.cjs';
|
|
3
|
+
export { BrowserPlatformAdapter, BrowserStorage, MemoryStorage, NoopPlatformAdapter, TelegramInitDataUnsafe, TelegramWebApp } from './platform/index.cjs';
|
|
4
|
+
import Decimal from 'decimal.js';
|
|
5
|
+
|
|
6
|
+
type EventMap = Record<string, unknown>;
|
|
7
|
+
type Listener<T> = (payload: T) => void;
|
|
8
|
+
type Unsubscribe = () => void;
|
|
9
|
+
declare class TypedEmitter<E extends object> {
|
|
10
|
+
private readonly listeners;
|
|
11
|
+
on<K extends keyof E>(event: K, listener: Listener<E[K]>): Unsubscribe;
|
|
12
|
+
once<K extends keyof E>(event: K, listener: Listener<E[K]>): Unsubscribe;
|
|
13
|
+
off<K extends keyof E>(event: K, listener: Listener<E[K]>): void;
|
|
14
|
+
emit<K extends keyof E>(event: K, payload: E[K]): void;
|
|
15
|
+
removeAllListeners(): void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface BaseRequest {
|
|
19
|
+
TitleID?: string;
|
|
20
|
+
TitleTemplateID?: string;
|
|
21
|
+
UserID?: string;
|
|
22
|
+
Username?: string;
|
|
23
|
+
Platform?: string;
|
|
24
|
+
Device?: string;
|
|
25
|
+
DeviceID?: string;
|
|
26
|
+
Email?: string;
|
|
27
|
+
Password?: string;
|
|
28
|
+
ClientSessionTicket?: string;
|
|
29
|
+
ResetToken?: string;
|
|
30
|
+
SecretKey?: string;
|
|
31
|
+
BuildKey?: string;
|
|
32
|
+
DevBuild?: boolean;
|
|
33
|
+
WebAppLink?: string;
|
|
34
|
+
RelatedEntityID?: string;
|
|
35
|
+
UsageTime?: number;
|
|
36
|
+
TelegramInitData?: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare const CurrencyType: {
|
|
40
|
+
readonly Virtual: "Virtual";
|
|
41
|
+
readonly Crypto: "Crypto";
|
|
42
|
+
};
|
|
43
|
+
type CurrencyType = (typeof CurrencyType)[keyof typeof CurrencyType];
|
|
44
|
+
declare const ResourceEntryType: {
|
|
45
|
+
readonly Item: "Item";
|
|
46
|
+
readonly VirtualCurrency: "VirtualCurrency";
|
|
47
|
+
readonly CryptoCurrency: "CryptoCurrency";
|
|
48
|
+
readonly UsdCent: "UsdCent";
|
|
49
|
+
};
|
|
50
|
+
type ResourceEntryType = (typeof ResourceEntryType)[keyof typeof ResourceEntryType];
|
|
51
|
+
declare const EventTokenType: {
|
|
52
|
+
readonly TimedEvent: "TimedEvent";
|
|
53
|
+
readonly Quest: "Quest";
|
|
54
|
+
readonly Leaderboard: "Leaderboard";
|
|
55
|
+
readonly CoopEvent: "CoopEvent";
|
|
56
|
+
readonly Season: "Season";
|
|
57
|
+
};
|
|
58
|
+
type EventTokenType = (typeof EventTokenType)[keyof typeof EventTokenType];
|
|
59
|
+
declare const ScheduleMode: {
|
|
60
|
+
readonly Cyclic: "Cyclic";
|
|
61
|
+
readonly Scheduled: "Scheduled";
|
|
62
|
+
readonly Chained: "Chained";
|
|
63
|
+
};
|
|
64
|
+
type ScheduleMode = (typeof ScheduleMode)[keyof typeof ScheduleMode];
|
|
65
|
+
declare const AuthType: {
|
|
66
|
+
readonly None: "None";
|
|
67
|
+
readonly Device: "Device";
|
|
68
|
+
readonly Email: "Email";
|
|
69
|
+
readonly iDosGames: "iDosGames";
|
|
70
|
+
readonly Facebook: "Facebook";
|
|
71
|
+
readonly Google: "Google";
|
|
72
|
+
readonly GooglePlay: "GooglePlay";
|
|
73
|
+
readonly Telegram: "Telegram";
|
|
74
|
+
readonly Wallet: "Wallet";
|
|
75
|
+
};
|
|
76
|
+
type AuthType = (typeof AuthType)[keyof typeof AuthType];
|
|
77
|
+
type ConvertResponse = { ServerTimeUtc: string; SourceType: 'Virtual' | 'Crypto'; SourceID: string; TargetType: 'Virtual' | 'Crypto'; TargetID: string; SourceSpent: number; FeeAmount: number; RateApplied: string; TargetCredited: number; };
|
|
78
|
+
type CryptoConvertResponse = { ServerTimeUtc: string; SourceType: 'Virtual' | 'Crypto'; SourceID: string; TargetType: 'Virtual' | 'Crypto'; TargetID: string; SourceSpent: string; FeeAmount: string; RateApplied: string; TargetCredited: string; };
|
|
79
|
+
interface CurrencyRequest extends BaseRequest {
|
|
80
|
+
SourceType?: CurrencyType;
|
|
81
|
+
SourceID?: string;
|
|
82
|
+
TargetType?: CurrencyType;
|
|
83
|
+
TargetID?: string;
|
|
84
|
+
/** Decimal-as-string for wire precision. */
|
|
85
|
+
SourceAmount?: string;
|
|
86
|
+
TransactionID?: string;
|
|
87
|
+
}
|
|
88
|
+
declare const CurrencyAction: {
|
|
89
|
+
readonly Convert: "Convert";
|
|
90
|
+
readonly CryptoConvert: "CryptoConvert";
|
|
91
|
+
};
|
|
92
|
+
type CurrencyAction = (typeof CurrencyAction)[keyof typeof CurrencyAction];
|
|
93
|
+
declare const CurrencyStatus: {
|
|
94
|
+
readonly Active: "Active";
|
|
95
|
+
readonly Hidden: "Hidden";
|
|
96
|
+
readonly Deprecated: "Deprecated";
|
|
97
|
+
readonly Maintenance: "Maintenance";
|
|
98
|
+
};
|
|
99
|
+
type CurrencyStatus = (typeof CurrencyStatus)[keyof typeof CurrencyStatus];
|
|
100
|
+
declare const ConversionRateMode: {
|
|
101
|
+
readonly Automatic: "Automatic";
|
|
102
|
+
readonly Manual: "Manual";
|
|
103
|
+
};
|
|
104
|
+
type ConversionRateMode = (typeof ConversionRateMode)[keyof typeof ConversionRateMode];
|
|
105
|
+
type VirtualCurrencyEconomy = { ValueInUSD?: null | string; ValueInUSDUpdatedAt?: null | string; InitialDeposit?: null | number; MinBalance?: null | number; MaxBalance?: null | number; DailyEarnLimit?: null | number; DailySpendLimit?: null | number; } & Record<string, unknown>;
|
|
106
|
+
type RechargeConfig = { Rate?: null | number; Max?: null | number; Period?: null | number; } & Record<string, unknown>;
|
|
107
|
+
type VirtualCurrencyPermissions = { IsTradable?: null | boolean; IsPurchasable?: null | boolean; IsRefundable?: null | boolean; } & Record<string, unknown>;
|
|
108
|
+
type ConversionTarget = { TargetCurrencyID: string; Rate?: null | string; TargetCurrencyType?: null | 'Virtual' | 'Crypto'; MinAmount?: null | number; MaxAmount?: null | number; DailyLimit?: null | number; } & Record<string, unknown>;
|
|
109
|
+
type CurrencyConversion = { Enabled?: null | boolean; RateMode?: null | 'Automatic' | 'Manual'; FeePercent?: null | string; Targets?: null | Array<{ TargetCurrencyID: string; Rate?: null | string; TargetCurrencyType?: null | 'Virtual' | 'Crypto'; MinAmount?: null | number; MaxAmount?: null | number; DailyLimit?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
110
|
+
type CurrencyAudit = { CreatedAt?: null | string; UpdatedAt?: null | string; } & Record<string, unknown>;
|
|
111
|
+
type VirtualCurrencyDefinition = { CurrencyID: string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Economy?: null | { ValueInUSD?: null | string; ValueInUSDUpdatedAt?: null | string; InitialDeposit?: null | number; MinBalance?: null | number; MaxBalance?: null | number; DailyEarnLimit?: null | number; DailySpendLimit?: null | number; } & Record<string, unknown>; Recharge?: null | { Rate?: null | number; Max?: null | number; Period?: null | number; } & Record<string, unknown>; Conversion?: null | { Enabled?: null | boolean; RateMode?: null | 'Automatic' | 'Manual'; FeePercent?: null | string; Targets?: null | Array<{ TargetCurrencyID: string; Rate?: null | string; TargetCurrencyType?: null | 'Virtual' | 'Crypto'; MinAmount?: null | number; MaxAmount?: null | number; DailyLimit?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; Permissions?: null | { IsTradable?: null | boolean; IsPurchasable?: null | boolean; IsRefundable?: null | boolean; } & Record<string, unknown>; Audit?: null | { CreatedAt?: null | string; UpdatedAt?: null | string; } & Record<string, unknown>; Status?: null | 'Active' | 'Hidden' | 'Deprecated' | 'Maintenance'; } & Record<string, unknown>;
|
|
112
|
+
type CryptoNetworkBinding = { NetworkID: string; ContractAddress?: null | string; Decimals?: null | number; MinDeposit?: null | string; MinWithdraw?: null | string; WithdrawFee?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; } & Record<string, unknown>;
|
|
113
|
+
type CryptoLimits = { DailyWithdrawUsd?: null | string; MonthlyWithdrawUsd?: null | string; KycRequiredAboveUsd?: null | string; } & Record<string, unknown>;
|
|
114
|
+
type CryptoCurrencyPermissions = { DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; SpendableInGame?: null | boolean; ConvertibleToVirtual?: null | boolean; } & Record<string, unknown>;
|
|
115
|
+
type CryptoCurrencyDefinition = { CurrencyID: string; ValueInUSD?: null | string; ValueInUSDUpdatedAt?: null | string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Conversion?: null | { Enabled?: null | boolean; RateMode?: null | 'Automatic' | 'Manual'; FeePercent?: null | string; Targets?: null | Array<{ TargetCurrencyID: string; Rate?: null | string; TargetCurrencyType?: null | 'Virtual' | 'Crypto'; MinAmount?: null | number; MaxAmount?: null | number; DailyLimit?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; Permissions?: null | { DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; SpendableInGame?: null | boolean; ConvertibleToVirtual?: null | boolean; } & Record<string, unknown>; Audit?: null | { CreatedAt?: null | string; UpdatedAt?: null | string; } & Record<string, unknown>; Status?: null | 'Active' | 'Hidden' | 'Deprecated' | 'Maintenance'; DisplayDecimals?: null | number; DeveloperDepositSharePercent?: null | string; CommunityMarketingDepositSharePercent?: null | string; WithdrawalBurnPercent?: null | string; Networks?: null | Array<{ NetworkID: string; ContractAddress?: null | string; Decimals?: null | number; MinDeposit?: null | string; MinWithdraw?: null | string; WithdrawFee?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; } & Record<string, unknown>>; Limits?: null | { DailyWithdrawUsd?: null | string; MonthlyWithdrawUsd?: null | string; KycRequiredAboveUsd?: null | string; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
116
|
+
/** The title's currency catalog (config), returned by getCurrencyDefinitions(). */
|
|
117
|
+
interface CurrencyDefinitions {
|
|
118
|
+
VirtualCurrencies?: Record<string, VirtualCurrencyDefinition> | null;
|
|
119
|
+
CryptoCurrencies?: Record<string, CryptoCurrencyDefinition> | null;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
123
|
+
[key: string]: JsonValue;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
/** enum CloudCodeRevisionSelection — which revision Execute should run. null = Live. */
|
|
127
|
+
declare const CloudCodeRevisionSelection: {
|
|
128
|
+
readonly Live: "Live";
|
|
129
|
+
readonly Latest: "Latest";
|
|
130
|
+
readonly Specific: "Specific";
|
|
131
|
+
};
|
|
132
|
+
type CloudCodeRevisionSelection = (typeof CloudCodeRevisionSelection)[keyof typeof CloudCodeRevisionSelection];
|
|
133
|
+
/** enum CloudCodeLogLevel — level of one script log entry. */
|
|
134
|
+
declare const CloudCodeLogLevel: {
|
|
135
|
+
readonly Debug: "Debug";
|
|
136
|
+
readonly Info: "Info";
|
|
137
|
+
readonly Warning: "Warning";
|
|
138
|
+
readonly Error: "Error";
|
|
139
|
+
};
|
|
140
|
+
type CloudCodeLogLevel = (typeof CloudCodeLogLevel)[keyof typeof CloudCodeLogLevel];
|
|
141
|
+
/** enum CloudCodeErrorCode — machine-readable execution error code. Stable; client may switch on it. */
|
|
142
|
+
declare const CloudCodeErrorCode: {
|
|
143
|
+
readonly None: "None";
|
|
144
|
+
readonly Disabled: "Disabled";
|
|
145
|
+
readonly NoActiveRevision: "NoActiveRevision";
|
|
146
|
+
readonly RevisionNotFound: "RevisionNotFound";
|
|
147
|
+
readonly InvalidFieldName: "InvalidFieldName";
|
|
148
|
+
readonly RateLimited: "RateLimited";
|
|
149
|
+
readonly HandlerNotFound: "HandlerNotFound";
|
|
150
|
+
readonly HandlerDisabled: "HandlerDisabled";
|
|
151
|
+
readonly Timeout: "Timeout";
|
|
152
|
+
readonly StatementCountExceeded: "StatementCountExceeded";
|
|
153
|
+
readonly StackOverflow: "StackOverflow";
|
|
154
|
+
readonly ApiCallLimitExceeded: "ApiCallLimitExceeded";
|
|
155
|
+
readonly JavaScriptException: "JavaScriptException";
|
|
156
|
+
readonly ExecutionError: "ExecutionError";
|
|
157
|
+
};
|
|
158
|
+
type CloudCodeErrorCode = (typeof CloudCodeErrorCode)[keyof typeof CloudCodeErrorCode];
|
|
159
|
+
type CloudCodeLogEntry = { Level: 'Debug' | 'Info' | 'Warning' | 'Error'; Message?: null | string; Data?: null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean; };
|
|
160
|
+
type CodeExecutionError = { Error: 'None' | 'Disabled' | 'NoActiveRevision' | 'RevisionNotFound' | 'InvalidFieldName' | 'RateLimited' | 'HandlerNotFound' | 'HandlerDisabled' | 'Timeout' | 'StatementCountExceeded' | 'StackOverflow' | 'ApiCallLimitExceeded' | 'JavaScriptException' | 'ExecutionError'; Message?: null | string; StackTrace?: null | string; };
|
|
161
|
+
type ExecuteCloudCodeResponse = { Error?: null | CodeExecutionError; FunctionName?: null | string; Revision?: null | number; FunctionResult?: null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | Record<string, null | string | number | Array<null | string | number | Array<unknown> | Record<string, unknown> | boolean> | Record<string, null | string | number | Array<unknown> | Record<string, unknown> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean> | boolean; FunctionResultTooLarge?: null | boolean; Logs?: null | Array<CloudCodeLogEntry>; LogsTooLarge?: null | boolean; ExecutionTimeSeconds?: null | number; APIRequestsIssued?: null | number; };
|
|
162
|
+
interface CloudCodeRequest extends BaseRequest {
|
|
163
|
+
/** Handler name inside the deployed script's `handlers` object. Case-sensitive. */
|
|
164
|
+
FunctionName?: string;
|
|
165
|
+
/** Arbitrary arguments passed as the script handler's first parameter. */
|
|
166
|
+
FunctionParameter?: JsonValue;
|
|
167
|
+
/** Which revision to run. Omitted/undefined = Live. */
|
|
168
|
+
RevisionSelection?: CloudCodeRevisionSelection;
|
|
169
|
+
/** Revision number to run; only used when RevisionSelection = Specific. */
|
|
170
|
+
SpecificRevision?: number;
|
|
171
|
+
}
|
|
172
|
+
declare const CloudCodeAction: {
|
|
173
|
+
readonly Execute: "Execute";
|
|
174
|
+
};
|
|
175
|
+
type CloudCodeAction = (typeof CloudCodeAction)[keyof typeof CloudCodeAction];
|
|
176
|
+
|
|
177
|
+
interface EventTokenBalanceData {
|
|
178
|
+
Current: number;
|
|
179
|
+
TotalEarned: number;
|
|
180
|
+
TotalSpent: number;
|
|
181
|
+
}
|
|
182
|
+
interface EventTokenDailyData {
|
|
183
|
+
Date: string;
|
|
184
|
+
TotalEarned: number;
|
|
185
|
+
EarnedBySource?: Record<string, number>;
|
|
186
|
+
TriggersBySource?: Record<string, number>;
|
|
187
|
+
LastTriggerBySource?: Record<string, string>;
|
|
188
|
+
}
|
|
189
|
+
interface EventTokenMetaData {
|
|
190
|
+
JoinedAtUtc?: string;
|
|
191
|
+
LastEarnedAtUtc?: string;
|
|
192
|
+
}
|
|
193
|
+
/** Claimed/unlocked milestone ids for a per-cycle token (points-track / leaderboard / quest). */
|
|
194
|
+
interface EventTokenMilestoneData {
|
|
195
|
+
ClaimedIDs?: string[];
|
|
196
|
+
UnlockedIDs?: string[];
|
|
197
|
+
}
|
|
198
|
+
interface UserEventTokenProgress {
|
|
199
|
+
Balance?: EventTokenBalanceData;
|
|
200
|
+
Daily?: EventTokenDailyData;
|
|
201
|
+
Meta?: EventTokenMetaData;
|
|
202
|
+
Milestone?: EventTokenMilestoneData;
|
|
203
|
+
}
|
|
204
|
+
interface UserEventTokensState {
|
|
205
|
+
TimedEvent?: Record<string, UserEventTokenProgress>;
|
|
206
|
+
Quest?: Record<string, UserEventTokenProgress>;
|
|
207
|
+
Leaderboard?: Record<string, UserEventTokenProgress>;
|
|
208
|
+
CoopEvent?: Record<string, UserEventTokenProgress>;
|
|
209
|
+
Season?: Record<string, UserEventTokenProgress>;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
interface StorePurchaseState {
|
|
213
|
+
OfferID: string;
|
|
214
|
+
TotalPurchases: number;
|
|
215
|
+
DailyPurchases: number;
|
|
216
|
+
DailyResetUtc: string;
|
|
217
|
+
LastPurchasedAt: string;
|
|
218
|
+
}
|
|
219
|
+
interface UserStoreState {
|
|
220
|
+
Purchases?: Record<string, StorePurchaseState>;
|
|
221
|
+
}
|
|
222
|
+
type StorePurchaseResponse = { ServerTimeUtc: string; OfferID: string; Count: number; Resources?: null | ResourceOperation; };
|
|
223
|
+
type PurchaseBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | StorePurchaseResponse; }>;
|
|
224
|
+
type StoreDefinition = { StoreID: string; AssetPaths?: null | Record<string, string>; Type?: null | string; Name?: null | string; Description?: null | string; Rules?: null | { StartUtc?: null | string; EndUtc?: null | string; RequiredFlags?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
225
|
+
type StoreOfferDefinition = { OfferID: string; AssetPaths?: null | Record<string, string>; Name?: null | string; Rules?: null | { Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; StartUtc?: null | string; EndUtc?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; } & Record<string, unknown>; StoreIDs?: null | Array<string>; Cost?: null | ResourceConsume; Rewards?: null | ResourceGrant; } & Record<string, unknown>;
|
|
226
|
+
/** The title's shop system (config), returned by getStoreDefinitions(). */
|
|
227
|
+
interface StoreDefinitions {
|
|
228
|
+
Stores?: Record<string, StoreDefinition> | null;
|
|
229
|
+
StoreOffers?: Record<string, StoreOfferDefinition> | null;
|
|
230
|
+
}
|
|
231
|
+
/** One offer + count in a batch purchase (deduped by OfferID). */
|
|
232
|
+
interface StorePurchaseRef {
|
|
233
|
+
OfferID?: string;
|
|
234
|
+
Count?: number;
|
|
235
|
+
}
|
|
236
|
+
interface StoreRequest extends BaseRequest {
|
|
237
|
+
OfferID?: string;
|
|
238
|
+
Count?: number;
|
|
239
|
+
/** PurchaseBatch: per-offer purchase counts (deduped by OfferID). */
|
|
240
|
+
Purchases?: StorePurchaseRef[];
|
|
241
|
+
}
|
|
242
|
+
declare const StoreAction: {
|
|
243
|
+
readonly Purchase: "Purchase";
|
|
244
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
245
|
+
readonly GetUserState: "GetUserState";
|
|
246
|
+
readonly PurchaseBatch: "PurchaseBatch";
|
|
247
|
+
};
|
|
248
|
+
type StoreAction = (typeof StoreAction)[keyof typeof StoreAction];
|
|
249
|
+
type LootboxAmountRange = { Max?: null | number; Min?: null | number; } & Record<string, unknown>;
|
|
250
|
+
type LootboxRewardRoll = { Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
251
|
+
type LootboxRewardSlot = { SlotID?: null | string; MinRolls?: null | number; MaxRolls?: null | number; Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
252
|
+
type LootboxPityRule = { Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; RuleID?: null | string; Threshold?: null | number; } & Record<string, unknown>;
|
|
253
|
+
type RewardSlotSet = { RewardSlots?: null | Array<{ SlotID?: null | string; MinRolls?: null | number; MaxRolls?: null | number; Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
254
|
+
type PityRuleSet = { PityRules?: null | Array<{ Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; RuleID?: null | string; Threshold?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
255
|
+
/**
|
|
256
|
+
* Library of reusable reward sets keyed by PresetID, scoped to a single owning module. Embedded
|
|
257
|
+
* separately on LootboxDefinitions.RewardPools and CollectionDefinitions.RewardPools — two
|
|
258
|
+
* independent registries, not a title-wide singleton. Entities reference their module's own
|
|
259
|
+
* registry via *PresetID instead of inlining a heavy drop-table in every entity.
|
|
260
|
+
* Hand-written interface + explicit z.ZodType annotation: the fully-inferred type of the nested
|
|
261
|
+
* RewardSlotSet/PityRuleSet records exceeds what tsc will serialize for the emitted declaration
|
|
262
|
+
* (TS7056).
|
|
263
|
+
*/
|
|
264
|
+
interface RewardPoolLibrary {
|
|
265
|
+
SlotPresets?: Record<string, RewardSlotSet> | null;
|
|
266
|
+
PityPresets?: Record<string, PityRuleSet> | null;
|
|
267
|
+
}
|
|
268
|
+
type PresetBinding = { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>;
|
|
269
|
+
type SeasonTierRewardBundle = { Rewards?: null | ResourceGrant; SeasonChainID?: null | string; MinSeasonTier?: null | number; } & Record<string, unknown>;
|
|
270
|
+
type SeasonTierRewardMultiplier = { SeasonChainID?: null | string; MinSeasonTier?: null | number; Multiplier?: null | number; } & Record<string, unknown>;
|
|
271
|
+
type SeasonTierRewardSet = { Bundles?: null | Array<{ Rewards?: null | ResourceGrant; SeasonChainID?: null | string; MinSeasonTier?: null | number; } & Record<string, unknown>>; Multipliers?: null | Array<{ SeasonChainID?: null | string; MinSeasonTier?: null | number; Multiplier?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
272
|
+
type RewardProgressionMultiplierSpec = { Source?: null | 'BoardStageLevel' | 'BoardRank' | 'BoardCyclesCompleted' | 'CharacterLevel' | 'SeasonTier' | 'EventTokenTotalEarned' | 'VirtualCurrencyBalance' | 'PlayerLevel'; SourceKey?: null | string; CurveType?: null | 'Tiered' | 'Linear'; Tiers?: null | Array<{ Multiplier?: null | number; AtProgress?: null | number; } & Record<string, unknown>>; TierMode?: null | 'Linear' | 'Step'; BaseMultiplier?: null | number; PerUnit?: null | number; Anchor?: null | number; MinMultiplier?: null | number; MaxMultiplier?: null | number; IncludeRewards?: null | ResourceBundle; ExcludeRewards?: null | ResourceBundle; } & Record<string, unknown>;
|
|
273
|
+
type MilestoneDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Rewards?: null | ResourceGrant; MilestoneID?: null | string; RequiredProgress?: null | number; BonusRewards?: null | ResourceGrant; SeasonTierRewards?: null | { Bundles?: null | Array<{ Rewards?: null | ResourceGrant; SeasonChainID?: null | string; MinSeasonTier?: null | number; } & Record<string, unknown>>; Multipliers?: null | Array<{ SeasonChainID?: null | string; MinSeasonTier?: null | number; Multiplier?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; SortOrder?: null | number; IsFeatured?: null | boolean; } & Record<string, unknown>;
|
|
274
|
+
/**
|
|
275
|
+
* Thin wrapper for a reusable milestone set (port of Core/Milestone/Models/MilestoneSet.cs,
|
|
276
|
+
* declared once and reused by TimedEvent/DealOffer/Leaderboard). Held in a module's
|
|
277
|
+
* Presets.Milestones registry, referenced by entities via their Presets.Milestones
|
|
278
|
+
* PresetBinding (merge semantics: the inline Milestones dictionary overlays the preset per
|
|
279
|
+
* MilestoneID, PresetBinding.Remove drops keys).
|
|
280
|
+
* Hand-written interface + explicit z.ZodType annotation: the fully-inferred type of the nested
|
|
281
|
+
* MilestoneDefinition record exceeds what tsc will serialize for the emitted declaration (TS7056).
|
|
282
|
+
*/
|
|
283
|
+
interface MilestoneSet {
|
|
284
|
+
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
interface UserLootboxPityCounter {
|
|
288
|
+
OpensSinceLastTrigger: number;
|
|
289
|
+
LastTriggeredAtUtc: string;
|
|
290
|
+
}
|
|
291
|
+
interface UserLootboxState {
|
|
292
|
+
Pity?: Record<string, UserLootboxPityCounter>;
|
|
293
|
+
}
|
|
294
|
+
type LootboxPityTriggerResponse = { RuleID: string; BoxIndex?: null | number; };
|
|
295
|
+
type LootboxOpenResponse = { ServerTimeUtc: string; LootboxID: string; Resources?: null | ResourceOperation; OpenedCount?: null | number; SelectedOptionID?: null | number; Results?: null | Array<ResourceOperation>; TriggeredPity?: null | Array<LootboxPityTriggerResponse>; };
|
|
296
|
+
/**
|
|
297
|
+
* Container of preset wiring for a lootbox — one PresetBinding per block. Inline data
|
|
298
|
+
* (RewardSlots/PityRules) lives on LootboxDefinition. null = presets unused.
|
|
299
|
+
*/
|
|
300
|
+
interface LootboxPresetBindings {
|
|
301
|
+
RewardSlots?: PresetBinding | null;
|
|
302
|
+
PityRules?: PresetBinding | null;
|
|
303
|
+
}
|
|
304
|
+
type LootboxDefinition = { LootboxID: string; AssetPaths?: null | Record<string, string>; RewardSlots?: null | Array<{ SlotID?: null | string; MinRolls?: null | number; MaxRolls?: null | number; Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; } & Record<string, unknown>>; PityRules?: null | Array<{ Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; RuleID?: null | string; Threshold?: null | number; } & Record<string, unknown>>; PriceOptions?: null | Record<string, { PriceOptionID?: null | number; RequiredResources?: null | ResourceConsume; } & Record<string, unknown>>; Presets?: null | LootboxPresetBindings; RewardMultiplier?: null | { Source?: null | 'BoardStageLevel' | 'BoardRank' | 'BoardCyclesCompleted' | 'CharacterLevel' | 'SeasonTier' | 'EventTokenTotalEarned' | 'VirtualCurrencyBalance' | 'PlayerLevel'; SourceKey?: null | string; CurveType?: null | 'Tiered' | 'Linear'; Tiers?: null | Array<{ Multiplier?: null | number; AtProgress?: null | number; } & Record<string, unknown>>; TierMode?: null | 'Linear' | 'Step'; BaseMultiplier?: null | number; PerUnit?: null | number; Anchor?: null | number; MinMultiplier?: null | number; MaxMultiplier?: null | number; IncludeRewards?: null | ResourceBundle; ExcludeRewards?: null | ResourceBundle; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
305
|
+
/** The title's lootbox catalog (config), returned by getDefinitions(). */
|
|
306
|
+
interface LootboxDefinitions {
|
|
307
|
+
Definitions?: Record<string, LootboxDefinition> | null;
|
|
308
|
+
RewardPools?: RewardPoolLibrary | null;
|
|
309
|
+
}
|
|
310
|
+
type LootboxDefinitionsResponse = { LootboxDefinitions?: null | LootboxDefinitions; };
|
|
311
|
+
interface LootboxRequest extends BaseRequest {
|
|
312
|
+
LootboxID?: string;
|
|
313
|
+
Count?: number;
|
|
314
|
+
SelectedOptionID?: number;
|
|
315
|
+
}
|
|
316
|
+
declare const LootboxAction: {
|
|
317
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
318
|
+
readonly Open: "Open";
|
|
319
|
+
};
|
|
320
|
+
type LootboxAction = (typeof LootboxAction)[keyof typeof LootboxAction];
|
|
321
|
+
|
|
322
|
+
interface UserDailyCalendarState {
|
|
323
|
+
CalendarID?: string;
|
|
324
|
+
CollectedDays?: number;
|
|
325
|
+
LastClaimAt?: string;
|
|
326
|
+
[key: string]: unknown;
|
|
327
|
+
}
|
|
328
|
+
interface UserIdleAccrualState {
|
|
329
|
+
AccrualID?: string;
|
|
330
|
+
LastCollectAt?: string;
|
|
331
|
+
LastClaimedAmount?: number;
|
|
332
|
+
LastClaimedRate?: number;
|
|
333
|
+
[key: string]: unknown;
|
|
334
|
+
}
|
|
335
|
+
interface UserComebackState {
|
|
336
|
+
ComebackID?: string;
|
|
337
|
+
LastSeenAt?: string;
|
|
338
|
+
LastClaimAt?: string;
|
|
339
|
+
LastClaimedTierIndex?: number;
|
|
340
|
+
PendingReturnedAt?: string | null;
|
|
341
|
+
PendingTierIndex?: number | null;
|
|
342
|
+
[key: string]: unknown;
|
|
343
|
+
}
|
|
344
|
+
interface UserClaimRewardState {
|
|
345
|
+
ClaimID?: string;
|
|
346
|
+
TotalClaims?: number;
|
|
347
|
+
RecentClaimTimestamps?: string[];
|
|
348
|
+
LastClaimAt?: string;
|
|
349
|
+
[key: string]: unknown;
|
|
350
|
+
}
|
|
351
|
+
interface UserRewardState {
|
|
352
|
+
DailyCalendars?: Record<string, UserDailyCalendarState>;
|
|
353
|
+
IdleAccruals?: Record<string, UserIdleAccrualState>;
|
|
354
|
+
Comebacks?: Record<string, UserComebackState>;
|
|
355
|
+
Claims?: Record<string, UserClaimRewardState>;
|
|
356
|
+
}
|
|
357
|
+
type ClaimDailyRewardResponse = { ServerTimeUtc: string; CalendarID: string; DailyState: UserDailyCalendarState; Resources?: null | ResourceOperation; DayNumber?: null | number; };
|
|
358
|
+
type CollectIdleAccrualResponse = { ServerTimeUtc: string; AccrualID: string; IdleState: UserIdleAccrualState; Resources?: null | ResourceOperation; AccruedSeconds?: null | number; AppliedRatePerSecond?: null | number; };
|
|
359
|
+
type ClaimComebackRewardResponse = { ServerTimeUtc: string; ComebackID: string; ComebackState: UserComebackState; Resources?: null | ResourceOperation; ClaimedTierIndex?: null | number; };
|
|
360
|
+
type ClaimRewardResponse = { ServerTimeUtc: string; ClaimID: string; ClaimState: UserClaimRewardState; Resources?: null | ResourceOperation; };
|
|
361
|
+
type GetMilestoneRewardMultiplierResponse = { Enabled: boolean; Source?: null | string; Multiplier?: null | number; SourceKey?: null | string; Progress?: null | number; };
|
|
362
|
+
type TierRewardSettings = { RewardMode?: null | string; RewardStackLowerTiers?: null | boolean; } & Record<string, unknown>;
|
|
363
|
+
type DailyCalendarDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; CalendarID?: null | string; Days?: null | Array<{ AssetPaths?: null | Record<string, string>; Rewards?: null | ResourceGrant; DayNumber?: null | number; IsMilestone?: null | boolean; } & Record<string, unknown>>; IsLooping?: null | boolean; MissBehavior?: null | string; ResetByDays?: null | number; MissThresholdMultiplier?: null | number; ClaimMode?: null | string; ClaimCooldownSeconds?: null | number; AvailableFromUtc?: null | string; AvailableUntilUtc?: null | string; } & Record<string, unknown>;
|
|
364
|
+
type IdleAccrualDefinition = { Rate?: null | { BaseRatePerSecond?: null | number; PowerCoefficient?: null | number; BoardRankCoefficient?: null | number; EquipmentBonusEnabled?: null | boolean; EquipmentCharacterID?: null | string; PremiumMultipliers?: null | Array<{ MinPremiumTier?: null | number; RequiredPremiumID?: null | string; Multiplier?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Rewards?: null | ResourceGrant; AccrualID?: null | string; AvailableFromUtc?: null | string; AvailableUntilUtc?: null | string; MaxAccumulationSeconds?: null | number; MinClaimSeconds?: null | number; Requirements?: null | { Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; MinCharacterLevel?: null | number; RequirementsCharacterID?: null | string; RequiredItemIDs?: null | Array<string>; RequiredEquippedItemIDs?: null | Array<string>; } & Record<string, unknown>; FirstClaimMode?: null | string; } & Record<string, unknown>;
|
|
365
|
+
type ComebackRewardDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Tiers?: null | Array<{ AssetPaths?: null | Record<string, string>; Rewards?: null | ResourceGrant; MinAbsenceSeconds?: null | number; } & Record<string, unknown>>; ComebackID?: null | string; ClaimCooldownSeconds?: null | number; AvailableFromUtc?: null | string; AvailableUntilUtc?: null | string; ClaimWindowSeconds?: null | number; TrackPresenceOnRead?: null | boolean; } & Record<string, unknown>;
|
|
366
|
+
type ClaimRewardDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Rewards?: null | ResourceGrant; ClaimID?: null | string; AvailableFromUtc?: null | string; AvailableUntilUtc?: null | string; Mode?: null | string; PremiumLimitOverrides?: null | Array<{ MinPremiumTier?: null | number; RequiredPremiumID?: null | string; CooldownSeconds?: null | number; WindowSeconds?: null | number; MaxClaimsPerWindow?: null | number; TotalClaimLimit?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
367
|
+
interface RewardDefinitions {
|
|
368
|
+
TierRewards?: TierRewardSettings | null;
|
|
369
|
+
MilestoneRewardMultiplier?: RewardProgressionMultiplierSpec | null;
|
|
370
|
+
DailyCalendars?: Record<string, DailyCalendarDefinition> | null;
|
|
371
|
+
IdleAccruals?: Record<string, IdleAccrualDefinition> | null;
|
|
372
|
+
Comebacks?: Record<string, ComebackRewardDefinition> | null;
|
|
373
|
+
Claims?: Record<string, ClaimRewardDefinition> | null;
|
|
374
|
+
}
|
|
375
|
+
type RewardDefinitionsResponse = { RewardDefinitions?: null | RewardDefinitions; };
|
|
376
|
+
type UserRewardsStateResponse = { Rewards?: null | UserRewardState; };
|
|
377
|
+
interface RewardRequest extends BaseRequest {
|
|
378
|
+
CalendarID?: string;
|
|
379
|
+
AccrualID?: string;
|
|
380
|
+
ComebackID?: string;
|
|
381
|
+
ClaimID?: string;
|
|
382
|
+
ClaimIDs?: string[];
|
|
383
|
+
}
|
|
384
|
+
declare const RewardAction: {
|
|
385
|
+
readonly GetRewardDefinitions: "GetRewardDefinitions";
|
|
386
|
+
readonly GetUserRewardsState: "GetUserRewardsState";
|
|
387
|
+
readonly ClaimDailyReward: "ClaimDailyReward";
|
|
388
|
+
readonly CollectIdleAccrual: "CollectIdleAccrual";
|
|
389
|
+
readonly ClaimComebackReward: "ClaimComebackReward";
|
|
390
|
+
readonly ClaimReward: "ClaimReward";
|
|
391
|
+
readonly ClaimRewardsBatch: "ClaimRewardsBatch";
|
|
392
|
+
readonly GetMilestoneRewardMultiplier: "GetMilestoneRewardMultiplier";
|
|
393
|
+
};
|
|
394
|
+
type RewardAction = (typeof RewardAction)[keyof typeof RewardAction];
|
|
395
|
+
type ExperimentVariantCondition = { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>;
|
|
396
|
+
type SegmentGate = { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
397
|
+
type RelativeWindow = { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>;
|
|
398
|
+
type ScheduledWindow = { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>;
|
|
399
|
+
type ScheduleChain = { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>;
|
|
400
|
+
type ScheduleChainPhase = { ClaimGraceHours?: null | number; PhaseID?: null | string; Order?: null | number; DurationSec?: null | number; } & Record<string, unknown>;
|
|
401
|
+
type CyclicSchedule = { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>;
|
|
402
|
+
type TriggerContext = { SourceType?: null | string; TileType?: null | string; TileIndex?: null | number; ChanceOutcomeID?: null | string; Outcome?: null | string; Params?: null | Record<string, string>; } & Record<string, unknown>;
|
|
403
|
+
type TriggerSource = { SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>;
|
|
404
|
+
type ScheduleSpec = { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
405
|
+
type EventTokenConversion = { Rate?: null | number; TargetCurrencyID?: null | string; MaxConvertAmount?: null | number; } & Record<string, unknown>;
|
|
406
|
+
type EventTokenDefinition = { MaxBalance?: null | number; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; MaxPerGrant?: null | number; DailyEarnCap?: null | number; BurnOnEventEnd?: null | boolean; BurnConversion?: null | { Rate?: null | number; TargetCurrencyID?: null | string; MaxConvertAmount?: null | number; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
407
|
+
|
|
408
|
+
declare const QuestStatus: {
|
|
409
|
+
readonly Active: "Active";
|
|
410
|
+
readonly Completed: "Completed";
|
|
411
|
+
readonly Claimed: "Claimed";
|
|
412
|
+
readonly Expired: "Expired";
|
|
413
|
+
};
|
|
414
|
+
type QuestStatus = (typeof QuestStatus)[keyof typeof QuestStatus];
|
|
415
|
+
interface UserQuestObjectiveProgress {
|
|
416
|
+
ObjectiveID: string;
|
|
417
|
+
CurrentValue: number;
|
|
418
|
+
Completed: boolean;
|
|
419
|
+
CompletedAtUtc?: string | null;
|
|
420
|
+
}
|
|
421
|
+
interface UserQuestProgress {
|
|
422
|
+
QuestID: string;
|
|
423
|
+
Status: QuestStatus;
|
|
424
|
+
ActivatedAtUtc?: string | null;
|
|
425
|
+
CompletedAtUtc?: string | null;
|
|
426
|
+
ClaimedAtUtc?: string | null;
|
|
427
|
+
Objectives?: Record<string, UserQuestObjectiveProgress>;
|
|
428
|
+
}
|
|
429
|
+
interface UserQuestCycleState {
|
|
430
|
+
CycleID?: string;
|
|
431
|
+
CycleStartUtc?: string;
|
|
432
|
+
CycleEndUtc?: string;
|
|
433
|
+
Quests?: Record<string, UserQuestProgress>;
|
|
434
|
+
ClaimedGroupCompletionIDs?: string[];
|
|
435
|
+
}
|
|
436
|
+
interface UserQuestState {
|
|
437
|
+
Cycles?: Record<string, UserQuestCycleState>;
|
|
438
|
+
PermanentQuests?: Record<string, UserQuestProgress>;
|
|
439
|
+
LastUpdatedUtc?: string;
|
|
440
|
+
}
|
|
441
|
+
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 QuestProgressUpdate = { Status: 'Active' | 'Completed' | 'Claimed' | 'Expired'; QuestID: string; CycleID?: null | string; ObjectiveID?: null | string; NewValue?: null | number; ObjectiveCompleted?: null | boolean; };
|
|
443
|
+
type GetUserQuestStateResponse = { State?: null | UserQuestState; PointsTracks?: null | Record<string, QuestPointsTrackView>; };
|
|
444
|
+
type ClaimQuestRewardResponse = { ServerTimeUtc: string; QuestID: string; Resources?: null | ResourceOperation; CycleID?: null | string; NewStatus?: null | 'Active' | 'Completed' | 'Claimed' | 'Expired'; };
|
|
445
|
+
type ClaimMilestoneRewardResponse = { ServerTimeUtc: string; MilestoneID: string; CycleID: string; Resources?: null | ResourceOperation; PointsTotalEarned?: null | number; };
|
|
446
|
+
type ClaimGroupCompletionRewardResponse = { ServerTimeUtc: string; CycleID: string; GroupCompletionID: string; Resources?: null | ResourceOperation; GroupID?: null | string; CompletedGroupQuests?: null | number; RequiredGroupQuests?: null | number; };
|
|
447
|
+
type AddQuestProgressResponse = { MetricID: string; Updates?: null | Array<QuestProgressUpdate>; };
|
|
448
|
+
type ClaimQuestRewardsBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | ClaimQuestRewardResponse; }>;
|
|
449
|
+
type ClaimMilestoneRewardsBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | ClaimMilestoneRewardResponse; }>;
|
|
450
|
+
/** enum QuestObjectiveSource — who is allowed to report progress for this objective. */
|
|
451
|
+
declare const QuestObjectiveSource: {
|
|
452
|
+
readonly ClientApi: "ClientApi";
|
|
453
|
+
readonly ServerApi: "ServerApi";
|
|
454
|
+
readonly SystemEvent: "SystemEvent";
|
|
455
|
+
};
|
|
456
|
+
type QuestObjectiveSource = (typeof QuestObjectiveSource)[keyof typeof QuestObjectiveSource];
|
|
457
|
+
/** enum QuestPrerequisiteMode — whether RequiredQuestIDs gates progress accrual, or claim only. */
|
|
458
|
+
declare const QuestPrerequisiteMode: {
|
|
459
|
+
readonly BlockProgressAndClaim: "BlockProgressAndClaim";
|
|
460
|
+
readonly BlockClaimOnly: "BlockClaimOnly";
|
|
461
|
+
};
|
|
462
|
+
type QuestPrerequisiteMode = (typeof QuestPrerequisiteMode)[keyof typeof QuestPrerequisiteMode];
|
|
463
|
+
type QuestDefinition = { DisplayName?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Reward?: null | ResourceGrant; SortOrder?: null | number; QuestID?: null | string; GroupID?: null | string; CycleIDs?: null | Array<string>; RequiredQuestIDs?: null | Array<string>; PrerequisiteMode?: null | 'BlockProgressAndClaim' | 'BlockClaimOnly'; PointsReward?: null | number; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; AccrueProgressWhenLocked?: null | boolean; Objectives?: null | Record<string, { Source?: null | 'ClientApi' | 'ServerApi' | 'SystemEvent'; ObjectiveID?: null | string; MetricID?: null | string; MaxProgressPerCall?: null | number; TargetValue?: null | number; AggregationMethod?: null | string; Filters?: null | Record<string, string>; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
464
|
+
type QuestGroupCompletionDefinition = { Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Reward?: null | ResourceGrant; GroupID?: null | string; PointsReward?: null | number; CompletionID?: null | string; RequiredCompletedQuests?: null | number; } & Record<string, unknown>;
|
|
465
|
+
/** Cycle definition: schedule + milestone rewards + points-track token. */
|
|
466
|
+
interface QuestCycleDefinition {
|
|
467
|
+
CycleID?: string | null;
|
|
468
|
+
DisplayName?: string | null;
|
|
469
|
+
Schedule?: ScheduleSpec | null;
|
|
470
|
+
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
471
|
+
Gate?: SegmentGate | null;
|
|
472
|
+
PointsToken?: EventTokenDefinition | null;
|
|
473
|
+
GroupCompletions?: Record<string, QuestGroupCompletionDefinition> | null;
|
|
474
|
+
[key: string]: unknown;
|
|
475
|
+
}
|
|
476
|
+
/** Root block of the quest system in the title config. */
|
|
477
|
+
interface QuestDefinitions {
|
|
478
|
+
Cycles?: Record<string, QuestCycleDefinition> | null;
|
|
479
|
+
Quests?: Record<string, QuestDefinition> | null;
|
|
480
|
+
[key: string]: unknown;
|
|
481
|
+
}
|
|
482
|
+
/** One (cycle, quest) pair for a batch reward claim. CycleID null/empty = permanent quest. */
|
|
483
|
+
interface QuestClaimRef {
|
|
484
|
+
CycleID?: string;
|
|
485
|
+
QuestID?: string;
|
|
486
|
+
}
|
|
487
|
+
/** One (cycle, milestone) pair for a batch milestone-reward claim. */
|
|
488
|
+
interface MilestoneClaimRef {
|
|
489
|
+
CycleID?: string;
|
|
490
|
+
MilestoneID?: string;
|
|
491
|
+
}
|
|
492
|
+
interface QuestRequest extends BaseRequest {
|
|
493
|
+
AutoRefreshCycles?: boolean;
|
|
494
|
+
CycleID?: string;
|
|
495
|
+
QuestID?: string;
|
|
496
|
+
MilestoneID?: string;
|
|
497
|
+
GroupCompletionID?: string;
|
|
498
|
+
MetricID?: string;
|
|
499
|
+
ProgressValue?: number;
|
|
500
|
+
/** ClaimQuestRewardsBatch: quests to claim (deduped by CycleID+QuestID). */
|
|
501
|
+
Quests?: QuestClaimRef[];
|
|
502
|
+
/** ClaimMilestoneRewardsBatch: milestones to claim (deduped by CycleID+MilestoneID). */
|
|
503
|
+
Milestones?: MilestoneClaimRef[];
|
|
504
|
+
}
|
|
505
|
+
declare const QuestAction: {
|
|
506
|
+
readonly GetQuestDefinitions: "GetQuestDefinitions";
|
|
507
|
+
readonly GetUserQuestState: "GetUserQuestState";
|
|
508
|
+
readonly RefreshQuestCycles: "RefreshQuestCycles";
|
|
509
|
+
readonly ClaimQuestReward: "ClaimQuestReward";
|
|
510
|
+
readonly ClaimMilestoneReward: "ClaimMilestoneReward";
|
|
511
|
+
readonly AddQuestProgress: "AddQuestProgress";
|
|
512
|
+
readonly ClaimQuestRewardsBatch: "ClaimQuestRewardsBatch";
|
|
513
|
+
readonly ClaimMilestoneRewardsBatch: "ClaimMilestoneRewardsBatch";
|
|
514
|
+
readonly ClaimGroupCompletionReward: "ClaimGroupCompletionReward";
|
|
515
|
+
};
|
|
516
|
+
type QuestAction = (typeof QuestAction)[keyof typeof QuestAction];
|
|
517
|
+
type ResourceEntry = { CurrencyID?: null | string; Type?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; Amount?: null | number; CatalogID?: null | string; ItemID?: null | string; };
|
|
518
|
+
type EventTokenAddress = { EntityID: string; Type?: null | 'TimedEvent' | 'Quest' | 'Leaderboard' | 'CoopEvent' | 'Season'; };
|
|
519
|
+
type EventTokenOperation = { Amount?: null | number; Address?: null | EventTokenAddress; Source?: null | string; };
|
|
520
|
+
type ResourceBundle = { Entries?: null | Array<ResourceEntry>; EventTokens?: null | Array<EventTokenOperation>; };
|
|
521
|
+
type ResourceGrant = { Standard?: null | ResourceBundle; PremiumBonuses?: null | Array<unknown>; PremiumTiers?: null | Array<{ MinPremiumTier?: null | number; RequiredPremiumID?: null | string; Resources?: null | ResourceBundle; }>; };
|
|
522
|
+
type ResourceConsume = { Standard?: null | ResourceBundle; PremiumTiers?: null | Array<{ MinPremiumTier?: null | number; RequiredPremiumID?: null | string; Resources?: null | ResourceBundle; }>; PremiumDiscounts?: null | Array<unknown>; };
|
|
523
|
+
type ResourceOperation = { Grant?: null | ResourceGrant; Consume?: null | ResourceConsume; };
|
|
524
|
+
type ResourceDualPartyResult = { FromUserID?: null | string; ToUserID?: null | string; FromResult?: null | ResourceOperation; ToResult?: null | ResourceOperation; };
|
|
525
|
+
type ResourceTransferResult = { FromUserID?: null | string; ToUserID?: null | string; Transferred?: null | ResourceBundle; };
|
|
526
|
+
|
|
527
|
+
/** One element of a batch action result. */
|
|
528
|
+
interface BatchItemResult<T> {
|
|
529
|
+
/** Item key: an entity id (e.g. CharacterID) or a composite like `"characterID:statID"`. */
|
|
530
|
+
Id: string;
|
|
531
|
+
Success: boolean;
|
|
532
|
+
/** Human-readable reason when `Success` is false. */
|
|
533
|
+
Error?: string | null;
|
|
534
|
+
/** The single-handler response; null/absent when the item failed. */
|
|
535
|
+
Data?: T | null;
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Wrapper of a batch action result (port of `BatchResponse<T>`). The batch runs as one atomic
|
|
539
|
+
* backend operation, so the merged consumed/granted `Resources` container is carried ONCE here
|
|
540
|
+
* at the top level — per-item `Data.Resources` is null to avoid double-counting on the client.
|
|
541
|
+
*/
|
|
542
|
+
interface BatchResponse<T> {
|
|
543
|
+
/** Server execution time of the batch (UTC). */
|
|
544
|
+
ServerTimeUtc: string;
|
|
545
|
+
/** Per-item results (partial success: item errors don't fail the batch). */
|
|
546
|
+
Items: BatchItemResult<T>[];
|
|
547
|
+
/** Merged ResourceOperation for the whole atomic operation. Empty if nothing applied. */
|
|
548
|
+
Resources?: ResourceOperation | null;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
interface UserLeaderboardProgress {
|
|
552
|
+
CurrentScore?: number;
|
|
553
|
+
ScoreEarnedThisCycle?: number;
|
|
554
|
+
ClaimedMilestoneIDs?: string[];
|
|
555
|
+
ScoreCycleVersion?: number;
|
|
556
|
+
LastScoreSubmitUtc?: string;
|
|
557
|
+
UnclaimedRewardCycleVersion?: number;
|
|
558
|
+
LastClaimedCycleVersion?: number;
|
|
559
|
+
LastKnownRank?: number;
|
|
560
|
+
BracketID?: string | null;
|
|
561
|
+
}
|
|
562
|
+
interface UserLeaderboardsState {
|
|
563
|
+
ProgressByCycle?: Record<string, UserLeaderboardProgress>;
|
|
564
|
+
}
|
|
565
|
+
type LeaderboardUserEntry = { UserID: string; Score?: null | number; Rank?: null | number; LastScoreUpdateUtc?: null | string; IpHash?: null | string; PublicProfile?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; SeasonTierAtCycleEnd?: null | number; } & Record<string, unknown>;
|
|
566
|
+
type GetLeaderboardResponse = { LeaderboardID: string; CycleEndUtc?: null | string; CycleVersion?: null | number; TotalParticipants?: null | number; TopUsers?: null | Array<{ UserID: string; Score?: null | number; Rank?: null | number; LastScoreUpdateUtc?: null | string; IpHash?: null | string; PublicProfile?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; SeasonTierAtCycleEnd?: null | number; } & Record<string, unknown>>; BracketID?: null | string; };
|
|
567
|
+
type GetMyProgressResponse = { LeaderboardID: string; MilestoneTokensEarned?: null | number; CurrentScore?: null | number; LastKnownRank?: null | number; HasUnclaimedReward?: null | boolean; ScoreEarnedThisCycle?: null | number; NextMilestone?: null | { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Rewards?: null | ResourceGrant; MilestoneID?: null | string; RequiredProgress?: null | number; BonusRewards?: null | ResourceGrant; SeasonTierRewards?: null | { Bundles?: null | Array<{ Rewards?: null | ResourceGrant; SeasonChainID?: null | string; MinSeasonTier?: null | number; } & Record<string, unknown>>; Multipliers?: null | Array<{ SeasonChainID?: null | string; MinSeasonTier?: null | number; Multiplier?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; SortOrder?: null | number; IsFeatured?: null | boolean; } & Record<string, unknown>; HasUnclaimedMilestone?: null | boolean; ClaimableGraceCycles?: null | Array<{ CycleEndUtc?: null | string; CycleKey?: null | string; ClaimDeadlineUtc?: null | string; MilestoneTokensEarned?: null | number; ClaimableMilestoneIDs?: null | Array<string>; CycleIndex?: null | number; ChainedEventID?: null | string; } & Record<string, unknown>>; };
|
|
568
|
+
type SubmitScoreResponse = { LeaderboardID: string; CycleVersion: number; NewScore: number; };
|
|
569
|
+
type ClaimCycleRewardResponse = { ServerTimeUtc: string; LeaderboardID: string; Resources?: null | ResourceOperation; Rank?: null | number; };
|
|
570
|
+
type ClaimLeaderboardMilestoneResponse = { ServerTimeUtc: string; MilestoneID: string; LeaderboardID: string; Resources?: null | ResourceOperation; };
|
|
571
|
+
type GetLeaderboardsBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | GetLeaderboardResponse; }>;
|
|
572
|
+
type GetProgressBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | GetMyProgressResponse; }>;
|
|
573
|
+
type ClaimCycleRewardsBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | ClaimCycleRewardResponse; }>;
|
|
574
|
+
type ClaimLeaderboardMilestonesBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | ClaimLeaderboardMilestoneResponse; }>;
|
|
575
|
+
type SubmitScoresBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | SubmitScoreResponse; }>;
|
|
576
|
+
type ClaimAllRewardsResult = { LeaderboardID: string; CycleReward?: null | { Id: string; Success: boolean; Error?: null | string; Data?: null | ClaimCycleRewardResponse; }; Milestones?: null | ClaimLeaderboardMilestonesBatchResponse; };
|
|
577
|
+
type ClaimAllRewardsBatchResponse = Array<ClaimAllRewardsResult>;
|
|
578
|
+
interface LeaderboardOverview {
|
|
579
|
+
LeaderboardID: string;
|
|
580
|
+
Leaderboard?: BatchItemResult<GetLeaderboardResponse> | null;
|
|
581
|
+
Progress?: BatchItemResult<GetMyProgressResponse> | null;
|
|
582
|
+
}
|
|
583
|
+
declare const zGetOverviewBatchResponse: z.ZodArray<z.ZodType<LeaderboardOverview, z.ZodTypeDef, unknown>, "many">;
|
|
584
|
+
type GetOverviewBatchResponse = Array<LeaderboardOverview>;
|
|
585
|
+
type LeaderboardRankReward = { Rewards?: null | ResourceGrant; SeasonTierRewards?: null | { Bundles?: null | Array<{ Rewards?: null | ResourceGrant; SeasonChainID?: null | string; MinSeasonTier?: null | number; } & Record<string, unknown>>; Multipliers?: null | Array<{ SeasonChainID?: null | string; MinSeasonTier?: null | number; Multiplier?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; Rank?: null | string; } & Record<string, unknown>;
|
|
586
|
+
type RankRewardSet = { RankRewards?: null | Array<{ Rewards?: null | ResourceGrant; SeasonTierRewards?: null | { Bundles?: null | Array<{ Rewards?: null | ResourceGrant; SeasonChainID?: null | string; MinSeasonTier?: null | number; } & Record<string, unknown>>; Multipliers?: null | Array<{ SeasonChainID?: null | string; MinSeasonTier?: null | number; Multiplier?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; Rank?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
587
|
+
type LeaderboardChainedEvent = { ClaimGraceHours?: null | number; Order?: null | number; DurationSec?: null | number; ChainedEventID?: null | string; } & Record<string, unknown>;
|
|
588
|
+
/**
|
|
589
|
+
* Container of preset wiring for a leaderboard — one PresetBinding per block. Inline data
|
|
590
|
+
* (RankRewards/Milestones) lives on LeaderboardDefinition. null = presets unused.
|
|
591
|
+
*/
|
|
592
|
+
interface LeaderboardPresetBindings {
|
|
593
|
+
Milestones?: PresetBinding | null;
|
|
594
|
+
RankRewards?: PresetBinding | null;
|
|
595
|
+
}
|
|
596
|
+
/** One title leaderboard: schedule, gate, brackets, rank rewards, milestones, score sources. */
|
|
597
|
+
interface LeaderboardDefinition {
|
|
598
|
+
LeaderboardID: string;
|
|
599
|
+
DisplayName?: string | null;
|
|
600
|
+
ScoreDisplayName?: string | null;
|
|
601
|
+
AssetPaths?: Record<string, string> | null;
|
|
602
|
+
IsEnabled?: boolean | null;
|
|
603
|
+
ScoreAggregation?: string | null;
|
|
604
|
+
Schedule?: ScheduleSpec | null;
|
|
605
|
+
ChainEvents?: LeaderboardChainedEvent[] | null;
|
|
606
|
+
Gate?: SegmentGate | null;
|
|
607
|
+
TopUsersLimit?: number | null;
|
|
608
|
+
MinScoreToEnterTop?: number | null;
|
|
609
|
+
BracketSize?: number | null;
|
|
610
|
+
LinkedSeasonChainID?: string | null;
|
|
611
|
+
RankRewards?: LeaderboardRankReward[] | null;
|
|
612
|
+
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
613
|
+
/** Container of leaderboard preset wiring (milestones / rank ladder). null = presets unused. */
|
|
614
|
+
Presets?: LeaderboardPresetBindings | null;
|
|
615
|
+
MilestoneClaimMode?: string | null;
|
|
616
|
+
MilestoneClaimGraceHours?: number | null;
|
|
617
|
+
ScoreSources?: TriggerSource[] | null;
|
|
618
|
+
}
|
|
619
|
+
/** Container of leaderboard preset registries. Each field is a dictionary keyed by PresetID. */
|
|
620
|
+
interface LeaderboardPresetRegistry {
|
|
621
|
+
Milestones?: Record<string, MilestoneSet> | null;
|
|
622
|
+
RankRewards?: Record<string, RankRewardSet> | null;
|
|
623
|
+
}
|
|
624
|
+
/** The title's leaderboard catalog (config), returned by getLeaderboardDefinitions(). */
|
|
625
|
+
interface LeaderboardDefinitions {
|
|
626
|
+
Definitions?: Record<string, LeaderboardDefinition> | null;
|
|
627
|
+
/** Registry of reusable leaderboard presets (milestones / rank ladders). null = unused. */
|
|
628
|
+
Presets?: LeaderboardPresetRegistry | null;
|
|
629
|
+
}
|
|
630
|
+
/** One (leaderboard, milestone) pair for a batch milestone claim. */
|
|
631
|
+
interface LeaderboardMilestoneRef {
|
|
632
|
+
LeaderboardID?: string;
|
|
633
|
+
MilestoneID?: string;
|
|
634
|
+
}
|
|
635
|
+
/** One (leaderboard, score) pair for a batch score submit. */
|
|
636
|
+
interface LeaderboardScoreRef {
|
|
637
|
+
LeaderboardID?: string;
|
|
638
|
+
Score?: number;
|
|
639
|
+
}
|
|
640
|
+
interface LeaderboardRequest extends BaseRequest {
|
|
641
|
+
LeaderboardID?: string;
|
|
642
|
+
Score?: number;
|
|
643
|
+
MilestoneID?: string;
|
|
644
|
+
CycleIndex?: number;
|
|
645
|
+
ChainedEventID?: string;
|
|
646
|
+
/** *Batch actions: leaderboards to operate on (deduped, clamped to MaxBatchSize). */
|
|
647
|
+
LeaderboardIDs?: string[];
|
|
648
|
+
/** ClaimMilestonesBatch: explicit (leaderboard, milestone) pairs. */
|
|
649
|
+
Milestones?: LeaderboardMilestoneRef[];
|
|
650
|
+
/** SubmitScoresBatch: (leaderboard, score) pairs. */
|
|
651
|
+
Scores?: LeaderboardScoreRef[];
|
|
652
|
+
SourceType?: string;
|
|
653
|
+
Outcome?: string;
|
|
654
|
+
Params?: Record<string, string>;
|
|
655
|
+
RollMultiplier?: number;
|
|
656
|
+
}
|
|
657
|
+
declare const LeaderboardAction: {
|
|
658
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
659
|
+
readonly GetLeaderboard: "GetLeaderboard";
|
|
660
|
+
readonly GetMyProgress: "GetMyProgress";
|
|
661
|
+
readonly SubmitScore: "SubmitScore";
|
|
662
|
+
readonly SubmitScoreFromSource: "SubmitScoreFromSource";
|
|
663
|
+
readonly ClaimCycleReward: "ClaimCycleReward";
|
|
664
|
+
readonly ClaimMilestone: "ClaimMilestone";
|
|
665
|
+
readonly GetFriendsLeaderboard: "GetFriendsLeaderboard";
|
|
666
|
+
readonly GetLeaderboardsBatch: "GetLeaderboardsBatch";
|
|
667
|
+
readonly GetProgressBatch: "GetProgressBatch";
|
|
668
|
+
readonly ClaimCycleRewardsBatch: "ClaimCycleRewardsBatch";
|
|
669
|
+
readonly ClaimMilestonesBatch: "ClaimMilestonesBatch";
|
|
670
|
+
readonly SubmitScoresBatch: "SubmitScoresBatch";
|
|
671
|
+
readonly ClaimAllRewardsBatch: "ClaimAllRewardsBatch";
|
|
672
|
+
readonly GetOverviewBatch: "GetOverviewBatch";
|
|
673
|
+
};
|
|
674
|
+
type LeaderboardAction = (typeof LeaderboardAction)[keyof typeof LeaderboardAction];
|
|
675
|
+
|
|
676
|
+
interface UserSeasonState {
|
|
677
|
+
SeasonChainID?: string;
|
|
678
|
+
CurrentSeasonID?: string;
|
|
679
|
+
SeasonVersion?: number;
|
|
680
|
+
CurrentTier?: number;
|
|
681
|
+
ClaimedTierRewards?: number[];
|
|
682
|
+
SeasonStartedAtUtc?: string;
|
|
683
|
+
}
|
|
684
|
+
interface UserSeasonsState {
|
|
685
|
+
States?: Record<string, UserSeasonState>;
|
|
686
|
+
}
|
|
687
|
+
type UserSeasonStateResponse = UserSeasonState;
|
|
688
|
+
type ActiveSeasonInfo = { SeasonChainID: string; Season?: null | { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Tiers?: null | Array<{ DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Tier?: null | number; RequiredTokens?: null | number; TierReachedReward?: null | ResourceGrant; } & Record<string, unknown>>; Order?: null | number; DurationSec?: null | number; SeasonID?: null | string; LinkedCollectionID?: null | string; CustomParams?: null | Record<string, string>; } & Record<string, unknown>; CycleIndex?: null | number; ComputedStartUtc?: null | string; ComputedEndUtc?: null | string; SecondsRemaining?: null | number; UserState?: null | UserSeasonState; NextTier?: null | { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Tier?: null | number; RequiredTokens?: null | number; TierReachedReward?: null | ResourceGrant; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
689
|
+
type GrantStatusTokensResponse = { SeasonChainID: string; NewTier: number; CurrentSeasonID?: null | string; AmountGranted?: null | number; NewStatusTokens?: null | number; OldTier?: null | number; TierUp?: null | boolean; };
|
|
690
|
+
type ClaimTierRewardResponse = { SeasonChainID: string; TierNumber: number; Resources?: null | ResourceOperation; CurrentSeasonID?: null | string; };
|
|
691
|
+
type SeasonChainDefinition = { DisplayName?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; SeasonChainID?: null | string; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; Seasons?: null | Array<{ DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Tiers?: null | Array<{ DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Tier?: null | number; RequiredTokens?: null | number; TierReachedReward?: null | ResourceGrant; } & Record<string, unknown>>; Order?: null | number; DurationSec?: null | number; SeasonID?: null | string; LinkedCollectionID?: null | string; CustomParams?: null | Record<string, string>; } & Record<string, unknown>>; GrantTokensAccessMode?: null | string; } & Record<string, unknown>;
|
|
692
|
+
/** Root configuration of the title's season system, returned by getDefinitions(). */
|
|
693
|
+
interface SeasonDefinitions {
|
|
694
|
+
Chains?: Record<string, SeasonChainDefinition> | null;
|
|
695
|
+
}
|
|
696
|
+
interface SeasonRequest extends BaseRequest {
|
|
697
|
+
SeasonChainID?: string;
|
|
698
|
+
Amount?: number;
|
|
699
|
+
TierNumber?: number;
|
|
700
|
+
}
|
|
701
|
+
declare const SeasonAction: {
|
|
702
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
703
|
+
readonly GetActiveSeason: "GetActiveSeason";
|
|
704
|
+
readonly GetUserState: "GetUserState";
|
|
705
|
+
readonly GrantStatusTokens: "GrantStatusTokens";
|
|
706
|
+
readonly ClaimTierReward: "ClaimTierReward";
|
|
707
|
+
};
|
|
708
|
+
type SeasonAction = (typeof SeasonAction)[keyof typeof SeasonAction];
|
|
709
|
+
|
|
710
|
+
declare const StoreType: {
|
|
711
|
+
readonly Apple: "Apple";
|
|
712
|
+
readonly Google: "Google";
|
|
713
|
+
};
|
|
714
|
+
type StoreType = (typeof StoreType)[keyof typeof StoreType];
|
|
715
|
+
interface PremiumSubscription {
|
|
716
|
+
PremiumID?: string;
|
|
717
|
+
PurchaseDate?: string;
|
|
718
|
+
ExpirationDate?: string;
|
|
719
|
+
TransactionID?: string;
|
|
720
|
+
IsAutoRenewEnabled?: boolean;
|
|
721
|
+
}
|
|
722
|
+
interface UserPremiumState {
|
|
723
|
+
Subscriptions?: Record<string, PremiumSubscription>;
|
|
724
|
+
ActivatedTrialIDs?: string[];
|
|
725
|
+
MaxActiveTier?: number;
|
|
726
|
+
}
|
|
727
|
+
type PremiumDefinition = { DisplayName?: null | string; PriceOptions?: null | Record<string, { Name?: null | string; RequiredResources?: null | ResourceConsume; OptionID?: null | string; } & Record<string, unknown>>; Tier?: null | number; PremiumID?: null | string; DurationDays?: null | number; TrialDurationDays?: null | number; AppleProductID?: null | string; GoogleProductID?: null | string; Benefits?: null | Record<string, string>; } & Record<string, unknown>;
|
|
728
|
+
interface PremiumDefinitions {
|
|
729
|
+
Definitions?: Record<string, PremiumDefinition> | null;
|
|
730
|
+
}
|
|
731
|
+
type PremiumDefinitionsResponse = { Premium?: null | PremiumDefinitions; };
|
|
732
|
+
type PremiumStateResponse = { ServerTimeUtc?: null | string; Premium?: null | UserPremiumState; };
|
|
733
|
+
type PremiumPurchaseResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; Premium?: null | UserPremiumState; Subscription?: null | { PremiumID?: null | string; PurchaseDate?: null | string; ExpirationDate?: null | string; TransactionID?: null | string; IsAutoRenewEnabled?: null | boolean; } & Record<string, unknown>; };
|
|
734
|
+
interface PremiumRequest extends BaseRequest {
|
|
735
|
+
PremiumID?: string;
|
|
736
|
+
Count?: number;
|
|
737
|
+
SelectedOptionID?: string;
|
|
738
|
+
TransactionID?: string;
|
|
739
|
+
Store?: StoreType;
|
|
740
|
+
ProductID?: string;
|
|
741
|
+
ReceiptData?: string;
|
|
742
|
+
PurchaseToken?: string;
|
|
743
|
+
PackageName?: string;
|
|
744
|
+
AppStoreEnvironment?: string;
|
|
745
|
+
}
|
|
746
|
+
declare const PremiumAction: {
|
|
747
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
748
|
+
readonly GetUserState: "GetUserState";
|
|
749
|
+
readonly ActivateTrial: "ActivateTrial";
|
|
750
|
+
readonly PurchaseWithResources: "PurchaseWithResources";
|
|
751
|
+
readonly PurchaseRealMoney: "PurchaseRealMoney";
|
|
752
|
+
};
|
|
753
|
+
type PremiumAction = (typeof PremiumAction)[keyof typeof PremiumAction];
|
|
754
|
+
type EquippedItem = { CatalogID?: null | string; ItemID?: null | string; ItemInstanceID?: null | string; EquippedAt?: null | string; };
|
|
755
|
+
type CharacterModel = { CharacterID: string; UpdatedAt?: null | string; Level?: null | number; Power?: null | number; Experience?: null | number; StatLevels?: null | Record<string, number>; Equipment?: null | Record<string, EquippedItem>; } & Record<string, unknown>;
|
|
756
|
+
interface UserCharactersState {
|
|
757
|
+
Characters?: Record<string, CharacterModel>;
|
|
758
|
+
}
|
|
759
|
+
/** Target slot reference set on an unstackable item instance when equipped. */
|
|
760
|
+
interface EquipmentSlot {
|
|
761
|
+
CharacterID?: string;
|
|
762
|
+
SlotID?: string;
|
|
763
|
+
}
|
|
764
|
+
type InventoryDelta = { ChangedInstances?: null | Record<string, UnstackableItemInstanceState>; RemovedInstanceIDs?: null | Array<string>; };
|
|
765
|
+
type GetCharactersResponse = { Characters?: null | Record<string, { CharacterID: string; UpdatedAt?: null | string; Level?: null | number; Power?: null | number; Experience?: null | number; StatLevels?: null | Record<string, number>; Equipment?: null | Record<string, EquippedItem>; } & Record<string, unknown>>; };
|
|
766
|
+
type UpgradeStatLevelResponse = { ServerTimeUtc: string; CharacterID: string; StatID: string; StatLevel: number; Resources?: null | ResourceOperation; Power?: null | number; };
|
|
767
|
+
type UpgradeCharacterLevelResponse = { ServerTimeUtc: string; CharacterID: string; NewLevel: number; Resources?: null | ResourceOperation; Power?: null | number; };
|
|
768
|
+
type EquipItemsResponse = { ServerTimeUtc: string; CharacterID: string; Power?: null | number; Equipment?: null | Record<string, EquippedItem>; ReplacedInstanceIDs?: null | Array<string>; Inventory?: null | InventoryDelta; };
|
|
769
|
+
type UnequipItemsResponse = { ServerTimeUtc: string; CharacterID: string; Power?: null | number; Inventory?: null | InventoryDelta; ClearedSlotIDs?: null | Array<string>; };
|
|
770
|
+
type CharacterUnequipResult = { Power?: null | number; ClearedSlotIDs?: null | Array<string>; };
|
|
771
|
+
type UnequipAllCharactersResponse = { ServerTimeUtc: string; Characters?: null | Record<string, CharacterUnequipResult>; Inventory?: null | InventoryDelta; };
|
|
772
|
+
type UnlockCharacterResponse = { ServerTimeUtc: string; CharacterID: string; Resources?: null | ResourceOperation; Power?: null | number; };
|
|
773
|
+
type UnlockCharactersBatchResponse = { ServerTimeUtc: string; Items: Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | UnlockCharacterResponse; }>; Resources?: null | ResourceOperation; };
|
|
774
|
+
type UpgradeCharacterLevelsBatchResponse = { ServerTimeUtc: string; Items: Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | UpgradeCharacterLevelResponse; }>; Resources?: null | ResourceOperation; };
|
|
775
|
+
type UpgradeStatLevelsBatchResponse = { ServerTimeUtc: string; Items: Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | UpgradeStatLevelResponse; }>; Resources?: null | ResourceOperation; };
|
|
776
|
+
type StatRequirement = { RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>;
|
|
777
|
+
type StatDefinition = { StatID: string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; MaxLevel?: null | number; Description?: null | string; Weight?: null | number; Requirements?: null | Array<{ RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>>; BaseCostResource?: null | ResourceConsume; CostScalingFactor?: null | number; TypeID?: null | string; BaseStatValue?: null | number; StatScalingFactor?: null | number; CharacterLevelScalingFactor?: null | number; } & Record<string, unknown>;
|
|
778
|
+
type CharacterLevelDefinition = { AssetPaths?: null | Record<string, string>; Level?: null | number; UpgradeCost?: null | ResourceConsume; GlobalStatMultiplier?: null | number; StatMaxLevelMultiplier?: null | number; } & Record<string, unknown>;
|
|
779
|
+
type CharacterEquipmentSlot = { SlotID: string; MinCharacterLevel?: null | number; StatRequirements?: null | Array<{ RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>>; AllowedRarityIDs?: null | Array<string>; AllowedItemTags?: null | Array<string>; MinItemLevel?: null | number; MaxItemLevel?: null | number; } & Record<string, unknown>;
|
|
780
|
+
type CharacterEquipment = { Slots?: null | Record<string, { SlotID: string; MinCharacterLevel?: null | number; StatRequirements?: null | Array<{ RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>>; AllowedRarityIDs?: null | Array<string>; AllowedItemTags?: null | Array<string>; MinItemLevel?: null | number; MaxItemLevel?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
781
|
+
type CharacterIdentity = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; SortOrder?: null | number; Lore?: null | string; } & Record<string, unknown>;
|
|
782
|
+
type CharacterClassification = { Tags?: null | Array<string>; RarityID?: null | string; ClassID?: null | string; } & Record<string, unknown>;
|
|
783
|
+
type CharacterUnlock = { Cost?: null | ResourceConsume; UnlockedByDefault?: null | boolean; } & Record<string, unknown>;
|
|
784
|
+
type CharacterDefinition = { CharacterID: string; Presets?: null | { Equipment?: null | { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>; Stats?: null | { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>; Levels?: null | { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Equipment?: null | { Slots?: null | Record<string, { SlotID: string; MinCharacterLevel?: null | number; StatRequirements?: null | Array<{ RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>>; AllowedRarityIDs?: null | Array<string>; AllowedItemTags?: null | Array<string>; MinItemLevel?: null | number; MaxItemLevel?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; Stats?: null | Record<string, { StatID: string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; MaxLevel?: null | number; Description?: null | string; Weight?: null | number; Requirements?: null | Array<{ RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>>; BaseCostResource?: null | ResourceConsume; CostScalingFactor?: null | number; TypeID?: null | string; BaseStatValue?: null | number; StatScalingFactor?: null | number; CharacterLevelScalingFactor?: null | number; } & Record<string, unknown>>; Levels?: null | Record<string, { AssetPaths?: null | Record<string, string>; Level?: null | number; UpgradeCost?: null | ResourceConsume; GlobalStatMultiplier?: null | number; StatMaxLevelMultiplier?: null | number; } & Record<string, unknown>>; Identity?: null | { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; SortOrder?: null | number; Lore?: null | string; } & Record<string, unknown>; Classification?: null | { Tags?: null | Array<string>; RarityID?: null | string; ClassID?: null | string; } & Record<string, unknown>; Unlock?: null | { Cost?: null | ResourceConsume; UnlockedByDefault?: null | boolean; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
785
|
+
type StatsPreset = { Stats?: null | Record<string, { StatID: string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; MaxLevel?: null | number; Description?: null | string; Weight?: null | number; Requirements?: null | Array<{ RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>>; BaseCostResource?: null | ResourceConsume; CostScalingFactor?: null | number; TypeID?: null | string; BaseStatValue?: null | number; StatScalingFactor?: null | number; CharacterLevelScalingFactor?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
786
|
+
type LevelsPreset = { Levels?: null | Record<string, { AssetPaths?: null | Record<string, string>; Level?: null | number; UpgradeCost?: null | ResourceConsume; GlobalStatMultiplier?: null | number; StatMaxLevelMultiplier?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
787
|
+
type EquipmentPreset = { Equipment?: null | { Slots?: null | Record<string, { SlotID: string; MinCharacterLevel?: null | number; StatRequirements?: null | Array<{ RequiredStatID: string; RequiredLevel: number; } & Record<string, unknown>>; AllowedRarityIDs?: null | Array<string>; AllowedItemTags?: null | Array<string>; MinItemLevel?: null | number; MaxItemLevel?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
788
|
+
/**
|
|
789
|
+
* Registry of shared (reusable) character setting sets (stats / levels / equipment).
|
|
790
|
+
* Characters reference them via CharacterDefinition.Presets. All blocks merge with inline by
|
|
791
|
+
* key: Stats by StatID, Levels by level key, Equipment by SlotID inside Slots.
|
|
792
|
+
*/
|
|
793
|
+
interface CharacterPresetRegistry {
|
|
794
|
+
Stats?: Record<string, StatsPreset> | null;
|
|
795
|
+
Levels?: Record<string, LevelsPreset> | null;
|
|
796
|
+
Equipment?: Record<string, EquipmentPreset> | null;
|
|
797
|
+
}
|
|
798
|
+
/** The title's character catalog (config), returned by getCharacterDefinitions(). */
|
|
799
|
+
interface CharacterDefinitions {
|
|
800
|
+
Definitions?: Record<string, CharacterDefinition> | null;
|
|
801
|
+
Presets?: CharacterPresetRegistry | null;
|
|
802
|
+
}
|
|
803
|
+
interface EquipSlotPair {
|
|
804
|
+
SlotID?: string;
|
|
805
|
+
ItemInstanceID?: string;
|
|
806
|
+
ItemID?: string;
|
|
807
|
+
CatalogID?: string;
|
|
808
|
+
}
|
|
809
|
+
/** One character's level upgrade in a batch (with optional multi-level Levels/TargetLevel). */
|
|
810
|
+
interface CharacterLevelRef {
|
|
811
|
+
CharacterID?: string;
|
|
812
|
+
/** How many levels to raise at once (default 1). Ignored when TargetLevel is set. */
|
|
813
|
+
Levels?: number;
|
|
814
|
+
/** Absolute target level (takes priority over Levels; clamped to the max). */
|
|
815
|
+
TargetLevel?: number;
|
|
816
|
+
}
|
|
817
|
+
/** One stat upgrade in a batch (with optional multi-level Levels/TargetLevel). */
|
|
818
|
+
interface CharacterStatRef {
|
|
819
|
+
CharacterID?: string;
|
|
820
|
+
StatID?: string;
|
|
821
|
+
Levels?: number;
|
|
822
|
+
TargetLevel?: number;
|
|
823
|
+
}
|
|
824
|
+
interface CharacterRequest extends BaseRequest {
|
|
825
|
+
CharacterID?: string;
|
|
826
|
+
StatID?: string;
|
|
827
|
+
ItemsToEquip?: EquipSlotPair[];
|
|
828
|
+
UnequipSlotIDs?: string[];
|
|
829
|
+
Levels?: number;
|
|
830
|
+
TargetLevel?: number;
|
|
831
|
+
/** UnlockCharactersBatch: character ids to unlock (deduped, clamped to 50 server-side). */
|
|
832
|
+
UnlockCharacterIDs?: string[];
|
|
833
|
+
/** UpgradeCharacterLevelsBatch: per-character level upgrades (deduped by CharacterID). */
|
|
834
|
+
LevelUpgrades?: CharacterLevelRef[];
|
|
835
|
+
/** UpgradeStatLevelsBatch: per-stat upgrades (deduped by CharacterID+StatID). */
|
|
836
|
+
StatUpgrades?: CharacterStatRef[];
|
|
837
|
+
}
|
|
838
|
+
declare const CharacterAction: {
|
|
839
|
+
readonly GetCharacterDefinitions: "GetCharacterDefinitions";
|
|
840
|
+
readonly GetUserCharacters: "GetUserCharacters";
|
|
841
|
+
readonly UnlockCharacter: "UnlockCharacter";
|
|
842
|
+
readonly UpgradeStatLevel: "UpgradeStatLevel";
|
|
843
|
+
readonly UpgradeCharacterLevel: "UpgradeCharacterLevel";
|
|
844
|
+
readonly EquipItems: "EquipItems";
|
|
845
|
+
readonly UnequipItems: "UnequipItems";
|
|
846
|
+
readonly UnequipAllCharacters: "UnequipAllCharacters";
|
|
847
|
+
readonly UnlockCharactersBatch: "UnlockCharactersBatch";
|
|
848
|
+
readonly UpgradeCharacterLevelsBatch: "UpgradeCharacterLevelsBatch";
|
|
849
|
+
readonly UpgradeStatLevelsBatch: "UpgradeStatLevelsBatch";
|
|
850
|
+
};
|
|
851
|
+
type CharacterAction = (typeof CharacterAction)[keyof typeof CharacterAction];
|
|
852
|
+
|
|
853
|
+
declare const BodyPart: {
|
|
854
|
+
readonly Head: "Head";
|
|
855
|
+
readonly Torso: "Torso";
|
|
856
|
+
readonly Legs: "Legs";
|
|
857
|
+
};
|
|
858
|
+
type BodyPart = (typeof BodyPart)[keyof typeof BodyPart];
|
|
859
|
+
declare const MatchStatus: {
|
|
860
|
+
readonly Open: "Open";
|
|
861
|
+
readonly InProgress: "InProgress";
|
|
862
|
+
readonly Cancelled: "Cancelled";
|
|
863
|
+
readonly Completed: "Completed";
|
|
864
|
+
};
|
|
865
|
+
type MatchStatus = (typeof MatchStatus)[keyof typeof MatchStatus];
|
|
866
|
+
type BattleStepConfig = { AttackTarget: 'Head' | 'Torso' | 'Legs'; DefenseTarget: 'Head' | 'Torso' | 'Legs'; };
|
|
867
|
+
/** Rate-limit counters for CreateMatch (cooldown + daily cap from MatchCreationSettings.Limits). */
|
|
868
|
+
interface UserMatchCreationLimitState {
|
|
869
|
+
LastCreatedAt?: string;
|
|
870
|
+
DailyCreations?: number;
|
|
871
|
+
DailyResetUtc?: string;
|
|
872
|
+
}
|
|
873
|
+
interface UserMatchState {
|
|
874
|
+
PvPBattleStrategy?: BattleStepConfig[];
|
|
875
|
+
CreationLimits?: UserMatchCreationLimitState | null;
|
|
876
|
+
}
|
|
877
|
+
type BattleResult = { WinnerUserID?: null | string; LoserUserID?: null | string; Entry?: null | ResourceBundle; NetReward?: null | ResourceBundle; BattleLog?: null | Array<{ RoundIndex?: null | number; AttackerID?: null | string; DefenderID?: null | string; AttackZone?: null | 'Head' | 'Torso' | 'Legs'; DefenseZone?: null | 'Head' | 'Torso' | 'Legs'; HitType?: null | 'Hit' | 'Critical' | 'Block' | 'Dodge'; DamageDealt?: null | number; DefenderHpRemaining?: null | number; } & Record<string, unknown>>; IsDraw?: null | boolean; P1BattleProfile?: null | { UserID?: null | string; SelectedCharacterID?: null | string; SelectedCharacter?: null | { CharacterID: string; UpdatedAt?: null | string; Level?: null | number; Power?: null | number; Experience?: null | number; StatLevels?: null | Record<string, number>; Equipment?: null | Record<string, EquippedItem>; } & Record<string, unknown>; BattleStrategy?: null | Array<BattleStepConfig>; UnstackableItems?: null | Record<string, UnstackableItemInstanceState>; Stats?: null | { MaxHp?: null | number; CurrentHp?: null | number; Damage?: null | number; AttackSpeed?: null | number; CritChance?: null | number; CritMultiplier?: null | number; Armor?: null | number; DodgeChance?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; P2BattleProfile?: null | { UserID?: null | string; SelectedCharacterID?: null | string; SelectedCharacter?: null | { CharacterID: string; UpdatedAt?: null | string; Level?: null | number; Power?: null | number; Experience?: null | number; StatLevels?: null | Record<string, number>; Equipment?: null | Record<string, EquippedItem>; } & Record<string, unknown>; BattleStrategy?: null | Array<BattleStepConfig>; UnstackableItems?: null | Record<string, UnstackableItemInstanceState>; Stats?: null | { MaxHp?: null | number; CurrentHp?: null | number; Damage?: null | number; AttackSpeed?: null | number; CritChance?: null | number; CritMultiplier?: null | number; Armor?: null | number; DodgeChance?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
878
|
+
type PvPMatch = { MatchID: string; CreatedAt?: null | string; Status?: null | 'Completed' | 'Open' | 'InProgress' | 'Cancelled'; RuleID?: null | string; WinnerUserID?: null | string; Entry?: null | ResourceBundle; TitleID?: null | string; CreatorID?: null | string; CreatorCharacterID?: null | string; CreatorStrategy?: null | Array<BattleStepConfig>; TargetUserID?: null | string; CreationCostPaid?: null | ResourceBundle; RefundCreationCostOnCancel?: null | boolean; JoinedByUserID?: null | string; JoinedByCharacterID?: null | string; JoinedAt?: null | string; CompletedAt?: null | string; IsRewardDistributed?: null | boolean; RewardDistributedAt?: null | string; } & Record<string, unknown>;
|
|
879
|
+
type CreateMatchResponse = { Status: 'Completed' | 'Open' | 'InProgress' | 'Cancelled'; MatchID: string; Resources?: null | ResourceOperation; Entry?: null | ResourceBundle; };
|
|
880
|
+
type UpdateMatchResponse = { Match?: null | { MatchID: string; CreatedAt?: null | string; Status?: null | 'Completed' | 'Open' | 'InProgress' | 'Cancelled'; RuleID?: null | string; WinnerUserID?: null | string; Entry?: null | ResourceBundle; TitleID?: null | string; CreatorID?: null | string; CreatorCharacterID?: null | string; CreatorStrategy?: null | Array<BattleStepConfig>; TargetUserID?: null | string; CreationCostPaid?: null | ResourceBundle; RefundCreationCostOnCancel?: null | boolean; JoinedByUserID?: null | string; JoinedByCharacterID?: null | string; JoinedAt?: null | string; CompletedAt?: null | string; IsRewardDistributed?: null | boolean; RewardDistributedAt?: null | string; } & Record<string, unknown>; };
|
|
881
|
+
type CancelMatchResponse = { Status: 'Completed' | 'Open' | 'InProgress' | 'Cancelled'; MatchID: string; Resources?: null | ResourceOperation; };
|
|
882
|
+
type InstantBattleResponse = { Resources?: null | ResourceOperation; Battle?: null | { WinnerUserID?: null | string; LoserUserID?: null | string; Entry?: null | ResourceBundle; NetReward?: null | ResourceBundle; BattleLog?: null | Array<{ RoundIndex?: null | number; AttackerID?: null | string; DefenderID?: null | string; AttackZone?: null | 'Head' | 'Torso' | 'Legs'; DefenseZone?: null | 'Head' | 'Torso' | 'Legs'; HitType?: null | 'Hit' | 'Critical' | 'Block' | 'Dodge'; DamageDealt?: null | number; DefenderHpRemaining?: null | number; } & Record<string, unknown>>; IsDraw?: null | boolean; P1BattleProfile?: null | { UserID?: null | string; SelectedCharacterID?: null | string; SelectedCharacter?: null | { CharacterID: string; UpdatedAt?: null | string; Level?: null | number; Power?: null | number; Experience?: null | number; StatLevels?: null | Record<string, number>; Equipment?: null | Record<string, EquippedItem>; } & Record<string, unknown>; BattleStrategy?: null | Array<BattleStepConfig>; UnstackableItems?: null | Record<string, UnstackableItemInstanceState>; Stats?: null | { MaxHp?: null | number; CurrentHp?: null | number; Damage?: null | number; AttackSpeed?: null | number; CritChance?: null | number; CritMultiplier?: null | number; Armor?: null | number; DodgeChance?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; P2BattleProfile?: null | { UserID?: null | string; SelectedCharacterID?: null | string; SelectedCharacter?: null | { CharacterID: string; UpdatedAt?: null | string; Level?: null | number; Power?: null | number; Experience?: null | number; StatLevels?: null | Record<string, number>; Equipment?: null | Record<string, EquippedItem>; } & Record<string, unknown>; BattleStrategy?: null | Array<BattleStepConfig>; UnstackableItems?: null | Record<string, UnstackableItemInstanceState>; Stats?: null | { MaxHp?: null | number; CurrentHp?: null | number; Damage?: null | number; AttackSpeed?: null | number; CritChance?: null | number; CritMultiplier?: null | number; Armor?: null | number; DodgeChance?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; } & Record<string, unknown>; ResourcesDual?: null | ResourceDualPartyResult; };
|
|
883
|
+
type MatchesPageResponse = { Matches?: null | Array<{ MatchID: string; CreatedAt?: null | string; Status?: null | 'Completed' | 'Open' | 'InProgress' | 'Cancelled'; RuleID?: null | string; WinnerUserID?: null | string; Entry?: null | ResourceBundle; TitleID?: null | string; CreatorID?: null | string; CreatorCharacterID?: null | string; CreatorStrategy?: null | Array<BattleStepConfig>; TargetUserID?: null | string; CreationCostPaid?: null | ResourceBundle; RefundCreationCostOnCancel?: null | boolean; JoinedByUserID?: null | string; JoinedByCharacterID?: null | string; JoinedAt?: null | string; CompletedAt?: null | string; IsRewardDistributed?: null | boolean; RewardDistributedAt?: null | string; } & Record<string, unknown>>; Page?: null | number; PageSize?: null | number; HasMore?: null | boolean; };
|
|
884
|
+
interface MatchRequest extends BaseRequest {
|
|
885
|
+
MatchID?: string;
|
|
886
|
+
TargetUserID?: string;
|
|
887
|
+
/** Entry stake for one side (currencies / stackable items / event tokens). */
|
|
888
|
+
Entry?: ResourceBundle;
|
|
889
|
+
BattleStrategy?: BattleStepConfig[];
|
|
890
|
+
CharacterID?: string;
|
|
891
|
+
RuleID?: string;
|
|
892
|
+
/** UpdateMatch: reset privacy (make public, TargetUserID = null). Takes priority over TargetUserID. */
|
|
893
|
+
ClearTargetUser?: boolean;
|
|
894
|
+
Page?: number;
|
|
895
|
+
PageSize?: number;
|
|
896
|
+
Statuses?: string[];
|
|
897
|
+
OnlyPublic?: boolean;
|
|
898
|
+
}
|
|
899
|
+
declare const MatchAction: {
|
|
900
|
+
readonly CreateMatch: "CreateMatch";
|
|
901
|
+
readonly UpdateMatch: "UpdateMatch";
|
|
902
|
+
readonly CancelMatch: "CancelMatch";
|
|
903
|
+
readonly InstantBattle: "InstantBattle";
|
|
904
|
+
readonly SaveStrategy: "SaveStrategy";
|
|
905
|
+
readonly GetMyMatches: "GetMyMatches";
|
|
906
|
+
readonly GetAvailableMatches: "GetAvailableMatches";
|
|
907
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
908
|
+
};
|
|
909
|
+
type MatchAction = (typeof MatchAction)[keyof typeof MatchAction];
|
|
910
|
+
type InstantBattleSettings = { StatMapping?: null | { HealthStatID?: null | string; DamageStatID?: null | string; ArmorStatID?: null | string; AttackSpeedStatID?: null | string; CritChanceStatID?: null | string; CritDamageStatID?: null | string; DodgeStatID?: null | string; AllMightStatID?: null | string; } & Record<string, unknown>; Combat?: null | { MaxRounds?: null | number; BlockDamageMultiplier?: null | number; MinHitDamage?: null | number; DefaultCritMultiplier?: null | number; MaxCritChance?: null | number; MaxDodgeChance?: null | number; } & Record<string, unknown>; Formula?: null | { Dodge?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Source?: null | 'Constant' | 'Stat' | 'RankMultiplier' | 'AllMight' | 'GearFlat' | 'GearPercent'; StatID?: null | string; Value?: null | number; OnePlus?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>; Damage?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Source?: null | 'Constant' | 'Stat' | 'RankMultiplier' | 'AllMight' | 'GearFlat' | 'GearPercent'; StatID?: null | string; Value?: null | number; OnePlus?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>; AttackSpeed?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Source?: null | 'Constant' | 'Stat' | 'RankMultiplier' | 'AllMight' | 'GearFlat' | 'GearPercent'; StatID?: null | string; Value?: null | number; OnePlus?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>; CritChance?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Source?: null | 'Constant' | 'Stat' | 'RankMultiplier' | 'AllMight' | 'GearFlat' | 'GearPercent'; StatID?: null | string; Value?: null | number; OnePlus?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>; Armor?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Source?: null | 'Constant' | 'Stat' | 'RankMultiplier' | 'AllMight' | 'GearFlat' | 'GearPercent'; StatID?: null | string; Value?: null | number; OnePlus?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>; Health?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Source?: null | 'Constant' | 'Stat' | 'RankMultiplier' | 'AllMight' | 'GearFlat' | 'GearPercent'; StatID?: null | string; Value?: null | number; OnePlus?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>; CritDamage?: null | { Terms?: null | Array<{ Coefficient?: null | number; Factors?: null | Array<{ Source?: null | 'Constant' | 'Stat' | 'RankMultiplier' | 'AllMight' | 'GearFlat' | 'GearPercent'; StatID?: null | string; Value?: null | number; OnePlus?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
911
|
+
type MatchEconomySettings = { BurnRate?: null | number; } & Record<string, unknown>;
|
|
912
|
+
type MatchEntrySettings = { AllowVirtualCurrency?: null | boolean; AllowItems?: null | boolean; AllowEventTokens?: null | boolean; Allowed?: null | Array<{ MinAmount?: null | number; MaxAmount?: null | number; CurrencyID?: null | string; CatalogID?: null | string; ItemID?: null | string; EntityID?: null | string; Kind?: null | 'Item' | 'VirtualCurrency' | 'EventToken'; TokenType?: null | 'TimedEvent' | 'Quest' | 'Leaderboard' | 'CoopEvent' | 'Season'; } & Record<string, unknown>>; MaxPositions?: null | number; } & Record<string, unknown>;
|
|
913
|
+
type MatchCreationSettings = { Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Cost?: null | ResourceConsume; RefundCostOnCancel?: null | boolean; MaxOpenMatches?: null | number; AllowPrivateMatches?: null | boolean; MaxMatchesPerOpponentPerDay?: null | number; } & Record<string, unknown>;
|
|
914
|
+
/** One instant-battle rule, keyed by RuleID in InstantBattleDefinitions.Rules. */
|
|
915
|
+
interface InstantBattleRule {
|
|
916
|
+
RuleID?: string | null;
|
|
917
|
+
DisplayName?: string | null;
|
|
918
|
+
Description?: string | null;
|
|
919
|
+
Economy?: MatchEconomySettings | null;
|
|
920
|
+
Entry?: MatchEntrySettings | null;
|
|
921
|
+
Creation?: MatchCreationSettings | null;
|
|
922
|
+
Settings?: InstantBattleSettings | null;
|
|
923
|
+
}
|
|
924
|
+
/** Instant-battle mode config: rule catalog + title-wide defaults. */
|
|
925
|
+
interface InstantBattleDefinitions {
|
|
926
|
+
Rules?: Record<string, InstantBattleRule> | null;
|
|
927
|
+
Defaults?: InstantBattleSettings | null;
|
|
928
|
+
EntryDefaults?: MatchEntrySettings | null;
|
|
929
|
+
CreationDefaults?: MatchCreationSettings | null;
|
|
930
|
+
}
|
|
931
|
+
/**
|
|
932
|
+
* Title PvP (Match) configuration. Grouped by battle mode; InstantBattle is the
|
|
933
|
+
* instant-battle container. Deeply nested — hand-written interface + typed ZodType
|
|
934
|
+
* to avoid TS7056 on the inferred aggregate.
|
|
935
|
+
*/
|
|
936
|
+
interface MatchDefinitions {
|
|
937
|
+
InstantBattle?: InstantBattleDefinitions | null;
|
|
938
|
+
}
|
|
939
|
+
type GetMatchDefinitionsResponse = MatchDefinitions;
|
|
940
|
+
|
|
941
|
+
declare const TradeOfferStatus: {
|
|
942
|
+
readonly Pending: "Pending";
|
|
943
|
+
readonly Accepted: "Accepted";
|
|
944
|
+
readonly Declined: "Declined";
|
|
945
|
+
readonly Cancelled: "Cancelled";
|
|
946
|
+
readonly Expired: "Expired";
|
|
947
|
+
};
|
|
948
|
+
type TradeOfferStatus = (typeof TradeOfferStatus)[keyof typeof TradeOfferStatus];
|
|
949
|
+
interface UserCollectionState {
|
|
950
|
+
CollectionID?: string;
|
|
951
|
+
SeasonVersion?: number;
|
|
952
|
+
CollectionCurrencyBalance?: number;
|
|
953
|
+
TotalCollectionCurrencyEarned?: number;
|
|
954
|
+
OwnedCollectibles?: Record<string, number>;
|
|
955
|
+
OwnedSpecialCollectibles?: Record<string, number>;
|
|
956
|
+
ClaimedSetRewards?: string[];
|
|
957
|
+
IsCollectionCompleted?: boolean;
|
|
958
|
+
GrandPrizeClaimed?: boolean;
|
|
959
|
+
/** Trade offers sent today (rate-limit counter). */
|
|
960
|
+
DailyTradesSent?: number;
|
|
961
|
+
DailyTradesResetDate?: string;
|
|
962
|
+
PendingTradeOfferIDs?: string[];
|
|
963
|
+
/** Pity counters for pack types / collection chests (key = pool ID). */
|
|
964
|
+
PityCounters?: Record<string, UserLootboxPityCounter>;
|
|
965
|
+
[key: string]: unknown;
|
|
966
|
+
}
|
|
967
|
+
type GrantedCollectible = { CollectibleID: string; Rarity?: null | number; IsSpecial?: null | boolean; IsDuplicate?: null | boolean; CollectionCurrencyConverted?: null | number; };
|
|
968
|
+
type OpenPackResponse = { Resources?: null | ResourceOperation; TriggeredPity?: null | Array<unknown>; GrantedCollectibles?: null | Array<GrantedCollectible>; DuplicateCollectibles?: null | Array<GrantedCollectible>; CollectionCurrencyEarned?: null | number; NewCollectionCurrencyBalance?: null | number; NewlyCompletedSetIDs?: null | Array<string>; CollectionJustCompleted?: null | boolean; };
|
|
969
|
+
type OpenCollectionChestResponse = { Resources?: null | ResourceOperation; TriggeredPity?: null | Array<unknown>; GrantedCollectibles?: null | Array<GrantedCollectible>; DuplicateCollectibles?: null | Array<GrantedCollectible>; CollectionCurrencyEarned?: null | number; NewCollectionCurrencyBalance?: null | number; };
|
|
970
|
+
type UseCollectibleJokerResponse = { Resources?: null | ResourceOperation; CollectionJustCompleted?: null | boolean; GrantedCollectibleID?: null | string; NewlyCompletedSetID?: null | string; };
|
|
971
|
+
type ClaimSetRewardResponse = { SetID: string; Resources?: null | ResourceOperation; };
|
|
972
|
+
type ClaimSetRewardsBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | ClaimSetRewardResponse; }>;
|
|
973
|
+
type ClaimGrandPrizeResponse = { Resources?: null | ResourceOperation; };
|
|
974
|
+
type CollectionTradeOfferDocument = { OfferID: string; Status?: null | 'Expired' | 'Cancelled' | 'Pending' | 'Accepted' | 'Declined'; TitleID?: null | string; CollectionID?: null | string; SenderUserID?: null | string; SenderPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; OfferedCollectibleID?: null | string; OfferedCollectibleIsSpecial?: null | boolean; ReceiverUserID?: null | string; RequestedCollectibleID?: null | string; RequestedCollectibleIsSpecial?: null | boolean; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; RespondedAtUtc?: null | string; DeclineReason?: null | string; IsSpecialTradeEvent?: null | boolean; SpecialTradeEventID?: null | string; } & Record<string, unknown>;
|
|
975
|
+
type SendTradeOfferResponse = { OfferID: string; Resources?: null | ResourceOperation; ExpiresAtUtc?: null | string; };
|
|
976
|
+
type CancelTradeOfferResponse = { OfferID: string; Resources?: null | ResourceOperation; };
|
|
977
|
+
type AcceptTradeOfferResponse = { OfferID: string; ReceivedCollectibleID?: null | string; ReceivedIsSpecial?: null | boolean; SentCollectibleID?: null | string; SentCollectibleIsSpecial?: null | boolean; Transfer?: unknown; };
|
|
978
|
+
type DeclineTradeOfferResponse = { OfferID: string; Resources?: null | ResourceOperation; };
|
|
979
|
+
type GetTradeOffersResponse = { Offers?: null | Array<{ OfferID: string; Status?: null | 'Expired' | 'Cancelled' | 'Pending' | 'Accepted' | 'Declined'; TitleID?: null | string; CollectionID?: null | string; SenderUserID?: null | string; SenderPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; OfferedCollectibleID?: null | string; OfferedCollectibleIsSpecial?: null | boolean; ReceiverUserID?: null | string; RequestedCollectibleID?: null | string; RequestedCollectibleIsSpecial?: null | boolean; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; RespondedAtUtc?: null | string; DeclineReason?: null | string; IsSpecialTradeEvent?: null | boolean; SpecialTradeEventID?: null | string; } & Record<string, unknown>>; };
|
|
980
|
+
type CollectionDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; SeasonChainID?: null | string; CollectionID?: null | string; Sets?: null | Array<{ DisplayName?: null | string; AssetPaths?: null | Record<string, string>; SortOrder?: null | number; SetID?: null | string; Collectibles?: null | Array<{ DisplayName?: null | string; AssetPaths?: null | Record<string, string>; SortOrder?: null | number; CollectibleID?: null | string; Rarity?: null | number; HasSpecialVersion?: null | boolean; } & Record<string, unknown>>; SetCompletionReward?: null | ResourceGrant; } & Record<string, unknown>>; GrandPrize?: null | ResourceGrant; } & Record<string, unknown>;
|
|
981
|
+
type CollectionPackTypeDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Cost?: null | ResourceConsume; PityRules?: null | Array<{ Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; RuleID?: null | string; Threshold?: null | number; } & Record<string, unknown>>; Presets?: null | { PityRules?: null | { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>; BonusRewardSlots?: null | { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; BonusRewardSlots?: null | Array<{ SlotID?: null | string; MinRolls?: null | number; MaxRolls?: null | number; Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; } & Record<string, unknown>>; PackTypeID?: null | string; CollectibleCount?: null | number; GuaranteedMinRarity?: null | number; GuaranteeMaxRarity?: null | boolean; RarityWeights?: null | Record<string, number>; ColorTier?: null | number; } & Record<string, unknown>;
|
|
982
|
+
type DuplicateCollectionCurrencyConversion = { Rarity?: null | number; CollectionCurrencyGranted?: null | number; } & Record<string, unknown>;
|
|
983
|
+
type CollectionChestDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; PityRules?: null | Array<{ Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; RuleID?: null | string; Threshold?: null | number; } & Record<string, unknown>>; Presets?: null | { PityRules?: null | { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>; BonusRewardSlots?: null | { PresetID?: null | string; Remove?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Tier?: null | number; BonusRewardSlots?: null | Array<{ SlotID?: null | string; MinRolls?: null | number; MaxRolls?: null | number; Pool?: null | Array<{ Reward?: null | ResourceGrant; Weight?: null | number; AmountRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; } & Record<string, unknown>>; } & Record<string, unknown>>; GuaranteedMinRarity?: null | number; CollectionChestID?: null | string; CollectionCurrencyCost?: null | number; MinCollectibleCount?: null | number; MaxCollectibleCount?: null | number; } & Record<string, unknown>;
|
|
984
|
+
type SpecialTradeEventDefinition = { StartUtc?: null | string; EndUtc?: null | string; SpecialTradeEventID?: null | string; AllowedSpecialCollectibleIDs?: null | Array<string>; SpecialTradeEventDailyTradeLimit?: null | number; } & Record<string, unknown>;
|
|
985
|
+
/** The title's collection-system config (config), returned by getCollectionDefinitions(). */
|
|
986
|
+
interface CollectionDefinitions {
|
|
987
|
+
Collections?: Record<string, CollectionDefinition> | null;
|
|
988
|
+
PackTypes?: Record<string, CollectionPackTypeDefinition> | null;
|
|
989
|
+
CollectionChests?: CollectionChestDefinition[] | null;
|
|
990
|
+
DuplicateConversions?: DuplicateCollectionCurrencyConversion[] | null;
|
|
991
|
+
DailyTradeLimit?: number | null;
|
|
992
|
+
CollectibleJokerCatalogID?: string | null;
|
|
993
|
+
CollectibleJokerItemID?: string | null;
|
|
994
|
+
SpecialTradeEvents?: SpecialTradeEventDefinition[] | null;
|
|
995
|
+
RewardPools?: RewardPoolLibrary | null;
|
|
996
|
+
}
|
|
997
|
+
/** One (collection, set) pair for a batch set-reward claim (deduped by SetID). */
|
|
998
|
+
interface CollectionSetRef {
|
|
999
|
+
CollectionID?: string;
|
|
1000
|
+
SetID?: string;
|
|
1001
|
+
}
|
|
1002
|
+
interface CollectionRequest extends BaseRequest {
|
|
1003
|
+
CollectionID?: string;
|
|
1004
|
+
CollectibleID?: string;
|
|
1005
|
+
PackTypeID?: string;
|
|
1006
|
+
CollectionChestID?: string;
|
|
1007
|
+
SetID?: string;
|
|
1008
|
+
/** ClaimSetRewardsBatch: sets to claim (deduped by SetID). */
|
|
1009
|
+
Sets?: CollectionSetRef[];
|
|
1010
|
+
CollectibleIsSpecial?: boolean;
|
|
1011
|
+
ReceiverUserID?: string;
|
|
1012
|
+
RequestedCollectibleID?: string;
|
|
1013
|
+
RequestedCollectibleIsSpecial?: boolean;
|
|
1014
|
+
OfferID?: string;
|
|
1015
|
+
}
|
|
1016
|
+
declare const CollectionAction: {
|
|
1017
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
1018
|
+
readonly GetUserState: "GetUserState";
|
|
1019
|
+
readonly OpenPack: "OpenPack";
|
|
1020
|
+
readonly OpenCollectionChest: "OpenCollectionChest";
|
|
1021
|
+
readonly UseCollectibleJoker: "UseCollectibleJoker";
|
|
1022
|
+
readonly ClaimSetReward: "ClaimSetReward";
|
|
1023
|
+
readonly ClaimSetRewardsBatch: "ClaimSetRewardsBatch";
|
|
1024
|
+
readonly ClaimGrandPrize: "ClaimGrandPrize";
|
|
1025
|
+
readonly SendTradeOffer: "SendTradeOffer";
|
|
1026
|
+
readonly CancelTradeOffer: "CancelTradeOffer";
|
|
1027
|
+
readonly AcceptTradeOffer: "AcceptTradeOffer";
|
|
1028
|
+
readonly DeclineTradeOffer: "DeclineTradeOffer";
|
|
1029
|
+
readonly GetMyTradeOffers: "GetMyTradeOffers";
|
|
1030
|
+
readonly GetIncomingTradeOffers: "GetIncomingTradeOffers";
|
|
1031
|
+
};
|
|
1032
|
+
type CollectionAction = (typeof CollectionAction)[keyof typeof CollectionAction];
|
|
1033
|
+
|
|
1034
|
+
interface CoopEventHistoryEntry {
|
|
1035
|
+
GroupID?: string;
|
|
1036
|
+
CoopEventID?: string;
|
|
1037
|
+
FinalStatus?: string;
|
|
1038
|
+
GrandPrizeReceived?: boolean;
|
|
1039
|
+
FinishedAtUtc?: string;
|
|
1040
|
+
}
|
|
1041
|
+
interface UserCoopEventState {
|
|
1042
|
+
ActiveGroupID?: string | null;
|
|
1043
|
+
ActiveCoopEventID?: string | null;
|
|
1044
|
+
MyObjectIndex?: number;
|
|
1045
|
+
LastSpinAtUtc?: string;
|
|
1046
|
+
History?: CoopEventHistoryEntry[];
|
|
1047
|
+
[key: string]: unknown;
|
|
1048
|
+
}
|
|
1049
|
+
/** enum CoopGroupStatus — Forming | Active | Completed | Failed | Expired. */
|
|
1050
|
+
declare const CoopGroupStatus: {
|
|
1051
|
+
readonly Forming: "Forming";
|
|
1052
|
+
readonly Active: "Active";
|
|
1053
|
+
readonly Completed: "Completed";
|
|
1054
|
+
readonly Failed: "Failed";
|
|
1055
|
+
readonly Expired: "Expired";
|
|
1056
|
+
};
|
|
1057
|
+
type CoopGroupStatus = (typeof CoopGroupStatus)[keyof typeof CoopGroupStatus];
|
|
1058
|
+
/** enum CoopMemberStatus — Active | Left | Replaced. */
|
|
1059
|
+
declare const CoopMemberStatus: {
|
|
1060
|
+
readonly Active: "Active";
|
|
1061
|
+
readonly Left: "Left";
|
|
1062
|
+
readonly Replaced: "Replaced";
|
|
1063
|
+
};
|
|
1064
|
+
type CoopMemberStatus = (typeof CoopMemberStatus)[keyof typeof CoopMemberStatus];
|
|
1065
|
+
type CoopBuildObjectsMemberState = { ObjectIndex?: null | number; ObjectCompletionRewardClaimed?: null | boolean; } & Record<string, unknown>;
|
|
1066
|
+
type CoopGroupMember = { UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; BuildObjectsProgress?: null | { ObjectIndex?: null | number; ObjectCompletionRewardClaimed?: null | boolean; } & Record<string, unknown>; IsBot?: null | boolean; SpinsCount?: null | number; TokensSpent?: null | number; MemberStatus?: null | string; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; } & Record<string, unknown>;
|
|
1067
|
+
type CoopPartnerObjectState = { Index?: null | number; OwnerUserID?: null | string; CurrentProgress?: null | number; MaxProgress?: null | number; IsCompleted?: null | boolean; } & Record<string, unknown>;
|
|
1068
|
+
type CoopBuildObjectsState = { Objects?: null | Array<{ Index?: null | number; OwnerUserID?: null | string; CurrentProgress?: null | number; MaxProgress?: null | number; IsCompleted?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1069
|
+
type CoopGroupDocument = { Status?: null | string; GroupID?: null | string; CycleIndex?: null | number; TitleID?: null | string; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; CoopChainID?: null | string; CoopEventID?: null | string; Members?: null | Array<{ UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; BuildObjectsProgress?: null | { ObjectIndex?: null | number; ObjectCompletionRewardClaimed?: null | boolean; } & Record<string, unknown>; IsBot?: null | boolean; SpinsCount?: null | number; TokensSpent?: null | number; MemberStatus?: null | string; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; } & Record<string, unknown>>; BuildObjectsState?: null | { Objects?: null | Array<{ Index?: null | number; OwnerUserID?: null | string; CurrentProgress?: null | number; MaxProgress?: null | number; IsCompleted?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>; Version?: null | number; } & Record<string, unknown>;
|
|
1070
|
+
type ActiveCoopEventInfo = { CoopChainID: string; } & Record<string, unknown>;
|
|
1071
|
+
type CoopEventDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Order?: null | number; DurationSec?: null | number; GrandPrize?: null | ResourceGrant; CoopEventID?: null | string; EventType?: null | string; PartnerCount?: null | number; MatchmakingTimeoutMinutes?: null | number; MemberGracePeriodMinutes?: null | number; BuildObjects?: null | { Objects?: null | Array<{ DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Index?: null | number; MaxProgress?: null | number; CompletionReward?: null | ResourceGrant; } & Record<string, unknown>>; SpinCost?: null | ResourceConsume; SpinnerTable?: null | Array<{ DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Weight?: null | number; MaxProgress?: null | number; MinProgress?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1072
|
+
/** A coop event chain: cyclic schedule + ordered events + audience gate. */
|
|
1073
|
+
interface CoopEventChainDefinition {
|
|
1074
|
+
CoopChainID?: string | null;
|
|
1075
|
+
DisplayName?: string | null;
|
|
1076
|
+
Schedule?: ScheduleSpec | null;
|
|
1077
|
+
Events?: CoopEventDefinition[] | null;
|
|
1078
|
+
Gate?: SegmentGate | null;
|
|
1079
|
+
[key: string]: unknown;
|
|
1080
|
+
}
|
|
1081
|
+
type CoopUserStateResponse = { ServerTimeUtc?: null | string; UserState?: null | UserCoopEventState; ActiveGroup?: null | { Status?: null | string; GroupID?: null | string; CycleIndex?: null | number; TitleID?: null | string; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; CoopChainID?: null | string; CoopEventID?: null | string; Members?: null | Array<{ UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; BuildObjectsProgress?: null | { ObjectIndex?: null | number; ObjectCompletionRewardClaimed?: null | boolean; } & Record<string, unknown>; IsBot?: null | boolean; SpinsCount?: null | number; TokensSpent?: null | number; MemberStatus?: null | string; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; } & Record<string, unknown>>; BuildObjectsState?: null | { Objects?: null | Array<{ Index?: null | number; OwnerUserID?: null | string; CurrentProgress?: null | number; MaxProgress?: null | number; IsCompleted?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>; Version?: null | number; } & Record<string, unknown>; };
|
|
1082
|
+
type CoopGroupStateResponse = { ServerTimeUtc?: null | string; SecondsRemaining?: null | number; Group?: null | { Status?: null | string; GroupID?: null | string; CycleIndex?: null | number; TitleID?: null | string; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; CoopChainID?: null | string; CoopEventID?: null | string; Members?: null | Array<{ UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; BuildObjectsProgress?: null | { ObjectIndex?: null | number; ObjectCompletionRewardClaimed?: null | boolean; } & Record<string, unknown>; IsBot?: null | boolean; SpinsCount?: null | number; TokensSpent?: null | number; MemberStatus?: null | string; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; } & Record<string, unknown>>; BuildObjectsState?: null | { Objects?: null | Array<{ Index?: null | number; OwnerUserID?: null | string; CurrentProgress?: null | number; MaxProgress?: null | number; IsCompleted?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>; Version?: null | number; } & Record<string, unknown>; };
|
|
1083
|
+
type CoopSpinResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; GroupID?: null | string; ObjectIndex?: null | number; MaxProgress?: null | number; Sector?: null | { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Weight?: null | number; MaxProgress?: null | number; MinProgress?: null | number; } & Record<string, unknown>; ProgressDelta?: null | number; NewProgress?: null | number; ObjectCompleted?: null | boolean; AllObjectsCompleted?: null | boolean; };
|
|
1084
|
+
type CoopClaimRewardResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; GroupID?: null | string; RewardType?: null | string; };
|
|
1085
|
+
type CoopLeaveGroupResponse = { ServerTimeUtc?: null | string; Success?: null | boolean; GroupID?: null | string; };
|
|
1086
|
+
/** Root config of the title's cooperative events system. Plugs into TitlePublicConfig as CoopEvent. */
|
|
1087
|
+
interface CoopEventDefinitions {
|
|
1088
|
+
/** All coop event chains of the title. Dictionary key is CoopChainID. */
|
|
1089
|
+
Chains?: Record<string, CoopEventChainDefinition> | null;
|
|
1090
|
+
[key: string]: unknown;
|
|
1091
|
+
}
|
|
1092
|
+
interface CoopEventRequest extends BaseRequest {
|
|
1093
|
+
CoopChainID?: string;
|
|
1094
|
+
GroupID?: string;
|
|
1095
|
+
}
|
|
1096
|
+
declare const CoopEventAction: {
|
|
1097
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
1098
|
+
readonly GetActiveEvent: "GetActiveEvent";
|
|
1099
|
+
readonly GetUserState: "GetUserState";
|
|
1100
|
+
readonly GetGroupState: "GetGroupState";
|
|
1101
|
+
readonly JoinOrCreateGroup: "JoinOrCreateGroup";
|
|
1102
|
+
readonly Spin: "Spin";
|
|
1103
|
+
readonly ClaimObjectReward: "ClaimObjectReward";
|
|
1104
|
+
readonly ClaimGrandPrize: "ClaimGrandPrize";
|
|
1105
|
+
readonly LeaveGroup: "LeaveGroup";
|
|
1106
|
+
};
|
|
1107
|
+
type CoopEventAction = (typeof CoopEventAction)[keyof typeof CoopEventAction];
|
|
1108
|
+
type LimitSpec = { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>;
|
|
1109
|
+
|
|
1110
|
+
/** enum DealOfferActivationStatus — Active | Exhausted | Expired | Dismissed. */
|
|
1111
|
+
declare const DealOfferActivationStatus: {
|
|
1112
|
+
readonly Active: "Active";
|
|
1113
|
+
readonly Exhausted: "Exhausted";
|
|
1114
|
+
readonly Expired: "Expired";
|
|
1115
|
+
readonly Dismissed: "Dismissed";
|
|
1116
|
+
};
|
|
1117
|
+
type DealOfferActivationStatus = (typeof DealOfferActivationStatus)[keyof typeof DealOfferActivationStatus];
|
|
1118
|
+
/** enum DealNodeRuntimeStatus — Locked | Available | InProgress | Completed | Hidden. */
|
|
1119
|
+
declare const DealNodeRuntimeStatus: {
|
|
1120
|
+
readonly Locked: "Locked";
|
|
1121
|
+
readonly Available: "Available";
|
|
1122
|
+
readonly InProgress: "InProgress";
|
|
1123
|
+
readonly Completed: "Completed";
|
|
1124
|
+
readonly Hidden: "Hidden";
|
|
1125
|
+
};
|
|
1126
|
+
type DealNodeRuntimeStatus = (typeof DealNodeRuntimeStatus)[keyof typeof DealNodeRuntimeStatus];
|
|
1127
|
+
type UserDealNodeState = { Status?: null | string; NodeID?: null | string; ExecutionCount?: null | number; UnlockedAtUtc?: null | string; CompletedAtUtc?: null | string; LastExecutedAtUtc?: null | string; NextAvailableAtUtc?: null | string; LastExecutionRefID?: null | string; } & Record<string, unknown>;
|
|
1128
|
+
type UserDealTrackState = { TrackID?: null | string; CurrentValue?: null | number; LastUpdatedUtc?: null | string; } & Record<string, unknown>;
|
|
1129
|
+
type UserDealOfferActivationState = { Status?: null | string; OfferID?: null | string; InstanceKey?: null | string; SourceOfferVersion?: null | number; ActivatedAtUtc?: null | string; ExhaustedAtUtc?: null | string; ExpiredAtUtc?: null | string; DismissedAtUtc?: null | string; ShowCount?: null | number; LastShownAtUtc?: null | string; Nodes?: null | Record<string, { Status?: null | string; NodeID?: null | string; ExecutionCount?: null | number; UnlockedAtUtc?: null | string; CompletedAtUtc?: null | string; LastExecutedAtUtc?: null | string; NextAvailableAtUtc?: null | string; LastExecutionRefID?: null | string; } & Record<string, unknown>>; Tracks?: null | Record<string, { TrackID?: null | string; CurrentValue?: null | number; LastUpdatedUtc?: null | string; } & Record<string, unknown>>; SelectedChoiceNodeID?: null | string; } & Record<string, unknown>;
|
|
1130
|
+
type UserDealSlotState = { SlotID?: null | string; CycleIndex?: null | number; LastUpdatedUtc?: null | string; QueueIndex?: null | number; ActiveOfferID?: null | string; ActiveOfferStartedAtUtc?: null | string; ActiveOfferExpiresAtUtc?: null | string; ActiveOffer?: null | { Status?: null | string; OfferID?: null | string; InstanceKey?: null | string; SourceOfferVersion?: null | number; ActivatedAtUtc?: null | string; ExhaustedAtUtc?: null | string; ExpiredAtUtc?: null | string; DismissedAtUtc?: null | string; ShowCount?: null | number; LastShownAtUtc?: null | string; Nodes?: null | Record<string, { Status?: null | string; NodeID?: null | string; ExecutionCount?: null | number; UnlockedAtUtc?: null | string; CompletedAtUtc?: null | string; LastExecutedAtUtc?: null | string; NextAvailableAtUtc?: null | string; LastExecutionRefID?: null | string; } & Record<string, unknown>>; Tracks?: null | Record<string, { TrackID?: null | string; CurrentValue?: null | number; LastUpdatedUtc?: null | string; } & Record<string, unknown>>; SelectedChoiceNodeID?: null | string; } & Record<string, unknown>; NextCycleStartsAtUtc?: null | string; DismissSkipAvailableAtUtc?: null | string; LastDismissedAtUtc?: null | string; } & Record<string, unknown>;
|
|
1131
|
+
type UserDealNodeLifetimeCounts = { TotalExecutions?: null | number; DailyExecutions?: null | number; DailyResetUtc?: null | string; } & Record<string, unknown>;
|
|
1132
|
+
type UserDealOfferHistory = { LastShownAtUtc?: null | string; TotalActivations?: null | number; TotalExhausted?: null | number; TotalExpired?: null | number; TotalDismissed?: null | number; TotalShows?: null | number; LastActivatedAtUtc?: null | string; LastExhaustedAtUtc?: null | string; NodeCounts?: null | Record<string, { TotalExecutions?: null | number; DailyExecutions?: null | number; DailyResetUtc?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1133
|
+
/** Root runtime state of Deal Offers for one user: per-slot state + per-offer history. */
|
|
1134
|
+
interface UserDealOffersState {
|
|
1135
|
+
Slots?: Record<string, UserDealSlotState> | null;
|
|
1136
|
+
OfferHistory?: Record<string, UserDealOfferHistory> | null;
|
|
1137
|
+
LastUpdatedUtc?: string | null;
|
|
1138
|
+
}
|
|
1139
|
+
type DealSlotDefinition = { Enabled?: null | boolean; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; SlotID?: null | string; SortOrder?: null | number; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; Queue?: null | Array<{ OfferID?: null | string; Order?: null | number; DurationSec?: null | number; DelayBeforeActivationSec?: null | number; } & Record<string, unknown>>; AllowDismissSkip?: null | boolean; DismissSkipDelaySec?: null | number; } & Record<string, unknown>;
|
|
1140
|
+
type DealNodeActionDefinition = { Purchase?: null | { StoreOfferID?: null | string; BillingProductID?: null | string; DirectCost?: null | ResourceConsume; UseExternalRewards?: null | boolean; } & Record<string, unknown>; RewardedVideo?: null | { AdPlacementID?: null | string; ViewsRequiredToComplete?: null | number; MaxViewsPerActivation?: null | number; CooldownSecondsBetweenViews?: null | number; RequireServerVerification?: null | boolean; GrantRewardsPerView?: null | boolean; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1141
|
+
/**
|
|
1142
|
+
* Container of preset wiring for an offer — one PresetBinding per block. Inline data (Milestones)
|
|
1143
|
+
* lives on DealOfferDefinition. null = presets unused.
|
|
1144
|
+
*/
|
|
1145
|
+
interface DealOfferPresetBindings {
|
|
1146
|
+
Milestones?: PresetBinding | null;
|
|
1147
|
+
}
|
|
1148
|
+
type DealTrackChange = { Amount?: null | number; TrackID?: null | string; RespectBounds?: null | boolean; } & Record<string, unknown>;
|
|
1149
|
+
type DealTrackDefinition = { DisplayName?: null | string; TrackID?: null | string; StartValue?: null | number; MinValue?: null | number; MaxValue?: null | number; ClampToMin?: null | boolean; ClampToMax?: null | boolean; HiddenFromUI?: null | boolean; } & Record<string, unknown>;
|
|
1150
|
+
type DealNodeUnlockRules = { RequiredCompletedNodeIDs?: null | Array<string>; RequiredAnyCompletedNodeIDs?: null | Array<string>; RequiredTracks?: null | Array<{ Value?: null | number; TrackID?: null | string; Operator?: null | string; } & Record<string, unknown>>; VisibleWhileLocked?: null | boolean; } & Record<string, unknown>;
|
|
1151
|
+
/**
|
|
1152
|
+
* A single offer node — an atomic player action (purchase / free claim / watch ad).
|
|
1153
|
+
* Hand-written interface + annotated schema to avoid TS7056 (inferred type too long).
|
|
1154
|
+
*/
|
|
1155
|
+
interface DealNodeDefinition {
|
|
1156
|
+
NodeID?: string | null;
|
|
1157
|
+
SortOrder?: number | null;
|
|
1158
|
+
Type?: string | null;
|
|
1159
|
+
Action?: DealNodeActionDefinition | null;
|
|
1160
|
+
Grants?: ResourceGrant | null;
|
|
1161
|
+
TrackChanges?: DealTrackChange[] | null;
|
|
1162
|
+
MilestonePoints?: number | null;
|
|
1163
|
+
UnlockRules?: DealNodeUnlockRules | null;
|
|
1164
|
+
NextNodeIDs?: string[] | null;
|
|
1165
|
+
ChoiceGroupID?: string | null;
|
|
1166
|
+
Limits?: LimitSpec | null;
|
|
1167
|
+
HideWhenCompleted?: boolean | null;
|
|
1168
|
+
ExhaustOfferOnComplete?: boolean | null;
|
|
1169
|
+
AssetPaths?: Record<string, string> | null;
|
|
1170
|
+
Metadata?: Record<string, string> | null;
|
|
1171
|
+
[key: string]: unknown;
|
|
1172
|
+
}
|
|
1173
|
+
/**
|
|
1174
|
+
* Definition of a single offer — a graph of nodes with rewards, costs and unlock rules.
|
|
1175
|
+
* Hand-written interface + annotated schema to avoid TS7056.
|
|
1176
|
+
*/
|
|
1177
|
+
interface DealOfferDefinition {
|
|
1178
|
+
OfferID?: string | null;
|
|
1179
|
+
Version?: number | null;
|
|
1180
|
+
Enabled?: boolean | null;
|
|
1181
|
+
GraphMode?: string | null;
|
|
1182
|
+
Name?: string | null;
|
|
1183
|
+
Description?: string | null;
|
|
1184
|
+
RootNodeIDs?: string[] | null;
|
|
1185
|
+
Nodes?: DealNodeDefinition[] | null;
|
|
1186
|
+
Tracks?: DealTrackDefinition[] | null;
|
|
1187
|
+
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
1188
|
+
/** Container of offer preset wiring (currently milestones). null = presets unused. */
|
|
1189
|
+
Presets?: DealOfferPresetBindings | null;
|
|
1190
|
+
MilestoneClaimMode?: string | null;
|
|
1191
|
+
MilestoneToken?: EventTokenDefinition | null;
|
|
1192
|
+
ExhaustedWhenAllTerminalNodesCompleted?: boolean | null;
|
|
1193
|
+
AssetPaths?: Record<string, string> | null;
|
|
1194
|
+
Metadata?: Record<string, string> | null;
|
|
1195
|
+
[key: string]: unknown;
|
|
1196
|
+
}
|
|
1197
|
+
/**
|
|
1198
|
+
* Root config of the Deal Offers system — slot list + offer library.
|
|
1199
|
+
* Hand-written interface + annotated schema to avoid TS7056.
|
|
1200
|
+
*/
|
|
1201
|
+
interface DealOfferPresetRegistry {
|
|
1202
|
+
Milestones?: Record<string, MilestoneSet> | null;
|
|
1203
|
+
}
|
|
1204
|
+
interface DealOfferDefinitions {
|
|
1205
|
+
Slots?: Record<string, DealSlotDefinition> | null;
|
|
1206
|
+
Offers?: Record<string, DealOfferDefinition> | null;
|
|
1207
|
+
/** Registry of reusable offer presets (currently milestones). null = unused. */
|
|
1208
|
+
Presets?: DealOfferPresetRegistry | null;
|
|
1209
|
+
[key: string]: unknown;
|
|
1210
|
+
}
|
|
1211
|
+
type DealOffersDefinitionResponse = { DealOfferDefinitions?: null | DealOfferDefinitions; };
|
|
1212
|
+
type UserDealOffersStateResponse = { DealOffers?: null | UserDealOffersState; };
|
|
1213
|
+
type DealMilestoneProgressInfo = { EntityID?: null | string; TotalEarned?: null | number; ClaimedIDs?: null | Array<string>; ReachedUnclaimedIDs?: null | Array<string>; } & Record<string, unknown>;
|
|
1214
|
+
/**
|
|
1215
|
+
* Resolved state of one slot for the client: definition + runtime state + cost preview.
|
|
1216
|
+
* Hand-written interface + annotated schema to avoid TS7056.
|
|
1217
|
+
*/
|
|
1218
|
+
interface ActiveDealSlotInfo {
|
|
1219
|
+
SlotID?: string | null;
|
|
1220
|
+
SortOrder?: number | null;
|
|
1221
|
+
QueueIndex?: number | null;
|
|
1222
|
+
CycleIndex?: number | null;
|
|
1223
|
+
OfferDef?: DealOfferDefinition | null;
|
|
1224
|
+
ActivationState?: UserDealOfferActivationState | null;
|
|
1225
|
+
IsNewActivation?: boolean | null;
|
|
1226
|
+
ComputedExpiresAtUtc?: string | null;
|
|
1227
|
+
Cost?: ResourceConsume | null;
|
|
1228
|
+
Milestone?: DealMilestoneProgressInfo | null;
|
|
1229
|
+
}
|
|
1230
|
+
type GetActiveDealsResponse = { Slots?: null | Array<ActiveDealSlotInfo>; };
|
|
1231
|
+
type ExecuteNodeResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; SlotID?: null | string; NodeID?: null | string; NodeCompleted?: null | boolean; OfferExhausted?: null | boolean; Idempotent?: null | boolean; };
|
|
1232
|
+
type DismissDealResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; SlotID?: null | string; };
|
|
1233
|
+
type RecordShowResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; SlotID?: null | string; };
|
|
1234
|
+
type ClaimDealMilestoneResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; SlotID?: null | string; MilestoneID?: null | string; };
|
|
1235
|
+
type ClaimDealMilestonesBatchResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; SlotID?: null | string; ClaimedIDs?: null | Array<string>; Rejected?: null | Record<string, string>; };
|
|
1236
|
+
interface DealOfferRequest extends BaseRequest {
|
|
1237
|
+
SlotID?: string;
|
|
1238
|
+
NodeID?: string;
|
|
1239
|
+
MilestoneID?: string;
|
|
1240
|
+
MilestoneIDs?: string[];
|
|
1241
|
+
}
|
|
1242
|
+
declare const DealOfferAction: {
|
|
1243
|
+
readonly GetDefinition: "GetDefinition";
|
|
1244
|
+
readonly GetUserState: "GetUserState";
|
|
1245
|
+
readonly GetActiveDeals: "GetActiveDeals";
|
|
1246
|
+
readonly DismissDeal: "DismissDeal";
|
|
1247
|
+
readonly ExecuteNode: "ExecuteNode";
|
|
1248
|
+
readonly RecordShow: "RecordShow";
|
|
1249
|
+
readonly ClaimMilestone: "ClaimMilestone";
|
|
1250
|
+
readonly ClaimMilestonesBatch: "ClaimMilestonesBatch";
|
|
1251
|
+
};
|
|
1252
|
+
type DealOfferAction = (typeof DealOfferAction)[keyof typeof DealOfferAction];
|
|
1253
|
+
|
|
1254
|
+
interface ReferralInviteRewardState {
|
|
1255
|
+
RewardID?: string;
|
|
1256
|
+
IsClaimed?: boolean;
|
|
1257
|
+
ClaimedAt?: string | null;
|
|
1258
|
+
}
|
|
1259
|
+
interface UserReferralState {
|
|
1260
|
+
SubscribedToUserID?: string | null;
|
|
1261
|
+
ActivationRewardGranted?: boolean;
|
|
1262
|
+
FollowersCount?: number;
|
|
1263
|
+
FollowerIDs?: string[];
|
|
1264
|
+
InviteRewardStates?: Record<string, ReferralInviteRewardState>;
|
|
1265
|
+
UpdatedAt?: string;
|
|
1266
|
+
[key: string]: unknown;
|
|
1267
|
+
}
|
|
1268
|
+
type SpendRewardDefinition = { TargetCurrencyID?: null | string; FeatureKey?: null | string; IsEnabled?: null | boolean; Percent?: null | number; SourceCurrencyID?: null | string; } & Record<string, unknown>;
|
|
1269
|
+
interface ReferralDefinitions {
|
|
1270
|
+
IsEnabled?: boolean | null;
|
|
1271
|
+
/** One-time reward for the current user's first activation of another user's referral code. */
|
|
1272
|
+
ActivationReward?: ResourceGrant | null;
|
|
1273
|
+
/** Staged rewards to the referrer for hitting follower-count thresholds. Key = MilestoneID. */
|
|
1274
|
+
InviteRewards?: Record<string, MilestoneDefinition> | null;
|
|
1275
|
+
SpendRewards?: SpendRewardDefinition[] | null;
|
|
1276
|
+
}
|
|
1277
|
+
interface ReferralDefinitionsResponse {
|
|
1278
|
+
ReferralDefinitions?: ReferralDefinitions | null;
|
|
1279
|
+
}
|
|
1280
|
+
type UserReferralStateResponse = { Referral?: null | UserReferralState; };
|
|
1281
|
+
type ActivateReferralCodeResponse = { Resources?: null | ResourceOperation; ReferralCode?: null | string; IsFirstActivation?: null | boolean; };
|
|
1282
|
+
type ClaimInviteRewardResponse = { Resources?: null | ResourceOperation; RewardID?: null | string; };
|
|
1283
|
+
interface ReferralRequest extends BaseRequest {
|
|
1284
|
+
ReferralCode?: string;
|
|
1285
|
+
InviteRewardID?: string;
|
|
1286
|
+
}
|
|
1287
|
+
declare const ReferralAction: {
|
|
1288
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
1289
|
+
readonly GetUserState: "GetUserState";
|
|
1290
|
+
readonly ActivateReferralCode: "ActivateReferralCode";
|
|
1291
|
+
readonly ClaimInviteReward: "ClaimInviteReward";
|
|
1292
|
+
};
|
|
1293
|
+
type ReferralAction = (typeof ReferralAction)[keyof typeof ReferralAction];
|
|
1294
|
+
|
|
1295
|
+
declare const FriendActionStatus: {
|
|
1296
|
+
readonly RequestSent: "RequestSent";
|
|
1297
|
+
readonly Accepted: "Accepted";
|
|
1298
|
+
readonly Declined: "Declined";
|
|
1299
|
+
readonly Removed: "Removed";
|
|
1300
|
+
};
|
|
1301
|
+
type FriendActionStatus = (typeof FriendActionStatus)[keyof typeof FriendActionStatus];
|
|
1302
|
+
declare const TimelineEventType: {
|
|
1303
|
+
readonly Attack: "Attack";
|
|
1304
|
+
readonly Raid: "Raid";
|
|
1305
|
+
readonly FriendAdd: "FriendAdd";
|
|
1306
|
+
};
|
|
1307
|
+
type TimelineEventType = (typeof TimelineEventType)[keyof typeof TimelineEventType];
|
|
1308
|
+
type FriendPublicProfile = { UserID: string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; };
|
|
1309
|
+
type SocialTimelineEvent = { CreatedAt?: null | string; Type?: null | string; OwnerUserID?: null | string; ActorUserID?: null | string; ActorProfile?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; OwnerImpact?: null | ResourceOperation; IsBlocked?: null | boolean; TargetObjectName?: null | string; } & Record<string, unknown>;
|
|
1310
|
+
interface UserSocialState {
|
|
1311
|
+
Accepted?: string[];
|
|
1312
|
+
IncomingRequests?: string[];
|
|
1313
|
+
OutgoingRequests?: string[];
|
|
1314
|
+
Timeline?: SocialTimelineEvent[];
|
|
1315
|
+
}
|
|
1316
|
+
type FriendsListResponse = { Friends?: null | Array<FriendPublicProfile>; };
|
|
1317
|
+
type FriendActionResponse = { Status?: null | string; TargetUserID?: null | string; };
|
|
1318
|
+
type TimelineResponse = { Events?: null | Array<{ CreatedAt?: null | string; Type?: null | string; OwnerUserID?: null | string; ActorUserID?: null | string; ActorProfile?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; OwnerImpact?: null | ResourceOperation; IsBlocked?: null | boolean; TargetObjectName?: null | string; } & Record<string, unknown>>; };
|
|
1319
|
+
interface SocialRequest extends BaseRequest {
|
|
1320
|
+
TargetUserID?: string;
|
|
1321
|
+
Limit?: number;
|
|
1322
|
+
}
|
|
1323
|
+
declare const SocialAction: {
|
|
1324
|
+
readonly GetFriendsList: "GetFriendsList";
|
|
1325
|
+
readonly GetIncomingRequests: "GetIncomingRequests";
|
|
1326
|
+
readonly GetRecommendedFriends: "GetRecommendedFriends";
|
|
1327
|
+
readonly SendFriendRequest: "SendFriendRequest";
|
|
1328
|
+
readonly AcceptFriendRequest: "AcceptFriendRequest";
|
|
1329
|
+
readonly DeclineFriendRequest: "DeclineFriendRequest";
|
|
1330
|
+
readonly RemoveFriend: "RemoveFriend";
|
|
1331
|
+
readonly GetTimeline: "GetTimeline";
|
|
1332
|
+
};
|
|
1333
|
+
type SocialAction = (typeof SocialAction)[keyof typeof SocialAction];
|
|
1334
|
+
|
|
1335
|
+
declare const TimedBoostStackingPolicy: {
|
|
1336
|
+
readonly Replace: "Replace";
|
|
1337
|
+
readonly Refresh: "Refresh";
|
|
1338
|
+
readonly KeepBest: "KeepBest";
|
|
1339
|
+
readonly Stack: "Stack";
|
|
1340
|
+
};
|
|
1341
|
+
type TimedBoostStackingPolicy = (typeof TimedBoostStackingPolicy)[keyof typeof TimedBoostStackingPolicy];
|
|
1342
|
+
type TimedBoostDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; DurationSeconds?: null | number; BoostID?: null | string; ActivationCost?: null | ResourceConsume; Effect?: null | { Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>; Charges?: null | number; StackingPolicy?: null | string; MaxActiveInstances?: null | number; Tags?: null | Array<string>; } & Record<string, unknown>;
|
|
1343
|
+
type ScheduledBoostDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; CustomParams?: null | Record<string, string>; Tags?: null | Array<string>; ScheduledBoostID?: null | string; Effects?: null | Array<{ Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1344
|
+
type BoostChainDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; CustomParams?: null | Record<string, string>; ChainID?: null | string; Phases?: null | Array<{ Order?: null | number; DurationSec?: null | number; CustomParams?: null | Record<string, string>; Effects?: null | Array<{ Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>>; ChainedBoostID?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1345
|
+
type TriggeredBoostDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; DurationSeconds?: null | number; Charges?: null | number; StackingPolicy?: null | string; MaxActiveInstances?: null | number; Tags?: null | Array<string>; Effects?: null | Array<{ Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>>; TriggeredBoostID?: null | string; Sources?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1346
|
+
type TimedBoostGlobalSettings = { StackingCaps?: null | Record<string, { MaxAddPercent?: null | number; MaxMultiply?: null | number; MaxAddFlat?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1347
|
+
interface TimedBoostDefinitions {
|
|
1348
|
+
Definitions?: Record<string, TimedBoostDefinition> | null;
|
|
1349
|
+
ScheduledBoosts?: Record<string, ScheduledBoostDefinition> | null;
|
|
1350
|
+
BoostChains?: Record<string, BoostChainDefinition> | null;
|
|
1351
|
+
TriggeredBoosts?: Record<string, TriggeredBoostDefinition> | null;
|
|
1352
|
+
Settings?: TimedBoostGlobalSettings | null;
|
|
1353
|
+
}
|
|
1354
|
+
type ActiveTimedBoost = { BoostID: string; InstanceID: string; SourceType?: null | string; ExpiresAtUtc?: null | string; ActivatedAtUtc?: null | string; RemainingCharges?: null | number; EffectSnapshot?: null | { Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>; SourceRef?: null | string; } & Record<string, unknown>;
|
|
1355
|
+
type BoostTriggerCounter = { Date?: null | string; DailyCount?: null | number; LastFiredUtc?: null | string; } & Record<string, unknown>;
|
|
1356
|
+
interface UserTimedBoostsState {
|
|
1357
|
+
Active?: Record<string, ActiveTimedBoost>;
|
|
1358
|
+
Version?: number;
|
|
1359
|
+
Triggers?: Record<string, BoostTriggerCounter>;
|
|
1360
|
+
}
|
|
1361
|
+
type GetActiveTimedBoostsResponse = { ServerTimeUtc?: null | string; Active?: null | Record<string, { BoostID: string; InstanceID: string; SourceType?: null | string; ExpiresAtUtc?: null | string; ActivatedAtUtc?: null | string; RemainingCharges?: null | number; EffectSnapshot?: null | { Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>; SourceRef?: null | string; } & Record<string, unknown>>; };
|
|
1362
|
+
type ActivateTimedBoostResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; BoostID?: null | string; StackingPolicy?: null | string; ActivatedBoost?: null | { BoostID: string; InstanceID: string; SourceType?: null | string; ExpiresAtUtc?: null | string; ActivatedAtUtc?: null | string; RemainingCharges?: null | number; EffectSnapshot?: null | { Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>; SourceRef?: null | string; } & Record<string, unknown>; };
|
|
1363
|
+
/** enum BoostWindowKind — Scheduled | Chain. */
|
|
1364
|
+
declare const BoostWindowKind: {
|
|
1365
|
+
readonly Scheduled: "Scheduled";
|
|
1366
|
+
readonly Chain: "Chain";
|
|
1367
|
+
};
|
|
1368
|
+
type BoostWindowKind = (typeof BoostWindowKind)[keyof typeof BoostWindowKind];
|
|
1369
|
+
type ActiveBoostWindowInfo = { SourceID?: null | string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; StartUtc?: null | string; EndUtc?: null | string; PhaseID?: null | string; CycleIndex?: null | number; Kind?: null | string; Effects?: null | Array<{ Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>>; PhaseOrder?: null | number; } & Record<string, unknown>;
|
|
1370
|
+
type GetActiveBoostWindowsResponse = { ServerTimeUtc?: null | string; Windows?: null | Array<{ SourceID?: null | string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; StartUtc?: null | string; EndUtc?: null | string; PhaseID?: null | string; CycleIndex?: null | number; Kind?: null | string; Effects?: null | Array<{ Value?: null | number; Target?: null | string; Operation?: null | string; } & Record<string, unknown>>; PhaseOrder?: null | number; } & Record<string, unknown>>; };
|
|
1371
|
+
interface TimedBoostRequest extends BaseRequest {
|
|
1372
|
+
BoostID?: string;
|
|
1373
|
+
}
|
|
1374
|
+
declare const TimedBoostAction: {
|
|
1375
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
1376
|
+
readonly GetActive: "GetActive";
|
|
1377
|
+
readonly GetActiveWindows: "GetActiveWindows";
|
|
1378
|
+
readonly Activate: "Activate";
|
|
1379
|
+
readonly CleanupExpired: "CleanupExpired";
|
|
1380
|
+
};
|
|
1381
|
+
type TimedBoostAction = (typeof TimedBoostAction)[keyof typeof TimedBoostAction];
|
|
1382
|
+
|
|
1383
|
+
declare const CustomDataBucket: {
|
|
1384
|
+
readonly Private: "Private";
|
|
1385
|
+
readonly Public: "Public";
|
|
1386
|
+
readonly ReadOnly: "ReadOnly";
|
|
1387
|
+
readonly Internal: "Internal";
|
|
1388
|
+
};
|
|
1389
|
+
type CustomDataBucket = (typeof CustomDataBucket)[keyof typeof CustomDataBucket];
|
|
1390
|
+
/** Who made the last write to a UserCustomDataRecord — for audit tracking. */
|
|
1391
|
+
declare const CustomDataWriter: {
|
|
1392
|
+
readonly Client: "Client";
|
|
1393
|
+
readonly Server: "Server";
|
|
1394
|
+
readonly System: "System";
|
|
1395
|
+
};
|
|
1396
|
+
type CustomDataWriter = (typeof CustomDataWriter)[keyof typeof CustomDataWriter];
|
|
1397
|
+
type UserCustomDataRecord = { UpdatedAt?: null | string; ExpiresAt?: null | string; Value?: null | string; Version?: null | number; LastWriter?: null | 'Client' | 'Server' | 'System'; } & Record<string, unknown>;
|
|
1398
|
+
interface UserCustomDataState {
|
|
1399
|
+
Version?: number;
|
|
1400
|
+
Private?: Record<string, UserCustomDataRecord>;
|
|
1401
|
+
Public?: Record<string, UserCustomDataRecord>;
|
|
1402
|
+
ReadOnly?: Record<string, UserCustomDataRecord>;
|
|
1403
|
+
}
|
|
1404
|
+
type GetMyUserCustomDataResponse = { Version?: null | number; Private?: null | Record<string, { UpdatedAt?: null | string; ExpiresAt?: null | string; Value?: null | string; Version?: null | number; LastWriter?: null | 'Client' | 'Server' | 'System'; } & Record<string, unknown>>; Public?: null | Record<string, { UpdatedAt?: null | string; ExpiresAt?: null | string; Value?: null | string; Version?: null | number; LastWriter?: null | 'Client' | 'Server' | 'System'; } & Record<string, unknown>>; ReadOnly?: null | Record<string, { UpdatedAt?: null | string; ExpiresAt?: null | string; Value?: null | string; Version?: null | number; LastWriter?: null | 'Client' | 'Server' | 'System'; } & Record<string, unknown>>; };
|
|
1405
|
+
type GetPublicUserCustomDataResponse = { UserID?: null | string; Version?: null | number; Public?: null | Record<string, { UpdatedAt?: null | string; ExpiresAt?: null | string; Value?: null | string; Version?: null | number; LastWriter?: null | 'Client' | 'Server' | 'System'; } & Record<string, unknown>>; };
|
|
1406
|
+
type SetUserCustomDataResponse = { KeyID: string; ServerTimeUtc?: null | string; ExpiresAt?: null | string; Version?: null | number; Bucket?: null | string; };
|
|
1407
|
+
type BatchSetUserCustomDataResponse = { ServerTimeUtc?: null | string; Results?: null | Array<{ KeyID: string; ExpiresAt?: null | string; Version?: null | number; Bucket?: null | string; }>; };
|
|
1408
|
+
type BatchDeleteUserCustomDataResponse = { ServerTimeUtc?: null | string; DeletedCount?: null | number; };
|
|
1409
|
+
type BatchGetPublicUserCustomDataResponse = { Results?: null | Array<GetPublicUserCustomDataResponse>; NotFoundUserIDs?: null | Array<string>; };
|
|
1410
|
+
declare const CustomDataValueType: {
|
|
1411
|
+
readonly String: "String";
|
|
1412
|
+
readonly Int: "Int";
|
|
1413
|
+
readonly Bool: "Bool";
|
|
1414
|
+
readonly Json: "Json";
|
|
1415
|
+
};
|
|
1416
|
+
type CustomDataValueType = (typeof CustomDataValueType)[keyof typeof CustomDataValueType];
|
|
1417
|
+
type UserCustomDataKeyDefinition = { KeyID: string; Description?: null | string; Bucket?: null | string; ValueType?: null | 'String' | 'Int' | 'Bool' | 'Json'; MaxValueLengthBytes?: null | number; TtlSeconds?: null | number; DefaultValue?: null | string; } & Record<string, unknown>;
|
|
1418
|
+
/** Custom User Data V2 config: schema-managed key registry + default size/TTL limits. */
|
|
1419
|
+
interface UserCustomDataDefinitions {
|
|
1420
|
+
Keys?: Record<string, UserCustomDataKeyDefinition> | null;
|
|
1421
|
+
DefaultMaxValueLengthBytes?: number | null;
|
|
1422
|
+
DefaultTtlSeconds?: number | null;
|
|
1423
|
+
MaxKeysPerBucket?: number | null;
|
|
1424
|
+
MaxTotalSizeBytes?: number | null;
|
|
1425
|
+
RejectUnregisteredKeys?: boolean | null;
|
|
1426
|
+
}
|
|
1427
|
+
interface UserCustomDataBatchSetItem {
|
|
1428
|
+
Bucket: CustomDataBucket;
|
|
1429
|
+
KeyID: string;
|
|
1430
|
+
Value: string;
|
|
1431
|
+
}
|
|
1432
|
+
interface UserCustomDataBatchDeleteItem {
|
|
1433
|
+
Bucket: CustomDataBucket;
|
|
1434
|
+
KeyID: string;
|
|
1435
|
+
}
|
|
1436
|
+
interface UserCustomDataRequest extends BaseRequest {
|
|
1437
|
+
KeyID?: string;
|
|
1438
|
+
Value?: string;
|
|
1439
|
+
Bucket?: CustomDataBucket;
|
|
1440
|
+
TargetUserID?: string;
|
|
1441
|
+
BatchSetItems?: UserCustomDataBatchSetItem[];
|
|
1442
|
+
BatchDeleteItems?: UserCustomDataBatchDeleteItem[];
|
|
1443
|
+
TargetUserIDs?: string[];
|
|
1444
|
+
}
|
|
1445
|
+
declare const UserCustomDataAction: {
|
|
1446
|
+
readonly GetUserCustomDataDefinitions: "GetUserCustomDataDefinitions";
|
|
1447
|
+
readonly GetMyUserCustomData: "GetMyUserCustomData";
|
|
1448
|
+
readonly GetPublicUserCustomDataOf: "GetPublicUserCustomDataOf";
|
|
1449
|
+
readonly SetPrivateData: "SetPrivateData";
|
|
1450
|
+
readonly SetPublicData: "SetPublicData";
|
|
1451
|
+
readonly DeleteKey: "DeleteKey";
|
|
1452
|
+
readonly BatchSet: "BatchSet";
|
|
1453
|
+
readonly BatchDelete: "BatchDelete";
|
|
1454
|
+
readonly BatchGetPublicUserCustomDataOf: "BatchGetPublicUserCustomDataOf";
|
|
1455
|
+
};
|
|
1456
|
+
type UserCustomDataAction = (typeof UserCustomDataAction)[keyof typeof UserCustomDataAction];
|
|
1457
|
+
type UserPublicDataModel = { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>;
|
|
1458
|
+
|
|
1459
|
+
declare const RaidMode: {
|
|
1460
|
+
readonly Fast: "Fast";
|
|
1461
|
+
readonly Sequential: "Sequential";
|
|
1462
|
+
};
|
|
1463
|
+
type RaidMode = (typeof RaidMode)[keyof typeof RaidMode];
|
|
1464
|
+
declare const SpecialChoiceMode: {
|
|
1465
|
+
readonly Instant: "Instant";
|
|
1466
|
+
readonly Timed: "Timed";
|
|
1467
|
+
};
|
|
1468
|
+
type SpecialChoiceMode = (typeof SpecialChoiceMode)[keyof typeof SpecialChoiceMode];
|
|
1469
|
+
declare const AttackOutcome: {
|
|
1470
|
+
readonly Hit: "Hit";
|
|
1471
|
+
readonly Blocked: "Blocked";
|
|
1472
|
+
};
|
|
1473
|
+
type AttackOutcome = (typeof AttackOutcome)[keyof typeof AttackOutcome];
|
|
1474
|
+
type BuildingState = { SlotIndex: number; Level?: null | number; IsDamaged?: null | boolean; MaxLevelRewardClaimed?: null | boolean; } & Record<string, unknown>;
|
|
1475
|
+
type HeistCell = { Symbol?: null | string | number; OnOpenBonus?: null | ResourceGrant; BonusTag?: null | string; } & Record<string, unknown>;
|
|
1476
|
+
type SpecialGradationTierSnapshot = { Reward?: null | ResourceGrant; ElapsedSeconds?: null | number; } & Record<string, unknown>;
|
|
1477
|
+
interface SpecialPendingState {
|
|
1478
|
+
ModeID?: string;
|
|
1479
|
+
ChoiceID?: string | null;
|
|
1480
|
+
ChosenMode?: string | number | null;
|
|
1481
|
+
StartedAtUtc?: string | null;
|
|
1482
|
+
DurationSeconds?: number | null;
|
|
1483
|
+
AdViewsUsed?: number;
|
|
1484
|
+
AccumulatedMultiplier?: number;
|
|
1485
|
+
GradationTiers?: SpecialGradationTierSnapshot[] | null;
|
|
1486
|
+
BelowFirstTierReward?: ResourceGrant | null;
|
|
1487
|
+
Multipliers?: SpecialClaimMultipliers | null;
|
|
1488
|
+
/** Offer choices stashed from the roll's SpecialModeOffer so the UI can render them in-session
|
|
1489
|
+
* (the server's GetUserBoardState pending only carries ModeID). */
|
|
1490
|
+
Choices?: SpecialModeChoice[] | null;
|
|
1491
|
+
}
|
|
1492
|
+
interface BoardPendingInteraction {
|
|
1493
|
+
Type: string;
|
|
1494
|
+
TargetUserID?: string | null;
|
|
1495
|
+
/** Public profile snapshot of the target. */
|
|
1496
|
+
TargetPublicData?: UserPublicDataModel | null;
|
|
1497
|
+
TargetBuildingStates?: BuildingState[];
|
|
1498
|
+
TargetHasShield?: boolean;
|
|
1499
|
+
RollMultiplier?: number;
|
|
1500
|
+
ExpiresAtUtc?: string;
|
|
1501
|
+
RaidLayout?: HeistCell[];
|
|
1502
|
+
OpenedIndices?: number[];
|
|
1503
|
+
HeistVariantTag?: string | null;
|
|
1504
|
+
IsJackpotRaid?: boolean;
|
|
1505
|
+
JackpotFinalMultiplier?: number;
|
|
1506
|
+
GuaranteedBonus?: ResourceGrant | null;
|
|
1507
|
+
Special?: SpecialPendingState | null;
|
|
1508
|
+
}
|
|
1509
|
+
interface BoardLoopState {
|
|
1510
|
+
StageLevel?: number;
|
|
1511
|
+
Position?: number;
|
|
1512
|
+
AvailableRollMultipliers?: number[];
|
|
1513
|
+
BuildingStates?: BuildingState[] | null;
|
|
1514
|
+
Pending?: BoardPendingInteraction | null;
|
|
1515
|
+
CyclesCompleted?: number;
|
|
1516
|
+
SpecialStats?: SpecialModeStats | null;
|
|
1517
|
+
LastRollAtUtc?: string;
|
|
1518
|
+
AllStagesCompleted?: boolean;
|
|
1519
|
+
[key: string]: unknown;
|
|
1520
|
+
}
|
|
1521
|
+
interface UserGameLoopsState {
|
|
1522
|
+
Board?: BoardLoopState | null;
|
|
1523
|
+
CommunityChest?: UserCommunityChestState | null;
|
|
1524
|
+
}
|
|
1525
|
+
type SpecialModeStats = { PlayedCount?: null | number; RewardsClaimedCount?: null | number; InstantClaimsCount?: null | number; EarlyClaimsCount?: null | number; LateClaimsCount?: null | number; AdViewsTotal?: null | number; } & Record<string, unknown>;
|
|
1526
|
+
type RewardMultiplierRange = { Max?: null | number; Min?: null | number; } & Record<string, unknown>;
|
|
1527
|
+
type ScaledResourceOperation = { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>;
|
|
1528
|
+
type BoardDiceConfig = { Count?: null | number; Sides?: null | number; } & Record<string, unknown>;
|
|
1529
|
+
type BoardBotConfig = { ShieldChance?: null | number; DamagedBuildingChance?: null | number; RankMultiplierMin?: null | number; RankMultiplierMax?: null | number; RankOffsetMin?: null | number; RankOffsetMax?: null | number; } & Record<string, unknown>;
|
|
1530
|
+
type ProceduralEconomyConfig = { CostMatrixTemplatesByID?: null | Record<string, Array<Array<number>>>; PerBoardGrowth?: null | number; VisualTemplateCycle?: null | Array<string>; EconomyScaledResources?: null | ResourceBundle; ScaleRaidStealWithEconomy?: null | boolean; ScaleAttackRewardWithEconomy?: null | boolean; AttackValueFromCostMatrix?: null | boolean; AttackBlockedRewardFactor?: null | number; ScaleVictimLossWithEconomy?: null | boolean; ScaleVictimLossWithTier?: null | boolean; SynthesizedBuildingSlots?: null | number; SynthesizedBuildingMaxLevel?: null | number; } & Record<string, unknown>;
|
|
1531
|
+
type StageEconomyOverride = { PerBoardGrowth?: null | number; CostMatrix?: null | Array<Array<number>>; EconomyScale?: null | number; ScaledResources?: null | ResourceBundle; } & Record<string, unknown>;
|
|
1532
|
+
type BuildingDefinition = { AssetPaths?: null | Record<string, string>; MaxLevel?: null | number; Name?: null | string; SlotIndex?: null | number; MaxLevelReward?: null | ResourceGrant; } & Record<string, unknown>;
|
|
1533
|
+
type BoardTemplateDefinition = { Tiles?: null | Record<string, { Type?: null | string; Params?: null | Record<string, string>; Index?: null | number; CustomTypeID?: null | string; RandomActionAttackWeight?: null | number; RandomActionRaidWeight?: null | number; ChanceTableID?: null | string; SpecialModeID?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1534
|
+
type HeistRaidVariant = { Weight?: null | number; Tag?: null | string; MinBonusCells?: null | number; MaxBonusCells?: null | number; BonusPool?: null | Array<{ Weight?: null | number; Bonus?: null | { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>; Tag?: null | string; } & Record<string, unknown>>; GuaranteedBonus?: null | { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>; IsJackpot?: null | boolean; JackpotFinalMultiplier?: null | number; JackpotSymbolDistribution?: null | Record<string, number>; } & Record<string, unknown>;
|
|
1535
|
+
/** Raid-grid generation config for a stage: weighted variants selected per raid. */
|
|
1536
|
+
interface HeistGridBonusConfig {
|
|
1537
|
+
Variants?: HeistRaidVariant[] | null;
|
|
1538
|
+
}
|
|
1539
|
+
type ChanceTable = { Outcomes?: null | Array<{ Reward?: null | { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>; Weight?: null | number; SpecialModeID?: null | string; OutcomeID?: null | string; ForceAction?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1540
|
+
type SpecialClaimMultipliers = { PerAdMultiplierRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; MaxAdViews?: null | number; AdCreditCost?: null | number; FormulaKind?: null | string; ApplyMultiplierOnEarlyClaim?: null | boolean; } & Record<string, unknown>;
|
|
1541
|
+
type SpecialGradationConfig = { Tiers?: null | Array<{ Reward?: null | { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>; ElapsedSeconds?: null | number; } & Record<string, unknown>>; BelowFirstTierReward?: null | { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1542
|
+
/** A single choice in a Special mode (Instant reward or Timed flow with multipliers/gradation). */
|
|
1543
|
+
interface SpecialModeChoice {
|
|
1544
|
+
ChoiceID?: string | null;
|
|
1545
|
+
Mode?: string | null;
|
|
1546
|
+
Reward?: ScaledResourceOperation | null;
|
|
1547
|
+
DurationSeconds?: number | null;
|
|
1548
|
+
EntryCost?: ResourceConsume | null;
|
|
1549
|
+
Multipliers?: SpecialClaimMultipliers | null;
|
|
1550
|
+
Gradation?: SpecialGradationConfig | null;
|
|
1551
|
+
}
|
|
1552
|
+
/** Special-mode configuration bound to a tile via SpecialModeID. */
|
|
1553
|
+
interface SpecialModeDefinition {
|
|
1554
|
+
Choices?: SpecialModeChoice[] | null;
|
|
1555
|
+
OfferExpireSeconds?: number | null;
|
|
1556
|
+
ClaimExpireSeconds?: number | null;
|
|
1557
|
+
}
|
|
1558
|
+
type AttackBonusDrop = { Reward?: null | { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>; Tag?: null | string; Chance?: null | number; RequiredOutcome?: null | string; } & Record<string, unknown>;
|
|
1559
|
+
/** Server-configured resource operations for all in-stage game events. */
|
|
1560
|
+
interface StageOperations {
|
|
1561
|
+
OnPassStart?: ScaledResourceOperation | null;
|
|
1562
|
+
OnTileLanding?: Record<string, ScaledResourceOperation> | null;
|
|
1563
|
+
OnAttack?: Record<string, ScaledResourceOperation> | null;
|
|
1564
|
+
OnRaid?: Record<string, ScaledResourceOperation> | null;
|
|
1565
|
+
OnBuild?: ScaledResourceOperation | null;
|
|
1566
|
+
OnStageComplete?: ScaledResourceOperation | null;
|
|
1567
|
+
OnAttackBonusDrops?: AttackBonusDrop[] | null;
|
|
1568
|
+
ChanceTablesByID?: Record<string, ChanceTable> | null;
|
|
1569
|
+
SpecialModesByID?: Record<string, SpecialModeDefinition> | null;
|
|
1570
|
+
}
|
|
1571
|
+
/** Stage economy template — also reused as the per-stage Override container (all fields nullable). */
|
|
1572
|
+
interface BoardStageTemplate {
|
|
1573
|
+
BaseAttackReward?: ResourceGrant | null;
|
|
1574
|
+
BaseRaidReward?: ResourceGrant | null;
|
|
1575
|
+
MaxRollMultiplier?: number | null;
|
|
1576
|
+
MaxShields?: number | null;
|
|
1577
|
+
Buildings?: BuildingDefinition[] | null;
|
|
1578
|
+
HeistGridBonusConfig?: HeistGridBonusConfig | null;
|
|
1579
|
+
StageOperations?: StageOperations | null;
|
|
1580
|
+
TileLandingMultiplier?: RewardMultiplierRange | null;
|
|
1581
|
+
EconomyOverride?: StageEconomyOverride | null;
|
|
1582
|
+
}
|
|
1583
|
+
/** Config for a single stage (structural fields; economy comes from the referenced template). */
|
|
1584
|
+
interface BoardStageDefinition {
|
|
1585
|
+
Name?: string | null;
|
|
1586
|
+
AssetPaths?: Record<string, string> | null;
|
|
1587
|
+
BoardTemplateID?: string | null;
|
|
1588
|
+
Buildings?: BuildingDefinition[] | null;
|
|
1589
|
+
StageTemplateID?: string | null;
|
|
1590
|
+
CostMatrixTemplateID?: string | null;
|
|
1591
|
+
UnitValue?: number | null;
|
|
1592
|
+
Override?: BoardStageTemplate | null;
|
|
1593
|
+
}
|
|
1594
|
+
/** Global game board config. Read by clients via GetBoardDefinition / GetBoardDefinitionForLevel. */
|
|
1595
|
+
interface BoardLoopDefinition {
|
|
1596
|
+
RollCurrencyID?: string | null;
|
|
1597
|
+
ShieldCurrencyID?: string | null;
|
|
1598
|
+
RaidMode?: string | null;
|
|
1599
|
+
AllowedRollMultipliers?: number[] | null;
|
|
1600
|
+
BoardTemplatesByID?: Record<string, BoardTemplateDefinition> | null;
|
|
1601
|
+
StageTemplatesByID?: Record<string, BoardStageTemplate> | null;
|
|
1602
|
+
StagesByLevel?: Record<string, BoardStageDefinition> | null;
|
|
1603
|
+
SoftCurrencyID?: string | null;
|
|
1604
|
+
ProceduralEconomy?: ProceduralEconomyConfig | null;
|
|
1605
|
+
Dice?: BoardDiceConfig | null;
|
|
1606
|
+
Bots?: BoardBotConfig | null;
|
|
1607
|
+
}
|
|
1608
|
+
/**
|
|
1609
|
+
* Cooperative Community Chest config. One shared meter per group, milestone rewards + Grand Prize.
|
|
1610
|
+
*
|
|
1611
|
+
* `Milestones` is Dictionary<string, MilestoneDefinition>, where MilestoneDefinition is the
|
|
1612
|
+
* shared Core/Milestone block (zMilestoneDefinition from ../_shared/MilestoneModels).
|
|
1613
|
+
*/
|
|
1614
|
+
interface CommunityChestDefinition {
|
|
1615
|
+
IsActive?: boolean | null;
|
|
1616
|
+
DisplayName?: string | null;
|
|
1617
|
+
AssetPaths?: Record<string, string> | null;
|
|
1618
|
+
AnchorUtc?: string | null;
|
|
1619
|
+
RoundDurationSec?: number | null;
|
|
1620
|
+
PauseBetweenRoundsSec?: number | null;
|
|
1621
|
+
MaxRounds?: number | null;
|
|
1622
|
+
PartnerCount?: number | null;
|
|
1623
|
+
MatchmakingTimeoutMinutes?: number | null;
|
|
1624
|
+
MemberGracePeriodMinutes?: number | null;
|
|
1625
|
+
ContributionMin?: number | null;
|
|
1626
|
+
ContributionMax?: number | null;
|
|
1627
|
+
ScaleContributionWithRollMultiplier?: boolean | null;
|
|
1628
|
+
MaxProgress?: number | null;
|
|
1629
|
+
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
1630
|
+
GrandPrize?: ResourceGrant | null;
|
|
1631
|
+
}
|
|
1632
|
+
/** Root config of the Core Loop system. Holds the nested board + Community Chest configs. */
|
|
1633
|
+
interface GameLoopDefinitions {
|
|
1634
|
+
Board?: BoardLoopDefinition | null;
|
|
1635
|
+
CommunityChest?: CommunityChestDefinition | null;
|
|
1636
|
+
[key: string]: unknown;
|
|
1637
|
+
}
|
|
1638
|
+
type RollActionData = { TargetUserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; IsBot?: null | boolean; TargetBuildingStates?: null | Array<{ SlotIndex: number; Level?: null | number; IsDamaged?: null | boolean; MaxLevelRewardClaimed?: null | boolean; } & Record<string, unknown>>; TargetHasShield?: null | boolean; } & Record<string, unknown>;
|
|
1639
|
+
type SpecialModeOfferData = { ModeID?: null | string; Choices?: null | Array<{ Reward?: null | { ScaleWithRollMultiplier?: null | boolean; Operation?: null | ResourceOperation; } & Record<string, unknown>; Multipliers?: null | { PerAdMultiplierRange?: null | { Max?: null | number; Min?: null | number; } & Record<string, unknown>; MaxAdViews?: null | number; AdCreditCost?: null | number; FormulaKind?: null | string; ApplyMultiplierOnEarlyClaim?: null | boolean; } & Record<string, unknown>; Mode?: null | string; DurationSeconds?: null | number; ChoiceID?: null | string; EntryCost?: null | ResourceConsume; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1640
|
+
type CommunityChestContributionResult = { Completed?: null | boolean; GroupID?: null | string; MaxProgress?: null | number; NewProgress?: null | number; Delta?: null | number; UnlockedMilestoneIDs?: null | Array<string>; } & Record<string, unknown>;
|
|
1641
|
+
interface BoardRollResponse {
|
|
1642
|
+
UsedMultiplier?: number | null;
|
|
1643
|
+
Steps?: number | null;
|
|
1644
|
+
OldPosition?: number | null;
|
|
1645
|
+
NewPosition: number;
|
|
1646
|
+
CyclesCompletedDelta?: number | null;
|
|
1647
|
+
LandedTileType?: string | null;
|
|
1648
|
+
Operation?: ResourceOperation | null;
|
|
1649
|
+
ActionRequired?: string | null;
|
|
1650
|
+
ActionData?: RollActionData | null;
|
|
1651
|
+
SpecialModeOffer?: SpecialModeOfferData | null;
|
|
1652
|
+
CommunityChestContribution?: CommunityChestContributionResult | null;
|
|
1653
|
+
}
|
|
1654
|
+
type AttackResponse = { Outcome?: null | string; Operation?: null | ResourceOperation; IsBotTarget?: null | boolean; BuildingIndexHit?: null | number; DualResult?: null | ResourceDualPartyResult; } & Record<string, unknown>;
|
|
1655
|
+
type RaidResponse = { Status?: null | string; Outcome?: null | string; Operation?: null | ResourceOperation; IsJackpot?: null | boolean; DualResult?: null | ResourceDualPartyResult; FoundSymbol?: null | string | number; FoundBonus?: null | ResourceGrant; OpenedIndex?: null | number; AttemptsLeft?: null | number; RaidLayout?: null | Array<{ Symbol?: null | string | number; OnOpenBonus?: null | ResourceGrant; BonusTag?: null | string; } & Record<string, unknown>>; HeistVariantTag?: null | string; } & Record<string, unknown>;
|
|
1656
|
+
type BuildResponse = { BuiltIndex: number; Operation?: null | ResourceOperation; MaxLevelRewardClaimed?: null | boolean; NewLevel?: null | number; StageComplete?: null | boolean; } & Record<string, unknown>;
|
|
1657
|
+
type SpecialChooseResponse = { Mode?: null | string | number; DurationSeconds?: null | number; ExpiresAtUtc?: null | string; Operation?: null | ResourceOperation; StartedAtUtc?: null | string; } & Record<string, unknown>;
|
|
1658
|
+
type SpecialApplyMultiplierResponse = { AdViewsUsed?: null | number; RolledMultiplier?: null | number; AccumulatedMultiplier?: null | number; RemainingAdViews?: null | number; } & Record<string, unknown>;
|
|
1659
|
+
type SpecialClaimResponse = { Operation?: null | ResourceOperation; AdViewsUsed?: null | number; AccumulatedMultiplier?: null | number; FinalMultiplier?: null | number; IsEarlyClaim?: null | boolean; } & Record<string, unknown>;
|
|
1660
|
+
/** enum CommunityChestStatus — mirror of CoopGroupStatus. */
|
|
1661
|
+
declare const CommunityChestStatus: {
|
|
1662
|
+
readonly Forming: "Forming";
|
|
1663
|
+
readonly Active: "Active";
|
|
1664
|
+
readonly Completed: "Completed";
|
|
1665
|
+
readonly Failed: "Failed";
|
|
1666
|
+
readonly Expired: "Expired";
|
|
1667
|
+
};
|
|
1668
|
+
type CommunityChestStatus = (typeof CommunityChestStatus)[keyof typeof CommunityChestStatus];
|
|
1669
|
+
/** enum CommunityChestMemberStatus — mirror of CoopMemberStatus. */
|
|
1670
|
+
declare const CommunityChestMemberStatus: {
|
|
1671
|
+
readonly Active: "Active";
|
|
1672
|
+
readonly Left: "Left";
|
|
1673
|
+
readonly Replaced: "Replaced";
|
|
1674
|
+
};
|
|
1675
|
+
type CommunityChestMemberStatus = (typeof CommunityChestMemberStatus)[keyof typeof CommunityChestMemberStatus];
|
|
1676
|
+
type CommunityChestSharedState = { CurrentProgress?: null | number; MaxProgress?: null | number; } & Record<string, unknown>;
|
|
1677
|
+
type CommunityChestMember = { UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; IsBot?: null | boolean; MemberStatus?: null | 'Active' | 'Left' | 'Replaced'; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; ContributionPoints?: null | number; ClaimedMilestoneIDs?: null | Array<string>; } & Record<string, unknown>;
|
|
1678
|
+
type CommunityChestGroupDocument = { Status?: null | 'Active' | 'Completed' | 'Expired' | 'Forming' | 'Failed'; GroupID?: null | string; RoundIndex?: null | number; TitleID?: null | string; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; Members?: null | Array<{ UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; IsBot?: null | boolean; MemberStatus?: null | 'Active' | 'Left' | 'Replaced'; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; ContributionPoints?: null | number; ClaimedMilestoneIDs?: null | Array<string>; } & Record<string, unknown>>; Version?: null | number; SharedProgress?: null | { CurrentProgress?: null | number; MaxProgress?: null | number; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1679
|
+
type CommunityChestHistoryEntry = { GroupID?: null | string; RoundIndex?: null | number; FinalStatus?: null | 'Active' | 'Completed' | 'Expired' | 'Forming' | 'Failed'; GrandPrizeReceived?: null | boolean; FinishedAtUtc?: null | string; } & Record<string, unknown>;
|
|
1680
|
+
type UserCommunityChestState = { ActiveGroupID?: null | string; ActiveRoundIndex?: null | number; History?: null | Array<{ GroupID?: null | string; RoundIndex?: null | number; FinalStatus?: null | 'Active' | 'Completed' | 'Expired' | 'Forming' | 'Failed'; GrandPrizeReceived?: null | boolean; FinishedAtUtc?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1681
|
+
type CommunityChestUserStateResponse = { ServerTimeUtc?: null | string; SecondsRemaining?: null | number; UserState?: null | { ActiveGroupID?: null | string; ActiveRoundIndex?: null | number; History?: null | Array<{ GroupID?: null | string; RoundIndex?: null | number; FinalStatus?: null | 'Active' | 'Completed' | 'Expired' | 'Forming' | 'Failed'; GrandPrizeReceived?: null | boolean; FinishedAtUtc?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; ActiveGroup?: null | { Status?: null | 'Active' | 'Completed' | 'Expired' | 'Forming' | 'Failed'; GroupID?: null | string; RoundIndex?: null | number; TitleID?: null | string; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; Members?: null | Array<{ UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; IsBot?: null | boolean; MemberStatus?: null | 'Active' | 'Left' | 'Replaced'; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; ContributionPoints?: null | number; ClaimedMilestoneIDs?: null | Array<string>; } & Record<string, unknown>>; Version?: null | number; SharedProgress?: null | { CurrentProgress?: null | number; MaxProgress?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; };
|
|
1682
|
+
type CommunityChestGroupStateResponse = { ServerTimeUtc?: null | string; SecondsRemaining?: null | number; Group?: null | { Status?: null | 'Active' | 'Completed' | 'Expired' | 'Forming' | 'Failed'; GroupID?: null | string; RoundIndex?: null | number; TitleID?: null | string; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; Members?: null | Array<{ UserID?: null | string; PublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; IsBot?: null | boolean; MemberStatus?: null | 'Active' | 'Left' | 'Replaced'; GrandPrizeClaimed?: null | boolean; JoinedAtUtc?: null | string; LeftAtUtc?: null | string; ContributionPoints?: null | number; ClaimedMilestoneIDs?: null | Array<string>; } & Record<string, unknown>>; Version?: null | number; SharedProgress?: null | { CurrentProgress?: null | number; MaxProgress?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; };
|
|
1683
|
+
type CommunityChestClaimResponse = { ServerTimeUtc?: null | string; Resources?: null | ResourceOperation; MilestoneID?: null | string; GroupID?: null | string; RewardType?: null | string; };
|
|
1684
|
+
type CommunityChestLeaveResponse = { ServerTimeUtc?: null | string; Success?: null | boolean; GroupID?: null | string; };
|
|
1685
|
+
interface GameLoopRequest extends BaseRequest {
|
|
1686
|
+
RollMultiplier?: number;
|
|
1687
|
+
BuildingIndex?: number;
|
|
1688
|
+
DigIndex?: number;
|
|
1689
|
+
StageLevel?: number;
|
|
1690
|
+
DigIndices?: number[];
|
|
1691
|
+
ChoiceID?: string;
|
|
1692
|
+
GroupID?: string;
|
|
1693
|
+
MilestoneID?: string;
|
|
1694
|
+
}
|
|
1695
|
+
declare const GameLoopAction: {
|
|
1696
|
+
readonly GetGameLoops: "GetGameLoops";
|
|
1697
|
+
readonly GetBoardDefinition: "GetBoardDefinition";
|
|
1698
|
+
readonly GetBoardDefinitionForLevel: "GetBoardDefinitionForLevel";
|
|
1699
|
+
readonly GetUserBoardState: "GetUserBoardState";
|
|
1700
|
+
readonly BoardLoopRoll: "BoardLoopRoll";
|
|
1701
|
+
readonly BoardLoopAttack: "BoardLoopAttack";
|
|
1702
|
+
readonly BoardLoopRaid: "BoardLoopRaid";
|
|
1703
|
+
readonly BoardLoopRaidFast: "BoardLoopRaidFast";
|
|
1704
|
+
readonly BoardLoopBuild: "BoardLoopBuild";
|
|
1705
|
+
readonly BoardSpecialChoose: "BoardSpecialChoose";
|
|
1706
|
+
readonly BoardSpecialApplyMultiplier: "BoardSpecialApplyMultiplier";
|
|
1707
|
+
readonly BoardSpecialClaim: "BoardSpecialClaim";
|
|
1708
|
+
readonly GetCommunityChestState: "GetCommunityChestState";
|
|
1709
|
+
readonly JoinOrCreateCommunityChest: "JoinOrCreateCommunityChest";
|
|
1710
|
+
readonly ClaimCommunityChestMilestone: "ClaimCommunityChestMilestone";
|
|
1711
|
+
readonly ClaimCommunityChestGrandPrize: "ClaimCommunityChestGrandPrize";
|
|
1712
|
+
readonly LeaveCommunityChest: "LeaveCommunityChest";
|
|
1713
|
+
};
|
|
1714
|
+
type GameLoopAction = (typeof GameLoopAction)[keyof typeof GameLoopAction];
|
|
1715
|
+
|
|
1716
|
+
/** enum MarketOfferType — which trading mechanic produced this offer. */
|
|
1717
|
+
declare const MarketOfferType: {
|
|
1718
|
+
readonly Listing: "Listing";
|
|
1719
|
+
readonly Auction: "Auction";
|
|
1720
|
+
readonly BuyOrder: "BuyOrder";
|
|
1721
|
+
readonly DirectTrade: "DirectTrade";
|
|
1722
|
+
};
|
|
1723
|
+
type MarketOfferType = (typeof MarketOfferType)[keyof typeof MarketOfferType];
|
|
1724
|
+
/** enum MarketOfferStatus — offer lifecycle status. Expired is set lazily on claim/finalize. */
|
|
1725
|
+
declare const MarketOfferStatus: {
|
|
1726
|
+
readonly Active: "Active";
|
|
1727
|
+
readonly Completed: "Completed";
|
|
1728
|
+
readonly Cancelled: "Cancelled";
|
|
1729
|
+
readonly Declined: "Declined";
|
|
1730
|
+
readonly Expired: "Expired";
|
|
1731
|
+
};
|
|
1732
|
+
type MarketOfferStatus = (typeof MarketOfferStatus)[keyof typeof MarketOfferStatus];
|
|
1733
|
+
/** enum CommissionSink — where marketplace commission goes at settlement. */
|
|
1734
|
+
declare const CommissionSink: {
|
|
1735
|
+
readonly Burn: "Burn";
|
|
1736
|
+
readonly Ledger: "Ledger";
|
|
1737
|
+
};
|
|
1738
|
+
type CommissionSink = (typeof CommissionSink)[keyof typeof CommissionSink];
|
|
1739
|
+
type MarketplaceCommissionOverride = { Percent?: null | number; MinPerPosition?: null | number; } & Record<string, unknown>;
|
|
1740
|
+
type MarketplacePricePolicy = { AllowVirtualCurrency?: null | boolean; AllowItems?: null | boolean; AllowEventTokens?: null | boolean; Allowed?: null | Array<{ MinAmount?: null | number; MaxAmount?: null | number; CurrencyID?: null | string; CatalogID?: null | string; ItemID?: null | string; EntityID?: null | string; Kind?: null | 'Item' | 'VirtualCurrency' | 'EventToken'; TokenType?: null | 'TimedEvent' | 'Quest' | 'Leaderboard' | 'CoopEvent' | 'Season'; } & Record<string, unknown>>; MaxPositions?: null | number; } & Record<string, unknown>;
|
|
1741
|
+
type MarketplaceCommissionPolicy = { Percent?: null | number; MinPerPosition?: null | number; Sink?: null | 'Burn' | 'Ledger'; LedgerAccountID?: null | string; PerCatalogOverrides?: null | Record<string, { Percent?: null | number; MinPerPosition?: null | number; } & Record<string, unknown>>; ApplyToDirectTrades?: null | boolean; } & Record<string, unknown>;
|
|
1742
|
+
type MarketplaceTradabilityPolicy = { AllowedCatalogIDs?: null | Array<string>; DeniedCatalogIDs?: null | Array<string>; DeniedItemIDs?: null | Array<string>; AllowUnstackableWithState?: null | boolean; } & Record<string, unknown>;
|
|
1743
|
+
type MarketplaceListingSettings = { Enabled?: null | boolean; AllowedDurationsHours?: null | Array<number>; MaxActiveListings?: null | number; CreateLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; BuyLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; ListingFee?: null | ResourceConsume; RefundListingFeeOnCancel?: null | boolean; } & Record<string, unknown>;
|
|
1744
|
+
type MarketplaceAuctionSettings = { Enabled?: null | boolean; MinDurationHours?: null | number; MaxDurationHours?: null | number; AntiSnipeWindowSeconds?: null | number; AntiSnipeExtensionSeconds?: null | number; MaxAntiSnipeExtensions?: null | number; MinBidStepPercent?: null | number; MinBidStepAbsolute?: null | number; BidLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1745
|
+
type MarketplaceBuyOrderSettings = { Enabled?: null | boolean; AllowedDurationsHours?: null | Array<number>; CreateLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; MaxActiveOrders?: null | number; FillLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1746
|
+
type MarketplaceDirectTradeSettings = { Enabled?: null | boolean; CreateLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; OfferExpirationHours?: null | number; MaxPendingOutgoing?: null | number; AllowGifts?: null | boolean; } & Record<string, unknown>;
|
|
1747
|
+
type MarketplaceDefinitions = { Enabled?: null | boolean; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; PricePolicy?: null | { AllowVirtualCurrency?: null | boolean; AllowItems?: null | boolean; AllowEventTokens?: null | boolean; Allowed?: null | Array<{ MinAmount?: null | number; MaxAmount?: null | number; CurrencyID?: null | string; CatalogID?: null | string; ItemID?: null | string; EntityID?: null | string; Kind?: null | 'Item' | 'VirtualCurrency' | 'EventToken'; TokenType?: null | 'TimedEvent' | 'Quest' | 'Leaderboard' | 'CoopEvent' | 'Season'; } & Record<string, unknown>>; MaxPositions?: null | number; } & Record<string, unknown>; Commission?: null | { Percent?: null | number; MinPerPosition?: null | number; Sink?: null | 'Burn' | 'Ledger'; LedgerAccountID?: null | string; PerCatalogOverrides?: null | Record<string, { Percent?: null | number; MinPerPosition?: null | number; } & Record<string, unknown>>; ApplyToDirectTrades?: null | boolean; } & Record<string, unknown>; Tradability?: null | { AllowedCatalogIDs?: null | Array<string>; DeniedCatalogIDs?: null | Array<string>; DeniedItemIDs?: null | Array<string>; AllowUnstackableWithState?: null | boolean; } & Record<string, unknown>; Listings?: null | { Enabled?: null | boolean; AllowedDurationsHours?: null | Array<number>; MaxActiveListings?: null | number; CreateLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; BuyLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; ListingFee?: null | ResourceConsume; RefundListingFeeOnCancel?: null | boolean; } & Record<string, unknown>; Auctions?: null | { Enabled?: null | boolean; MinDurationHours?: null | number; MaxDurationHours?: null | number; AntiSnipeWindowSeconds?: null | number; AntiSnipeExtensionSeconds?: null | number; MaxAntiSnipeExtensions?: null | number; MinBidStepPercent?: null | number; MinBidStepAbsolute?: null | number; BidLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; BuyOrders?: null | { Enabled?: null | boolean; AllowedDurationsHours?: null | Array<number>; CreateLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; MaxActiveOrders?: null | number; FillLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; DirectTrades?: null | { Enabled?: null | boolean; CreateLimits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; OfferExpirationHours?: null | number; MaxPendingOutgoing?: null | number; AllowGifts?: null | boolean; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1748
|
+
type MarketplaceBidRefund = { Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>;
|
|
1749
|
+
type MarketplaceAuctionState = { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1750
|
+
type MarketplaceActionCounter = { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>;
|
|
1751
|
+
type UserMarketplaceState = { Create?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; Buy?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; Sell?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; Bid?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1752
|
+
type MarketplaceOfferView = { CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>;
|
|
1753
|
+
type MarketplaceGroupedOfferView = { GoodsCatalogID?: null | string; GoodsItemID?: null | string; OfferCount?: null | number; } & Record<string, unknown>;
|
|
1754
|
+
interface MarketplaceGetDefinitionsResponse {
|
|
1755
|
+
Definitions?: MarketplaceDefinitions | null;
|
|
1756
|
+
IsOpenNow?: boolean | null;
|
|
1757
|
+
GatePassed?: boolean | null;
|
|
1758
|
+
}
|
|
1759
|
+
type MarketplaceBrowseResponse = { Offers?: null | Array<{ CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>>; ContinuationToken?: null | string; } & Record<string, unknown>;
|
|
1760
|
+
type MarketplaceGroupedOffersResponse = { Groups?: null | Array<{ GoodsCatalogID?: null | string; GoodsItemID?: null | string; OfferCount?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1761
|
+
type MarketplaceOfferResponse = { Offer?: null | { CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1762
|
+
type MarketplaceCreateOfferResponse = { Resources?: null | ResourceOperation; OfferID?: null | string; Offer?: null | { CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1763
|
+
type MarketplaceSettlementResponse = { Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; Resources?: null | ResourceOperation; OfferID?: null | string; Settlement?: null | ResourceDualPartyResult; CommissionTaken?: null | ResourceBundle; } & Record<string, unknown>;
|
|
1764
|
+
type MarketplacePlaceBidResponse = { Resources?: null | ResourceOperation; OfferID?: null | string; ExpiresAt?: null | string; CurrentBid?: null | number; BidCount?: null | number; } & Record<string, unknown>;
|
|
1765
|
+
type MarketplaceMyStateResponse = { Limits?: null | { Create?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; Buy?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; Sell?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; Bid?: null | { DailyResetUtc?: null | string; DailyCount?: null | number; LastAt?: null | string; } & Record<string, unknown>; } & Record<string, unknown>; MyOffers?: null | Array<{ CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>>; MyLeadingBids?: null | Array<{ CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>>; MyBuyOrders?: null | Array<{ CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>>; IncomingTrades?: null | Array<{ CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>>; OutgoingTrades?: null | Array<{ CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>>; Claimables?: null | Array<{ CreatedAt?: null | string; Status?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferID?: null | string; ExpiresAt?: null | string; TargetUserID?: null | string; Auction?: null | { BidAxisType?: null | 'Item' | 'VirtualCurrency' | 'CryptoCurrency' | 'UsdCent'; BidCurrencyID?: null | string; BidCatalogID?: null | string; BidItemID?: null | string; StartingBid?: null | number; CurrentBid?: null | number; CurrentBidderID?: null | string; BidCount?: null | number; ExtensionCount?: null | number; PendingRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; CreatorUserID?: null | string; CreatorPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; GoodsInstances?: null | Array<UnstackableItemInstanceState>; Price?: null | ResourceBundle; } & Record<string, unknown>>; DrainedRefunds?: null | Array<{ Amount?: null | number; UserID?: null | string; BidIndex?: null | number; Settled?: null | boolean; SettledAt?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
1766
|
+
type MarketplaceHistoryEntryView = { OfferID?: null | string; CompletedAt?: null | string; FinalStatus?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; CommissionTaken?: null | ResourceBundle; SellerUserID?: null | string; BuyerUserID?: null | string; PricePaid?: null | ResourceBundle; } & Record<string, unknown>;
|
|
1767
|
+
type MarketplaceHistoryResponse = { Entries?: null | Array<{ OfferID?: null | string; CompletedAt?: null | string; FinalStatus?: null | 'Active' | 'Completed' | 'Expired' | 'Cancelled' | 'Declined'; OfferType?: null | 'Listing' | 'Auction' | 'BuyOrder' | 'DirectTrade'; GoodsCatalogID?: null | string; GoodsItemID?: null | string; GoodsAmount?: null | number; CommissionTaken?: null | ResourceBundle; SellerUserID?: null | string; BuyerUserID?: null | string; PricePaid?: null | ResourceBundle; } & Record<string, unknown>>; ContinuationToken?: null | string; } & Record<string, unknown>;
|
|
1768
|
+
interface MarketplaceRequest extends BaseRequest {
|
|
1769
|
+
OfferID?: string;
|
|
1770
|
+
ItemID?: string;
|
|
1771
|
+
CatalogID?: string;
|
|
1772
|
+
GoodsAmount?: number;
|
|
1773
|
+
ItemInstanceIDs?: string[];
|
|
1774
|
+
PriceBundle?: ResourceBundle;
|
|
1775
|
+
RequestedBundle?: ResourceBundle;
|
|
1776
|
+
DurationHours?: number;
|
|
1777
|
+
BidAxisType?: ResourceEntryType;
|
|
1778
|
+
BidCurrencyID?: string;
|
|
1779
|
+
BidCatalogID?: string;
|
|
1780
|
+
BidItemID?: string;
|
|
1781
|
+
StartingBid?: number;
|
|
1782
|
+
BidAmount?: number;
|
|
1783
|
+
TargetUserID?: string;
|
|
1784
|
+
Accept?: boolean;
|
|
1785
|
+
PageSize?: number;
|
|
1786
|
+
ContinuationToken?: string;
|
|
1787
|
+
OfferTypeFilter?: MarketOfferType;
|
|
1788
|
+
}
|
|
1789
|
+
declare const MarketplaceAction: {
|
|
1790
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
1791
|
+
readonly GetGroupedOffers: "GetGroupedOffers";
|
|
1792
|
+
readonly GetOffersByItem: "GetOffersByItem";
|
|
1793
|
+
readonly GetOffer: "GetOffer";
|
|
1794
|
+
readonly GetBuyOrders: "GetBuyOrders";
|
|
1795
|
+
readonly GetMyState: "GetMyState";
|
|
1796
|
+
readonly GetHistory: "GetHistory";
|
|
1797
|
+
readonly CreateListing: "CreateListing";
|
|
1798
|
+
readonly CancelListing: "CancelListing";
|
|
1799
|
+
readonly Buy: "Buy";
|
|
1800
|
+
readonly CreateAuction: "CreateAuction";
|
|
1801
|
+
readonly PlaceBid: "PlaceBid";
|
|
1802
|
+
readonly ClaimAuction: "ClaimAuction";
|
|
1803
|
+
readonly CreateBuyOrder: "CreateBuyOrder";
|
|
1804
|
+
readonly CancelBuyOrder: "CancelBuyOrder";
|
|
1805
|
+
readonly FillBuyOrder: "FillBuyOrder";
|
|
1806
|
+
readonly CreateDirectTrade: "CreateDirectTrade";
|
|
1807
|
+
readonly RespondDirectTrade: "RespondDirectTrade";
|
|
1808
|
+
readonly CancelDirectTrade: "CancelDirectTrade";
|
|
1809
|
+
readonly ClaimBack: "ClaimBack";
|
|
1810
|
+
};
|
|
1811
|
+
type MarketplaceAction = (typeof MarketplaceAction)[keyof typeof MarketplaceAction];
|
|
1812
|
+
type FodderConsumedEntry = { Level: number; ItemInstanceID: string; Units: number; };
|
|
1813
|
+
type UpgradeItemLevelResponse = { ServerTimeUtc: string; Level: number; ItemID: string; ItemInstanceID: string; CatalogID?: null | string; Resources?: null | ResourceOperation; FodderConsumed?: null | Array<FodderConsumedEntry>; };
|
|
1814
|
+
type UpgradeLevelsBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | UpgradeItemLevelResponse; }>;
|
|
1815
|
+
/** One instance's upgrade in a batch (with optional multi-level Levels/TargetLevel). */
|
|
1816
|
+
interface ItemUpgradeRef {
|
|
1817
|
+
ItemInstanceID?: string;
|
|
1818
|
+
Levels?: number;
|
|
1819
|
+
TargetLevel?: number;
|
|
1820
|
+
FodderInstanceIDs?: string[];
|
|
1821
|
+
}
|
|
1822
|
+
interface ItemRequest extends BaseRequest {
|
|
1823
|
+
ItemInstanceID?: string;
|
|
1824
|
+
Levels?: number;
|
|
1825
|
+
TargetLevel?: number;
|
|
1826
|
+
FodderInstanceIDs?: string[];
|
|
1827
|
+
/** UpgradeLevelsBatch: per-instance upgrades (deduped by ItemInstanceID). */
|
|
1828
|
+
Upgrades?: ItemUpgradeRef[];
|
|
1829
|
+
}
|
|
1830
|
+
declare const ItemAction: {
|
|
1831
|
+
readonly UpgradeLevel: "UpgradeLevel";
|
|
1832
|
+
readonly UpgradeLevelsBatch: "UpgradeLevelsBatch";
|
|
1833
|
+
};
|
|
1834
|
+
type ItemAction = (typeof ItemAction)[keyof typeof ItemAction];
|
|
1835
|
+
declare const FodderValuationMode: {
|
|
1836
|
+
readonly FlatCount: "FlatCount";
|
|
1837
|
+
readonly Merge: "Merge";
|
|
1838
|
+
readonly InvestmentRefund: "InvestmentRefund";
|
|
1839
|
+
};
|
|
1840
|
+
type FodderValuationMode = (typeof FodderValuationMode)[keyof typeof FodderValuationMode];
|
|
1841
|
+
declare const FodderSelectionMode: {
|
|
1842
|
+
readonly ProtectLeveled: "ProtectLeveled";
|
|
1843
|
+
readonly CheapestFirst: "CheapestFirst";
|
|
1844
|
+
readonly ClientSelected: "ClientSelected";
|
|
1845
|
+
};
|
|
1846
|
+
type FodderSelectionMode = (typeof FodderSelectionMode)[keyof typeof FodderSelectionMode];
|
|
1847
|
+
type NFTNetworkBinding = { ContractAddress?: null | string; TokenID?: null | string; TokenStandard?: null | string; } & Record<string, unknown>;
|
|
1848
|
+
type NFTModel = { Networks?: null | Record<string, { ContractAddress?: null | string; TokenID?: null | string; TokenStandard?: null | string; } & Record<string, unknown>>; MetadataUrl?: null | string; } & Record<string, unknown>;
|
|
1849
|
+
type ItemStats = { Power?: null | number; FlatBonuses?: null | Record<string, number>; PercentBonuses?: null | Record<string, number>; } & Record<string, unknown>;
|
|
1850
|
+
type ItemEquipment = { MinCharacterLevel?: null | number; UseRequirements?: null | Record<string, number>; AllowedCharacterIDs?: null | Array<string>; AllowedSlotIDs?: null | Array<string>; } & Record<string, unknown>;
|
|
1851
|
+
type ItemUpgradeFodder = { ValuationMode?: null | 'FlatCount' | 'Merge' | 'InvestmentRefund'; MergeRatio?: null | number; Selection?: null | 'ProtectLeveled' | 'CheapestFirst' | 'ClientSelected'; } & Record<string, unknown>;
|
|
1852
|
+
type ItemUpgrade = { MaxLevel?: null | number; BaseCostResource?: null | ResourceConsume; CostScalingFactor?: null | number; FlatScalingFactor?: null | number; PercentScalingFactor?: null | number; PowerScalingFactor?: null | number; Fodder?: null | { ValuationMode?: null | 'FlatCount' | 'Merge' | 'InvestmentRefund'; MergeRatio?: null | number; Selection?: null | 'ProtectLeveled' | 'CheapestFirst' | 'ClientSelected'; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
1853
|
+
type ItemMetadata = { CollectionID?: null | string; RarityID?: null | string; AuthorID?: null | string; } & Record<string, unknown>;
|
|
1854
|
+
type ItemDefinition = { CatalogID: string; ItemID: string; IsTradable?: null | boolean; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Description?: null | string; Weight?: null | number; Equipment?: null | { MinCharacterLevel?: null | number; UseRequirements?: null | Record<string, number>; AllowedCharacterIDs?: null | Array<string>; AllowedSlotIDs?: null | Array<string>; } & Record<string, unknown>; CustomData?: null | string; Stats?: null | { Power?: null | number; FlatBonuses?: null | Record<string, number>; PercentBonuses?: null | Record<string, number>; } & Record<string, unknown>; Tags?: null | Array<string>; ItemClass?: null | string; IsStackable?: null | boolean; NFT?: null | { Networks?: null | Record<string, { ContractAddress?: null | string; TokenID?: null | string; TokenStandard?: null | string; } & Record<string, unknown>>; MetadataUrl?: null | string; } & Record<string, unknown>; Upgrade?: null | { MaxLevel?: null | number; BaseCostResource?: null | ResourceConsume; CostScalingFactor?: null | number; FlatScalingFactor?: null | number; PercentScalingFactor?: null | number; PowerScalingFactor?: null | number; Fodder?: null | { ValuationMode?: null | 'FlatCount' | 'Merge' | 'InvestmentRefund'; MergeRatio?: null | number; Selection?: null | 'ProtectLeveled' | 'CheapestFirst' | 'ClientSelected'; } & Record<string, unknown>; } & Record<string, unknown>; Metadata?: null | { CollectionID?: null | string; RarityID?: null | string; AuthorID?: null | string; } & Record<string, unknown>; ExpirationDurationSeconds?: null | number; } & Record<string, unknown>;
|
|
1855
|
+
/** Catalog: a set of items of one thematic group. Key of `Items` is ItemID. */
|
|
1856
|
+
interface ItemCatalog {
|
|
1857
|
+
Items?: Record<string, ItemDefinition> | null;
|
|
1858
|
+
}
|
|
1859
|
+
/** Root container for all item catalogs of a title. Key of `Catalogs` is CatalogID. */
|
|
1860
|
+
interface ItemDefinitions {
|
|
1861
|
+
Catalogs?: Record<string, ItemCatalog> | null;
|
|
1862
|
+
}
|
|
1863
|
+
type BonusWindowConfig = { MaxCycles?: null | number; Schedule?: null | Array<{ Type?: null | string; Order?: null | number; DurationSec?: null | number; BonusMultiplier?: null | number; } & Record<string, unknown>>; RepeatCycle?: null | boolean; } & Record<string, unknown>;
|
|
1864
|
+
type BonusWindowState = { IsActive?: null | boolean; CurrentPhaseEndUtc?: null | string; NextBonusStartUtc?: null | string; CurrentCycleIndex?: null | number; CurrentPhaseIndex?: null | number; ActiveBonusMultiplier?: null | number; } & Record<string, unknown>;
|
|
1865
|
+
/**
|
|
1866
|
+
* Container of preset wiring for event content — one PresetBinding per block. Inline data
|
|
1867
|
+
* (Milestones) lives on EventContent. null = presets unused.
|
|
1868
|
+
*/
|
|
1869
|
+
interface TimedEventPresetBindings {
|
|
1870
|
+
Milestones?: PresetBinding | null;
|
|
1871
|
+
}
|
|
1872
|
+
/** Event content: display, token, sources, rewards, milestones, bonus window. */
|
|
1873
|
+
interface EventContent {
|
|
1874
|
+
DisplayName?: string | null;
|
|
1875
|
+
Description?: string | null;
|
|
1876
|
+
AssetPaths?: Record<string, string> | null;
|
|
1877
|
+
Category?: string | null;
|
|
1878
|
+
Token?: EventTokenDefinition | null;
|
|
1879
|
+
TokenSources?: TriggerSource[] | null;
|
|
1880
|
+
ClaimMode?: string | null;
|
|
1881
|
+
Milestones?: Record<string, MilestoneDefinition> | null;
|
|
1882
|
+
/** Container of content preset wiring (milestones). null = presets unused. */
|
|
1883
|
+
Presets?: TimedEventPresetBindings | null;
|
|
1884
|
+
BonusWindow?: BonusWindowConfig | null;
|
|
1885
|
+
}
|
|
1886
|
+
/** One event inside a cyclic chain (dates computed from AnchorUtc + DurationSec). */
|
|
1887
|
+
interface ChainedEventDefinition {
|
|
1888
|
+
ChainedEventID?: string | null;
|
|
1889
|
+
Order?: number | null;
|
|
1890
|
+
DurationSec?: number | null;
|
|
1891
|
+
Content?: EventContent | null;
|
|
1892
|
+
ClaimGraceHours?: number | null;
|
|
1893
|
+
CustomParams?: Record<string, string> | null;
|
|
1894
|
+
}
|
|
1895
|
+
/** Definition of a single event (Scheduled single-window or Chained phase-chain). */
|
|
1896
|
+
interface TimedEventDefinition {
|
|
1897
|
+
TimedEventID?: string | null;
|
|
1898
|
+
DisplayName?: string | null;
|
|
1899
|
+
Description?: string | null;
|
|
1900
|
+
AssetPaths?: Record<string, string> | null;
|
|
1901
|
+
Schedule?: ScheduleSpec | null;
|
|
1902
|
+
Content?: EventContent | null;
|
|
1903
|
+
Events?: ChainedEventDefinition[] | null;
|
|
1904
|
+
Gate?: SegmentGate | null;
|
|
1905
|
+
CustomParams?: Record<string, string> | null;
|
|
1906
|
+
}
|
|
1907
|
+
type LimitedTimeEventsGlobalSettings = { MaxConcurrentEvents?: null | number; } & Record<string, unknown>;
|
|
1908
|
+
/** Registry of reusable event presets (milestones). Phases/events reference them via EventContent.Presets. */
|
|
1909
|
+
interface TimedEventPresetRegistry {
|
|
1910
|
+
Milestones?: Record<string, MilestoneSet> | null;
|
|
1911
|
+
}
|
|
1912
|
+
/** Root config of the limited-time events system, returned by getDefinitions(). */
|
|
1913
|
+
interface TimedEventDefinitions {
|
|
1914
|
+
Definitions?: Record<string, TimedEventDefinition> | null;
|
|
1915
|
+
Settings?: LimitedTimeEventsGlobalSettings | null;
|
|
1916
|
+
/** Registry of reusable event presets (milestones). null = unused. */
|
|
1917
|
+
Presets?: TimedEventPresetRegistry | null;
|
|
1918
|
+
}
|
|
1919
|
+
interface ActiveEventInfo {
|
|
1920
|
+
Type?: ScheduleMode;
|
|
1921
|
+
TimedEventID?: string;
|
|
1922
|
+
CurrentChainedEventID?: string | null;
|
|
1923
|
+
Content?: EventContent | null;
|
|
1924
|
+
Progress?: UserEventTokenProgress | null;
|
|
1925
|
+
ComputedStartUtc?: string | null;
|
|
1926
|
+
ComputedEndUtc?: string | null;
|
|
1927
|
+
CanEarn?: boolean | null;
|
|
1928
|
+
CanClaim?: boolean | null;
|
|
1929
|
+
NextMilestone?: MilestoneDefinition | null;
|
|
1930
|
+
BonusWindow?: BonusWindowState | null;
|
|
1931
|
+
CurrentCycleIndex?: number | null;
|
|
1932
|
+
/** Chained-mode only: this event's 1-based position within the chain. */
|
|
1933
|
+
CurrentEventOrder?: number | null;
|
|
1934
|
+
/** Chained-mode only: total number of events in the chain. */
|
|
1935
|
+
TotalEventsInChain?: number | null;
|
|
1936
|
+
}
|
|
1937
|
+
interface GetActiveEventsResponse {
|
|
1938
|
+
ActiveEvents?: ActiveEventInfo[] | null;
|
|
1939
|
+
}
|
|
1940
|
+
type UserTimedEventStateResponse = { Tokens?: null | Record<string, UserEventTokenProgress>; };
|
|
1941
|
+
type EventTokenSpendResponse = { Type?: null | 'Scheduled' | 'Cyclic' | 'Chained'; Resources?: null | ResourceOperation; LteID?: null | string; };
|
|
1942
|
+
type EventMilestoneClaimResponse = { Type?: null | 'Scheduled' | 'Cyclic' | 'Chained'; Rewards?: null | ResourceOperation; MilestoneID?: null | string; LteID?: null | string; };
|
|
1943
|
+
type EventTokenGrantResponse = { Type?: null | 'Scheduled' | 'Cyclic' | 'Chained'; Resources?: null | ResourceOperation; LteID?: null | string; };
|
|
1944
|
+
type ClaimMilestonesBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | EventMilestoneClaimResponse; }>;
|
|
1945
|
+
type SpendTokensBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | EventTokenSpendResponse; }>;
|
|
1946
|
+
type GrantTokensBatchResponse = Array<{ Id: string; Success: boolean; Error?: null | string; Data?: null | EventTokenGrantResponse; }>;
|
|
1947
|
+
/** Addresses one event instance in a batch request (Type+LteID, optionally CycleIndex/ChainedEventID). */
|
|
1948
|
+
interface TimedEventInstanceRef {
|
|
1949
|
+
Type?: ScheduleMode;
|
|
1950
|
+
LteID?: string;
|
|
1951
|
+
CycleIndex?: number;
|
|
1952
|
+
ChainedEventID?: string;
|
|
1953
|
+
}
|
|
1954
|
+
/** One milestone claim in a batch (for ClaimMilestonesBatch). */
|
|
1955
|
+
interface TimedEventMilestoneRef extends TimedEventInstanceRef {
|
|
1956
|
+
MilestoneID?: string;
|
|
1957
|
+
}
|
|
1958
|
+
/** One token spend in a batch (for SpendTokensBatch). */
|
|
1959
|
+
interface TimedEventSpendRef extends TimedEventInstanceRef {
|
|
1960
|
+
SpendAmount?: number;
|
|
1961
|
+
RelatedEntityID?: string;
|
|
1962
|
+
}
|
|
1963
|
+
/** One token grant in a batch (for GrantTokensBatch). */
|
|
1964
|
+
interface TimedEventGrantRef extends TimedEventInstanceRef {
|
|
1965
|
+
SourceType?: string;
|
|
1966
|
+
Outcome?: string;
|
|
1967
|
+
SourceParams?: Record<string, string>;
|
|
1968
|
+
AmountOverride?: number;
|
|
1969
|
+
RollMultiplier?: number;
|
|
1970
|
+
RelatedEntityID?: string;
|
|
1971
|
+
}
|
|
1972
|
+
interface TimedEventRequest extends BaseRequest {
|
|
1973
|
+
Type?: ScheduleMode;
|
|
1974
|
+
LteID?: string;
|
|
1975
|
+
CycleIndex?: number;
|
|
1976
|
+
ChainedEventID?: string;
|
|
1977
|
+
SourceType?: string;
|
|
1978
|
+
AmountOverride?: number;
|
|
1979
|
+
SourceParams?: Record<string, string>;
|
|
1980
|
+
SpendAmount?: number;
|
|
1981
|
+
MilestoneID?: string;
|
|
1982
|
+
Outcome?: string;
|
|
1983
|
+
RollMultiplier?: number;
|
|
1984
|
+
/** ClaimMilestonesBatch: milestones to claim (deduped by Type+LteID+instance+MilestoneID). */
|
|
1985
|
+
Milestones?: TimedEventMilestoneRef[];
|
|
1986
|
+
/** ClaimAllMilestones: event instances to sweep. Null/empty = all active events. */
|
|
1987
|
+
Events?: TimedEventInstanceRef[];
|
|
1988
|
+
/** SpendTokensBatch: spends to apply (deduped by Type+LteID+instance). */
|
|
1989
|
+
Spends?: TimedEventSpendRef[];
|
|
1990
|
+
/** GrantTokensBatch: grants to apply (deduped by event address). */
|
|
1991
|
+
Grants?: TimedEventGrantRef[];
|
|
1992
|
+
}
|
|
1993
|
+
declare const TimedEventAction: {
|
|
1994
|
+
readonly GetActiveEvents: "GetActiveEvents";
|
|
1995
|
+
readonly GrantTokens: "GrantTokens";
|
|
1996
|
+
readonly SpendTokens: "SpendTokens";
|
|
1997
|
+
readonly ClaimMilestone: "ClaimMilestone";
|
|
1998
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
1999
|
+
readonly GetUserLteState: "GetUserLteState";
|
|
2000
|
+
readonly ClaimMilestonesBatch: "ClaimMilestonesBatch";
|
|
2001
|
+
readonly ClaimAllMilestones: "ClaimAllMilestones";
|
|
2002
|
+
readonly SpendTokensBatch: "SpendTokensBatch";
|
|
2003
|
+
readonly GrantTokensBatch: "GrantTokensBatch";
|
|
2004
|
+
};
|
|
2005
|
+
type TimedEventAction = (typeof TimedEventAction)[keyof typeof TimedEventAction];
|
|
2006
|
+
|
|
2007
|
+
declare const CraftType: {
|
|
2008
|
+
readonly TradeUpRarity: "TradeUpRarity";
|
|
2009
|
+
readonly TradeUpCollection: "TradeUpCollection";
|
|
2010
|
+
};
|
|
2011
|
+
type CraftType = (typeof CraftType)[keyof typeof CraftType];
|
|
2012
|
+
type CraftSingleResult = { Index?: null | number; BurnedItemIDs?: null | Array<string>; RolledCollectionID?: null | string; UsedCollections?: null | Record<string, number>; Output?: null | ResourceEntry; };
|
|
2013
|
+
type CraftResponse = { ServerTimeUtc: string; CraftID: string; Type?: null | 'TradeUpRarity' | 'TradeUpCollection'; Resources?: null | ResourceOperation; SelectedOptionID?: null | string; Results?: null | Array<CraftSingleResult>; CraftedCount?: null | number; InputRarity?: null | string; OutputRarity?: null | string; };
|
|
2014
|
+
type CraftDefinition = { Type?: null | 'TradeUpRarity' | 'TradeUpCollection'; CatalogID?: null | string; PriceOptions?: null | Record<string, { RequiredResources?: null | ResourceConsume; OptionID?: null | string; } & Record<string, unknown>>; CollectionID?: null | string; CraftID?: null | string; InputRarityID?: null | string; OutputRarityID?: null | string; RequiredItemCount?: null | number; } & Record<string, unknown>;
|
|
2015
|
+
/** The title's craft catalog (config), returned by getDefinitions(). */
|
|
2016
|
+
interface CraftDefinitions {
|
|
2017
|
+
Definitions?: Record<string, CraftDefinition> | null;
|
|
2018
|
+
}
|
|
2019
|
+
type CraftDefinitionsResponse = { ServerTimeUtc?: null | string; CraftDefinitions?: null | CraftDefinitions; };
|
|
2020
|
+
interface CraftRequest extends BaseRequest {
|
|
2021
|
+
CraftID?: string;
|
|
2022
|
+
Count?: number;
|
|
2023
|
+
SelectedOptionID?: string;
|
|
2024
|
+
InputItemIDs?: string[];
|
|
2025
|
+
}
|
|
2026
|
+
declare const CraftAction: {
|
|
2027
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
2028
|
+
readonly Craft: "Craft";
|
|
2029
|
+
};
|
|
2030
|
+
type CraftAction = (typeof CraftAction)[keyof typeof CraftAction];
|
|
2031
|
+
type ExperimentVariant = { DisplayName?: null | string; Weight?: null | number; Params?: null | Record<string, string>; VariantID?: null | string; IsControl?: null | boolean; } & Record<string, unknown>;
|
|
2032
|
+
type ExperimentDefinition = { DisplayName?: null | string; ExperimentID?: null | string; Variants?: null | Array<{ DisplayName?: null | string; Weight?: null | number; Params?: null | Record<string, string>; VariantID?: null | string; IsControl?: null | boolean; } & Record<string, unknown>>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; CustomParams?: null | Record<string, string>; IsEnabled?: null | boolean; Salt?: null | string; LayerID?: null | string; StickyAssignment?: null | boolean; } & Record<string, unknown>;
|
|
2033
|
+
type ExperimentDefinitions = { Experiments?: null | Record<string, { DisplayName?: null | string; ExperimentID?: null | string; Variants?: null | Array<{ DisplayName?: null | string; Weight?: null | number; Params?: null | Record<string, string>; VariantID?: null | string; IsControl?: null | boolean; } & Record<string, unknown>>; Description?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; Schedule?: null | { Mode?: null | string; IsActive?: null | boolean; Scheduled?: null | { StartUtc?: null | string; EndUtc?: null | string; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; Chain?: null | { AnchorUtc?: null | string; MaxCycles?: null | number; PauseBetweenPhasesSec?: null | number; PauseBetweenCyclesSec?: null | number; } & Record<string, unknown>; Cyclic?: null | { ClaimGraceHours?: null | number; AnchorUtc?: null | string; PauseBetweenCyclesSec?: null | number; Reset?: null | string; IntervalSeconds?: null | number; } & Record<string, unknown>; ActivationTriggers?: null | Array<{ SourceType?: null | string; Limits?: null | { TotalCap?: null | number; DailyCap?: null | number; DailyWeightCap?: null | number; PerActivationCap?: null | number; CooldownSeconds?: null | number; MaxPerWindow?: null | number; WindowSeconds?: null | number; } & Record<string, unknown>; Params?: null | Record<string, string>; BaseWeight?: null | number; ScaleWithRollMultiplier?: null | boolean; TileTypeFilter?: null | Array<string>; TileIndexFilter?: null | Array<number>; ChanceOutcomeFilter?: null | Array<string>; OutcomeFilter?: null | Array<string>; } & Record<string, unknown>>; Relative?: null | { OffsetSecondsFromParentStart?: null | number; DurationSeconds?: null | number; AllowEarningAfterEnd?: null | boolean; ClaimGraceHours?: null | number; } & Record<string, unknown>; } & Record<string, unknown>; CustomParams?: null | Record<string, string>; IsEnabled?: null | boolean; Salt?: null | string; LayerID?: null | string; StickyAssignment?: null | boolean; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2034
|
+
|
|
2035
|
+
/** enum MultiplayerTopology — p2p connection topology within a room. */
|
|
2036
|
+
declare const MultiplayerTopology: {
|
|
2037
|
+
readonly Mesh: "Mesh";
|
|
2038
|
+
readonly Host: "Host";
|
|
2039
|
+
};
|
|
2040
|
+
type MultiplayerTopology = (typeof MultiplayerTopology)[keyof typeof MultiplayerTopology];
|
|
2041
|
+
/** enum MultiplayerChatMode — whether chat is server-relayed or p2p-only over the DataChannel. */
|
|
2042
|
+
declare const MultiplayerChatMode: {
|
|
2043
|
+
readonly ServerRelay: "ServerRelay";
|
|
2044
|
+
readonly P2P: "P2P";
|
|
2045
|
+
};
|
|
2046
|
+
type MultiplayerChatMode = (typeof MultiplayerChatMode)[keyof typeof MultiplayerChatMode];
|
|
2047
|
+
/** enum RoomVisibility — whether a room appears in the public ListRooms listing. */
|
|
2048
|
+
declare const RoomVisibility: {
|
|
2049
|
+
readonly Public: "Public";
|
|
2050
|
+
readonly Private: "Private";
|
|
2051
|
+
};
|
|
2052
|
+
type RoomVisibility = (typeof RoomVisibility)[keyof typeof RoomVisibility];
|
|
2053
|
+
/** enum EnvelopeType — kind of realtime envelope delivered via Poll. */
|
|
2054
|
+
declare const EnvelopeType: {
|
|
2055
|
+
readonly Signal: "Signal";
|
|
2056
|
+
readonly Chat: "Chat";
|
|
2057
|
+
readonly PlayerJoined: "PlayerJoined";
|
|
2058
|
+
readonly PlayerLeft: "PlayerLeft";
|
|
2059
|
+
readonly HostChanged: "HostChanged";
|
|
2060
|
+
readonly RoomClosed: "RoomClosed";
|
|
2061
|
+
readonly MemberState: "MemberState";
|
|
2062
|
+
};
|
|
2063
|
+
type EnvelopeType = (typeof EnvelopeType)[keyof typeof EnvelopeType];
|
|
2064
|
+
type IceServer = { Username?: null | string; Urls?: null | string; Credential?: null | string; } & Record<string, unknown>;
|
|
2065
|
+
type MultiplayerSystemState = { Enabled?: null | boolean; } & Record<string, unknown>;
|
|
2066
|
+
type MultiplayerDefinitions = { SystemState?: null | { Enabled?: null | boolean; } & Record<string, unknown>; DefaultTopology?: null | 'Mesh' | 'Host'; AllowCreatorTopologyOverride?: null | boolean; DefaultChatMode?: null | 'ServerRelay' | 'P2P'; AllowCreatorChatOverride?: null | boolean; MaxPlayersPerRoom?: null | number; RoomTtlSeconds?: null | number; HeartbeatIntervalMs?: null | number; MemberTimeoutMs?: null | number; MaxSignalPayloadBytes?: null | number; MaxChatTextLength?: null | number; RoomLogCap?: null | number; IceServers?: null | Array<{ Username?: null | string; Urls?: null | string; Credential?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2067
|
+
type RoomMemberView = { Level?: null | number; State?: null | Record<string, string>; Username?: null | string; AvatarUrl?: null | string; Power?: null | number; UserID?: null | string; JoinedAt?: null | number; Ready?: null | boolean; IsHost?: null | boolean; LastSeenMs?: null | number; } & Record<string, unknown>;
|
|
2068
|
+
type RoomListItem = { CreatedAt?: null | number; Name?: null | string; RoomID?: null | string; HostUserID?: null | string; Topology?: null | 'Mesh' | 'Host'; ChatMode?: null | 'ServerRelay' | 'P2P'; MaxPlayers?: null | number; MemberCount?: null | number; } & Record<string, unknown>;
|
|
2069
|
+
type RealtimeEnvelope = { Type?: null | 'Signal' | 'Chat' | 'PlayerJoined' | 'PlayerLeft' | 'HostChanged' | 'RoomClosed' | 'MemberState'; FromUserID?: null | string; ToUserID?: null | string; Kind?: null | string; Seq?: null | number; Payload?: null | string; Ts?: null | number; } & Record<string, unknown>;
|
|
2070
|
+
type RoomSnapshotResponse = { Status?: null | string; Name?: null | string; OwnerUserID?: null | string; Members?: null | Array<{ Level?: null | number; State?: null | Record<string, string>; Username?: null | string; AvatarUrl?: null | string; Power?: null | number; UserID?: null | string; JoinedAt?: null | number; Ready?: null | boolean; IsHost?: null | boolean; LastSeenMs?: null | number; } & Record<string, unknown>>; IceServers?: null | Array<{ Username?: null | string; Urls?: null | string; Credential?: null | string; } & Record<string, unknown>>; RoomID?: null | string; HostUserID?: null | string; Topology?: null | 'Mesh' | 'Host'; ChatMode?: null | 'ServerRelay' | 'P2P'; MaxPlayers?: null | number; Seq?: null | number; Visibility?: null | 'Private' | 'Public'; } & Record<string, unknown>;
|
|
2071
|
+
type LeaveRoomResponse = { Closed?: null | boolean; NewHostUserID?: null | string; } & Record<string, unknown>;
|
|
2072
|
+
type RoomsPageResponse = { Page?: null | number; PageSize?: null | number; HasMore?: null | boolean; Rooms?: null | Array<{ CreatedAt?: null | number; Name?: null | string; RoomID?: null | string; HostUserID?: null | string; Topology?: null | 'Mesh' | 'Host'; ChatMode?: null | 'ServerRelay' | 'P2P'; MaxPlayers?: null | number; MemberCount?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2073
|
+
type PollResponse = { Envelopes?: null | Array<{ Type?: null | 'Signal' | 'Chat' | 'PlayerJoined' | 'PlayerLeft' | 'HostChanged' | 'RoomClosed' | 'MemberState'; FromUserID?: null | string; ToUserID?: null | string; Kind?: null | string; Seq?: null | number; Payload?: null | string; Ts?: null | number; } & Record<string, unknown>>; MaxSeq?: null | number; } & Record<string, unknown>;
|
|
2074
|
+
type PublishResponse = { Seq?: null | number; } & Record<string, unknown>;
|
|
2075
|
+
interface MultiplayerRequest extends BaseRequest {
|
|
2076
|
+
RoomID?: string;
|
|
2077
|
+
RoomName?: string;
|
|
2078
|
+
Topology?: MultiplayerTopology;
|
|
2079
|
+
ChatMode?: MultiplayerChatMode;
|
|
2080
|
+
MaxPlayers?: number;
|
|
2081
|
+
Visibility?: RoomVisibility;
|
|
2082
|
+
JoinCode?: string;
|
|
2083
|
+
TargetUserID?: string;
|
|
2084
|
+
/** "offer" / "answer" / "candidate". */
|
|
2085
|
+
SignalKind?: string;
|
|
2086
|
+
Payload?: string;
|
|
2087
|
+
/** Only meaningful when the room's ChatMode is ServerRelay. */
|
|
2088
|
+
ChatText?: string;
|
|
2089
|
+
Ready?: boolean;
|
|
2090
|
+
MemberState?: Record<string, string>;
|
|
2091
|
+
/** Poll cursor: server returns everything with seq > LastSeq. */
|
|
2092
|
+
LastSeq?: number;
|
|
2093
|
+
Page?: number;
|
|
2094
|
+
PageSize?: number;
|
|
2095
|
+
}
|
|
2096
|
+
declare const MultiplayerAction: {
|
|
2097
|
+
readonly CreateRoom: "CreateRoom";
|
|
2098
|
+
readonly JoinRoom: "JoinRoom";
|
|
2099
|
+
readonly LeaveRoom: "LeaveRoom";
|
|
2100
|
+
readonly ListRooms: "ListRooms";
|
|
2101
|
+
readonly GetRoom: "GetRoom";
|
|
2102
|
+
readonly CloseRoom: "CloseRoom";
|
|
2103
|
+
readonly Poll: "Poll";
|
|
2104
|
+
readonly SendSignal: "SendSignal";
|
|
2105
|
+
readonly SendChat: "SendChat";
|
|
2106
|
+
readonly SetMemberState: "SetMemberState";
|
|
2107
|
+
};
|
|
2108
|
+
type MultiplayerAction = (typeof MultiplayerAction)[keyof typeof MultiplayerAction];
|
|
2109
|
+
type TitlePublicData = { UpdatedAt?: null | string; Data?: null | string; SchemaVersion?: null | number; };
|
|
2110
|
+
type TitleCustomData = { PublicData?: null | Record<string, TitlePublicData>; PrivateData?: null | Record<string, TitlePublicData>; };
|
|
2111
|
+
interface TitlePublicConfigurationModel {
|
|
2112
|
+
TitleCustomData?: TitleCustomData | null;
|
|
2113
|
+
Character?: CharacterDefinitions | null;
|
|
2114
|
+
Item?: ItemDefinitions | null;
|
|
2115
|
+
Currency?: CurrencyDefinitions | null;
|
|
2116
|
+
Store?: StoreDefinitions | null;
|
|
2117
|
+
Lootbox?: LootboxDefinitions | null;
|
|
2118
|
+
Quest?: QuestDefinitions | null;
|
|
2119
|
+
TimedEvent?: TimedEventDefinitions | null;
|
|
2120
|
+
Leaderboard?: LeaderboardDefinitions | null;
|
|
2121
|
+
Season?: SeasonDefinitions | null;
|
|
2122
|
+
Reward?: RewardDefinitions | null;
|
|
2123
|
+
Collection?: CollectionDefinitions | null;
|
|
2124
|
+
Craft?: CraftDefinitions | null;
|
|
2125
|
+
DealOffer?: DealOfferDefinitions | null;
|
|
2126
|
+
Premium?: PremiumDefinitions | null;
|
|
2127
|
+
TimedBoost?: TimedBoostDefinitions | null;
|
|
2128
|
+
CoopEvent?: CoopEventDefinitions | null;
|
|
2129
|
+
GameLoop?: GameLoopDefinitions | null;
|
|
2130
|
+
Match?: MatchDefinitions | null;
|
|
2131
|
+
Experiment?: ExperimentDefinitions | null;
|
|
2132
|
+
Blockchain?: BlockchainDefinitions | null;
|
|
2133
|
+
Marketplace?: MarketplaceDefinitions | null;
|
|
2134
|
+
Multiplayer?: MultiplayerDefinitions | null;
|
|
2135
|
+
UserCustomData?: UserCustomDataDefinitions | null;
|
|
2136
|
+
Referral?: ReferralDefinitions | null;
|
|
2137
|
+
[key: string]: unknown;
|
|
2138
|
+
}
|
|
2139
|
+
type TitleCustomDataResponse = { PublicData?: null | Record<string, TitlePublicData>; };
|
|
2140
|
+
|
|
2141
|
+
interface TitleRequest extends BaseRequest {
|
|
2142
|
+
Fields?: string[];
|
|
2143
|
+
ExcludeFields?: string[];
|
|
2144
|
+
}
|
|
2145
|
+
declare const TitleAction: {
|
|
2146
|
+
readonly GetTitlePublicConfiguration: "GetTitlePublicConfiguration";
|
|
2147
|
+
readonly GetTitlePublicConfigurationExcept: "GetTitlePublicConfigurationExcept";
|
|
2148
|
+
readonly GetPublicCustomTitleData: "GetPublicCustomTitleData";
|
|
2149
|
+
readonly GetCurrencyDefinitions: "GetCurrencyDefinitions";
|
|
2150
|
+
readonly GetItemDefinitions: "GetItemDefinitions";
|
|
2151
|
+
readonly GetServerTime: "GetServerTime";
|
|
2152
|
+
};
|
|
2153
|
+
type TitleAction = (typeof TitleAction)[keyof typeof TitleAction];
|
|
2154
|
+
|
|
2155
|
+
interface UserDailyCounters {
|
|
2156
|
+
PeriodStartUtc: string;
|
|
2157
|
+
Earned: number;
|
|
2158
|
+
Spent: number;
|
|
2159
|
+
}
|
|
2160
|
+
interface UserRechargeState {
|
|
2161
|
+
LastRechargeAt?: string;
|
|
2162
|
+
PendingSeconds?: number;
|
|
2163
|
+
}
|
|
2164
|
+
interface UserVirtualCurrencyState {
|
|
2165
|
+
Amount: number;
|
|
2166
|
+
Recharge?: UserRechargeState | null;
|
|
2167
|
+
Daily?: UserDailyCounters | null;
|
|
2168
|
+
CreatedAt?: string;
|
|
2169
|
+
UpdatedAt?: string;
|
|
2170
|
+
}
|
|
2171
|
+
/** Personal deposit address assigned to the player in one network (lazily generated). */
|
|
2172
|
+
interface UserDepositAddress {
|
|
2173
|
+
Address: string;
|
|
2174
|
+
Memo?: string | null;
|
|
2175
|
+
AssignedAt: string;
|
|
2176
|
+
}
|
|
2177
|
+
/** Spent-compliance (AML) window counters, checked against CryptoCurrencyDefinition.Limits. */
|
|
2178
|
+
interface UserCryptoComplianceCounters {
|
|
2179
|
+
DailyPeriodStartUtc: string;
|
|
2180
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
2181
|
+
DailyWithdrawnUsd: string;
|
|
2182
|
+
MonthlyPeriodStartUtc: string;
|
|
2183
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
2184
|
+
MonthlyWithdrawnUsd: string;
|
|
2185
|
+
}
|
|
2186
|
+
interface UserCryptoCurrencyState {
|
|
2187
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
2188
|
+
Amount: string;
|
|
2189
|
+
Frozen: string;
|
|
2190
|
+
DepositAddresses?: Record<string, UserDepositAddress>;
|
|
2191
|
+
Compliance?: UserCryptoComplianceCounters;
|
|
2192
|
+
CreatedAt?: string;
|
|
2193
|
+
UpdatedAt?: string;
|
|
2194
|
+
[k: string]: unknown;
|
|
2195
|
+
}
|
|
2196
|
+
interface ItemTotals {
|
|
2197
|
+
StackableAmount: number;
|
|
2198
|
+
UnstackableAmount: number;
|
|
2199
|
+
TotalAmount: number;
|
|
2200
|
+
}
|
|
2201
|
+
interface UnstackableItemInstanceState {
|
|
2202
|
+
ItemInstanceID: string;
|
|
2203
|
+
ItemID: string;
|
|
2204
|
+
CatalogID?: string | null;
|
|
2205
|
+
Quantity?: number;
|
|
2206
|
+
RemainingUses?: number;
|
|
2207
|
+
Level?: number;
|
|
2208
|
+
AcquiredAt: string;
|
|
2209
|
+
ExpiresAt?: string | null;
|
|
2210
|
+
EquippedSlot?: EquipmentSlot | null;
|
|
2211
|
+
CustomData?: string | null;
|
|
2212
|
+
}
|
|
2213
|
+
/** Daily-window counter for one conversion pair ("{srcType}:{srcID}->{tgtType}:{tgtID}"). */
|
|
2214
|
+
interface ConversionDailyCounter {
|
|
2215
|
+
PeriodStartUtc: string;
|
|
2216
|
+
/** decimal string — use Decimal for arithmetic. */
|
|
2217
|
+
AmountToday: string;
|
|
2218
|
+
}
|
|
2219
|
+
interface UserInventoryState {
|
|
2220
|
+
Version?: number;
|
|
2221
|
+
VirtualCurrencies?: Record<string, UserVirtualCurrencyState>;
|
|
2222
|
+
CryptoCurrencies?: Record<string, UserCryptoCurrencyState>;
|
|
2223
|
+
Items?: Record<string, ItemTotals>;
|
|
2224
|
+
UnstackableItems?: Record<string, UnstackableItemInstanceState>;
|
|
2225
|
+
ConversionDaily?: Record<string, ConversionDailyCounter>;
|
|
2226
|
+
}
|
|
2227
|
+
/** Personal "balance tuning" multiplier, server-only in intent but present on ClientState.User. */
|
|
2228
|
+
interface PlayerEconomyTuningState {
|
|
2229
|
+
Segment: string;
|
|
2230
|
+
RewardMultiplier: number;
|
|
2231
|
+
CostMultiplier: number;
|
|
2232
|
+
MaxRollMultiplierOverride: number;
|
|
2233
|
+
ExpiresAtUtc: string;
|
|
2234
|
+
Version: number;
|
|
2235
|
+
}
|
|
2236
|
+
/** One recorded reactivation — a return after a silence gap of 7+ days. */
|
|
2237
|
+
interface UsageReactivationEvent {
|
|
2238
|
+
ReactivatedAt: string;
|
|
2239
|
+
DaysSinceLastActive: number;
|
|
2240
|
+
}
|
|
2241
|
+
/** One calendar day's usage stats (UTC). Key in UserUsageState.Daily is "ddMMyyyy". */
|
|
2242
|
+
interface DailyUsageRecord {
|
|
2243
|
+
Seconds: number;
|
|
2244
|
+
Sessions: number;
|
|
2245
|
+
LongestSessionSeconds: number;
|
|
2246
|
+
ActiveHoursMask: number;
|
|
2247
|
+
LastActiveAt: string;
|
|
2248
|
+
}
|
|
2249
|
+
/** Aggregated app-usage stats (UserDataDocument.Usage), foreground-activity seconds only. */
|
|
2250
|
+
interface UserUsageState {
|
|
2251
|
+
TotalSeconds: number;
|
|
2252
|
+
TotalSessions: number;
|
|
2253
|
+
FirstActiveAt?: string | null;
|
|
2254
|
+
LastActiveAt: string;
|
|
2255
|
+
Reactivations?: UsageReactivationEvent[];
|
|
2256
|
+
Daily?: Record<string, DailyUsageRecord>;
|
|
2257
|
+
}
|
|
2258
|
+
interface UserState {
|
|
2259
|
+
UserID?: string;
|
|
2260
|
+
InventoryV2?: UserInventoryState;
|
|
2261
|
+
EventToken?: UserEventTokensState;
|
|
2262
|
+
Store?: UserStoreState | null;
|
|
2263
|
+
Lootbox?: UserLootboxState | null;
|
|
2264
|
+
Reward?: UserRewardState | null;
|
|
2265
|
+
Quest?: UserQuestState | null;
|
|
2266
|
+
Leaderboard?: UserLeaderboardsState | null;
|
|
2267
|
+
Season?: UserSeasonsState | null;
|
|
2268
|
+
Premium?: UserPremiumState | null;
|
|
2269
|
+
Character?: UserCharactersState | null;
|
|
2270
|
+
Match?: UserMatchState | null;
|
|
2271
|
+
Collection?: UserCollectionState | null;
|
|
2272
|
+
CoopEvent?: UserCoopEventState | null;
|
|
2273
|
+
DealOffer?: UserDealOffersState | null;
|
|
2274
|
+
Referral?: UserReferralState | null;
|
|
2275
|
+
Social?: UserSocialState | null;
|
|
2276
|
+
TimedBoost?: UserTimedBoostsState | null;
|
|
2277
|
+
CustomData?: UserCustomDataState | null;
|
|
2278
|
+
GameLoop?: UserGameLoopsState | null;
|
|
2279
|
+
Blockchain?: UserBlockchainState | null;
|
|
2280
|
+
Marketplace?: UserMarketplaceState | null;
|
|
2281
|
+
PublicData?: UserPublicDataModel | null;
|
|
2282
|
+
EconomyTuning?: PlayerEconomyTuningState | null;
|
|
2283
|
+
Usage?: UserUsageState | null;
|
|
2284
|
+
[k: string]: unknown;
|
|
2285
|
+
}
|
|
2286
|
+
interface ClientState {
|
|
2287
|
+
Title?: TitlePublicConfigurationModel | null;
|
|
2288
|
+
User?: UserState | null;
|
|
2289
|
+
[k: string]: unknown;
|
|
2290
|
+
}
|
|
2291
|
+
type UsageTimeStats = { Today: number; Yesterday: number; CurrentWeek: number; CurrentMonth: number; Total: number; TotalSessions: number; History?: null | Record<string, unknown>; FirstActiveAt?: null | string; LastActiveAt?: null | string; LongestSessionEverSeconds?: null | number; CurrentWeekActiveHoursMask?: null | number; CurrentMonthActiveHoursMask?: null | number; ReactivationCount?: null | number; } & Record<string, unknown>;
|
|
2292
|
+
type ChangeUsernameResponse = { Username: string; };
|
|
2293
|
+
interface UserRequest extends BaseRequest {
|
|
2294
|
+
IsNewSession?: boolean;
|
|
2295
|
+
SessionDurationSeconds?: number;
|
|
2296
|
+
Fields?: string[];
|
|
2297
|
+
TitleFields?: string[];
|
|
2298
|
+
ExcludeFields?: string[];
|
|
2299
|
+
ExcludeTitleFields?: string[];
|
|
2300
|
+
}
|
|
2301
|
+
declare const UserAction: {
|
|
2302
|
+
readonly GetClientState: "GetClientState";
|
|
2303
|
+
readonly GetClientStateExcept: "GetClientStateExcept";
|
|
2304
|
+
readonly GetInventory: "GetInventory";
|
|
2305
|
+
readonly GetEventTokens: "GetEventTokens";
|
|
2306
|
+
readonly GetUsageTime: "GetUsageTime";
|
|
2307
|
+
readonly AddUsageTime: "AddUsageTime";
|
|
2308
|
+
readonly DeleteUserAccount: "DeleteUserAccount";
|
|
2309
|
+
readonly ChangeUsername: "ChangeUsername";
|
|
2310
|
+
};
|
|
2311
|
+
type UserAction = (typeof UserAction)[keyof typeof UserAction];
|
|
2312
|
+
|
|
2313
|
+
/** enum BlockchainNetworkType — chain family; controls signature payload shape. */
|
|
2314
|
+
declare const BlockchainNetworkType: {
|
|
2315
|
+
readonly EVM: "EVM";
|
|
2316
|
+
readonly Solana: "Solana";
|
|
2317
|
+
};
|
|
2318
|
+
type BlockchainNetworkType = (typeof BlockchainNetworkType)[keyof typeof BlockchainNetworkType];
|
|
2319
|
+
/** enum WalletLinkType — how a wallet address became linked to the account. */
|
|
2320
|
+
declare const WalletLinkType: {
|
|
2321
|
+
readonly AutoLinkedFromTransaction: "AutoLinkedFromTransaction";
|
|
2322
|
+
readonly SignatureVerified: "SignatureVerified";
|
|
2323
|
+
readonly ManuallyLinked: "ManuallyLinked";
|
|
2324
|
+
};
|
|
2325
|
+
type WalletLinkType = (typeof WalletLinkType)[keyof typeof WalletLinkType];
|
|
2326
|
+
/** enum BlockchainTransactionType — asset kind of a pending/retryable withdrawal. */
|
|
2327
|
+
declare const BlockchainTransactionType: {
|
|
2328
|
+
readonly Token: "Token";
|
|
2329
|
+
readonly Nft: "Nft";
|
|
2330
|
+
};
|
|
2331
|
+
type BlockchainTransactionType = (typeof BlockchainTransactionType)[keyof typeof BlockchainTransactionType];
|
|
2332
|
+
/** enum KycStatus — player's KYC verification status. */
|
|
2333
|
+
declare const KycStatus: {
|
|
2334
|
+
readonly NotRequested: "NotRequested";
|
|
2335
|
+
readonly Pending: "Pending";
|
|
2336
|
+
readonly Verified: "Verified";
|
|
2337
|
+
readonly Rejected: "Rejected";
|
|
2338
|
+
readonly Expired: "Expired";
|
|
2339
|
+
};
|
|
2340
|
+
type KycStatus = (typeof KycStatus)[keyof typeof KycStatus];
|
|
2341
|
+
/** enum KycTier — verification depth reached. */
|
|
2342
|
+
declare const KycTier: {
|
|
2343
|
+
readonly None: "None";
|
|
2344
|
+
readonly Tier1: "Tier1";
|
|
2345
|
+
readonly Tier2: "Tier2";
|
|
2346
|
+
readonly Tier3: "Tier3";
|
|
2347
|
+
};
|
|
2348
|
+
type KycTier = (typeof KycTier)[keyof typeof KycTier];
|
|
2349
|
+
/** enum BlockchainTransactionStatus — lifecycle status of one deposit/withdrawal transaction. */
|
|
2350
|
+
declare const BlockchainTransactionStatus: {
|
|
2351
|
+
readonly Pending: "Pending";
|
|
2352
|
+
readonly Completed: "Completed";
|
|
2353
|
+
readonly Failed: "Failed";
|
|
2354
|
+
readonly Expired: "Expired";
|
|
2355
|
+
readonly Abandoned: "Abandoned";
|
|
2356
|
+
};
|
|
2357
|
+
type BlockchainTransactionStatus = (typeof BlockchainTransactionStatus)[keyof typeof BlockchainTransactionStatus];
|
|
2358
|
+
/**
|
|
2359
|
+
* Generic "kind" of a deposit/withdrawal operation. Stored as a free string (not an enum) so new
|
|
2360
|
+
* kinds can be added without a redeploy — it mirrors the RewardPool contract, where it is also a
|
|
2361
|
+
* string. Only the known values are listed here; arbitrary strings are allowed (the server signs
|
|
2362
|
+
* whatever it receives after normalization). On a withdrawal the client MUST pass the same value
|
|
2363
|
+
* on-chain that the server signed, or the contract rejects the signature. Empty → "game_topup".
|
|
2364
|
+
* Port of Blockchain/Models/BlockchainOperationCategory.cs.
|
|
2365
|
+
*/
|
|
2366
|
+
declare const BlockchainOperationCategory: {
|
|
2367
|
+
/** Top up the game / withdraw to a wallet — the default kind. */
|
|
2368
|
+
readonly GameTopUp: "game_topup";
|
|
2369
|
+
/** Community reward (social promotion etc.) — a grant payout. */
|
|
2370
|
+
readonly CommunityReward: "community_reward";
|
|
2371
|
+
};
|
|
2372
|
+
type BlockchainOperationCategory = (typeof BlockchainOperationCategory)[keyof typeof BlockchainOperationCategory];
|
|
2373
|
+
/** Empty/absent category is treated as {@link BlockchainOperationCategory.GameTopUp}. */
|
|
2374
|
+
declare function normalizeBlockchainCategory(category?: string | null): string;
|
|
2375
|
+
/** enum TransactionDirection — which side of the platform pool the asset is moving to/from. */
|
|
2376
|
+
declare const TransactionDirection: {
|
|
2377
|
+
readonly UsersCryptoWallet: "UsersCryptoWallet";
|
|
2378
|
+
readonly Game: "Game";
|
|
2379
|
+
};
|
|
2380
|
+
type TransactionDirection = (typeof TransactionDirection)[keyof typeof TransactionDirection];
|
|
2381
|
+
type BlockchainNftCollectionBinding = { DisplayName?: null | string; ContractAddress?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; ItemCatalogID?: null | string; } & Record<string, unknown>;
|
|
2382
|
+
type PlatformBlockchainState = { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; } & Record<string, unknown>;
|
|
2383
|
+
type BlockchainNetworkDefinition = { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; NetworkID?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; Type?: null | 'EVM' | 'Solana'; ChainID?: null | number; ChainTicker?: null | string; PlatformPoolAddress?: null | string; VaultDepositAddress?: null | string; ChainConfigVersion?: null | number; RequiredConfirmations?: null | number; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; } & Record<string, unknown>; NftCollections?: null | Array<{ DisplayName?: null | string; ContractAddress?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; ItemCatalogID?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2384
|
+
type BlockchainSystemState = { DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
2385
|
+
type BlockchainAccountSafetyPolicy = { MinAccountAgeDays?: null | number; MultiAccountCheckEnabled?: null | boolean; BanOnSharedWithdrawalAddress?: null | boolean; PendingWithdrawalTtlHours?: null | number; } & Record<string, unknown>;
|
|
2386
|
+
type BlockchainDefinitions = { Networks?: null | Record<string, { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; NetworkID?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; Type?: null | 'EVM' | 'Solana'; ChainID?: null | number; ChainTicker?: null | string; PlatformPoolAddress?: null | string; VaultDepositAddress?: null | string; ChainConfigVersion?: null | number; RequiredConfirmations?: null | number; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; } & Record<string, unknown>; NftCollections?: null | Array<{ DisplayName?: null | string; ContractAddress?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; ItemCatalogID?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>>; SystemState?: null | { DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; } & Record<string, unknown>; } & Record<string, unknown>; AccountSafety?: null | { MinAccountAgeDays?: null | number; MultiAccountCheckEnabled?: null | boolean; BanOnSharedWithdrawalAddress?: null | boolean; PendingWithdrawalTtlHours?: null | number; } & Record<string, unknown>; WalletLogin?: null | { Enabled?: null | boolean; TokenGates?: null | Array<{ MinBalance?: null | string; Enabled?: null | boolean; CurrencyID?: null | string; NetworkID?: null | string; BalanceSource?: null | 'OnChain' | 'Combined'; DenyMessage?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
2387
|
+
type LinkedWalletInfo = { NetworkID?: null | string; Address?: null | string; LinkedAt?: null | string; LastUsedAt?: null | string; LinkType?: null | 'AutoLinkedFromTransaction' | 'SignatureVerified' | 'ManuallyLinked'; IsSignatureVerified?: null | boolean; } & Record<string, unknown>;
|
|
2388
|
+
type PendingWithdrawalRef = { CreatedAt?: null | string; NetworkID?: null | string; Type?: null | 'Token' | 'Nft'; Amount?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AssetID?: null | string; } & Record<string, unknown>;
|
|
2389
|
+
type UserKycState = { Status?: null | 'Expired' | 'Pending' | 'Rejected' | 'NotRequested' | 'Verified'; Tier?: null | 'None' | 'Tier1' | 'Tier2' | 'Tier3'; ExpiresAt?: null | string; VerifiedAt?: null | string; RejectedAt?: null | string; ProviderReference?: null | string; RejectionReason?: null | string; } & Record<string, unknown>;
|
|
2390
|
+
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; } & Record<string, unknown>;
|
|
2391
|
+
type TokenStatsContainer = { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; TotalDepositsVolumeUsd?: null | string; TotalWithdrawalsVolumeUsd?: null | string; PerCurrency?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2392
|
+
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; } & Record<string, unknown>;
|
|
2393
|
+
type NftStatsContainer = { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; PerCollection?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2394
|
+
type BlockchainStats = { Tokens?: null | { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; TotalDepositsVolumeUsd?: null | string; TotalWithdrawalsVolumeUsd?: null | string; PerCurrency?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>; Nfts?: null | { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; PerCollection?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
2395
|
+
type UserBlockchainState = { Stats?: null | { Tokens?: null | { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; TotalDepositsVolumeUsd?: null | string; TotalWithdrawalsVolumeUsd?: null | string; PerCurrency?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>; Nfts?: null | { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; PerCollection?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>; Version?: null | number; LinkedWallets?: null | Record<string, { NetworkID?: null | string; Address?: null | string; LinkedAt?: null | string; LastUsedAt?: null | string; LinkType?: null | 'AutoLinkedFromTransaction' | 'SignatureVerified' | 'ManuallyLinked'; IsSignatureVerified?: null | boolean; } & Record<string, unknown>>; LastWalletLogin?: null | { NetworkID?: null | string; Address?: null | string; CheckedAt?: null | string; LoggedInAt?: null | string; GatePassed?: null | boolean; GatedBalances?: null | Array<{ MinBalance?: null | string; CurrencyID?: null | string; Balance?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; PendingWithdrawals?: null | Array<{ CreatedAt?: null | string; NetworkID?: null | string; Type?: null | 'Token' | 'Nft'; Amount?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AssetID?: null | string; } & Record<string, unknown>>; Kyc?: null | { Status?: null | 'Expired' | 'Pending' | 'Rejected' | 'NotRequested' | 'Verified'; Tier?: null | 'None' | 'Tier1' | 'Tier2' | 'Tier3'; ExpiresAt?: null | string; VerifiedAt?: null | string; RejectedAt?: null | string; ProviderReference?: null | string; RejectionReason?: null | string; } & Record<string, unknown>; FirstActivityAt?: null | string; LastActivityAt?: null | string; IsFlagged?: null | boolean; FlagReason?: null | string; } & Record<string, unknown>;
|
|
2396
|
+
type TokenTransactionDocument = { CreatedAt?: null | string; UpdatedAt?: null | string; CurrencyID?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; NetworkID?: null | string; Amount?: null | string; UserID?: null | string; ExpiresAt?: null | string; TitleID?: null | string; CompletedAt?: null | string; ChainID?: null | number; TokenID?: null | string; ID?: null | string; TransactionHash?: null | string; Nonce?: null | string; ChainType?: null | string; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; SignatureData?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; AmountUsd?: null | string; NetPayoutAmount?: null | string; } & Record<string, unknown>;
|
|
2397
|
+
type NFTTransactionDocument = { CreatedAt?: null | string; UpdatedAt?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; NetworkID?: null | string; Amount?: null | string; CatalogID?: null | string; ItemID?: null | string; UserID?: null | string; ExpiresAt?: null | string; TitleID?: null | string; CompletedAt?: null | string; ChainID?: null | number; ID?: null | string; TransactionHash?: null | string; Nonce?: null | string; ChainType?: null | string; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; SignatureData?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; NFTID?: null | string; SkinID?: null | string; } & Record<string, unknown>;
|
|
2398
|
+
type WithdrawalSignatureResponse = { ContractAddress?: null | string; Amount?: null | string; UserID?: null | string; TitleID?: null | string; Nonce?: null | string; Category?: null | string; TokenAddress?: null | string; WalletAddress?: null | string; BurnAmount?: null | string; TokenId?: null | string; Deadline?: null | string; Signature?: null | string; } & Record<string, unknown>;
|
|
2399
|
+
type SolanaWithdrawalSignature = { Amount?: null | string; UserID?: null | string; ExpiresAt?: null | string; Nonce?: null | string; WalletAddress?: null | string; Mint?: null | string; ProgramID?: null | string; SignatureHex?: null | string; SigIxIndex?: null | number; Ed25519PublicKey?: null | string; Ed25519Message?: null | string; } & Record<string, unknown>;
|
|
2400
|
+
type BlockchainConfigResponse = { Blockchain?: null | { Networks?: null | Record<string, { DisplayName?: null | string; AssetPaths?: null | Record<string, string>; NetworkID?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; Type?: null | 'EVM' | 'Solana'; ChainID?: null | number; ChainTicker?: null | string; PlatformPoolAddress?: null | string; VaultDepositAddress?: null | string; ChainConfigVersion?: null | number; RequiredConfirmations?: null | number; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; } & Record<string, unknown>; NftCollections?: null | Array<{ DisplayName?: null | string; ContractAddress?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; ItemCatalogID?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>>; SystemState?: null | { DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; NftDepositsEnabled?: null | boolean; NftWithdrawalsEnabled?: null | boolean; PlatformOverrides?: null | { Ios?: null | boolean; Android?: null | boolean; Web?: null | boolean; } & Record<string, unknown>; } & Record<string, unknown>; AccountSafety?: null | { MinAccountAgeDays?: null | number; MultiAccountCheckEnabled?: null | boolean; BanOnSharedWithdrawalAddress?: null | boolean; PendingWithdrawalTtlHours?: null | number; } & Record<string, unknown>; WalletLogin?: null | { Enabled?: null | boolean; TokenGates?: null | Array<{ MinBalance?: null | string; Enabled?: null | boolean; CurrencyID?: null | string; NetworkID?: null | string; BalanceSource?: null | 'OnChain' | 'Combined'; DenyMessage?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>; CryptoCurrencies?: null | Record<string, { CurrencyID: string; ValueInUSD?: null | string; ValueInUSDUpdatedAt?: null | string; DisplayName?: null | string; AssetPaths?: null | Record<string, string>; Conversion?: null | { Enabled?: null | boolean; RateMode?: null | 'Automatic' | 'Manual'; FeePercent?: null | string; Targets?: null | Array<{ TargetCurrencyID: string; Rate?: null | string; TargetCurrencyType?: null | 'Virtual' | 'Crypto'; MinAmount?: null | number; MaxAmount?: null | number; DailyLimit?: null | number; } & Record<string, unknown>>; } & Record<string, unknown>; Permissions?: null | { DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; SpendableInGame?: null | boolean; ConvertibleToVirtual?: null | boolean; } & Record<string, unknown>; Audit?: null | { CreatedAt?: null | string; UpdatedAt?: null | string; } & Record<string, unknown>; Status?: null | 'Active' | 'Hidden' | 'Deprecated' | 'Maintenance'; DisplayDecimals?: null | number; DeveloperDepositSharePercent?: null | string; CommunityMarketingDepositSharePercent?: null | string; WithdrawalBurnPercent?: null | string; Networks?: null | Array<{ NetworkID: string; ContractAddress?: null | string; Decimals?: null | number; MinDeposit?: null | string; MinWithdraw?: null | string; WithdrawFee?: null | string; DepositsEnabled?: null | boolean; WithdrawalsEnabled?: null | boolean; } & Record<string, unknown>>; Limits?: null | { DailyWithdrawUsd?: null | string; MonthlyWithdrawUsd?: null | string; KycRequiredAboveUsd?: null | string; } & Record<string, unknown>; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2401
|
+
type UserBlockchainStateResponse = { State?: null | { Stats?: null | { Tokens?: null | { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; TotalDepositsVolumeUsd?: null | string; TotalWithdrawalsVolumeUsd?: null | string; PerCurrency?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>; Nfts?: null | { FailedWithdrawals?: null | number; RejectedDeposits?: null | number; TotalDeposits?: null | number; TotalWithdrawals?: null | number; PerCollection?: null | Record<string, { 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; } & Record<string, unknown>>; } & Record<string, unknown>; } & Record<string, unknown>; Version?: null | number; LinkedWallets?: null | Record<string, { NetworkID?: null | string; Address?: null | string; LinkedAt?: null | string; LastUsedAt?: null | string; LinkType?: null | 'AutoLinkedFromTransaction' | 'SignatureVerified' | 'ManuallyLinked'; IsSignatureVerified?: null | boolean; } & Record<string, unknown>>; LastWalletLogin?: null | { NetworkID?: null | string; Address?: null | string; CheckedAt?: null | string; LoggedInAt?: null | string; GatePassed?: null | boolean; GatedBalances?: null | Array<{ MinBalance?: null | string; CurrencyID?: null | string; Balance?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>; PendingWithdrawals?: null | Array<{ CreatedAt?: null | string; NetworkID?: null | string; Type?: null | 'Token' | 'Nft'; Amount?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AssetID?: null | string; } & Record<string, unknown>>; Kyc?: null | { Status?: null | 'Expired' | 'Pending' | 'Rejected' | 'NotRequested' | 'Verified'; Tier?: null | 'None' | 'Tier1' | 'Tier2' | 'Tier3'; ExpiresAt?: null | string; VerifiedAt?: null | string; RejectedAt?: null | string; ProviderReference?: null | string; RejectionReason?: null | string; } & Record<string, unknown>; FirstActivityAt?: null | string; LastActivityAt?: null | string; IsFlagged?: null | boolean; FlagReason?: null | string; } & Record<string, unknown>; CryptoBalances?: null | Record<string, UserCryptoCurrencyState>; } & Record<string, unknown>;
|
|
2402
|
+
type DepositTokenResponse = { ServerTimeUtc?: null | string; CurrencyID?: null | string; NetworkID?: null | string; TransactionHash?: null | string; AmountUsd?: null | string; AmountNative?: null | string; StateDelta?: null | { CryptoBalances?: null | Record<string, { UpdatedAt: string; CurrencyID: string; AmountDelta: string; FrozenDelta: string; } & Record<string, unknown>>; PendingAdded?: null | { CreatedAt?: null | string; NetworkID?: null | string; Type?: null | 'Token' | 'Nft'; Amount?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AssetID?: null | string; } & Record<string, unknown>; PendingRemovedIDs?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
2403
|
+
type DepositNFTResponse = { ServerTimeUtc?: null | string; NetworkID?: null | string; Amount?: null | number; CatalogID?: null | string; ItemID?: null | string; Resources?: null | ResourceOperation; Inventory?: null | InventoryDelta; TransactionHash?: null | string; NftTokenID?: null | string; } & Record<string, unknown>;
|
|
2404
|
+
type TokenWithdrawalResponse = { ServerTimeUtc?: null | string; CurrencyID?: null | string; NetworkID?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AmountUsd?: null | string; AmountNative?: null | string; StateDelta?: null | { CryptoBalances?: null | Record<string, { UpdatedAt: string; CurrencyID: string; AmountDelta: string; FrozenDelta: string; } & Record<string, unknown>>; PendingAdded?: null | { CreatedAt?: null | string; NetworkID?: null | string; Type?: null | 'Token' | 'Nft'; Amount?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AssetID?: null | string; } & Record<string, unknown>; PendingRemovedIDs?: null | Array<string>; } & Record<string, unknown>; NetAmountNative?: null | string; BurnAmountNative?: null | string; EvmSignature?: null | { ContractAddress?: null | string; Amount?: null | string; UserID?: null | string; TitleID?: null | string; Nonce?: null | string; Category?: null | string; TokenAddress?: null | string; WalletAddress?: null | string; BurnAmount?: null | string; TokenId?: null | string; Deadline?: null | string; Signature?: null | string; } & Record<string, unknown>; SolanaSignature?: null | { Amount?: null | string; UserID?: null | string; ExpiresAt?: null | string; Nonce?: null | string; WalletAddress?: null | string; Mint?: null | string; ProgramID?: null | string; SignatureHex?: null | string; SigIxIndex?: null | number; Ed25519PublicKey?: null | string; Ed25519Message?: null | string; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
2405
|
+
type NFTWithdrawalResponse = { ServerTimeUtc?: null | string; NetworkID?: null | string; Amount?: null | number; CatalogID?: null | string; ItemID?: null | string; Resources?: null | ResourceOperation; ExpiresAt?: null | string; Inventory?: null | InventoryDelta; TitleTransactionID?: null | string; StateDelta?: null | { CryptoBalances?: null | Record<string, { UpdatedAt: string; CurrencyID: string; AmountDelta: string; FrozenDelta: string; } & Record<string, unknown>>; PendingAdded?: null | { CreatedAt?: null | string; NetworkID?: null | string; Type?: null | 'Token' | 'Nft'; Amount?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AssetID?: null | string; } & Record<string, unknown>; PendingRemovedIDs?: null | Array<string>; } & Record<string, unknown>; NftTokenID?: null | string; EvmSignature?: null | { ContractAddress?: null | string; Amount?: null | string; UserID?: null | string; TitleID?: null | string; Nonce?: null | string; Category?: null | string; TokenAddress?: null | string; WalletAddress?: null | string; BurnAmount?: null | string; TokenId?: null | string; Deadline?: null | string; Signature?: null | string; } & Record<string, unknown>; SolanaSignature?: null | { Amount?: null | string; UserID?: null | string; ExpiresAt?: null | string; Nonce?: null | string; WalletAddress?: null | string; Mint?: null | string; ProgramID?: null | string; SignatureHex?: null | string; SigIxIndex?: null | number; Ed25519PublicKey?: null | string; Ed25519Message?: null | string; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
2406
|
+
type TransactionHistoryResponse = { TokenTransactions?: null | Array<{ CreatedAt?: null | string; UpdatedAt?: null | string; CurrencyID?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; NetworkID?: null | string; Amount?: null | string; UserID?: null | string; ExpiresAt?: null | string; TitleID?: null | string; CompletedAt?: null | string; ChainID?: null | number; TokenID?: null | string; ID?: null | string; TransactionHash?: null | string; Nonce?: null | string; ChainType?: null | string; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; SignatureData?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; AmountUsd?: null | string; NetPayoutAmount?: null | string; } & Record<string, unknown>>; NFTTransactions?: null | Array<{ CreatedAt?: null | string; UpdatedAt?: null | string; Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; NetworkID?: null | string; Amount?: null | string; CatalogID?: null | string; ItemID?: null | string; UserID?: null | string; ExpiresAt?: null | string; TitleID?: null | string; CompletedAt?: null | string; ChainID?: null | number; ID?: null | string; TransactionHash?: null | string; Nonce?: null | string; ChainType?: null | string; Direction?: null | 'UsersCryptoWallet' | 'Game'; From?: null | string; To?: null | string; SignatureData?: null | string; FailReason?: null | string; Reason?: null | string; Category?: null | string; NFTID?: null | string; SkinID?: null | string; } & Record<string, unknown>>; } & Record<string, unknown>;
|
|
2407
|
+
type DonationResponse = { ServerTimeUtc?: null | string; CurrencyID?: null | string; NetworkID?: null | string; Target?: null | string; TransactionHash?: null | string; AmountUsd?: null | string; AmountNative?: null | string; } & Record<string, unknown>;
|
|
2408
|
+
type RetryWithdrawalResponse = { Kind?: null | 'Token' | 'Nft'; TitleTransactionID?: null | string; EvmSignature?: null | { ContractAddress?: null | string; Amount?: null | string; UserID?: null | string; TitleID?: null | string; Nonce?: null | string; Category?: null | string; TokenAddress?: null | string; WalletAddress?: null | string; BurnAmount?: null | string; TokenId?: null | string; Deadline?: null | string; Signature?: null | string; } & Record<string, unknown>; SolanaSignature?: null | { Amount?: null | string; UserID?: null | string; ExpiresAt?: null | string; Nonce?: null | string; WalletAddress?: null | string; Mint?: null | string; ProgramID?: null | string; SignatureHex?: null | string; SigIxIndex?: null | number; Ed25519PublicKey?: null | string; Ed25519Message?: null | string; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
2409
|
+
type ConfirmWithdrawalResponse = { Status?: null | 'Completed' | 'Expired' | 'Pending' | 'Failed' | 'Abandoned'; TitleTransactionID?: null | string; StateDelta?: null | { CryptoBalances?: null | Record<string, { UpdatedAt: string; CurrencyID: string; AmountDelta: string; FrozenDelta: string; } & Record<string, unknown>>; PendingAdded?: null | { CreatedAt?: null | string; NetworkID?: null | string; Type?: null | 'Token' | 'Nft'; Amount?: null | string; ExpiresAt?: null | string; TitleTransactionID?: null | string; AssetID?: null | string; } & Record<string, unknown>; PendingRemovedIDs?: null | Array<string>; } & Record<string, unknown>; OnChainTxHash?: null | string; } & Record<string, unknown>;
|
|
2410
|
+
interface BlockchainRequest extends BaseRequest {
|
|
2411
|
+
TitleTransactionID?: string;
|
|
2412
|
+
NetworkID?: string;
|
|
2413
|
+
CurrencyID?: string;
|
|
2414
|
+
TransactionHash?: string;
|
|
2415
|
+
WalletAddress?: string;
|
|
2416
|
+
/** Decimal string for token withdrawals, integer string for NFT withdrawals/tx-history limit. */
|
|
2417
|
+
Amount?: string;
|
|
2418
|
+
ItemID?: string;
|
|
2419
|
+
/**
|
|
2420
|
+
* Operation kind for withdrawals (e.g. "game_topup", "community_reward"). The server signs this
|
|
2421
|
+
* into the withdrawal hash and the client must submit the same value on-chain. Empty → "game_topup".
|
|
2422
|
+
* Ignored by deposits (there the category is read back from the on-chain transaction).
|
|
2423
|
+
*/
|
|
2424
|
+
Category?: string;
|
|
2425
|
+
/**
|
|
2426
|
+
* Item level for RequestNFTWithdrawal. Determines the tokenId (tokenId = base + Level - 1) and
|
|
2427
|
+
* which instances are debited. 0/1 → base level (stackable/level-1, prior behavior). >1 → debits
|
|
2428
|
+
* unstackable instances of that level. Defaults to 1 server-side.
|
|
2429
|
+
*/
|
|
2430
|
+
Level?: number;
|
|
2431
|
+
/**
|
|
2432
|
+
* Specific instance ID to withdraw as an ERC-721 unique token. Required when the item's NFT
|
|
2433
|
+
* binding has TokenStandard == "ERC-721" — the server debits and tokenizes exactly this
|
|
2434
|
+
* instance, preserving its state (Level/RemainingUses/CustomData) in the registry. Ignored for
|
|
2435
|
+
* ERC-1155.
|
|
2436
|
+
*/
|
|
2437
|
+
ItemInstanceID?: string;
|
|
2438
|
+
}
|
|
2439
|
+
declare const BlockchainAction: {
|
|
2440
|
+
readonly GetDefinitions: "GetDefinitions";
|
|
2441
|
+
readonly GetUserState: "GetUserState";
|
|
2442
|
+
readonly DepositToken: "DepositToken";
|
|
2443
|
+
readonly DepositNFT: "DepositNFT";
|
|
2444
|
+
readonly RequestTokenWithdrawal: "RequestTokenWithdrawal";
|
|
2445
|
+
readonly RequestNFTWithdrawal: "RequestNFTWithdrawal";
|
|
2446
|
+
readonly GetTransactionHistory: "GetTransactionHistory";
|
|
2447
|
+
readonly RetryWithdrawal: "RetryWithdrawal";
|
|
2448
|
+
readonly ConfirmWithdrawal: "ConfirmWithdrawal";
|
|
2449
|
+
readonly DonateToDeveloper: "DonateToDeveloper";
|
|
2450
|
+
readonly DonateToUsersPool: "DonateToUsersPool";
|
|
2451
|
+
};
|
|
2452
|
+
type BlockchainAction = (typeof BlockchainAction)[keyof typeof BlockchainAction];
|
|
2453
|
+
type PlatformLoginResponse = { TitleUserID: string; TitleClientSessionTicket: string; TitleClientSessionTicketExpiration: string; PlatformUserID?: null | string; PlatformAuthToken?: null | string; PlatformAuthTokenExpiration?: null | string; };
|
|
2454
|
+
type SuccessResponse = { IsCompleted?: null | boolean; ServerTime?: null | string; };
|
|
2455
|
+
type WalletChallengeResponse = { Message: string; ExpiresAt: string; };
|
|
2456
|
+
/** Client-supplied UTM/click-ID attribution signal, sent with login/register (port of AttributionInput). */
|
|
2457
|
+
interface AttributionInput {
|
|
2458
|
+
UtmSource?: string;
|
|
2459
|
+
UtmMedium?: string;
|
|
2460
|
+
UtmCampaign?: string;
|
|
2461
|
+
UtmTerm?: string;
|
|
2462
|
+
UtmContent?: string;
|
|
2463
|
+
/** gclid / fbclid / ttclid / msclkid / yclid. */
|
|
2464
|
+
ClickID?: string;
|
|
2465
|
+
Referrer?: string;
|
|
2466
|
+
Country?: string;
|
|
2467
|
+
AppVersion?: string;
|
|
2468
|
+
}
|
|
2469
|
+
interface AuthenticationRequest extends BaseRequest {
|
|
2470
|
+
PlatformAuthToken?: string;
|
|
2471
|
+
PlatformRefreshToken?: string;
|
|
2472
|
+
GoogleIDToken?: string;
|
|
2473
|
+
Attribution?: AttributionInput;
|
|
2474
|
+
/** Wallet login: NetworkID (key of cfg.Blockchain.Networks) the wallet is proving on. */
|
|
2475
|
+
NetworkID?: string;
|
|
2476
|
+
/** Wallet login: the crypto wallet address (EVM 0x… / Solana base58). */
|
|
2477
|
+
WalletAddress?: string;
|
|
2478
|
+
/** Wallet login: signature of the challenge message (EVM personal_sign hex / Solana ed25519, 0x-hex). */
|
|
2479
|
+
WalletSignature?: string;
|
|
2480
|
+
}
|
|
2481
|
+
declare const AuthenticationAction: {
|
|
2482
|
+
readonly LoginWithDeviceID: "LoginWithDeviceID";
|
|
2483
|
+
readonly LoginWithTelegram: "LoginWithTelegram";
|
|
2484
|
+
readonly LoginWithEmail: "LoginWithEmail";
|
|
2485
|
+
readonly LoginWithGoogle: "LoginWithGoogle";
|
|
2486
|
+
readonly LoginWithPlatformToken: "LoginWithPlatformToken";
|
|
2487
|
+
readonly RegisterWithEmail: "RegisterWithEmail";
|
|
2488
|
+
readonly RefreshPlatformToken: "RefreshPlatformToken";
|
|
2489
|
+
readonly RequestWalletChallenge: "RequestWalletChallenge";
|
|
2490
|
+
readonly LoginWithWallet: "LoginWithWallet";
|
|
2491
|
+
readonly ForgotPassword: "ForgotPassword";
|
|
2492
|
+
readonly ResetPassword: "ResetPassword";
|
|
2493
|
+
};
|
|
2494
|
+
type AuthenticationAction = (typeof AuthenticationAction)[keyof typeof AuthenticationAction];
|
|
2495
|
+
|
|
2496
|
+
interface SdkEvents {
|
|
2497
|
+
"transport:busy": boolean;
|
|
2498
|
+
"error:global": string;
|
|
2499
|
+
"error:connection": string;
|
|
2500
|
+
"auth:unauthorized": void;
|
|
2501
|
+
"auth:loggedIn": void;
|
|
2502
|
+
"auth:loggedOut": void;
|
|
2503
|
+
"auth:requestSent": void;
|
|
2504
|
+
"user:stateUpdated": void;
|
|
2505
|
+
"user:anyUpdated": void;
|
|
2506
|
+
"user:inventoryUpdated": void;
|
|
2507
|
+
"user:virtualCurrencyUpdated": void;
|
|
2508
|
+
"user:eventTokenUpdated": void;
|
|
2509
|
+
"user:storeUpdated": void;
|
|
2510
|
+
"user:lootboxUpdated": void;
|
|
2511
|
+
"user:rewardUpdated": void;
|
|
2512
|
+
"user:questUpdated": void;
|
|
2513
|
+
"user:timedEventUpdated": void;
|
|
2514
|
+
"user:leaderboardUpdated": void;
|
|
2515
|
+
"user:seasonUpdated": void;
|
|
2516
|
+
"user:premiumUpdated": void;
|
|
2517
|
+
"user:characterUpdated": void;
|
|
2518
|
+
"user:matchUpdated": void;
|
|
2519
|
+
"user:collectionUpdated": void;
|
|
2520
|
+
"user:coopEventUpdated": void;
|
|
2521
|
+
"user:dealOfferUpdated": void;
|
|
2522
|
+
"user:referralUpdated": void;
|
|
2523
|
+
"user:socialUpdated": void;
|
|
2524
|
+
"user:timedBoostUpdated": void;
|
|
2525
|
+
"user:customDataUpdated": void;
|
|
2526
|
+
"user:gameLoopUpdated": void;
|
|
2527
|
+
"user:blockchainUpdated": void;
|
|
2528
|
+
"user:marketplaceUpdated": void;
|
|
2529
|
+
"user:clientStateReceived": ClientState;
|
|
2530
|
+
"user:inventoryReceived": UserInventoryState;
|
|
2531
|
+
"user:eventTokensReceived": UserEventTokensState;
|
|
2532
|
+
"user:usageTimeReceived": UsageTimeStats;
|
|
2533
|
+
"user:usageTimeAdded": SuccessResponse;
|
|
2534
|
+
"user:accountDeleted": SuccessResponse;
|
|
2535
|
+
"user:usernameChanged": ChangeUsernameResponse;
|
|
2536
|
+
"currency:converted": ConvertResponse;
|
|
2537
|
+
"currency:cryptoConverted": CryptoConvertResponse;
|
|
2538
|
+
"item:levelUpgraded": UpgradeItemLevelResponse;
|
|
2539
|
+
"item:levelsUpgradedBatch": UpgradeLevelsBatchResponse;
|
|
2540
|
+
"store:offerPurchased": StorePurchaseResponse;
|
|
2541
|
+
"store:offersPurchasedBatch": PurchaseBatchResponse;
|
|
2542
|
+
"store:definitionsLoaded": StoreDefinitions;
|
|
2543
|
+
"store:userStateLoaded": UserStoreState;
|
|
2544
|
+
"lootbox:definitionsLoaded": LootboxDefinitions;
|
|
2545
|
+
"lootbox:opened": LootboxOpenResponse;
|
|
2546
|
+
"reward:definitionsLoaded": RewardDefinitions;
|
|
2547
|
+
"reward:userStateLoaded": UserRewardState;
|
|
2548
|
+
"reward:dailyClaimed": ClaimDailyRewardResponse;
|
|
2549
|
+
"reward:idleCollected": CollectIdleAccrualResponse;
|
|
2550
|
+
"reward:comebackClaimed": ClaimComebackRewardResponse;
|
|
2551
|
+
"reward:claimed": ClaimRewardResponse;
|
|
2552
|
+
"reward:milestoneMultiplierLoaded": GetMilestoneRewardMultiplierResponse;
|
|
2553
|
+
"quest:definitionsLoaded": QuestDefinitions;
|
|
2554
|
+
"quest:userStateLoaded": UserQuestState;
|
|
2555
|
+
"quest:cyclesRefreshed": void;
|
|
2556
|
+
"quest:rewardClaimed": ClaimQuestRewardResponse;
|
|
2557
|
+
"quest:rewardsClaimedBatch": ClaimQuestRewardsBatchResponse;
|
|
2558
|
+
"quest:milestoneClaimed": ClaimMilestoneRewardResponse;
|
|
2559
|
+
"quest:milestonesClaimedBatch": ClaimMilestoneRewardsBatchResponse;
|
|
2560
|
+
"quest:groupCompletionClaimed": ClaimGroupCompletionRewardResponse;
|
|
2561
|
+
"quest:progressAdded": AddQuestProgressResponse;
|
|
2562
|
+
"timedEvent:activeEventsLoaded": GetActiveEventsResponse;
|
|
2563
|
+
"timedEvent:definitionsLoaded": TimedEventDefinitions;
|
|
2564
|
+
"timedEvent:userStateLoaded": UserTimedEventStateResponse;
|
|
2565
|
+
"timedEvent:tokensGranted": ResourceOperation;
|
|
2566
|
+
"timedEvent:tokensGrantedBatch": GrantTokensBatchResponse;
|
|
2567
|
+
"timedEvent:tokensSpent": EventTokenSpendResponse;
|
|
2568
|
+
"timedEvent:tokensSpentBatch": SpendTokensBatchResponse;
|
|
2569
|
+
"timedEvent:milestoneClaimed": EventMilestoneClaimResponse;
|
|
2570
|
+
"timedEvent:milestonesClaimedBatch": ClaimMilestonesBatchResponse;
|
|
2571
|
+
"timedEvent:allMilestonesClaimed": ClaimMilestonesBatchResponse;
|
|
2572
|
+
"leaderboard:definitionsLoaded": LeaderboardDefinitions;
|
|
2573
|
+
"leaderboard:loaded": GetLeaderboardResponse;
|
|
2574
|
+
"leaderboard:loadedBatch": GetLeaderboardsBatchResponse;
|
|
2575
|
+
"leaderboard:myProgressLoaded": GetMyProgressResponse;
|
|
2576
|
+
"leaderboard:myProgressLoadedBatch": GetProgressBatchResponse;
|
|
2577
|
+
"leaderboard:scoreSubmitted": SubmitScoreResponse;
|
|
2578
|
+
"leaderboard:scoresSubmittedBatch": SubmitScoresBatchResponse;
|
|
2579
|
+
"leaderboard:cycleRewardClaimed": ClaimCycleRewardResponse;
|
|
2580
|
+
"leaderboard:cycleRewardsClaimedBatch": ClaimCycleRewardsBatchResponse;
|
|
2581
|
+
"leaderboard:milestoneClaimed": ClaimLeaderboardMilestoneResponse;
|
|
2582
|
+
"leaderboard:milestonesClaimedBatch": ClaimLeaderboardMilestonesBatchResponse;
|
|
2583
|
+
"leaderboard:allRewardsClaimedBatch": ClaimAllRewardsBatchResponse;
|
|
2584
|
+
"leaderboard:overviewLoadedBatch": GetOverviewBatchResponse;
|
|
2585
|
+
"leaderboard:friendsLoaded": GetLeaderboardResponse;
|
|
2586
|
+
"season:definitionsLoaded": SeasonDefinitions;
|
|
2587
|
+
"season:activeLoaded": ActiveSeasonInfo;
|
|
2588
|
+
"season:userStateLoaded": UserSeasonStateResponse;
|
|
2589
|
+
"season:statusTokensGranted": GrantStatusTokensResponse;
|
|
2590
|
+
"season:tierRewardClaimed": ClaimTierRewardResponse;
|
|
2591
|
+
"premium:definitionsLoaded": PremiumDefinitionsResponse;
|
|
2592
|
+
"premium:stateLoaded": PremiumStateResponse;
|
|
2593
|
+
"premium:trialActivated": PremiumPurchaseResponse;
|
|
2594
|
+
"premium:purchaseCompleted": PremiumPurchaseResponse;
|
|
2595
|
+
"premium:realMoneyPurchaseCompleted": PremiumPurchaseResponse;
|
|
2596
|
+
"character:definitionsLoaded": CharacterDefinitions;
|
|
2597
|
+
"character:userCharactersLoaded": Record<string, CharacterModel>;
|
|
2598
|
+
"character:statLevelUpgraded": UpgradeStatLevelResponse;
|
|
2599
|
+
"character:levelUpgraded": UpgradeCharacterLevelResponse;
|
|
2600
|
+
"character:itemsEquipped": EquipItemsResponse;
|
|
2601
|
+
"character:itemsUnequipped": {
|
|
2602
|
+
characterID: string;
|
|
2603
|
+
slotIDs: string[];
|
|
2604
|
+
power?: number | null;
|
|
2605
|
+
};
|
|
2606
|
+
"character:allUnequipped": UnequipAllCharactersResponse;
|
|
2607
|
+
"character:unlocked": UnlockCharacterResponse;
|
|
2608
|
+
"character:charactersUnlocked": UnlockCharactersBatchResponse;
|
|
2609
|
+
"character:levelsUpgraded": UpgradeCharacterLevelsBatchResponse;
|
|
2610
|
+
"character:statLevelsUpgraded": UpgradeStatLevelsBatchResponse;
|
|
2611
|
+
"match:created": CreateMatchResponse;
|
|
2612
|
+
"match:updated": UpdateMatchResponse;
|
|
2613
|
+
"match:cancelled": CancelMatchResponse;
|
|
2614
|
+
"match:instantBattleCompleted": InstantBattleResponse;
|
|
2615
|
+
"match:strategySaved": BattleStepConfig[];
|
|
2616
|
+
"match:myMatchesLoaded": MatchesPageResponse;
|
|
2617
|
+
"match:availableMatchesLoaded": MatchesPageResponse;
|
|
2618
|
+
"match:definitionsLoaded": GetMatchDefinitionsResponse;
|
|
2619
|
+
"craft:definitionsLoaded": CraftDefinitions;
|
|
2620
|
+
"craft:completed": CraftResponse;
|
|
2621
|
+
"collection:definitionsLoaded": CollectionDefinitions;
|
|
2622
|
+
"collection:userStateLoaded": UserCollectionState;
|
|
2623
|
+
"collection:packOpened": OpenPackResponse;
|
|
2624
|
+
"collection:chestOpened": OpenCollectionChestResponse;
|
|
2625
|
+
"collection:jokerUsed": UseCollectibleJokerResponse;
|
|
2626
|
+
"collection:setRewardClaimed": ClaimSetRewardResponse;
|
|
2627
|
+
"collection:setRewardsClaimedBatch": ClaimSetRewardsBatchResponse;
|
|
2628
|
+
"collection:grandPrizeClaimed": ClaimGrandPrizeResponse;
|
|
2629
|
+
"collection:tradeOfferSent": SendTradeOfferResponse;
|
|
2630
|
+
"collection:tradeOfferCancelled": CancelTradeOfferResponse;
|
|
2631
|
+
"collection:tradeOfferAccepted": AcceptTradeOfferResponse;
|
|
2632
|
+
"collection:tradeOfferDeclined": DeclineTradeOfferResponse;
|
|
2633
|
+
"collection:myTradeOffersLoaded": GetTradeOffersResponse;
|
|
2634
|
+
"collection:incomingTradeOffersLoaded": GetTradeOffersResponse;
|
|
2635
|
+
"coopEvent:definitionsLoaded": CoopEventDefinitions;
|
|
2636
|
+
"coopEvent:activeEventLoaded": ActiveCoopEventInfo;
|
|
2637
|
+
"coopEvent:userStateLoaded": CoopUserStateResponse;
|
|
2638
|
+
"coopEvent:groupStateLoaded": CoopGroupStateResponse;
|
|
2639
|
+
"coopEvent:groupJoined": CoopGroupStateResponse;
|
|
2640
|
+
"coopEvent:spinCompleted": CoopSpinResponse;
|
|
2641
|
+
"coopEvent:objectRewardClaimed": CoopClaimRewardResponse;
|
|
2642
|
+
"coopEvent:grandPrizeClaimed": CoopClaimRewardResponse;
|
|
2643
|
+
"coopEvent:groupLeft": CoopLeaveGroupResponse;
|
|
2644
|
+
"dealOffer:definitionLoaded": DealOfferDefinitions;
|
|
2645
|
+
"dealOffer:userStateLoaded": UserDealOffersState;
|
|
2646
|
+
"dealOffer:activeDealsLoaded": GetActiveDealsResponse;
|
|
2647
|
+
"dealOffer:dealDismissed": DismissDealResponse;
|
|
2648
|
+
"dealOffer:nodeExecuted": ExecuteNodeResponse;
|
|
2649
|
+
"dealOffer:showRecorded": RecordShowResponse;
|
|
2650
|
+
"dealOffer:milestoneClaimed": ClaimDealMilestoneResponse;
|
|
2651
|
+
"dealOffer:milestonesBatchClaimed": ClaimDealMilestonesBatchResponse;
|
|
2652
|
+
"referral:definitionsLoaded": ReferralDefinitionsResponse;
|
|
2653
|
+
"referral:userStateLoaded": UserReferralStateResponse;
|
|
2654
|
+
"referral:codeActivated": ActivateReferralCodeResponse;
|
|
2655
|
+
"referral:inviteRewardClaimed": ClaimInviteRewardResponse;
|
|
2656
|
+
"social:friendsListLoaded": FriendsListResponse;
|
|
2657
|
+
"social:incomingRequestsLoaded": FriendsListResponse;
|
|
2658
|
+
"social:recommendedFriendsLoaded": FriendsListResponse;
|
|
2659
|
+
"social:friendRequestSent": FriendActionResponse;
|
|
2660
|
+
"social:friendRequestAccepted": FriendActionResponse;
|
|
2661
|
+
"social:friendRequestDeclined": FriendActionResponse;
|
|
2662
|
+
"social:friendRemoved": FriendActionResponse;
|
|
2663
|
+
"social:timelineLoaded": TimelineResponse;
|
|
2664
|
+
"timedBoost:definitionsLoaded": TimedBoostDefinitions;
|
|
2665
|
+
"timedBoost:activeLoaded": GetActiveTimedBoostsResponse;
|
|
2666
|
+
"timedBoost:activeWindowsLoaded": GetActiveBoostWindowsResponse;
|
|
2667
|
+
"timedBoost:activated": ActivateTimedBoostResponse;
|
|
2668
|
+
"timedBoost:expiredCleaned": void;
|
|
2669
|
+
"userCustomData:definitionsLoaded": UserCustomDataDefinitions;
|
|
2670
|
+
"userCustomData:myDataLoaded": GetMyUserCustomDataResponse;
|
|
2671
|
+
"userCustomData:publicDataLoaded": GetPublicUserCustomDataResponse;
|
|
2672
|
+
"userCustomData:privateDataSet": SetUserCustomDataResponse;
|
|
2673
|
+
"userCustomData:publicDataSet": SetUserCustomDataResponse;
|
|
2674
|
+
"userCustomData:keyDeleted": void;
|
|
2675
|
+
"userCustomData:batchSet": BatchSetUserCustomDataResponse;
|
|
2676
|
+
"userCustomData:batchDeleted": BatchDeleteUserCustomDataResponse;
|
|
2677
|
+
"userCustomData:batchPublicDataLoaded": BatchGetPublicUserCustomDataResponse;
|
|
2678
|
+
"title:publicConfigurationReceived": TitlePublicConfigurationModel;
|
|
2679
|
+
"title:publicCustomDataReceived": TitleCustomDataResponse;
|
|
2680
|
+
"title:currencyDefinitionsReceived": CurrencyDefinitions;
|
|
2681
|
+
"title:itemDefinitionsReceived": ItemDefinitions;
|
|
2682
|
+
"title:serverTimeReceived": SuccessResponse;
|
|
2683
|
+
"gameLoop:gameLoopsLoaded": GameLoopDefinitions;
|
|
2684
|
+
"gameLoop:boardDefinitionLoaded": BoardLoopDefinition;
|
|
2685
|
+
"gameLoop:boardDefinitionForLevelLoaded": BoardLoopDefinition;
|
|
2686
|
+
"gameLoop:boardStateLoaded": BoardLoopState;
|
|
2687
|
+
"gameLoop:boardRolled": BoardRollResponse;
|
|
2688
|
+
"gameLoop:boardAttacked": AttackResponse;
|
|
2689
|
+
"gameLoop:boardRaided": RaidResponse;
|
|
2690
|
+
"gameLoop:boardRaidedFast": RaidResponse;
|
|
2691
|
+
"gameLoop:boardBuilt": BuildResponse;
|
|
2692
|
+
"gameLoop:boardSpecialChose": SpecialChooseResponse;
|
|
2693
|
+
"gameLoop:boardSpecialApplyMultiplier": SpecialApplyMultiplierResponse;
|
|
2694
|
+
"gameLoop:boardSpecialClaimed": SpecialClaimResponse;
|
|
2695
|
+
"gameLoop:communityChestStateLoaded": CommunityChestUserStateResponse;
|
|
2696
|
+
"gameLoop:communityChestJoined": CommunityChestGroupStateResponse;
|
|
2697
|
+
"gameLoop:communityChestMilestoneClaimed": CommunityChestClaimResponse;
|
|
2698
|
+
"gameLoop:communityChestGrandPrizeClaimed": CommunityChestClaimResponse;
|
|
2699
|
+
"gameLoop:communityChestLeft": CommunityChestLeaveResponse;
|
|
2700
|
+
"cloudCode:executed": ExecuteCloudCodeResponse;
|
|
2701
|
+
"blockchain:definitionsLoaded": BlockchainConfigResponse;
|
|
2702
|
+
"blockchain:userStateLoaded": UserBlockchainStateResponse;
|
|
2703
|
+
"blockchain:tokenDeposited": DepositTokenResponse;
|
|
2704
|
+
"blockchain:nftDeposited": DepositNFTResponse;
|
|
2705
|
+
"blockchain:tokenWithdrawalRequested": TokenWithdrawalResponse;
|
|
2706
|
+
"blockchain:nftWithdrawalRequested": NFTWithdrawalResponse;
|
|
2707
|
+
"blockchain:transactionHistoryLoaded": TransactionHistoryResponse;
|
|
2708
|
+
"blockchain:withdrawalRetried": RetryWithdrawalResponse;
|
|
2709
|
+
"blockchain:withdrawalConfirmed": ConfirmWithdrawalResponse;
|
|
2710
|
+
"blockchain:donatedToDeveloper": DonationResponse;
|
|
2711
|
+
"blockchain:donatedToUsersPool": DonationResponse;
|
|
2712
|
+
"marketplace:definitionsLoaded": MarketplaceGetDefinitionsResponse;
|
|
2713
|
+
"marketplace:groupedOffersLoaded": MarketplaceGroupedOffersResponse;
|
|
2714
|
+
"marketplace:offersByItemLoaded": MarketplaceBrowseResponse;
|
|
2715
|
+
"marketplace:offerLoaded": MarketplaceOfferResponse;
|
|
2716
|
+
"marketplace:buyOrdersLoaded": MarketplaceBrowseResponse;
|
|
2717
|
+
"marketplace:myStateLoaded": MarketplaceMyStateResponse;
|
|
2718
|
+
"marketplace:historyLoaded": MarketplaceHistoryResponse;
|
|
2719
|
+
"marketplace:listingCreated": MarketplaceCreateOfferResponse;
|
|
2720
|
+
"marketplace:listingCancelled": MarketplaceSettlementResponse;
|
|
2721
|
+
"marketplace:bought": MarketplaceSettlementResponse;
|
|
2722
|
+
"marketplace:auctionCreated": MarketplaceCreateOfferResponse;
|
|
2723
|
+
"marketplace:bidPlaced": MarketplacePlaceBidResponse;
|
|
2724
|
+
"marketplace:auctionClaimed": MarketplaceSettlementResponse;
|
|
2725
|
+
"marketplace:buyOrderCreated": MarketplaceCreateOfferResponse;
|
|
2726
|
+
"marketplace:buyOrderCancelled": MarketplaceSettlementResponse;
|
|
2727
|
+
"marketplace:buyOrderFilled": MarketplaceSettlementResponse;
|
|
2728
|
+
"marketplace:directTradeCreated": MarketplaceCreateOfferResponse;
|
|
2729
|
+
"marketplace:directTradeResponded": MarketplaceSettlementResponse;
|
|
2730
|
+
"marketplace:directTradeCancelled": MarketplaceSettlementResponse;
|
|
2731
|
+
"marketplace:claimedBack": MarketplaceSettlementResponse;
|
|
2732
|
+
"multiplayer:roomCreated": RoomSnapshotResponse;
|
|
2733
|
+
"multiplayer:roomJoined": RoomSnapshotResponse;
|
|
2734
|
+
"multiplayer:roomLeft": LeaveRoomResponse;
|
|
2735
|
+
"multiplayer:roomsListed": RoomsPageResponse;
|
|
2736
|
+
"multiplayer:roomLoaded": RoomSnapshotResponse;
|
|
2737
|
+
"multiplayer:roomClosed": LeaveRoomResponse;
|
|
2738
|
+
"multiplayer:polled": PollResponse;
|
|
2739
|
+
"multiplayer:signalSent": PublishResponse;
|
|
2740
|
+
"multiplayer:chatSent": PublishResponse;
|
|
2741
|
+
"multiplayer:memberStateSet": PublishResponse;
|
|
2742
|
+
}
|
|
2743
|
+
|
|
2744
|
+
declare const DEFAULT_BASE_URL = "https://api.idosgames.com";
|
|
2745
|
+
interface IDosGamesSettings {
|
|
2746
|
+
readonly titleID: string;
|
|
2747
|
+
readonly titleTemplateID: string;
|
|
2748
|
+
readonly buildKey: string;
|
|
2749
|
+
readonly baseUrl: string;
|
|
2750
|
+
readonly devBuild: boolean;
|
|
2751
|
+
readonly debugLogging: boolean;
|
|
2752
|
+
}
|
|
2753
|
+
interface SettingsInput {
|
|
2754
|
+
titleID: string;
|
|
2755
|
+
titleTemplateID?: string;
|
|
2756
|
+
buildKey?: string;
|
|
2757
|
+
baseUrl?: string;
|
|
2758
|
+
devBuild?: boolean;
|
|
2759
|
+
debugLogging?: boolean;
|
|
2760
|
+
}
|
|
2761
|
+
|
|
2762
|
+
/**
|
|
2763
|
+
* In-memory mirror of the player's server state (port of UserData.cs). Mutating methods patch
|
|
2764
|
+
* the cache and emit the matching `user:*` events; UI reads from `state` and reacts to events.
|
|
2765
|
+
*/
|
|
2766
|
+
declare class UserData {
|
|
2767
|
+
private readonly emitter;
|
|
2768
|
+
private currentState;
|
|
2769
|
+
private activeEventsCache;
|
|
2770
|
+
constructor(emitter: TypedEmitter<SdkEvents>);
|
|
2771
|
+
get state(): UserState | null;
|
|
2772
|
+
getCachedActiveEvents(): GetActiveEventsResponse | null;
|
|
2773
|
+
clear(): void;
|
|
2774
|
+
applyUserState(state: UserState): void;
|
|
2775
|
+
applyInventory(inventory: UserInventoryState): void;
|
|
2776
|
+
applyVirtualCurrency(data: Record<string, UserVirtualCurrencyState>): void;
|
|
2777
|
+
applyResourceOperation(op: ResourceOperation | null | undefined, itemDefs?: ItemDefinitions, now?: Date): void;
|
|
2778
|
+
/** Decimal-precise crypto delta (port of PatchCryptoCurrencyDelta). */
|
|
2779
|
+
patchCryptoCurrencyDelta(currencyID: string, delta: Decimal | string | number, serverTimeUtc?: string): void;
|
|
2780
|
+
applyStore(data: UserStoreState | null): void;
|
|
2781
|
+
patchStorePurchase(offerID: string, count: number, serverTimeUtc: string): void;
|
|
2782
|
+
applyLootboxPityTriggers(lootboxID: string, triggeredPity: readonly LootboxPityTriggerResponse[] | null | undefined, count: number): void;
|
|
2783
|
+
applyReward(data: UserRewardState | null): void;
|
|
2784
|
+
patchDailyCalendarState(calendarID: string, newState: UserDailyCalendarState): void;
|
|
2785
|
+
patchIdleAccrualState(accrualID: string, newState: UserIdleAccrualState): void;
|
|
2786
|
+
patchComebackState(comebackID: string, newState: UserComebackState): void;
|
|
2787
|
+
patchClaimRewardState(claimID: string, newState: UserClaimRewardState): void;
|
|
2788
|
+
applyQuest(data: UserQuestState | null): void;
|
|
2789
|
+
patchQuestStatus(questID: string, cycleID: string | null | undefined, status: QuestStatus): void;
|
|
2790
|
+
/** Claimed points-milestone state lives in the Quest event-token bucket (Milestone.ClaimedIDs). */
|
|
2791
|
+
patchMilestoneClaimed(cycleID: string, milestoneID: string): void;
|
|
2792
|
+
/** Stores the authoritative points-track snapshot in the Quest event-token bucket. */
|
|
2793
|
+
patchQuestPointsTracks(tracks: Record<string, QuestPointsTrackView> | null | undefined): void;
|
|
2794
|
+
patchGroupCompletionClaimed(cycleID: string, groupCompletionID: string): void;
|
|
2795
|
+
patchQuestProgressUpdates(updates: readonly QuestProgressUpdate[] | null | undefined): void;
|
|
2796
|
+
getQuestPointsProgress(cycleID: string): UserEventTokenProgress | null;
|
|
2797
|
+
applyActiveEvents(data: GetActiveEventsResponse | null): void;
|
|
2798
|
+
applyUserLteState(data: UserTimedEventStateResponse | null): void;
|
|
2799
|
+
patchTimedEventMilestoneClaimed(type: ScheduleMode, lteID: string, milestoneID: string): void;
|
|
2800
|
+
private patchActiveEventMilestoneClaimed;
|
|
2801
|
+
private markMilestoneClaimed;
|
|
2802
|
+
patchLeaderboardMyProgress(cycleDocID: string, data: GetMyProgressResponse): void;
|
|
2803
|
+
patchLeaderboardScoreSubmitted(cycleDocID: string, newScore: number, submittedScore: number, cycleVersion: number): void;
|
|
2804
|
+
patchLeaderboardCycleRewardClaimed(cycleDocID: string): void;
|
|
2805
|
+
patchLeaderboardMilestoneClaimed(cycleDocID: string, milestoneID: string): void;
|
|
2806
|
+
private ensureLeaderboardProgress;
|
|
2807
|
+
applySeasonsState(data: UserSeasonsState | null): void;
|
|
2808
|
+
patchSeasonState(chainID: string, state: UserSeasonState): void;
|
|
2809
|
+
patchSeasonCurrentTier(chainID: string, newTier: number): void;
|
|
2810
|
+
patchSeasonClaimedTier(chainID: string, tierNumber: number): void;
|
|
2811
|
+
private ensureSeasonState;
|
|
2812
|
+
applyPremium(data: UserPremiumState | null): void;
|
|
2813
|
+
applyCharacter(characters: Record<string, CharacterModel> | null): void;
|
|
2814
|
+
patchCharacter(characterID: string, patch: (character: CharacterModel) => void): void;
|
|
2815
|
+
patchCharacterEquipment(characterID: string, slotID: string, item: EquippedItem | null): void;
|
|
2816
|
+
/**
|
|
2817
|
+
* Reconcile UnstackableItems from a server-returned delta (port of InventoryDelta application):
|
|
2818
|
+
* upsert each `ChangedInstances[id]` (full post-state) and drop each `RemovedInstanceIDs`.
|
|
2819
|
+
*/
|
|
2820
|
+
applyInventoryDelta(delta: InventoryDelta | null | undefined): void;
|
|
2821
|
+
applyMatch(data: UserMatchState | null): void;
|
|
2822
|
+
patchMatchStrategy(strategy: BattleStepConfig[] | null | undefined): void;
|
|
2823
|
+
applyCollection(data: UserCollectionState | null): void;
|
|
2824
|
+
applyCoopEvent(data: UserCoopEventState | null): void;
|
|
2825
|
+
patchCoopEventActiveGroup(groupID: string | null, coopEventID: string | null, myObjectIndex: number): void;
|
|
2826
|
+
applyDealOffer(data: UserDealOffersState | null): void;
|
|
2827
|
+
applyReferral(data: UserReferralState | null): void;
|
|
2828
|
+
patchReferralSubscription(referralCode: string): void;
|
|
2829
|
+
patchReferralInviteRewardClaimed(rewardID: string): void;
|
|
2830
|
+
applySocialFriendsList(friends: FriendPublicProfile[] | null | undefined): void;
|
|
2831
|
+
applySocialIncomingRequests(profiles: FriendPublicProfile[] | null | undefined): void;
|
|
2832
|
+
applySocialTimeline(events: SocialTimelineEvent[] | null | undefined): void;
|
|
2833
|
+
patchSocialAddOutgoingRequest(targetUserID: string): void;
|
|
2834
|
+
patchSocialAcceptFriend(requesterUserID: string): void;
|
|
2835
|
+
patchSocialRemoveIncomingRequest(requesterUserID: string): void;
|
|
2836
|
+
patchSocialRemoveFriend(friendUserID: string): void;
|
|
2837
|
+
private ensureSocial;
|
|
2838
|
+
applyTimedBoost(data: UserTimedBoostsState | null): void;
|
|
2839
|
+
patchActiveTimedBoost(boost: ActiveTimedBoost, policy: TimedBoostStackingPolicy): void;
|
|
2840
|
+
applyUserCustomData(data: GetMyUserCustomDataResponse): void;
|
|
2841
|
+
patchUserCustomDataKey(bucket: CustomDataBucket, keyID: string, value: string, version: number, expiresAt?: string | null): void;
|
|
2842
|
+
removeUserCustomDataKey(bucket: CustomDataBucket, keyID: string): void;
|
|
2843
|
+
applyBoardState(data: BoardLoopState | null): void;
|
|
2844
|
+
applyCommunityChestUserState(data: UserCommunityChestState | null): void;
|
|
2845
|
+
patchBoardState(patch: (board: BoardLoopState) => void): void;
|
|
2846
|
+
patchBoardBuilding(slotIndex: number, patch: (building: BuildingState) => void): void;
|
|
2847
|
+
patchBoardPendingRaidLayout(updatedLayout: HeistCell[] | null | undefined, openedIndex: number): void;
|
|
2848
|
+
patchBoardSpecialPending(patch: (special: SpecialPendingState) => void): void;
|
|
2849
|
+
clearBoardPending(): void;
|
|
2850
|
+
private ensureBoard;
|
|
2851
|
+
applyBlockchainState(state: UserBlockchainState | null, cryptoBalances?: Record<string, UserCryptoCurrencyState> | null): void;
|
|
2852
|
+
applyMarketplaceState(state: UserMarketplaceState | null): void;
|
|
2853
|
+
getVirtualCurrencyAmount(currencyID: string): number;
|
|
2854
|
+
getCryptoCurrencyAmount(currencyID: string): string;
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2857
|
+
/**
|
|
2858
|
+
* Title public configuration cache (port of TitleConfig.cs). Phase 1 stores the raw config
|
|
2859
|
+
* and exposes only `itemDefinitions` (needed by the resource applier). Typed accessors and
|
|
2860
|
+
* `OnXxxUpdated` events for currencies/board/events arrive in Phase 2.
|
|
2861
|
+
*/
|
|
2862
|
+
declare class TitleConfig {
|
|
2863
|
+
private config;
|
|
2864
|
+
private readonly sections;
|
|
2865
|
+
private itemDefs;
|
|
2866
|
+
private currencyDefs;
|
|
2867
|
+
get titlePublicConfiguration(): TitlePublicConfigurationModel | null;
|
|
2868
|
+
/** Store a feature's definitions blob (port of the per-feature Config.PatchXxx setters). */
|
|
2869
|
+
patchSection(key: string, data: unknown): void;
|
|
2870
|
+
getSection<T>(key: string): T | undefined;
|
|
2871
|
+
applyTitlePublicConfiguration(data: unknown): void;
|
|
2872
|
+
/** Item catalog view used by the cache to classify stackable vs unstackable items. */
|
|
2873
|
+
get itemDefinitions(): ItemDefinitions | undefined;
|
|
2874
|
+
applyItemDefinitions(defs: ItemDefinitions): void;
|
|
2875
|
+
/** Currency catalog view (virtual + crypto definitions). */
|
|
2876
|
+
get currencyDefinitions(): CurrencyDefinitions | undefined;
|
|
2877
|
+
applyCurrencyDefinitions(defs: CurrencyDefinitions): void;
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2880
|
+
/** Local cache root (port of static IDosGamesData). An instance, not a global singleton. */
|
|
2881
|
+
declare class IDosGamesData {
|
|
2882
|
+
readonly user: UserData;
|
|
2883
|
+
readonly config: TitleConfig;
|
|
2884
|
+
constructor(emitter: TypedEmitter<SdkEvents>);
|
|
2885
|
+
reset(): void;
|
|
2886
|
+
}
|
|
2887
|
+
|
|
2888
|
+
declare class AuthStore {
|
|
2889
|
+
private readonly storage;
|
|
2890
|
+
private readonly authTypeKey;
|
|
2891
|
+
private readonly emailKey;
|
|
2892
|
+
private readonly passwordKey;
|
|
2893
|
+
constructor(storage: KeyValueStorage, titleID: string);
|
|
2894
|
+
get lastAuthType(): AuthType;
|
|
2895
|
+
saveAuthType(type: AuthType): void;
|
|
2896
|
+
get savedEmail(): string;
|
|
2897
|
+
get savedPassword(): string;
|
|
2898
|
+
saveEmailAndPassword(email: string, password: string): void;
|
|
2899
|
+
clear(): void;
|
|
2900
|
+
}
|
|
2901
|
+
|
|
2902
|
+
type OperationFailureReason =
|
|
2903
|
+
/** Local argument validation failed before any network call (mirrors C# `Fail`). */
|
|
2904
|
+
"client"
|
|
2905
|
+
/** The response body did not match its zod schema (contract drift). */
|
|
2906
|
+
| "validation"
|
|
2907
|
+
/** Transient transport failure that survived auto-retries (offer a "Retry"). */
|
|
2908
|
+
| "connection"
|
|
2909
|
+
/** Session ticket rejected (HTTP 401) and could not be refreshed. */
|
|
2910
|
+
| "unauthorized"
|
|
2911
|
+
/** Client-side throttle / duplicate in-flight guard rejected the call. */
|
|
2912
|
+
| "throttled"
|
|
2913
|
+
/** The server returned `Success=false` or a non-transient HTTP error. */
|
|
2914
|
+
| "server";
|
|
2915
|
+
interface OperationSuccess<T> {
|
|
2916
|
+
readonly ok: true;
|
|
2917
|
+
readonly data: T;
|
|
2918
|
+
}
|
|
2919
|
+
interface OperationFailure {
|
|
2920
|
+
readonly ok: false;
|
|
2921
|
+
readonly reason: OperationFailureReason;
|
|
2922
|
+
readonly error: string;
|
|
2923
|
+
}
|
|
2924
|
+
type OperationResult<T> = OperationSuccess<T> | OperationFailure;
|
|
2925
|
+
declare function isOk<T>(result: OperationResult<T>): result is OperationSuccess<T>;
|
|
2926
|
+
declare function isFail<T>(result: OperationResult<T>): result is OperationFailure;
|
|
2927
|
+
|
|
2928
|
+
interface AuthContext {
|
|
2929
|
+
userID: string;
|
|
2930
|
+
clientSessionTicket: string;
|
|
2931
|
+
clientSessionTicketExpiration?: string;
|
|
2932
|
+
platformUserID?: string;
|
|
2933
|
+
platformAuthToken?: string;
|
|
2934
|
+
platformAuthTokenExpiration?: string;
|
|
2935
|
+
}
|
|
2936
|
+
|
|
2937
|
+
/** Port of AuthenticationService.cs: login methods, AutoLogin, single 401 refresh. */
|
|
2938
|
+
declare class AuthenticationService {
|
|
2939
|
+
private readonly ctx;
|
|
2940
|
+
private authContext;
|
|
2941
|
+
private refreshing;
|
|
2942
|
+
constructor(ctx: ClientContext);
|
|
2943
|
+
get context(): AuthContext | null;
|
|
2944
|
+
get isLoggedIn(): boolean;
|
|
2945
|
+
get lastAuthType(): AuthType;
|
|
2946
|
+
private baseRequest;
|
|
2947
|
+
loginWithDeviceID(): Promise<OperationResult<ClientState>>;
|
|
2948
|
+
loginWithTelegram(): Promise<OperationResult<ClientState>>;
|
|
2949
|
+
loginWithEmail(email: string, password: string): Promise<OperationResult<ClientState>>;
|
|
2950
|
+
registerWithEmail(email: string, password: string): Promise<OperationResult<ClientState>>;
|
|
2951
|
+
loginWithGoogle(googleIDToken: string): Promise<OperationResult<ClientState>>;
|
|
2952
|
+
/**
|
|
2953
|
+
* Step 1 of wallet login: request the challenge message the wallet must sign. The signing itself
|
|
2954
|
+
* (EVM personal_sign / Solana signMessage) lives in `@idosgames/wallet`, which then calls
|
|
2955
|
+
* {@link loginWithWallet} with the resulting signature.
|
|
2956
|
+
*/
|
|
2957
|
+
requestWalletChallenge(walletAddress: string, networkID: string): Promise<OperationResult<WalletChallengeResponse>>;
|
|
2958
|
+
/**
|
|
2959
|
+
* Step 2 of wallet login: exchange the signed challenge for a session (logs in / registers the
|
|
2960
|
+
* wallet-scoped account). Not auto-loginable — a fresh signature is required on every login, so
|
|
2961
|
+
* {@link autoLogin} routes AuthType.Wallet to the default (fail) branch.
|
|
2962
|
+
*/
|
|
2963
|
+
loginWithWallet(walletAddress: string, networkID: string, signature: string): Promise<OperationResult<ClientState>>;
|
|
2964
|
+
loginWithPlatformToken(authToken: string): Promise<OperationResult<ClientState>>;
|
|
2965
|
+
forgotPassword(email: string): Promise<OperationResult<SuccessResponse>>;
|
|
2966
|
+
resetPassword(email: string, resetToken: string, password: string): Promise<OperationResult<SuccessResponse>>;
|
|
2967
|
+
/**
|
|
2968
|
+
* Replays the last-used login method. Only safe for methods that don't need a fresh
|
|
2969
|
+
* externally-issued token: Email (saved password), Device/None (no credential needed), and
|
|
2970
|
+
* Telegram (initData is re-read live from the Telegram WebApp bridge, not stored).
|
|
2971
|
+
* Google/Facebook/GooglePlay/iDosGames-platform-token sessions can't be silently replayed —
|
|
2972
|
+
* there is no stored token to reuse, and falling back to a device-id login would resolve to
|
|
2973
|
+
* a different backend account (DeviceID and platform/email logins hash to different UserIDs
|
|
2974
|
+
* with no server-side link between them), silently stranding the player on an empty guest
|
|
2975
|
+
* account. Callers must obtain a fresh token from the platform SDK and call the matching
|
|
2976
|
+
* login method themselves in that case.
|
|
2977
|
+
*/
|
|
2978
|
+
autoLogin(): Promise<OperationResult<ClientState>>;
|
|
2979
|
+
/** Registered with the transport: a 401 transparently triggers one re-login + retry. */
|
|
2980
|
+
refreshSession(): Promise<string | null>;
|
|
2981
|
+
logout(): void;
|
|
2982
|
+
static isValidEmail(email: string): boolean;
|
|
2983
|
+
static isValidPasswordLength(password: string): boolean;
|
|
2984
|
+
private applyAuthContext;
|
|
2985
|
+
private fetchAndApplyClientState;
|
|
2986
|
+
}
|
|
2987
|
+
|
|
2988
|
+
/** Port of UserService.cs (ClientState loading + cache apply + events). */
|
|
2989
|
+
declare class UserService {
|
|
2990
|
+
private readonly ctx;
|
|
2991
|
+
constructor(ctx: ClientContext);
|
|
2992
|
+
private baseRequest;
|
|
2993
|
+
getClientState(): Promise<OperationResult<ClientState>>;
|
|
2994
|
+
/**
|
|
2995
|
+
* Loads ClientState excluding the given fields. At login GameLoop is excluded (loaded
|
|
2996
|
+
* per-stage separately) and carried across the wholesale state replace so a mid-session
|
|
2997
|
+
* refresh doesn't wipe the active board.
|
|
2998
|
+
*/
|
|
2999
|
+
getClientStateExcept(excludeFields?: string[], excludeTitleFields?: string[]): Promise<OperationResult<ClientState>>;
|
|
3000
|
+
getUserInventory(): Promise<OperationResult<UserInventoryState>>;
|
|
3001
|
+
getEventTokens(): Promise<OperationResult<UserEventTokensState>>;
|
|
3002
|
+
getUsageTime(): Promise<OperationResult<UsageTimeStats>>;
|
|
3003
|
+
addUsageTime(usageTime: number, isNewSession: boolean, sessionDurationSeconds: number): Promise<OperationResult<SuccessResponse>>;
|
|
3004
|
+
deleteUserAccount(): Promise<OperationResult<SuccessResponse>>;
|
|
3005
|
+
changeUsername(username: string): Promise<OperationResult<ChangeUsernameResponse>>;
|
|
3006
|
+
private applyClientState;
|
|
3007
|
+
}
|
|
3008
|
+
|
|
3009
|
+
/**
|
|
3010
|
+
* Port of CurrencyService.cs. Cheap preflight validation, then a server-authoritative call;
|
|
3011
|
+
* on success it mirrors the server's debit/credit into the cache and fires a typed event.
|
|
3012
|
+
*/
|
|
3013
|
+
declare class CurrencyService {
|
|
3014
|
+
private readonly ctx;
|
|
3015
|
+
constructor(ctx: ClientContext);
|
|
3016
|
+
/** VC↔VC conversion. */
|
|
3017
|
+
convert(sourceType: CurrencyType, sourceID: string, targetType: CurrencyType, targetID: string, sourceAmount: number, transactionID?: string): Promise<OperationResult<ConvertResponse>>;
|
|
3018
|
+
/** Conversion involving at least one crypto currency. */
|
|
3019
|
+
cryptoConvert(sourceType: CurrencyType, sourceID: string, targetType: CurrencyType, targetID: string, sourceAmount: Decimal | string | number, transactionID?: string): Promise<OperationResult<CryptoConvertResponse>>;
|
|
3020
|
+
}
|
|
3021
|
+
|
|
3022
|
+
/** Port of ItemService.cs. */
|
|
3023
|
+
declare class ItemService {
|
|
3024
|
+
private readonly ctx;
|
|
3025
|
+
constructor(ctx: ClientContext);
|
|
3026
|
+
/**
|
|
3027
|
+
* Upgrade an item instance's level, optionally consuming fodder instances. On success the
|
|
3028
|
+
* server-authoritative inventory is re-fetched (mirrors the C# GetUserInventory call).
|
|
3029
|
+
*/
|
|
3030
|
+
upgradeLevel(itemInstanceID: string, fodderInstanceIDs?: readonly string[]): Promise<OperationResult<UpgradeItemLevelResponse>>;
|
|
3031
|
+
/**
|
|
3032
|
+
* Upgrade several item instances (+1 level each, or a multi-level/target-level upgrade per
|
|
3033
|
+
* ref) in one atomic operation. On success the server-authoritative inventory is re-fetched.
|
|
3034
|
+
*/
|
|
3035
|
+
upgradeLevelsBatch(upgrades: ItemUpgradeRef[]): Promise<OperationResult<UpgradeLevelsBatchResponse>>;
|
|
3036
|
+
}
|
|
3037
|
+
|
|
3038
|
+
/** Port of StoreService.cs. */
|
|
3039
|
+
declare class StoreService {
|
|
3040
|
+
private readonly ctx;
|
|
3041
|
+
constructor(ctx: ClientContext);
|
|
3042
|
+
purchase(offerID: string, count?: number): Promise<OperationResult<StorePurchaseResponse>>;
|
|
3043
|
+
/** Buy several offers in one atomic operation. Each ref is `{ OfferID, Count }`. */
|
|
3044
|
+
purchaseBatch(purchases: StorePurchaseRef[]): Promise<OperationResult<PurchaseBatchResponse>>;
|
|
3045
|
+
getDefinitions(): Promise<OperationResult<StoreDefinitions>>;
|
|
3046
|
+
getUserState(): Promise<OperationResult<UserStoreState>>;
|
|
3047
|
+
private baseRequest;
|
|
3048
|
+
}
|
|
3049
|
+
|
|
3050
|
+
/** Port of LootboxService.cs. */
|
|
3051
|
+
declare class LootboxService {
|
|
3052
|
+
private readonly ctx;
|
|
3053
|
+
constructor(ctx: ClientContext);
|
|
3054
|
+
getDefinitions(): Promise<OperationResult<LootboxDefinitionsResponse>>;
|
|
3055
|
+
open(lootboxID: string, count: number, selectedOptionID: number): Promise<OperationResult<LootboxOpenResponse>>;
|
|
3056
|
+
private baseRequest;
|
|
3057
|
+
}
|
|
3058
|
+
|
|
3059
|
+
/** Port of RewardService.cs. */
|
|
3060
|
+
declare class RewardService {
|
|
3061
|
+
private readonly ctx;
|
|
3062
|
+
private multiplier;
|
|
3063
|
+
private multiplierEnabled;
|
|
3064
|
+
constructor(ctx: ClientContext);
|
|
3065
|
+
get milestoneRewardMultiplier(): number;
|
|
3066
|
+
get milestoneRewardMultiplierEnabled(): boolean;
|
|
3067
|
+
getRewardDefinitions(): Promise<OperationResult<RewardDefinitionsResponse>>;
|
|
3068
|
+
getUserRewardsState(): Promise<OperationResult<UserRewardsStateResponse>>;
|
|
3069
|
+
getMilestoneRewardMultiplier(): Promise<OperationResult<GetMilestoneRewardMultiplierResponse>>;
|
|
3070
|
+
claimDailyReward(calendarID?: string): Promise<OperationResult<ClaimDailyRewardResponse>>;
|
|
3071
|
+
collectIdleAccrual(accrualID: string): Promise<OperationResult<CollectIdleAccrualResponse>>;
|
|
3072
|
+
claimComebackReward(comebackID: string): Promise<OperationResult<ClaimComebackRewardResponse>>;
|
|
3073
|
+
claimReward(claimID: string): Promise<OperationResult<ClaimRewardResponse>>;
|
|
3074
|
+
private baseRequest;
|
|
3075
|
+
}
|
|
3076
|
+
|
|
3077
|
+
/** Port of QuestService.cs. */
|
|
3078
|
+
declare class QuestService {
|
|
3079
|
+
private readonly ctx;
|
|
3080
|
+
constructor(ctx: ClientContext);
|
|
3081
|
+
getQuestDefinitions(): Promise<OperationResult<QuestDefinitions>>;
|
|
3082
|
+
getUserQuestState(autoRefreshCycles?: boolean): Promise<OperationResult<GetUserQuestStateResponse>>;
|
|
3083
|
+
refreshQuestCycles(): Promise<OperationResult<SuccessResponse>>;
|
|
3084
|
+
claimQuestReward(questID: string, cycleID?: string): Promise<OperationResult<ClaimQuestRewardResponse>>;
|
|
3085
|
+
/** Claim rewards for several quests in one atomic operation (deduped by CycleID+QuestID). */
|
|
3086
|
+
claimQuestRewardsBatch(quests: QuestClaimRef[]): Promise<OperationResult<ClaimQuestRewardsBatchResponse>>;
|
|
3087
|
+
claimMilestoneReward(cycleID: string, milestoneID: string): Promise<OperationResult<ClaimMilestoneRewardResponse>>;
|
|
3088
|
+
/** Claim rewards for several milestones in one atomic operation (deduped by CycleID+MilestoneID). */
|
|
3089
|
+
claimMilestoneRewardsBatch(milestones: MilestoneClaimRef[]): Promise<OperationResult<ClaimMilestoneRewardsBatchResponse>>;
|
|
3090
|
+
claimGroupCompletionReward(cycleID: string, groupCompletionID: string): Promise<OperationResult<ClaimGroupCompletionRewardResponse>>;
|
|
3091
|
+
addQuestProgress(metricID: string, progressValue: number): Promise<OperationResult<AddQuestProgressResponse>>;
|
|
3092
|
+
private baseRequest;
|
|
3093
|
+
}
|
|
3094
|
+
|
|
3095
|
+
/** Port of TimedEventService.cs. */
|
|
3096
|
+
declare class TimedEventService {
|
|
3097
|
+
private readonly ctx;
|
|
3098
|
+
constructor(ctx: ClientContext);
|
|
3099
|
+
getActiveEvents(): Promise<OperationResult<GetActiveEventsResponse>>;
|
|
3100
|
+
getDefinitions(): Promise<OperationResult<TimedEventDefinitions>>;
|
|
3101
|
+
getUserLteState(): Promise<OperationResult<UserTimedEventStateResponse>>;
|
|
3102
|
+
grantTokens(type: ScheduleMode, lteID: string, sourceType: string, outcome?: string, amountOverride?: number, sourceParams?: Record<string, string>, rollMultiplier?: number): Promise<OperationResult<ResourceOperation>>;
|
|
3103
|
+
spendTokens(type: ScheduleMode, lteID: string, spendAmount: number): Promise<OperationResult<EventTokenSpendResponse>>;
|
|
3104
|
+
claimMilestone(type: ScheduleMode, lteID: string, milestoneID: string): Promise<OperationResult<EventMilestoneClaimResponse>>;
|
|
3105
|
+
/** Claim several milestones in one atomic operation (deduped by Type+LteID+instance+MilestoneID). */
|
|
3106
|
+
claimMilestonesBatch(milestones: TimedEventMilestoneRef[]): Promise<OperationResult<ClaimMilestonesBatchResponse>>;
|
|
3107
|
+
/** Claim every reached-but-unclaimed milestone across the given events (all active events if omitted). */
|
|
3108
|
+
claimAllMilestones(events?: TimedEventInstanceRef[]): Promise<OperationResult<ClaimMilestonesBatchResponse>>;
|
|
3109
|
+
/** Spend tokens across several event instances in one atomic operation. */
|
|
3110
|
+
spendTokensBatch(spends: TimedEventSpendRef[]): Promise<OperationResult<SpendTokensBatchResponse>>;
|
|
3111
|
+
/** Grant tokens across several event instances in one atomic operation. */
|
|
3112
|
+
grantTokensBatch(grants: TimedEventGrantRef[]): Promise<OperationResult<GrantTokensBatchResponse>>;
|
|
3113
|
+
/** Shared cache-patch for ClaimMilestonesBatch/ClaimAllMilestones: same response shape. */
|
|
3114
|
+
private applyMilestoneClaimBatch;
|
|
3115
|
+
private baseRequest;
|
|
3116
|
+
}
|
|
3117
|
+
|
|
3118
|
+
/** Port of LeaderboardService.cs (startup auto-claim is deferred). */
|
|
3119
|
+
declare class LeaderboardService {
|
|
3120
|
+
private readonly ctx;
|
|
3121
|
+
constructor(ctx: ClientContext);
|
|
3122
|
+
/** Per-cycle local doc id: `{titleID}_{leaderboardID}` (mirror of BuildCycleDocID). */
|
|
3123
|
+
private cycleDocID;
|
|
3124
|
+
getDefinitions(): Promise<OperationResult<LeaderboardDefinitions>>;
|
|
3125
|
+
getLeaderboard(leaderboardID: string): Promise<OperationResult<GetLeaderboardResponse>>;
|
|
3126
|
+
getMyProgress(leaderboardID: string): Promise<OperationResult<GetMyProgressResponse>>;
|
|
3127
|
+
submitScore(leaderboardID: string, score: number): Promise<OperationResult<SubmitScoreResponse>>;
|
|
3128
|
+
submitScoreFromSource(leaderboardID: string, sourceType: string, outcome?: string, params?: Record<string, string>, rollMultiplier?: number): Promise<OperationResult<SubmitScoreResponse>>;
|
|
3129
|
+
claimCycleReward(leaderboardID: string): Promise<OperationResult<ClaimCycleRewardResponse>>;
|
|
3130
|
+
claimMilestone(leaderboardID: string, milestoneID: string): Promise<OperationResult<ClaimLeaderboardMilestoneResponse>>;
|
|
3131
|
+
getFriendsLeaderboard(leaderboardID: string): Promise<OperationResult<GetLeaderboardResponse>>;
|
|
3132
|
+
/** Fetch several leaderboards' top lists in one call. */
|
|
3133
|
+
getLeaderboardsBatch(leaderboardIDs: string[]): Promise<OperationResult<GetLeaderboardsBatchResponse>>;
|
|
3134
|
+
/** Fetch this player's progress on several leaderboards in one call. */
|
|
3135
|
+
getProgressBatch(leaderboardIDs: string[]): Promise<OperationResult<GetProgressBatchResponse>>;
|
|
3136
|
+
/** Claim the cycle-end reward for several leaderboards in one atomic operation. */
|
|
3137
|
+
claimCycleRewardsBatch(leaderboardIDs: string[]): Promise<OperationResult<ClaimCycleRewardsBatchResponse>>;
|
|
3138
|
+
/** Claim several explicit (leaderboard, milestone) pairs in one atomic operation. */
|
|
3139
|
+
claimMilestonesBatch(milestones: LeaderboardMilestoneRef[]): Promise<OperationResult<ClaimLeaderboardMilestonesBatchResponse>>;
|
|
3140
|
+
/** Submit scores to several leaderboards in one atomic operation. */
|
|
3141
|
+
submitScoresBatch(scores: LeaderboardScoreRef[]): Promise<OperationResult<SubmitScoresBatchResponse>>;
|
|
3142
|
+
/** Claim every reward reachable across several leaderboards (cycle reward + milestones). */
|
|
3143
|
+
claimAllRewardsBatch(leaderboardIDs: string[]): Promise<OperationResult<ClaimAllRewardsBatchResponse>>;
|
|
3144
|
+
/** Fetch top list + player progress for several leaderboards in one call. */
|
|
3145
|
+
getOverviewBatch(leaderboardIDs: string[]): Promise<OperationResult<GetOverviewBatchResponse>>;
|
|
3146
|
+
private baseRequest;
|
|
3147
|
+
}
|
|
3148
|
+
|
|
3149
|
+
/** Port of SeasonService.cs. */
|
|
3150
|
+
declare class SeasonService {
|
|
3151
|
+
private readonly ctx;
|
|
3152
|
+
constructor(ctx: ClientContext);
|
|
3153
|
+
getDefinitions(): Promise<OperationResult<SeasonDefinitions>>;
|
|
3154
|
+
getActiveSeason(seasonChainID: string): Promise<OperationResult<ActiveSeasonInfo>>;
|
|
3155
|
+
getUserState(seasonChainID: string): Promise<OperationResult<UserSeasonStateResponse>>;
|
|
3156
|
+
grantStatusTokens(seasonChainID: string, amount: number): Promise<OperationResult<GrantStatusTokensResponse>>;
|
|
3157
|
+
claimTierReward(seasonChainID: string, tierNumber: number): Promise<OperationResult<ClaimTierRewardResponse>>;
|
|
3158
|
+
private baseRequest;
|
|
3159
|
+
}
|
|
3160
|
+
|
|
3161
|
+
/** Port of PremiumService.cs. */
|
|
3162
|
+
declare class PremiumService {
|
|
3163
|
+
private readonly ctx;
|
|
3164
|
+
constructor(ctx: ClientContext);
|
|
3165
|
+
getDefinitions(): Promise<OperationResult<PremiumDefinitionsResponse>>;
|
|
3166
|
+
getUserState(): Promise<OperationResult<PremiumStateResponse>>;
|
|
3167
|
+
activateTrial(premiumID: string, transactionID: string): Promise<OperationResult<PremiumPurchaseResponse>>;
|
|
3168
|
+
purchaseItemOrCurrency(premiumID: string, transactionID: string, selectedOptionID?: string, count?: number): Promise<OperationResult<PremiumPurchaseResponse>>;
|
|
3169
|
+
purchaseRealMoney(premiumID: string, transactionID: string, store: StoreType, productID: string, receiptData: string, purchaseToken?: string, packageName?: string, appStoreEnvironment?: string): Promise<OperationResult<PremiumPurchaseResponse>>;
|
|
3170
|
+
private baseRequest;
|
|
3171
|
+
}
|
|
3172
|
+
|
|
3173
|
+
/** Optional multi-level target for a single stat/level upgrade. */
|
|
3174
|
+
interface UpgradeLevelsOptions {
|
|
3175
|
+
/** Raise this many levels in one call (default 1). Ignored when targetLevel is set. */
|
|
3176
|
+
levels?: number;
|
|
3177
|
+
/** Absolute target level (takes priority over levels; clamped to the max server-side). */
|
|
3178
|
+
targetLevel?: number;
|
|
3179
|
+
}
|
|
3180
|
+
/**
|
|
3181
|
+
* Port of CharacterService.cs. Equip/unequip mirror the server's authoritative result into the
|
|
3182
|
+
* cache (equipment map + per-instance EquippedSlot). The pristine-bundle merge/defragment of
|
|
3183
|
+
* unstackable items is a display-only inventory optimization and is deferred.
|
|
3184
|
+
*/
|
|
3185
|
+
declare class CharacterService {
|
|
3186
|
+
private readonly ctx;
|
|
3187
|
+
constructor(ctx: ClientContext);
|
|
3188
|
+
getCharacterDefinitions(): Promise<OperationResult<CharacterDefinitions>>;
|
|
3189
|
+
getUserCharacters(): Promise<OperationResult<GetCharactersResponse>>;
|
|
3190
|
+
unlockCharacter(characterID: string): Promise<OperationResult<UnlockCharacterResponse>>;
|
|
3191
|
+
upgradeStatLevel(characterID: string, statID: string, opts?: UpgradeLevelsOptions): Promise<OperationResult<UpgradeStatLevelResponse>>;
|
|
3192
|
+
upgradeCharacterLevel(characterID: string, opts?: UpgradeLevelsOptions): Promise<OperationResult<UpgradeCharacterLevelResponse>>;
|
|
3193
|
+
equipItems(characterID: string, itemsToEquip: EquipSlotPair[]): Promise<OperationResult<EquipItemsResponse>>;
|
|
3194
|
+
unequipItems(characterID: string, slotIDs: string[]): Promise<OperationResult<UnequipItemsResponse>>;
|
|
3195
|
+
unequipAllCharacters(): Promise<OperationResult<UnequipAllCharactersResponse>>;
|
|
3196
|
+
/**
|
|
3197
|
+
* Unlock several characters in one atomic operation. Cheaper than N `unlockCharacter`
|
|
3198
|
+
* calls; the backend dedupes ids, skips already-owned / non-purchasable ones per item, and
|
|
3199
|
+
* charges the merged cost once. Returns a per-item result so you can show which ones went
|
|
3200
|
+
* through and why the rest didn't.
|
|
3201
|
+
*/
|
|
3202
|
+
unlockCharactersBatch(characterIDs: string[]): Promise<OperationResult<UnlockCharactersBatchResponse>>;
|
|
3203
|
+
/**
|
|
3204
|
+
* Raise the level/rank of several characters in one atomic operation. Each ref may carry a
|
|
3205
|
+
* multi-level `Levels` count or an absolute `TargetLevel`. All-or-nothing on cost.
|
|
3206
|
+
*/
|
|
3207
|
+
upgradeCharacterLevelsBatch(upgrades: CharacterLevelRef[]): Promise<OperationResult<UpgradeCharacterLevelsBatchResponse>>;
|
|
3208
|
+
/**
|
|
3209
|
+
* Raise several stats (across one or more characters) in one atomic operation. Each ref may
|
|
3210
|
+
* carry a multi-level `Levels` count or an absolute `TargetLevel`. Stat requirements are
|
|
3211
|
+
* checked against read-time levels, so chained prerequisites in the same call are not
|
|
3212
|
+
* satisfied step-by-step — split those across calls. All-or-nothing on cost.
|
|
3213
|
+
*/
|
|
3214
|
+
upgradeStatLevelsBatch(upgrades: CharacterStatRef[]): Promise<OperationResult<UpgradeStatLevelsBatchResponse>>;
|
|
3215
|
+
/**
|
|
3216
|
+
* Mirror a batch result into the cache: apply the merged consumed/granted resources exactly
|
|
3217
|
+
* once (carried at the wrapper top level), then run `patch` for each successful item.
|
|
3218
|
+
*/
|
|
3219
|
+
private applyBatchResults;
|
|
3220
|
+
/** Reconcile UnstackableItems from a server-returned InventoryDelta (upserts + removals). */
|
|
3221
|
+
private applyInventoryDelta;
|
|
3222
|
+
private applyEquipChangesLocally;
|
|
3223
|
+
private applyUnequipChangesLocally;
|
|
3224
|
+
private applyUnequipAllLocally;
|
|
3225
|
+
private baseRequest;
|
|
3226
|
+
}
|
|
3227
|
+
|
|
3228
|
+
/** Port of MatchService.cs (PvP). */
|
|
3229
|
+
declare class MatchService {
|
|
3230
|
+
private readonly ctx;
|
|
3231
|
+
constructor(ctx: ClientContext);
|
|
3232
|
+
createMatch(entry: ResourceBundle, ruleID: string, characterID?: string, battleStrategy?: BattleStepConfig[], targetUserID?: string): Promise<OperationResult<CreateMatchResponse>>;
|
|
3233
|
+
/** Edit an open match's own fields (e.g. privacy) before anyone joins. */
|
|
3234
|
+
updateMatch(matchID: string, fields?: {
|
|
3235
|
+
targetUserID?: string;
|
|
3236
|
+
clearTargetUser?: boolean;
|
|
3237
|
+
ruleID?: string;
|
|
3238
|
+
characterID?: string;
|
|
3239
|
+
battleStrategy?: BattleStepConfig[];
|
|
3240
|
+
}): Promise<OperationResult<UpdateMatchResponse>>;
|
|
3241
|
+
/** Cancel an open match created by this player; refunds the entry stake (+ creation cost). */
|
|
3242
|
+
cancelMatch(matchID: string): Promise<OperationResult<CancelMatchResponse>>;
|
|
3243
|
+
instantBattle(matchID: string, ruleID: string, characterID?: string, battleStrategy?: BattleStepConfig[]): Promise<OperationResult<InstantBattleResponse>>;
|
|
3244
|
+
saveStrategy(battleStrategy: BattleStepConfig[]): Promise<OperationResult<SuccessResponse>>;
|
|
3245
|
+
getMyMatches(page?: number, pageSize?: number, statuses?: string[]): Promise<OperationResult<MatchesPageResponse>>;
|
|
3246
|
+
getAvailableMatches(page?: number, pageSize?: number, onlyPublic?: boolean): Promise<OperationResult<MatchesPageResponse>>;
|
|
3247
|
+
getDefinitions(): Promise<OperationResult<GetMatchDefinitionsResponse>>;
|
|
3248
|
+
private baseRequest;
|
|
3249
|
+
}
|
|
3250
|
+
|
|
3251
|
+
/** Port of CraftService.cs. */
|
|
3252
|
+
declare class CraftService {
|
|
3253
|
+
private readonly ctx;
|
|
3254
|
+
constructor(ctx: ClientContext);
|
|
3255
|
+
getDefinitions(): Promise<OperationResult<CraftDefinitionsResponse>>;
|
|
3256
|
+
craft(craftID: string, inputItemIDs: string[], count?: number, selectedOptionID?: string): Promise<OperationResult<CraftResponse>>;
|
|
3257
|
+
private baseRequest;
|
|
3258
|
+
}
|
|
3259
|
+
|
|
3260
|
+
/** Port of CollectionService.cs. Resource-affecting actions patch the cache; trade-offer
|
|
3261
|
+
* actions are domain-only and surface via events. */
|
|
3262
|
+
declare class CollectionService {
|
|
3263
|
+
private readonly ctx;
|
|
3264
|
+
constructor(ctx: ClientContext);
|
|
3265
|
+
getDefinitions(): Promise<OperationResult<CollectionDefinitions>>;
|
|
3266
|
+
getUserState(): Promise<OperationResult<UserCollectionState>>;
|
|
3267
|
+
openPack(collectionID: string, packTypeID: string): Promise<OperationResult<OpenPackResponse>>;
|
|
3268
|
+
openCollectionChest(collectionID: string, collectionChestID: string): Promise<OperationResult<OpenCollectionChestResponse>>;
|
|
3269
|
+
useCollectibleJoker(collectionID: string, collectibleID: string): Promise<OperationResult<UseCollectibleJokerResponse>>;
|
|
3270
|
+
claimSetReward(collectionID: string, setID: string): Promise<OperationResult<ClaimSetRewardResponse>>;
|
|
3271
|
+
/** Claim rewards for several completed sets in one atomic operation (deduped by SetID). */
|
|
3272
|
+
claimSetRewardsBatch(sets: CollectionSetRef[]): Promise<OperationResult<ClaimSetRewardsBatchResponse>>;
|
|
3273
|
+
claimGrandPrize(collectionID: string): Promise<OperationResult<ClaimGrandPrizeResponse>>;
|
|
3274
|
+
sendTradeOffer(collectionID: string, collectibleID: string, collectibleIsSpecial: boolean, receiverUserID: string, requestedCollectibleID?: string, requestedCollectibleIsSpecial?: boolean): Promise<OperationResult<SendTradeOfferResponse>>;
|
|
3275
|
+
cancelTradeOffer(offerID: string): Promise<OperationResult<CancelTradeOfferResponse>>;
|
|
3276
|
+
acceptTradeOffer(offerID: string): Promise<OperationResult<AcceptTradeOfferResponse>>;
|
|
3277
|
+
declineTradeOffer(offerID: string): Promise<OperationResult<DeclineTradeOfferResponse>>;
|
|
3278
|
+
getMyTradeOffers(collectionID: string): Promise<OperationResult<GetTradeOffersResponse>>;
|
|
3279
|
+
getIncomingTradeOffers(collectionID: string): Promise<OperationResult<GetTradeOffersResponse>>;
|
|
3280
|
+
private baseRequest;
|
|
3281
|
+
}
|
|
3282
|
+
|
|
3283
|
+
/** Port of CoopEventService.cs. */
|
|
3284
|
+
declare class CoopEventService {
|
|
3285
|
+
private readonly ctx;
|
|
3286
|
+
constructor(ctx: ClientContext);
|
|
3287
|
+
getDefinitions(): Promise<OperationResult<CoopEventDefinitions>>;
|
|
3288
|
+
getActiveEvent(coopChainID: string): Promise<OperationResult<ActiveCoopEventInfo>>;
|
|
3289
|
+
getUserState(): Promise<OperationResult<CoopUserStateResponse>>;
|
|
3290
|
+
getGroupState(groupID: string): Promise<OperationResult<CoopGroupStateResponse>>;
|
|
3291
|
+
joinOrCreateGroup(coopChainID: string): Promise<OperationResult<CoopGroupStateResponse>>;
|
|
3292
|
+
spin(coopChainID: string, groupID: string): Promise<OperationResult<CoopSpinResponse>>;
|
|
3293
|
+
claimObjectReward(groupID: string): Promise<OperationResult<CoopClaimRewardResponse>>;
|
|
3294
|
+
claimGrandPrize(groupID: string): Promise<OperationResult<CoopClaimRewardResponse>>;
|
|
3295
|
+
leaveGroup(groupID?: string): Promise<OperationResult<CoopLeaveGroupResponse>>;
|
|
3296
|
+
private baseRequest;
|
|
3297
|
+
}
|
|
3298
|
+
|
|
3299
|
+
/** Port of DealOfferService.cs (economy + events; optimistic slot-state patches deferred). */
|
|
3300
|
+
declare class DealOfferService {
|
|
3301
|
+
private readonly ctx;
|
|
3302
|
+
constructor(ctx: ClientContext);
|
|
3303
|
+
getDefinition(): Promise<OperationResult<DealOffersDefinitionResponse>>;
|
|
3304
|
+
getUserState(): Promise<OperationResult<UserDealOffersStateResponse>>;
|
|
3305
|
+
getActiveDeals(): Promise<OperationResult<GetActiveDealsResponse>>;
|
|
3306
|
+
dismissDeal(slotID: string): Promise<OperationResult<DismissDealResponse>>;
|
|
3307
|
+
executeNode(slotID: string, nodeID: string, externalRefID?: string): Promise<OperationResult<ExecuteNodeResponse>>;
|
|
3308
|
+
recordShow(slotID: string): Promise<OperationResult<RecordShowResponse>>;
|
|
3309
|
+
claimMilestone(slotID: string, milestoneID: string): Promise<OperationResult<ClaimDealMilestoneResponse>>;
|
|
3310
|
+
claimMilestonesBatch(slotID: string, milestoneIDs: string[]): Promise<OperationResult<ClaimDealMilestonesBatchResponse>>;
|
|
3311
|
+
private baseRequest;
|
|
3312
|
+
}
|
|
3313
|
+
|
|
3314
|
+
/** Port of ReferralService.cs. */
|
|
3315
|
+
declare class ReferralService {
|
|
3316
|
+
private readonly ctx;
|
|
3317
|
+
constructor(ctx: ClientContext);
|
|
3318
|
+
getDefinitions(): Promise<OperationResult<ReferralDefinitionsResponse>>;
|
|
3319
|
+
getUserState(): Promise<OperationResult<UserReferralStateResponse>>;
|
|
3320
|
+
activateReferralCode(referralCode: string): Promise<OperationResult<ActivateReferralCodeResponse>>;
|
|
3321
|
+
claimInviteReward(inviteRewardID: string): Promise<OperationResult<ClaimInviteRewardResponse>>;
|
|
3322
|
+
private baseRequest;
|
|
3323
|
+
}
|
|
3324
|
+
|
|
3325
|
+
/** Port of SocialService.cs. */
|
|
3326
|
+
declare class SocialService {
|
|
3327
|
+
private readonly ctx;
|
|
3328
|
+
constructor(ctx: ClientContext);
|
|
3329
|
+
getFriendsList(): Promise<OperationResult<FriendsListResponse>>;
|
|
3330
|
+
getIncomingRequests(): Promise<OperationResult<FriendsListResponse>>;
|
|
3331
|
+
getRecommendedFriends(limit?: number): Promise<OperationResult<FriendsListResponse>>;
|
|
3332
|
+
sendFriendRequest(targetUserID: string): Promise<OperationResult<FriendActionResponse>>;
|
|
3333
|
+
acceptFriendRequest(requesterUserID: string): Promise<OperationResult<FriendActionResponse>>;
|
|
3334
|
+
declineFriendRequest(requesterUserID: string): Promise<OperationResult<FriendActionResponse>>;
|
|
3335
|
+
removeFriend(friendUserID: string): Promise<OperationResult<FriendActionResponse>>;
|
|
3336
|
+
getTimeline(): Promise<OperationResult<TimelineResponse>>;
|
|
3337
|
+
private baseRequest;
|
|
3338
|
+
}
|
|
3339
|
+
|
|
3340
|
+
/** Port of TimedBoostService.cs. */
|
|
3341
|
+
declare class TimedBoostService {
|
|
3342
|
+
private readonly ctx;
|
|
3343
|
+
constructor(ctx: ClientContext);
|
|
3344
|
+
getDefinitions(): Promise<OperationResult<TimedBoostDefinitions>>;
|
|
3345
|
+
getActive(): Promise<OperationResult<GetActiveTimedBoostsResponse>>;
|
|
3346
|
+
getActiveWindows(): Promise<OperationResult<GetActiveBoostWindowsResponse>>;
|
|
3347
|
+
activate(boostID: string): Promise<OperationResult<ActivateTimedBoostResponse>>;
|
|
3348
|
+
cleanupExpired(): Promise<OperationResult<SuccessResponse>>;
|
|
3349
|
+
private baseRequest;
|
|
3350
|
+
}
|
|
3351
|
+
|
|
3352
|
+
/** Port of UserCustomDataService.cs. */
|
|
3353
|
+
declare class UserCustomDataService {
|
|
3354
|
+
private readonly ctx;
|
|
3355
|
+
constructor(ctx: ClientContext);
|
|
3356
|
+
getUserCustomDataDefinitions(): Promise<OperationResult<UserCustomDataDefinitions>>;
|
|
3357
|
+
getMyUserCustomData(): Promise<OperationResult<GetMyUserCustomDataResponse>>;
|
|
3358
|
+
getPublicUserCustomDataOf(targetUserID: string): Promise<OperationResult<GetPublicUserCustomDataResponse>>;
|
|
3359
|
+
setPrivateData(keyID: string, value: string): Promise<OperationResult<SetUserCustomDataResponse>>;
|
|
3360
|
+
setPublicData(keyID: string, value: string): Promise<OperationResult<SetUserCustomDataResponse>>;
|
|
3361
|
+
private setData;
|
|
3362
|
+
deleteKey(keyID: string, bucket: CustomDataBucket): Promise<OperationResult<SuccessResponse>>;
|
|
3363
|
+
batchSet(items: UserCustomDataBatchSetItem[]): Promise<OperationResult<BatchSetUserCustomDataResponse>>;
|
|
3364
|
+
batchDelete(items: UserCustomDataBatchDeleteItem[]): Promise<OperationResult<BatchDeleteUserCustomDataResponse>>;
|
|
3365
|
+
batchGetPublicUserCustomDataOf(targetUserIDs: string[]): Promise<OperationResult<BatchGetPublicUserCustomDataResponse>>;
|
|
3366
|
+
private baseRequest;
|
|
3367
|
+
}
|
|
3368
|
+
|
|
3369
|
+
/** Port of TitleService.cs (standalone config fetches). */
|
|
3370
|
+
declare class TitleService {
|
|
3371
|
+
private readonly ctx;
|
|
3372
|
+
constructor(ctx: ClientContext);
|
|
3373
|
+
getTitlePublicConfiguration(): Promise<OperationResult<TitlePublicConfigurationModel>>;
|
|
3374
|
+
getPublicTitleCustomData(): Promise<OperationResult<TitleCustomDataResponse>>;
|
|
3375
|
+
getCurrencyDefinitions(): Promise<OperationResult<CurrencyDefinitions>>;
|
|
3376
|
+
getItemDefinitions(): Promise<OperationResult<ItemDefinitions>>;
|
|
3377
|
+
getServerTime(): Promise<OperationResult<SuccessResponse>>;
|
|
3378
|
+
private baseRequest;
|
|
3379
|
+
}
|
|
3380
|
+
|
|
3381
|
+
/**
|
|
3382
|
+
* Port of GameLoopService.cs (board core + Community Chest). The server is authoritative for
|
|
3383
|
+
* every roll/attack/raid/build/special/chest action; this service mirrors the result into the
|
|
3384
|
+
* cache and fires events, and reconciles via GetUserBoardState when a board interaction fails.
|
|
3385
|
+
*/
|
|
3386
|
+
declare class GameLoopService {
|
|
3387
|
+
private readonly ctx;
|
|
3388
|
+
constructor(ctx: ClientContext);
|
|
3389
|
+
private get itemDefs();
|
|
3390
|
+
getGameLoops(): Promise<OperationResult<GameLoopDefinitions>>;
|
|
3391
|
+
getBoardDefinition(silent?: boolean): Promise<OperationResult<BoardLoopDefinition>>;
|
|
3392
|
+
getBoardDefinitionForLevel(stageLevel: number, silent?: boolean): Promise<OperationResult<BoardLoopDefinition>>;
|
|
3393
|
+
getUserBoardState(): Promise<OperationResult<BoardLoopState>>;
|
|
3394
|
+
boardLoopRoll(rollMultiplier?: number): Promise<OperationResult<BoardRollResponse>>;
|
|
3395
|
+
boardLoopAttack(buildingIndex?: number): Promise<OperationResult<AttackResponse>>;
|
|
3396
|
+
boardLoopRaid(digIndex: number, existingRelatedEntityID?: string): Promise<OperationResult<RaidResponse>>;
|
|
3397
|
+
boardLoopRaidFast(digIndices: number[]): Promise<OperationResult<RaidResponse>>;
|
|
3398
|
+
boardLoopBuild(buildingIndex: number): Promise<OperationResult<BuildResponse>>;
|
|
3399
|
+
boardSpecialChoose(choiceID: string): Promise<OperationResult<SpecialChooseResponse>>;
|
|
3400
|
+
boardSpecialApplyMultiplier(existingRelatedEntityID?: string): Promise<OperationResult<SpecialApplyMultiplierResponse>>;
|
|
3401
|
+
boardSpecialClaim(): Promise<OperationResult<SpecialClaimResponse>>;
|
|
3402
|
+
/** Fetch this player's Community Chest state (active group, if any) + seconds remaining. */
|
|
3403
|
+
getCommunityChestState(): Promise<OperationResult<CommunityChestUserStateResponse>>;
|
|
3404
|
+
/** Join an existing forming/active Community Chest group, or create one if none is open. */
|
|
3405
|
+
joinOrCreateCommunityChest(): Promise<OperationResult<CommunityChestGroupStateResponse>>;
|
|
3406
|
+
/** Claim the reward for one reached-but-unclaimed Community Chest milestone. */
|
|
3407
|
+
claimCommunityChestMilestone(milestoneID: string, groupID?: string): Promise<OperationResult<CommunityChestClaimResponse>>;
|
|
3408
|
+
/** Claim the Community Chest Grand Prize once the shared meter has been filled. */
|
|
3409
|
+
claimCommunityChestGrandPrize(groupID?: string): Promise<OperationResult<CommunityChestClaimResponse>>;
|
|
3410
|
+
/** Leave the currently-active Community Chest group. */
|
|
3411
|
+
leaveCommunityChest(groupID?: string): Promise<OperationResult<CommunityChestLeaveResponse>>;
|
|
3412
|
+
private applyRaidResources;
|
|
3413
|
+
private baseRequest;
|
|
3414
|
+
}
|
|
3415
|
+
|
|
3416
|
+
/**
|
|
3417
|
+
* Port of CloudCode/CloudCodeV2.cs (client surface). Execute runs a tenant-defined script
|
|
3418
|
+
* handler server-side; script failures come back as `data.Error`, not as an OperationResult
|
|
3419
|
+
* failure — only infrastructure errors (auth, config missing) fail the call itself.
|
|
3420
|
+
*/
|
|
3421
|
+
declare class CloudCodeService {
|
|
3422
|
+
private readonly ctx;
|
|
3423
|
+
constructor(ctx: ClientContext);
|
|
3424
|
+
execute(functionName: string, functionParameter?: JsonValue, revisionSelection?: CloudCodeRevisionSelection, specificRevision?: number): Promise<OperationResult<ExecuteCloudCodeResponse>>;
|
|
3425
|
+
}
|
|
3426
|
+
|
|
3427
|
+
/** Port of Blockchain/Blockchain.cs (client surface). */
|
|
3428
|
+
declare class BlockchainService {
|
|
3429
|
+
private readonly ctx;
|
|
3430
|
+
constructor(ctx: ClientContext);
|
|
3431
|
+
getDefinitions(): Promise<OperationResult<BlockchainConfigResponse>>;
|
|
3432
|
+
getUserState(): Promise<OperationResult<UserBlockchainStateResponse>>;
|
|
3433
|
+
depositToken(networkID: string, transactionHash: string): Promise<OperationResult<DepositTokenResponse>>;
|
|
3434
|
+
depositNFT(networkID: string, transactionHash: string): Promise<OperationResult<DepositNFTResponse>>;
|
|
3435
|
+
requestTokenWithdrawal(currencyID: string, networkID: string, walletAddress: string, amount: string, category?: string): Promise<OperationResult<TokenWithdrawalResponse>>;
|
|
3436
|
+
requestNFTWithdrawal(itemID: string, networkID: string, walletAddress: string, amount: string, category?: string, level?: number, itemInstanceID?: string): Promise<OperationResult<NFTWithdrawalResponse>>;
|
|
3437
|
+
getTransactionHistory(limit?: number): Promise<OperationResult<TransactionHistoryResponse>>;
|
|
3438
|
+
retryWithdrawal(titleTransactionID: string): Promise<OperationResult<RetryWithdrawalResponse>>;
|
|
3439
|
+
/** Confirms an on-chain withdrawal tx hash against a previously-issued signature/nonce. */
|
|
3440
|
+
confirmWithdrawal(titleTransactionID: string, onChainTransactionHash: string): Promise<OperationResult<ConfirmWithdrawalResponse>>;
|
|
3441
|
+
/** Donates an on-chain transfer straight into the developer's pool bucket (no personal credit). */
|
|
3442
|
+
donateToDeveloper(networkID: string, transactionHash: string): Promise<OperationResult<DonationResponse>>;
|
|
3443
|
+
/** Donates an on-chain transfer straight into the users pool bucket (no personal credit). */
|
|
3444
|
+
donateToUsersPool(networkID: string, transactionHash: string): Promise<OperationResult<DonationResponse>>;
|
|
3445
|
+
private baseRequest;
|
|
3446
|
+
}
|
|
3447
|
+
|
|
3448
|
+
/** Port of Marketplace/Marketplace.cs (client surface): listings, auctions, buy orders, direct trades. */
|
|
3449
|
+
declare class MarketplaceService {
|
|
3450
|
+
private readonly ctx;
|
|
3451
|
+
constructor(ctx: ClientContext);
|
|
3452
|
+
getDefinitions(): Promise<OperationResult<MarketplaceGetDefinitionsResponse>>;
|
|
3453
|
+
getGroupedOffers(): Promise<OperationResult<MarketplaceGroupedOffersResponse>>;
|
|
3454
|
+
getOffersByItem(itemID: string, offerTypeFilter?: MarketOfferType, continuationToken?: string, pageSize?: number): Promise<OperationResult<MarketplaceBrowseResponse>>;
|
|
3455
|
+
getOffer(offerID: string): Promise<OperationResult<MarketplaceOfferResponse>>;
|
|
3456
|
+
getBuyOrders(itemID?: string, continuationToken?: string, pageSize?: number): Promise<OperationResult<MarketplaceBrowseResponse>>;
|
|
3457
|
+
getMyState(): Promise<OperationResult<MarketplaceMyStateResponse>>;
|
|
3458
|
+
getHistory(continuationToken?: string, pageSize?: number): Promise<OperationResult<MarketplaceHistoryResponse>>;
|
|
3459
|
+
createListing(itemID: string, catalogID: string, goodsAmount: number, priceBundle: ResourceBundle, durationHours: number, itemInstanceIDs?: string[]): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3460
|
+
cancelListing(offerID: string): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3461
|
+
buy(offerID: string): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3462
|
+
createAuction(itemID: string, catalogID: string, goodsAmount: number, bidAxisType: ResourceEntryType, startingBid: number, durationHours: number, options?: {
|
|
3463
|
+
bidCurrencyID?: string;
|
|
3464
|
+
bidCatalogID?: string;
|
|
3465
|
+
bidItemID?: string;
|
|
3466
|
+
itemInstanceIDs?: string[];
|
|
3467
|
+
}): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3468
|
+
placeBid(offerID: string, bidAmount: number): Promise<OperationResult<MarketplacePlaceBidResponse>>;
|
|
3469
|
+
/** Role-dependent lazy finalization: winner claims goods, seller claims proceeds (net). */
|
|
3470
|
+
claimAuction(offerID: string): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3471
|
+
createBuyOrder(itemID: string, catalogID: string, goodsAmount: number, priceBundle: ResourceBundle, durationHours: number): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3472
|
+
cancelBuyOrder(offerID: string): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3473
|
+
fillBuyOrder(offerID: string): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3474
|
+
createDirectTrade(targetUserID: string, catalogID: string, itemID: string, itemInstanceIDs?: string[], requestedBundle?: ResourceBundle): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3475
|
+
/**
|
|
3476
|
+
* Accept or decline an incoming direct trade. IMPORTANT: on decline, the response's
|
|
3477
|
+
* `Resources` credits the offer's CREATOR (not the caller) — it is intentionally NOT applied
|
|
3478
|
+
* to the local cache in that branch (confirmed against Marketplace.cs: decline routes through
|
|
3479
|
+
* ReturnEscrowToInitiatorAsync, crediting `offer.CreatorUserID`, not `service.UserID`).
|
|
3480
|
+
*/
|
|
3481
|
+
respondDirectTrade(offerID: string, accept: boolean): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3482
|
+
cancelDirectTrade(offerID: string): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3483
|
+
/** With an OfferID: returns escrow of one expired offer. Without: drains unsettled bid refunds. */
|
|
3484
|
+
claimBack(offerID?: string): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3485
|
+
private cancelOffer;
|
|
3486
|
+
private applyCreateOfferResult;
|
|
3487
|
+
/** Applies whichever side of a dual-party settlement belongs to the current user. */
|
|
3488
|
+
private applyDualPartySettlement;
|
|
3489
|
+
private baseRequest;
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
/**
|
|
3493
|
+
* Port of Multiplayer/Multiplayer.cs (client surface): realtime WebRTC signaling — room
|
|
3494
|
+
* lifecycle, SDP offer/answer + ICE candidate relay, optional server-relayed chat. Unlike every
|
|
3495
|
+
* other module, no action here ever returns a ResourceOperation — there is nothing to patch into
|
|
3496
|
+
* the local user/config cache, so these methods are pure transport + event-emission.
|
|
3497
|
+
*/
|
|
3498
|
+
declare class MultiplayerService {
|
|
3499
|
+
private readonly ctx;
|
|
3500
|
+
constructor(ctx: ClientContext);
|
|
3501
|
+
createRoom(roomName: string, options?: {
|
|
3502
|
+
topology?: MultiplayerTopology;
|
|
3503
|
+
chatMode?: MultiplayerChatMode;
|
|
3504
|
+
maxPlayers?: number;
|
|
3505
|
+
visibility?: RoomVisibility;
|
|
3506
|
+
joinCode?: string;
|
|
3507
|
+
}): Promise<OperationResult<RoomSnapshotResponse>>;
|
|
3508
|
+
joinRoom(roomID: string, joinCode?: string): Promise<OperationResult<RoomSnapshotResponse>>;
|
|
3509
|
+
leaveRoom(roomID: string): Promise<OperationResult<LeaveRoomResponse>>;
|
|
3510
|
+
listRooms(page?: number, pageSize?: number): Promise<OperationResult<RoomsPageResponse>>;
|
|
3511
|
+
getRoom(roomID: string): Promise<OperationResult<RoomSnapshotResponse>>;
|
|
3512
|
+
/** Only the room's owner may close it. */
|
|
3513
|
+
closeRoom(roomID: string): Promise<OperationResult<LeaveRoomResponse>>;
|
|
3514
|
+
/** Long-poll cursor: server returns every envelope with seq > lastSeq. */
|
|
3515
|
+
poll(roomID: string, lastSeq: number): Promise<OperationResult<PollResponse>>;
|
|
3516
|
+
/** Relays a WebRTC SDP offer/answer or ICE candidate to a target room member. */
|
|
3517
|
+
sendSignal(roomID: string, targetUserID: string, signalKind: string, payload: string): Promise<OperationResult<PublishResponse>>;
|
|
3518
|
+
/** Only meaningful when the room's ChatMode is ServerRelay. */
|
|
3519
|
+
sendChat(roomID: string, chatText: string): Promise<OperationResult<PublishResponse>>;
|
|
3520
|
+
setMemberState(roomID: string, ready?: boolean, memberState?: Record<string, string>): Promise<OperationResult<PublishResponse>>;
|
|
3521
|
+
private baseRequest;
|
|
3522
|
+
}
|
|
3523
|
+
|
|
3524
|
+
/** Thin transport wrapper for the Authentication feature (port of AuthenticationAPI.cs).
|
|
3525
|
+
* Authentication endpoints omit the userID segment and carry no ticket. */
|
|
3526
|
+
declare class AuthenticationApi {
|
|
3527
|
+
private readonly ctx;
|
|
3528
|
+
constructor(ctx: ClientContext);
|
|
3529
|
+
private endpoint;
|
|
3530
|
+
private login;
|
|
3531
|
+
loginWithDeviceID(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
3532
|
+
loginWithTelegram(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
3533
|
+
loginWithEmail(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
3534
|
+
loginWithGoogle(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
3535
|
+
loginWithPlatformToken(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
3536
|
+
registerWithEmail(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
3537
|
+
/** Step 1 of wallet login: fetch the challenge message the wallet must sign. Anonymous. */
|
|
3538
|
+
requestWalletChallenge(request: AuthenticationRequest): Promise<OperationResult<WalletChallengeResponse>>;
|
|
3539
|
+
/** Step 2 of wallet login: exchange the signed challenge for a session. */
|
|
3540
|
+
loginWithWallet(request: AuthenticationRequest): Promise<OperationResult<PlatformLoginResponse>>;
|
|
3541
|
+
forgotPassword(request: AuthenticationRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3542
|
+
resetPassword(request: AuthenticationRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3543
|
+
}
|
|
3544
|
+
|
|
3545
|
+
/** Thin transport wrapper for the User feature (port of UserAPI.cs). */
|
|
3546
|
+
declare class UserApi {
|
|
3547
|
+
private readonly ctx;
|
|
3548
|
+
constructor(ctx: ClientContext);
|
|
3549
|
+
private endpoint;
|
|
3550
|
+
getClientState(request: UserRequest): Promise<OperationResult<ClientState>>;
|
|
3551
|
+
getClientStateExcept(request: UserRequest): Promise<OperationResult<ClientState>>;
|
|
3552
|
+
getInventory(request: UserRequest): Promise<OperationResult<UserInventoryState>>;
|
|
3553
|
+
getEventTokens(request: UserRequest): Promise<OperationResult<UserEventTokensState>>;
|
|
3554
|
+
getUsageTime(request: UserRequest): Promise<OperationResult<UsageTimeStats>>;
|
|
3555
|
+
addUsageTime(request: UserRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3556
|
+
deleteUserAccount(request: UserRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3557
|
+
changeUsername(request: UserRequest): Promise<OperationResult<ChangeUsernameResponse>>;
|
|
3558
|
+
}
|
|
3559
|
+
|
|
3560
|
+
/** Thin transport wrapper for the Currency feature (port of CurrencyAPI.cs). */
|
|
3561
|
+
declare class CurrencyApi {
|
|
3562
|
+
private readonly ctx;
|
|
3563
|
+
constructor(ctx: ClientContext);
|
|
3564
|
+
private send;
|
|
3565
|
+
convert(request: CurrencyRequest): Promise<OperationResult<ConvertResponse>>;
|
|
3566
|
+
cryptoConvert(request: CurrencyRequest): Promise<OperationResult<CryptoConvertResponse>>;
|
|
3567
|
+
}
|
|
3568
|
+
|
|
3569
|
+
/** Thin transport wrapper for the Item feature (port of ItemAPI.cs). */
|
|
3570
|
+
declare class ItemApi {
|
|
3571
|
+
private readonly ctx;
|
|
3572
|
+
constructor(ctx: ClientContext);
|
|
3573
|
+
upgradeLevel(request: ItemRequest): Promise<OperationResult<UpgradeItemLevelResponse>>;
|
|
3574
|
+
upgradeLevelsBatch(request: ItemRequest): Promise<OperationResult<UpgradeLevelsBatchResponse>>;
|
|
3575
|
+
}
|
|
3576
|
+
|
|
3577
|
+
/** Thin transport wrapper for the Store feature (port of StoreAPI.cs). */
|
|
3578
|
+
declare class StoreApi {
|
|
3579
|
+
private readonly ctx;
|
|
3580
|
+
constructor(ctx: ClientContext);
|
|
3581
|
+
private send;
|
|
3582
|
+
purchase(request: StoreRequest): Promise<OperationResult<StorePurchaseResponse>>;
|
|
3583
|
+
purchaseBatch(request: StoreRequest): Promise<OperationResult<PurchaseBatchResponse>>;
|
|
3584
|
+
getDefinitions(request: StoreRequest): Promise<OperationResult<StoreDefinitions>>;
|
|
3585
|
+
getUserState(request: StoreRequest): Promise<OperationResult<UserStoreState>>;
|
|
3586
|
+
}
|
|
3587
|
+
|
|
3588
|
+
/** Thin transport wrapper for the Lootbox feature (port of LootboxAPI.cs). */
|
|
3589
|
+
declare class LootboxApi {
|
|
3590
|
+
private readonly ctx;
|
|
3591
|
+
constructor(ctx: ClientContext);
|
|
3592
|
+
private send;
|
|
3593
|
+
getDefinitions(request: LootboxRequest): Promise<OperationResult<LootboxDefinitionsResponse>>;
|
|
3594
|
+
open(request: LootboxRequest): Promise<OperationResult<LootboxOpenResponse>>;
|
|
3595
|
+
}
|
|
3596
|
+
|
|
3597
|
+
/** Thin transport wrapper for the Reward feature (port of RewardAPI.cs). */
|
|
3598
|
+
declare class RewardApi {
|
|
3599
|
+
private readonly ctx;
|
|
3600
|
+
constructor(ctx: ClientContext);
|
|
3601
|
+
private send;
|
|
3602
|
+
getRewardDefinitions(request: RewardRequest): Promise<OperationResult<RewardDefinitionsResponse>>;
|
|
3603
|
+
getUserRewardsState(request: RewardRequest): Promise<OperationResult<UserRewardsStateResponse>>;
|
|
3604
|
+
getMilestoneRewardMultiplier(request: RewardRequest): Promise<OperationResult<GetMilestoneRewardMultiplierResponse>>;
|
|
3605
|
+
claimDailyReward(request: RewardRequest): Promise<OperationResult<ClaimDailyRewardResponse>>;
|
|
3606
|
+
collectIdleAccrual(request: RewardRequest): Promise<OperationResult<CollectIdleAccrualResponse>>;
|
|
3607
|
+
claimComebackReward(request: RewardRequest): Promise<OperationResult<ClaimComebackRewardResponse>>;
|
|
3608
|
+
claimReward(request: RewardRequest): Promise<OperationResult<ClaimRewardResponse>>;
|
|
3609
|
+
}
|
|
3610
|
+
|
|
3611
|
+
/** Thin transport wrapper for the Quest feature (port of QuestAPI.cs). */
|
|
3612
|
+
declare class QuestApi {
|
|
3613
|
+
private readonly ctx;
|
|
3614
|
+
constructor(ctx: ClientContext);
|
|
3615
|
+
private send;
|
|
3616
|
+
getQuestDefinitions(request: QuestRequest): Promise<OperationResult<QuestDefinitions>>;
|
|
3617
|
+
getUserQuestState(request: QuestRequest): Promise<OperationResult<GetUserQuestStateResponse>>;
|
|
3618
|
+
refreshQuestCycles(request: QuestRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3619
|
+
claimQuestReward(request: QuestRequest): Promise<OperationResult<ClaimQuestRewardResponse>>;
|
|
3620
|
+
claimQuestRewardsBatch(request: QuestRequest): Promise<OperationResult<ClaimQuestRewardsBatchResponse>>;
|
|
3621
|
+
claimMilestoneReward(request: QuestRequest): Promise<OperationResult<ClaimMilestoneRewardResponse>>;
|
|
3622
|
+
claimMilestoneRewardsBatch(request: QuestRequest): Promise<OperationResult<ClaimMilestoneRewardsBatchResponse>>;
|
|
3623
|
+
claimGroupCompletionReward(request: QuestRequest): Promise<OperationResult<ClaimGroupCompletionRewardResponse>>;
|
|
3624
|
+
addQuestProgress(request: QuestRequest): Promise<OperationResult<AddQuestProgressResponse>>;
|
|
3625
|
+
}
|
|
3626
|
+
|
|
3627
|
+
/** Thin transport wrapper for the TimedEvent feature (port of TimedEventAPI.cs). */
|
|
3628
|
+
declare class TimedEventApi {
|
|
3629
|
+
private readonly ctx;
|
|
3630
|
+
constructor(ctx: ClientContext);
|
|
3631
|
+
private send;
|
|
3632
|
+
getActiveEvents(request: TimedEventRequest): Promise<OperationResult<GetActiveEventsResponse>>;
|
|
3633
|
+
getDefinitions(request: TimedEventRequest): Promise<OperationResult<TimedEventDefinitions>>;
|
|
3634
|
+
getUserLteState(request: TimedEventRequest): Promise<OperationResult<UserTimedEventStateResponse>>;
|
|
3635
|
+
grantTokens(request: TimedEventRequest): Promise<OperationResult<ResourceOperation>>;
|
|
3636
|
+
spendTokens(request: TimedEventRequest): Promise<OperationResult<EventTokenSpendResponse>>;
|
|
3637
|
+
claimMilestone(request: TimedEventRequest): Promise<OperationResult<EventMilestoneClaimResponse>>;
|
|
3638
|
+
claimMilestonesBatch(request: TimedEventRequest): Promise<OperationResult<ClaimMilestonesBatchResponse>>;
|
|
3639
|
+
claimAllMilestones(request: TimedEventRequest): Promise<OperationResult<ClaimMilestonesBatchResponse>>;
|
|
3640
|
+
spendTokensBatch(request: TimedEventRequest): Promise<OperationResult<SpendTokensBatchResponse>>;
|
|
3641
|
+
grantTokensBatch(request: TimedEventRequest): Promise<OperationResult<GrantTokensBatchResponse>>;
|
|
3642
|
+
}
|
|
3643
|
+
|
|
3644
|
+
/** Thin transport wrapper for the Leaderboard feature (port of LeaderboardAPI.cs). */
|
|
3645
|
+
declare class LeaderboardApi {
|
|
3646
|
+
private readonly ctx;
|
|
3647
|
+
constructor(ctx: ClientContext);
|
|
3648
|
+
private send;
|
|
3649
|
+
getDefinitions(request: LeaderboardRequest): Promise<OperationResult<LeaderboardDefinitions>>;
|
|
3650
|
+
getLeaderboard(request: LeaderboardRequest): Promise<OperationResult<GetLeaderboardResponse>>;
|
|
3651
|
+
getMyProgress(request: LeaderboardRequest): Promise<OperationResult<GetMyProgressResponse>>;
|
|
3652
|
+
submitScore(request: LeaderboardRequest): Promise<OperationResult<SubmitScoreResponse>>;
|
|
3653
|
+
submitScoreFromSource(request: LeaderboardRequest): Promise<OperationResult<SubmitScoreResponse>>;
|
|
3654
|
+
claimCycleReward(request: LeaderboardRequest): Promise<OperationResult<ClaimCycleRewardResponse>>;
|
|
3655
|
+
claimMilestone(request: LeaderboardRequest): Promise<OperationResult<ClaimLeaderboardMilestoneResponse>>;
|
|
3656
|
+
getFriendsLeaderboard(request: LeaderboardRequest): Promise<OperationResult<GetLeaderboardResponse>>;
|
|
3657
|
+
getLeaderboardsBatch(request: LeaderboardRequest): Promise<OperationResult<GetLeaderboardsBatchResponse>>;
|
|
3658
|
+
getProgressBatch(request: LeaderboardRequest): Promise<OperationResult<GetProgressBatchResponse>>;
|
|
3659
|
+
claimCycleRewardsBatch(request: LeaderboardRequest): Promise<OperationResult<ClaimCycleRewardsBatchResponse>>;
|
|
3660
|
+
claimMilestonesBatch(request: LeaderboardRequest): Promise<OperationResult<ClaimLeaderboardMilestonesBatchResponse>>;
|
|
3661
|
+
submitScoresBatch(request: LeaderboardRequest): Promise<OperationResult<SubmitScoresBatchResponse>>;
|
|
3662
|
+
claimAllRewardsBatch(request: LeaderboardRequest): Promise<OperationResult<ClaimAllRewardsBatchResponse>>;
|
|
3663
|
+
getOverviewBatch(request: LeaderboardRequest): Promise<OperationResult<GetOverviewBatchResponse>>;
|
|
3664
|
+
}
|
|
3665
|
+
|
|
3666
|
+
/** Thin transport wrapper for the Season feature (port of SeasonAPI.cs). */
|
|
3667
|
+
declare class SeasonApi {
|
|
3668
|
+
private readonly ctx;
|
|
3669
|
+
constructor(ctx: ClientContext);
|
|
3670
|
+
private send;
|
|
3671
|
+
getDefinitions(request: SeasonRequest): Promise<OperationResult<SeasonDefinitions>>;
|
|
3672
|
+
getActiveSeason(request: SeasonRequest): Promise<OperationResult<ActiveSeasonInfo>>;
|
|
3673
|
+
getUserState(request: SeasonRequest): Promise<OperationResult<UserSeasonStateResponse>>;
|
|
3674
|
+
grantStatusTokens(request: SeasonRequest): Promise<OperationResult<GrantStatusTokensResponse>>;
|
|
3675
|
+
claimTierReward(request: SeasonRequest): Promise<OperationResult<ClaimTierRewardResponse>>;
|
|
3676
|
+
}
|
|
3677
|
+
|
|
3678
|
+
/** Thin transport wrapper for the Premium feature (port of PremiumAPI.cs). */
|
|
3679
|
+
declare class PremiumApi {
|
|
3680
|
+
private readonly ctx;
|
|
3681
|
+
constructor(ctx: ClientContext);
|
|
3682
|
+
private send;
|
|
3683
|
+
getDefinitions(request: PremiumRequest): Promise<OperationResult<PremiumDefinitionsResponse>>;
|
|
3684
|
+
getUserState(request: PremiumRequest): Promise<OperationResult<PremiumStateResponse>>;
|
|
3685
|
+
activateTrial(request: PremiumRequest): Promise<OperationResult<PremiumPurchaseResponse>>;
|
|
3686
|
+
purchaseItemOrCurrency(request: PremiumRequest): Promise<OperationResult<PremiumPurchaseResponse>>;
|
|
3687
|
+
purchaseRealMoney(request: PremiumRequest): Promise<OperationResult<PremiumPurchaseResponse>>;
|
|
3688
|
+
}
|
|
3689
|
+
|
|
3690
|
+
/** Thin transport wrapper for the Character feature (port of CharacterAPI.cs). */
|
|
3691
|
+
declare class CharacterApi {
|
|
3692
|
+
private readonly ctx;
|
|
3693
|
+
constructor(ctx: ClientContext);
|
|
3694
|
+
private send;
|
|
3695
|
+
getCharacterDefinitions(request: CharacterRequest): Promise<OperationResult<CharacterDefinitions>>;
|
|
3696
|
+
getUserCharacters(request: CharacterRequest): Promise<OperationResult<GetCharactersResponse>>;
|
|
3697
|
+
unlockCharacter(request: CharacterRequest): Promise<OperationResult<UnlockCharacterResponse>>;
|
|
3698
|
+
upgradeStatLevel(request: CharacterRequest): Promise<OperationResult<UpgradeStatLevelResponse>>;
|
|
3699
|
+
upgradeCharacterLevel(request: CharacterRequest): Promise<OperationResult<UpgradeCharacterLevelResponse>>;
|
|
3700
|
+
equipItems(request: CharacterRequest): Promise<OperationResult<EquipItemsResponse>>;
|
|
3701
|
+
unequipItems(request: CharacterRequest): Promise<OperationResult<UnequipItemsResponse>>;
|
|
3702
|
+
unequipAllCharacters(request: CharacterRequest): Promise<OperationResult<UnequipAllCharactersResponse>>;
|
|
3703
|
+
unlockCharactersBatch(request: CharacterRequest): Promise<OperationResult<UnlockCharactersBatchResponse>>;
|
|
3704
|
+
upgradeCharacterLevelsBatch(request: CharacterRequest): Promise<OperationResult<UpgradeCharacterLevelsBatchResponse>>;
|
|
3705
|
+
upgradeStatLevelsBatch(request: CharacterRequest): Promise<OperationResult<UpgradeStatLevelsBatchResponse>>;
|
|
3706
|
+
}
|
|
3707
|
+
|
|
3708
|
+
/** Thin transport wrapper for the Match feature (port of MatchAPI.cs). */
|
|
3709
|
+
declare class MatchApi {
|
|
3710
|
+
private readonly ctx;
|
|
3711
|
+
constructor(ctx: ClientContext);
|
|
3712
|
+
private send;
|
|
3713
|
+
createMatch(request: MatchRequest): Promise<OperationResult<CreateMatchResponse>>;
|
|
3714
|
+
updateMatch(request: MatchRequest): Promise<OperationResult<UpdateMatchResponse>>;
|
|
3715
|
+
cancelMatch(request: MatchRequest): Promise<OperationResult<CancelMatchResponse>>;
|
|
3716
|
+
instantBattle(request: MatchRequest): Promise<OperationResult<InstantBattleResponse>>;
|
|
3717
|
+
saveStrategy(request: MatchRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3718
|
+
getMyMatches(request: MatchRequest): Promise<OperationResult<MatchesPageResponse>>;
|
|
3719
|
+
getAvailableMatches(request: MatchRequest): Promise<OperationResult<MatchesPageResponse>>;
|
|
3720
|
+
getDefinitions(request: MatchRequest): Promise<OperationResult<GetMatchDefinitionsResponse>>;
|
|
3721
|
+
}
|
|
3722
|
+
|
|
3723
|
+
/** Thin transport wrapper for the Craft feature (port of CraftAPI.cs). */
|
|
3724
|
+
declare class CraftApi {
|
|
3725
|
+
private readonly ctx;
|
|
3726
|
+
constructor(ctx: ClientContext);
|
|
3727
|
+
private send;
|
|
3728
|
+
getDefinitions(request: CraftRequest): Promise<OperationResult<CraftDefinitionsResponse>>;
|
|
3729
|
+
craft(request: CraftRequest): Promise<OperationResult<CraftResponse>>;
|
|
3730
|
+
}
|
|
3731
|
+
|
|
3732
|
+
/** Thin transport wrapper for the Collection feature (port of CollectionAPI.cs). */
|
|
3733
|
+
declare class CollectionApi {
|
|
3734
|
+
private readonly ctx;
|
|
3735
|
+
constructor(ctx: ClientContext);
|
|
3736
|
+
private send;
|
|
3737
|
+
getDefinitions(request: CollectionRequest): Promise<OperationResult<CollectionDefinitions>>;
|
|
3738
|
+
getUserState(request: CollectionRequest): Promise<OperationResult<UserCollectionState>>;
|
|
3739
|
+
openPack(request: CollectionRequest): Promise<OperationResult<OpenPackResponse>>;
|
|
3740
|
+
openCollectionChest(request: CollectionRequest): Promise<OperationResult<OpenCollectionChestResponse>>;
|
|
3741
|
+
useCollectibleJoker(request: CollectionRequest): Promise<OperationResult<UseCollectibleJokerResponse>>;
|
|
3742
|
+
claimSetReward(request: CollectionRequest): Promise<OperationResult<ClaimSetRewardResponse>>;
|
|
3743
|
+
claimSetRewardsBatch(request: CollectionRequest): Promise<OperationResult<ClaimSetRewardsBatchResponse>>;
|
|
3744
|
+
claimGrandPrize(request: CollectionRequest): Promise<OperationResult<ClaimGrandPrizeResponse>>;
|
|
3745
|
+
sendTradeOffer(request: CollectionRequest): Promise<OperationResult<SendTradeOfferResponse>>;
|
|
3746
|
+
cancelTradeOffer(request: CollectionRequest): Promise<OperationResult<CancelTradeOfferResponse>>;
|
|
3747
|
+
acceptTradeOffer(request: CollectionRequest): Promise<OperationResult<AcceptTradeOfferResponse>>;
|
|
3748
|
+
declineTradeOffer(request: CollectionRequest): Promise<OperationResult<DeclineTradeOfferResponse>>;
|
|
3749
|
+
getMyTradeOffers(request: CollectionRequest): Promise<OperationResult<GetTradeOffersResponse>>;
|
|
3750
|
+
getIncomingTradeOffers(request: CollectionRequest): Promise<OperationResult<GetTradeOffersResponse>>;
|
|
3751
|
+
}
|
|
3752
|
+
|
|
3753
|
+
/** Thin transport wrapper for the CoopEvent feature (port of CoopEventAPI.cs). */
|
|
3754
|
+
declare class CoopEventApi {
|
|
3755
|
+
private readonly ctx;
|
|
3756
|
+
constructor(ctx: ClientContext);
|
|
3757
|
+
private send;
|
|
3758
|
+
getDefinitions(request: CoopEventRequest): Promise<OperationResult<CoopEventDefinitions>>;
|
|
3759
|
+
getActiveEvent(request: CoopEventRequest): Promise<OperationResult<ActiveCoopEventInfo>>;
|
|
3760
|
+
getUserState(request: CoopEventRequest): Promise<OperationResult<CoopUserStateResponse>>;
|
|
3761
|
+
getGroupState(request: CoopEventRequest): Promise<OperationResult<CoopGroupStateResponse>>;
|
|
3762
|
+
joinOrCreateGroup(request: CoopEventRequest): Promise<OperationResult<CoopGroupStateResponse>>;
|
|
3763
|
+
spin(request: CoopEventRequest): Promise<OperationResult<CoopSpinResponse>>;
|
|
3764
|
+
claimObjectReward(request: CoopEventRequest): Promise<OperationResult<CoopClaimRewardResponse>>;
|
|
3765
|
+
claimGrandPrize(request: CoopEventRequest): Promise<OperationResult<CoopClaimRewardResponse>>;
|
|
3766
|
+
leaveGroup(request: CoopEventRequest): Promise<OperationResult<CoopLeaveGroupResponse>>;
|
|
3767
|
+
}
|
|
3768
|
+
|
|
3769
|
+
/** Thin transport wrapper for the DealOffer feature (port of DealOfferAPI.cs). */
|
|
3770
|
+
declare class DealOfferApi {
|
|
3771
|
+
private readonly ctx;
|
|
3772
|
+
constructor(ctx: ClientContext);
|
|
3773
|
+
private send;
|
|
3774
|
+
getDefinition(request: DealOfferRequest): Promise<OperationResult<DealOffersDefinitionResponse>>;
|
|
3775
|
+
getUserState(request: DealOfferRequest): Promise<OperationResult<UserDealOffersStateResponse>>;
|
|
3776
|
+
getActiveDeals(request: DealOfferRequest): Promise<OperationResult<GetActiveDealsResponse>>;
|
|
3777
|
+
dismissDeal(request: DealOfferRequest): Promise<OperationResult<DismissDealResponse>>;
|
|
3778
|
+
executeNode(request: DealOfferRequest): Promise<OperationResult<ExecuteNodeResponse>>;
|
|
3779
|
+
recordShow(request: DealOfferRequest): Promise<OperationResult<RecordShowResponse>>;
|
|
3780
|
+
claimMilestone(request: DealOfferRequest): Promise<OperationResult<ClaimDealMilestoneResponse>>;
|
|
3781
|
+
claimMilestonesBatch(request: DealOfferRequest): Promise<OperationResult<ClaimDealMilestonesBatchResponse>>;
|
|
3782
|
+
}
|
|
3783
|
+
|
|
3784
|
+
/** Thin transport wrapper for the Referral feature (port of ReferralAPI.cs). */
|
|
3785
|
+
declare class ReferralApi {
|
|
3786
|
+
private readonly ctx;
|
|
3787
|
+
constructor(ctx: ClientContext);
|
|
3788
|
+
private send;
|
|
3789
|
+
getDefinitions(request: ReferralRequest): Promise<OperationResult<ReferralDefinitionsResponse>>;
|
|
3790
|
+
getUserState(request: ReferralRequest): Promise<OperationResult<UserReferralStateResponse>>;
|
|
3791
|
+
activateReferralCode(request: ReferralRequest): Promise<OperationResult<ActivateReferralCodeResponse>>;
|
|
3792
|
+
claimInviteReward(request: ReferralRequest): Promise<OperationResult<ClaimInviteRewardResponse>>;
|
|
3793
|
+
}
|
|
3794
|
+
|
|
3795
|
+
/** Thin transport wrapper for the Social feature (port of SocialAPI.cs). */
|
|
3796
|
+
declare class SocialApi {
|
|
3797
|
+
private readonly ctx;
|
|
3798
|
+
constructor(ctx: ClientContext);
|
|
3799
|
+
private send;
|
|
3800
|
+
getFriendsList(request: SocialRequest): Promise<OperationResult<FriendsListResponse>>;
|
|
3801
|
+
getIncomingRequests(request: SocialRequest): Promise<OperationResult<FriendsListResponse>>;
|
|
3802
|
+
getRecommendedFriends(request: SocialRequest): Promise<OperationResult<FriendsListResponse>>;
|
|
3803
|
+
sendFriendRequest(request: SocialRequest): Promise<OperationResult<FriendActionResponse>>;
|
|
3804
|
+
acceptFriendRequest(request: SocialRequest): Promise<OperationResult<FriendActionResponse>>;
|
|
3805
|
+
declineFriendRequest(request: SocialRequest): Promise<OperationResult<FriendActionResponse>>;
|
|
3806
|
+
removeFriend(request: SocialRequest): Promise<OperationResult<FriendActionResponse>>;
|
|
3807
|
+
getTimeline(request: SocialRequest): Promise<OperationResult<TimelineResponse>>;
|
|
3808
|
+
}
|
|
3809
|
+
|
|
3810
|
+
/** Thin transport wrapper for the TimedBoost feature (port of TimedBoostAPI.cs). */
|
|
3811
|
+
declare class TimedBoostApi {
|
|
3812
|
+
private readonly ctx;
|
|
3813
|
+
constructor(ctx: ClientContext);
|
|
3814
|
+
private send;
|
|
3815
|
+
getDefinitions(request: TimedBoostRequest): Promise<OperationResult<TimedBoostDefinitions>>;
|
|
3816
|
+
getActive(request: TimedBoostRequest): Promise<OperationResult<GetActiveTimedBoostsResponse>>;
|
|
3817
|
+
getActiveWindows(request: TimedBoostRequest): Promise<OperationResult<GetActiveBoostWindowsResponse>>;
|
|
3818
|
+
activate(request: TimedBoostRequest): Promise<OperationResult<ActivateTimedBoostResponse>>;
|
|
3819
|
+
cleanupExpired(request: TimedBoostRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3820
|
+
}
|
|
3821
|
+
|
|
3822
|
+
/** Thin transport wrapper for the UserCustomData feature (port of UserCustomDataAPI.cs). */
|
|
3823
|
+
declare class UserCustomDataApi {
|
|
3824
|
+
private readonly ctx;
|
|
3825
|
+
constructor(ctx: ClientContext);
|
|
3826
|
+
private send;
|
|
3827
|
+
getUserCustomDataDefinitions(request: UserCustomDataRequest): Promise<OperationResult<UserCustomDataDefinitions>>;
|
|
3828
|
+
getMyUserCustomData(request: UserCustomDataRequest): Promise<OperationResult<GetMyUserCustomDataResponse>>;
|
|
3829
|
+
getPublicUserCustomDataOf(request: UserCustomDataRequest): Promise<OperationResult<GetPublicUserCustomDataResponse>>;
|
|
3830
|
+
setPrivateData(request: UserCustomDataRequest): Promise<OperationResult<SetUserCustomDataResponse>>;
|
|
3831
|
+
setPublicData(request: UserCustomDataRequest): Promise<OperationResult<SetUserCustomDataResponse>>;
|
|
3832
|
+
deleteKey(request: UserCustomDataRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3833
|
+
batchSet(request: UserCustomDataRequest): Promise<OperationResult<BatchSetUserCustomDataResponse>>;
|
|
3834
|
+
batchDelete(request: UserCustomDataRequest): Promise<OperationResult<BatchDeleteUserCustomDataResponse>>;
|
|
3835
|
+
batchGetPublicUserCustomDataOf(request: UserCustomDataRequest): Promise<OperationResult<BatchGetPublicUserCustomDataResponse>>;
|
|
3836
|
+
}
|
|
3837
|
+
|
|
3838
|
+
/** Thin transport wrapper for the Title feature (port of TitleAPI.cs). */
|
|
3839
|
+
declare class TitleApi {
|
|
3840
|
+
private readonly ctx;
|
|
3841
|
+
constructor(ctx: ClientContext);
|
|
3842
|
+
private send;
|
|
3843
|
+
getTitlePublicConfiguration(request: TitleRequest): Promise<OperationResult<TitlePublicConfigurationModel>>;
|
|
3844
|
+
getPublicTitleCustomData(request: TitleRequest): Promise<OperationResult<TitleCustomDataResponse>>;
|
|
3845
|
+
getCurrencyDefinitions(request: TitleRequest): Promise<OperationResult<CurrencyDefinitions>>;
|
|
3846
|
+
getItemDefinitions(request: TitleRequest): Promise<OperationResult<ItemDefinitions>>;
|
|
3847
|
+
getServerTime(request: TitleRequest): Promise<OperationResult<SuccessResponse>>;
|
|
3848
|
+
}
|
|
3849
|
+
|
|
3850
|
+
/** Thin transport wrapper for the GameLoop feature (port of GameLoopAPI.cs; board core). */
|
|
3851
|
+
declare class GameLoopApi {
|
|
3852
|
+
private readonly ctx;
|
|
3853
|
+
constructor(ctx: ClientContext);
|
|
3854
|
+
private send;
|
|
3855
|
+
getGameLoops(request: GameLoopRequest): Promise<OperationResult<GameLoopDefinitions>>;
|
|
3856
|
+
getBoardDefinition(request: GameLoopRequest, silent?: boolean): Promise<OperationResult<BoardLoopDefinition>>;
|
|
3857
|
+
getBoardDefinitionForLevel(request: GameLoopRequest, silent?: boolean): Promise<OperationResult<BoardLoopDefinition>>;
|
|
3858
|
+
getUserBoardState(request: GameLoopRequest): Promise<OperationResult<BoardLoopState>>;
|
|
3859
|
+
boardLoopRoll(request: GameLoopRequest): Promise<OperationResult<BoardRollResponse>>;
|
|
3860
|
+
boardLoopAttack(request: GameLoopRequest): Promise<OperationResult<AttackResponse>>;
|
|
3861
|
+
boardLoopRaid(request: GameLoopRequest): Promise<OperationResult<RaidResponse>>;
|
|
3862
|
+
boardLoopRaidFast(request: GameLoopRequest): Promise<OperationResult<RaidResponse>>;
|
|
3863
|
+
boardLoopBuild(request: GameLoopRequest): Promise<OperationResult<BuildResponse>>;
|
|
3864
|
+
boardSpecialChoose(request: GameLoopRequest): Promise<OperationResult<SpecialChooseResponse>>;
|
|
3865
|
+
boardSpecialApplyMultiplier(request: GameLoopRequest): Promise<OperationResult<SpecialApplyMultiplierResponse>>;
|
|
3866
|
+
boardSpecialClaim(request: GameLoopRequest): Promise<OperationResult<SpecialClaimResponse>>;
|
|
3867
|
+
getCommunityChestState(request: GameLoopRequest): Promise<OperationResult<CommunityChestUserStateResponse>>;
|
|
3868
|
+
joinOrCreateCommunityChest(request: GameLoopRequest): Promise<OperationResult<CommunityChestGroupStateResponse>>;
|
|
3869
|
+
claimCommunityChestMilestone(request: GameLoopRequest): Promise<OperationResult<CommunityChestClaimResponse>>;
|
|
3870
|
+
claimCommunityChestGrandPrize(request: GameLoopRequest): Promise<OperationResult<CommunityChestClaimResponse>>;
|
|
3871
|
+
leaveCommunityChest(request: GameLoopRequest): Promise<OperationResult<CommunityChestLeaveResponse>>;
|
|
3872
|
+
}
|
|
3873
|
+
|
|
3874
|
+
/** Thin transport wrapper for the CloudCode feature (port of CloudCodeV2.cs). */
|
|
3875
|
+
declare class CloudCodeApi {
|
|
3876
|
+
private readonly ctx;
|
|
3877
|
+
constructor(ctx: ClientContext);
|
|
3878
|
+
execute(request: CloudCodeRequest): Promise<OperationResult<ExecuteCloudCodeResponse>>;
|
|
3879
|
+
}
|
|
3880
|
+
|
|
3881
|
+
/** Thin transport wrapper for the Blockchain feature (port of Blockchain/Blockchain.cs). */
|
|
3882
|
+
declare class BlockchainApi {
|
|
3883
|
+
private readonly ctx;
|
|
3884
|
+
constructor(ctx: ClientContext);
|
|
3885
|
+
private send;
|
|
3886
|
+
getDefinitions(request: BlockchainRequest): Promise<OperationResult<BlockchainConfigResponse>>;
|
|
3887
|
+
getUserState(request: BlockchainRequest): Promise<OperationResult<UserBlockchainStateResponse>>;
|
|
3888
|
+
depositToken(request: BlockchainRequest): Promise<OperationResult<DepositTokenResponse>>;
|
|
3889
|
+
depositNFT(request: BlockchainRequest): Promise<OperationResult<DepositNFTResponse>>;
|
|
3890
|
+
requestTokenWithdrawal(request: BlockchainRequest): Promise<OperationResult<TokenWithdrawalResponse>>;
|
|
3891
|
+
requestNFTWithdrawal(request: BlockchainRequest): Promise<OperationResult<NFTWithdrawalResponse>>;
|
|
3892
|
+
getTransactionHistory(request: BlockchainRequest): Promise<OperationResult<TransactionHistoryResponse>>;
|
|
3893
|
+
retryWithdrawal(request: BlockchainRequest): Promise<OperationResult<RetryWithdrawalResponse>>;
|
|
3894
|
+
confirmWithdrawal(request: BlockchainRequest): Promise<OperationResult<ConfirmWithdrawalResponse>>;
|
|
3895
|
+
donateToDeveloper(request: BlockchainRequest): Promise<OperationResult<DonationResponse>>;
|
|
3896
|
+
donateToUsersPool(request: BlockchainRequest): Promise<OperationResult<DonationResponse>>;
|
|
3897
|
+
}
|
|
3898
|
+
|
|
3899
|
+
/** Thin transport wrapper for the Marketplace feature (port of Marketplace/Marketplace.cs). */
|
|
3900
|
+
declare class MarketplaceApi {
|
|
3901
|
+
private readonly ctx;
|
|
3902
|
+
constructor(ctx: ClientContext);
|
|
3903
|
+
private send;
|
|
3904
|
+
getDefinitions(request: MarketplaceRequest): Promise<OperationResult<MarketplaceGetDefinitionsResponse>>;
|
|
3905
|
+
getGroupedOffers(request: MarketplaceRequest): Promise<OperationResult<MarketplaceGroupedOffersResponse>>;
|
|
3906
|
+
getOffersByItem(request: MarketplaceRequest): Promise<OperationResult<MarketplaceBrowseResponse>>;
|
|
3907
|
+
getOffer(request: MarketplaceRequest): Promise<OperationResult<MarketplaceOfferResponse>>;
|
|
3908
|
+
getBuyOrders(request: MarketplaceRequest): Promise<OperationResult<MarketplaceBrowseResponse>>;
|
|
3909
|
+
getMyState(request: MarketplaceRequest): Promise<OperationResult<MarketplaceMyStateResponse>>;
|
|
3910
|
+
getHistory(request: MarketplaceRequest): Promise<OperationResult<MarketplaceHistoryResponse>>;
|
|
3911
|
+
createListing(request: MarketplaceRequest): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3912
|
+
cancelListing(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3913
|
+
buy(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3914
|
+
createAuction(request: MarketplaceRequest): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3915
|
+
placeBid(request: MarketplaceRequest): Promise<OperationResult<MarketplacePlaceBidResponse>>;
|
|
3916
|
+
claimAuction(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3917
|
+
createBuyOrder(request: MarketplaceRequest): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3918
|
+
cancelBuyOrder(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3919
|
+
fillBuyOrder(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3920
|
+
createDirectTrade(request: MarketplaceRequest): Promise<OperationResult<MarketplaceCreateOfferResponse>>;
|
|
3921
|
+
respondDirectTrade(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3922
|
+
cancelDirectTrade(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3923
|
+
claimBack(request: MarketplaceRequest): Promise<OperationResult<MarketplaceSettlementResponse>>;
|
|
3924
|
+
}
|
|
3925
|
+
|
|
3926
|
+
/** Thin transport wrapper for the Multiplayer feature (port of Multiplayer/Multiplayer.cs). */
|
|
3927
|
+
declare class MultiplayerApi {
|
|
3928
|
+
private readonly ctx;
|
|
3929
|
+
constructor(ctx: ClientContext);
|
|
3930
|
+
private send;
|
|
3931
|
+
createRoom(request: MultiplayerRequest): Promise<OperationResult<RoomSnapshotResponse>>;
|
|
3932
|
+
joinRoom(request: MultiplayerRequest): Promise<OperationResult<RoomSnapshotResponse>>;
|
|
3933
|
+
leaveRoom(request: MultiplayerRequest): Promise<OperationResult<LeaveRoomResponse>>;
|
|
3934
|
+
listRooms(request: MultiplayerRequest): Promise<OperationResult<RoomsPageResponse>>;
|
|
3935
|
+
getRoom(request: MultiplayerRequest): Promise<OperationResult<RoomSnapshotResponse>>;
|
|
3936
|
+
closeRoom(request: MultiplayerRequest): Promise<OperationResult<LeaveRoomResponse>>;
|
|
3937
|
+
poll(request: MultiplayerRequest): Promise<OperationResult<PollResponse>>;
|
|
3938
|
+
sendSignal(request: MultiplayerRequest): Promise<OperationResult<PublishResponse>>;
|
|
3939
|
+
sendChat(request: MultiplayerRequest): Promise<OperationResult<PublishResponse>>;
|
|
3940
|
+
setMemberState(request: MultiplayerRequest): Promise<OperationResult<PublishResponse>>;
|
|
3941
|
+
}
|
|
3942
|
+
|
|
3943
|
+
interface IDosGamesClientConfig extends SettingsInput {
|
|
3944
|
+
/** Platform adapter (defaults to BrowserPlatformAdapter). Inject NoopPlatformAdapter in tests. */
|
|
3945
|
+
platform?: PlatformAdapter;
|
|
3946
|
+
/** Custom fetch (defaults to global fetch). Inject a mock in tests. */
|
|
3947
|
+
fetch?: typeof fetch;
|
|
3948
|
+
/** Override the per-endpoint throttle window (ms). Default 600. */
|
|
3949
|
+
throttleMs?: number;
|
|
3950
|
+
}
|
|
3951
|
+
/**
|
|
3952
|
+
* Composition root. Replaces the C# global statics (HttpService / IDosGamesData /
|
|
3953
|
+
* AuthenticationService) with one instance graph, so multiple clients and isolated tests are
|
|
3954
|
+
* possible. Sub-objects hold a reference to this context and read their dependencies lazily.
|
|
3955
|
+
*/
|
|
3956
|
+
declare class ClientContext {
|
|
3957
|
+
readonly settings: IDosGamesSettings;
|
|
3958
|
+
readonly emitter: TypedEmitter<SdkEvents>;
|
|
3959
|
+
readonly platform: PlatformAdapter;
|
|
3960
|
+
readonly data: IDosGamesData;
|
|
3961
|
+
readonly authStore: AuthStore;
|
|
3962
|
+
readonly api: {
|
|
3963
|
+
authentication: AuthenticationApi;
|
|
3964
|
+
user: UserApi;
|
|
3965
|
+
currency: CurrencyApi;
|
|
3966
|
+
item: ItemApi;
|
|
3967
|
+
store: StoreApi;
|
|
3968
|
+
lootbox: LootboxApi;
|
|
3969
|
+
reward: RewardApi;
|
|
3970
|
+
quest: QuestApi;
|
|
3971
|
+
timedEvent: TimedEventApi;
|
|
3972
|
+
leaderboard: LeaderboardApi;
|
|
3973
|
+
season: SeasonApi;
|
|
3974
|
+
premium: PremiumApi;
|
|
3975
|
+
character: CharacterApi;
|
|
3976
|
+
match: MatchApi;
|
|
3977
|
+
craft: CraftApi;
|
|
3978
|
+
collection: CollectionApi;
|
|
3979
|
+
coopEvent: CoopEventApi;
|
|
3980
|
+
dealOffer: DealOfferApi;
|
|
3981
|
+
referral: ReferralApi;
|
|
3982
|
+
social: SocialApi;
|
|
3983
|
+
timedBoost: TimedBoostApi;
|
|
3984
|
+
userCustomData: UserCustomDataApi;
|
|
3985
|
+
title: TitleApi;
|
|
3986
|
+
gameLoop: GameLoopApi;
|
|
3987
|
+
cloudCode: CloudCodeApi;
|
|
3988
|
+
blockchain: BlockchainApi;
|
|
3989
|
+
marketplace: MarketplaceApi;
|
|
3990
|
+
multiplayer: MultiplayerApi;
|
|
3991
|
+
};
|
|
3992
|
+
readonly auth: AuthenticationService;
|
|
3993
|
+
readonly userService: UserService;
|
|
3994
|
+
readonly currency: CurrencyService;
|
|
3995
|
+
readonly item: ItemService;
|
|
3996
|
+
readonly store: StoreService;
|
|
3997
|
+
readonly lootbox: LootboxService;
|
|
3998
|
+
readonly reward: RewardService;
|
|
3999
|
+
readonly quest: QuestService;
|
|
4000
|
+
readonly timedEvent: TimedEventService;
|
|
4001
|
+
readonly leaderboard: LeaderboardService;
|
|
4002
|
+
readonly season: SeasonService;
|
|
4003
|
+
readonly premium: PremiumService;
|
|
4004
|
+
readonly character: CharacterService;
|
|
4005
|
+
readonly match: MatchService;
|
|
4006
|
+
readonly craft: CraftService;
|
|
4007
|
+
readonly collection: CollectionService;
|
|
4008
|
+
readonly coopEvent: CoopEventService;
|
|
4009
|
+
readonly dealOffer: DealOfferService;
|
|
4010
|
+
readonly referral: ReferralService;
|
|
4011
|
+
readonly social: SocialService;
|
|
4012
|
+
readonly timedBoost: TimedBoostService;
|
|
4013
|
+
readonly userCustomData: UserCustomDataService;
|
|
4014
|
+
readonly title: TitleService;
|
|
4015
|
+
readonly gameLoop: GameLoopService;
|
|
4016
|
+
readonly cloudCode: CloudCodeService;
|
|
4017
|
+
readonly blockchain: BlockchainService;
|
|
4018
|
+
readonly marketplace: MarketplaceService;
|
|
4019
|
+
readonly multiplayer: MultiplayerService;
|
|
4020
|
+
constructor(config: IDosGamesClientConfig);
|
|
4021
|
+
/** Authed base request: UserID + ticket + buildKey + webAppLink + a fresh idempotency key. */
|
|
4022
|
+
buildAuthedBaseRequest(): BaseRequest;
|
|
4023
|
+
}
|
|
4024
|
+
|
|
4025
|
+
/** Public entry point. One instance owns the whole SDK graph. */
|
|
4026
|
+
declare class IDosGamesClient {
|
|
4027
|
+
private readonly ctx;
|
|
4028
|
+
constructor(config: IDosGamesClientConfig);
|
|
4029
|
+
get auth(): AuthenticationService;
|
|
4030
|
+
get user(): UserService;
|
|
4031
|
+
get currency(): CurrencyService;
|
|
4032
|
+
get item(): ItemService;
|
|
4033
|
+
get store(): StoreService;
|
|
4034
|
+
get lootbox(): LootboxService;
|
|
4035
|
+
get reward(): RewardService;
|
|
4036
|
+
get quest(): QuestService;
|
|
4037
|
+
get timedEvent(): TimedEventService;
|
|
4038
|
+
get leaderboard(): LeaderboardService;
|
|
4039
|
+
get season(): SeasonService;
|
|
4040
|
+
get premium(): PremiumService;
|
|
4041
|
+
get character(): CharacterService;
|
|
4042
|
+
get match(): MatchService;
|
|
4043
|
+
get craft(): CraftService;
|
|
4044
|
+
get collection(): CollectionService;
|
|
4045
|
+
get coopEvent(): CoopEventService;
|
|
4046
|
+
get dealOffer(): DealOfferService;
|
|
4047
|
+
get referral(): ReferralService;
|
|
4048
|
+
get social(): SocialService;
|
|
4049
|
+
get timedBoost(): TimedBoostService;
|
|
4050
|
+
get userCustomData(): UserCustomDataService;
|
|
4051
|
+
get title(): TitleService;
|
|
4052
|
+
get gameLoop(): GameLoopService;
|
|
4053
|
+
get cloudCode(): CloudCodeService;
|
|
4054
|
+
get blockchain(): BlockchainService;
|
|
4055
|
+
get marketplace(): MarketplaceService;
|
|
4056
|
+
get multiplayer(): MultiplayerService;
|
|
4057
|
+
/** Local cache (config + user state). Read here; react via `on(...)`. */
|
|
4058
|
+
get data(): IDosGamesData;
|
|
4059
|
+
get platform(): PlatformAdapter;
|
|
4060
|
+
on<K extends keyof SdkEvents>(event: K, listener: Listener<SdkEvents[K]>): Unsubscribe;
|
|
4061
|
+
once<K extends keyof SdkEvents>(event: K, listener: Listener<SdkEvents[K]>): Unsubscribe;
|
|
4062
|
+
off<K extends keyof SdkEvents>(event: K, listener: Listener<SdkEvents[K]>): void;
|
|
4063
|
+
}
|
|
4064
|
+
declare function createIDosGamesClient(config: IDosGamesClientConfig): IDosGamesClient;
|
|
4065
|
+
|
|
4066
|
+
/** enum AdType — ad format. */
|
|
4067
|
+
declare const AdType: {
|
|
4068
|
+
readonly Banner: "Banner";
|
|
4069
|
+
readonly Interstitial: "Interstitial";
|
|
4070
|
+
readonly RewardedVideo: "RewardedVideo";
|
|
4071
|
+
readonly RewardedInterstitial: "RewardedInterstitial";
|
|
4072
|
+
readonly AppOpen: "AppOpen";
|
|
4073
|
+
readonly Native: "Native";
|
|
4074
|
+
};
|
|
4075
|
+
type AdType = (typeof AdType)[keyof typeof AdType];
|
|
4076
|
+
/** enum BannerPosition — banner placement on screen. */
|
|
4077
|
+
declare const BannerPosition: {
|
|
4078
|
+
readonly Top: "Top";
|
|
4079
|
+
readonly Bottom: "Bottom";
|
|
4080
|
+
readonly Left: "Left";
|
|
4081
|
+
readonly Right: "Right";
|
|
4082
|
+
};
|
|
4083
|
+
type BannerPosition = (typeof BannerPosition)[keyof typeof BannerPosition];
|
|
4084
|
+
type AdPlacementDefinition = { Enabled?: null | boolean; Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; CooldownSeconds?: null | number; PlacementID?: null | string; DailyImpressionCap?: null | number; CreditsRewarded?: null | number; AllowedProviderIDs?: null | Array<string>; } & Record<string, unknown>;
|
|
4085
|
+
type RewardedVideoSettings = { DefaultCreditsPerView?: null | number; MaxCreditsBalance?: null | number; DailyCreditEarnCap?: null | number; DailyViewCap?: null | number; MinSecondsBetweenViews?: null | number; } & Record<string, unknown>;
|
|
4086
|
+
type InterstitialSettings = { CooldownSeconds?: null | number; DailyImpressionCap?: null | number; MinSessionTimeBeforeFirstSeconds?: null | number; MaxImpressionsPerSession?: null | number; } & Record<string, unknown>;
|
|
4087
|
+
type BannerSettings = { Enabled?: null | boolean; Position?: null | 'Left' | 'Top' | 'Bottom' | 'Right'; RefreshIntervalSeconds?: null | number; } & Record<string, unknown>;
|
|
4088
|
+
type AppOpenSettings = { Enabled?: null | boolean; CooldownSeconds?: null | number; DailyImpressionCap?: null | number; } & Record<string, unknown>;
|
|
4089
|
+
type AdFrequencyCappingSettings = { MaxImpressionsPerSession?: null | number; MaxImpressionsPerHour?: null | number; MaxImpressionsPerDay?: null | number; } & Record<string, unknown>;
|
|
4090
|
+
type PremiumAdReduction = { MinPremiumTier?: null | number; RequiredPremiumID?: null | string; DisableInterstitials?: null | boolean; DisableBanners?: null | boolean; DisableAppOpen?: null | boolean; } & Record<string, unknown>;
|
|
4091
|
+
type AdConsentSettings = { RequirePersonalizedAdsConsent?: null | boolean; RequireTrackingConsent?: null | boolean; CurrentPolicyVersion?: null | string; RegulatedRegions?: null | Array<string>; } & Record<string, unknown>;
|
|
4092
|
+
type AdVerificationSettings = { RequireServerSideVerification?: null | boolean; PendingRequestTtlSeconds?: null | number; MaxPendingRequestsPerUser?: null | number; ProviderPublicKeys?: null | Record<string, string>; } & Record<string, unknown>;
|
|
4093
|
+
type AdUnitConfig = { Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; AndroidUnitID?: null | string; IosUnitID?: null | string; WebUnitID?: null | string; } & Record<string, unknown>;
|
|
4094
|
+
type AdProviderDefinition = { Enabled?: null | boolean; Units?: null | Record<string, { Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; AndroidUnitID?: null | string; IosUnitID?: null | string; WebUnitID?: null | string; } & Record<string, unknown>>; ProviderID?: null | string; Priority?: null | number; AndroidAppID?: null | string; IosAppID?: null | string; WebAppID?: null | string; } & Record<string, unknown>;
|
|
4095
|
+
type AdvertisingDefinitions = { Enabled?: null | boolean; RewardedVideo?: null | { DefaultCreditsPerView?: null | number; MaxCreditsBalance?: null | number; DailyCreditEarnCap?: null | number; DailyViewCap?: null | number; MinSecondsBetweenViews?: null | number; } & Record<string, unknown>; Banner?: null | { Enabled?: null | boolean; Position?: null | 'Left' | 'Top' | 'Bottom' | 'Right'; RefreshIntervalSeconds?: null | number; } & Record<string, unknown>; Interstitial?: null | { CooldownSeconds?: null | number; DailyImpressionCap?: null | number; MinSessionTimeBeforeFirstSeconds?: null | number; MaxImpressionsPerSession?: null | number; } & Record<string, unknown>; AppOpen?: null | { Enabled?: null | boolean; CooldownSeconds?: null | number; DailyImpressionCap?: null | number; } & Record<string, unknown>; Placements?: null | Record<string, { Enabled?: null | boolean; Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; CooldownSeconds?: null | number; PlacementID?: null | string; DailyImpressionCap?: null | number; CreditsRewarded?: null | number; AllowedProviderIDs?: null | Array<string>; } & Record<string, unknown>>; Providers?: null | Record<string, { Enabled?: null | boolean; Units?: null | Record<string, { Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; AndroidUnitID?: null | string; IosUnitID?: null | string; WebUnitID?: null | string; } & Record<string, unknown>>; ProviderID?: null | string; Priority?: null | number; AndroidAppID?: null | string; IosAppID?: null | string; WebAppID?: null | string; } & Record<string, unknown>>; FrequencyCapping?: null | { MaxImpressionsPerSession?: null | number; MaxImpressionsPerHour?: null | number; MaxImpressionsPerDay?: null | number; } & Record<string, unknown>; PremiumAdReductions?: null | Array<{ MinPremiumTier?: null | number; RequiredPremiumID?: null | string; DisableInterstitials?: null | boolean; DisableBanners?: null | boolean; DisableAppOpen?: null | boolean; } & Record<string, unknown>>; Consent?: null | { RequirePersonalizedAdsConsent?: null | boolean; RequireTrackingConsent?: null | boolean; CurrentPolicyVersion?: null | string; RegulatedRegions?: null | Array<string>; } & Record<string, unknown>; Verification?: null | { RequireServerSideVerification?: null | boolean; PendingRequestTtlSeconds?: null | number; MaxPendingRequestsPerUser?: null | number; ProviderPublicKeys?: null | Record<string, string>; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
4096
|
+
type AdCreditsData = { TotalEarned?: null | number; RewardedVideoCredit?: null | number; TotalSpent?: null | number; } & Record<string, unknown>;
|
|
4097
|
+
type AdPlacementUserState = { PlacementID?: null | string; LastShownAt?: null | string; LastCompletedAt?: null | string; TotalImpressions?: null | number; TotalCompletions?: null | number; ConsecutiveFailures?: null | number; } & Record<string, unknown>;
|
|
4098
|
+
type AdDailyData = { Date?: null | string; TotalImpressions?: null | number; ImpressionsByPlacement?: null | Record<string, number>; CompletionsByPlacement?: null | Record<string, number>; InterstitialImpressions?: null | number; RewardedCompletions?: null | number; AppOpenImpressions?: null | number; CreditsEarnedToday?: null | number; } & Record<string, unknown>;
|
|
4099
|
+
type AdSessionData = { InterstitialImpressions?: null | number; RewardedCompletions?: null | number; SessionID?: null | string; SessionStartAt?: null | string; Impressions?: null | number; } & Record<string, unknown>;
|
|
4100
|
+
type AdConsentState = { PersonalizedAdsConsent?: null | boolean; TrackingConsent?: null | boolean; PolicyVersion?: null | string; Region?: null | string; ConsentGivenAt?: null | string; ConsentRevokedAt?: null | string; } & Record<string, unknown>;
|
|
4101
|
+
type AdPendingRequest = { Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; ExpiresAt?: null | string; PlacementID?: null | string; ProviderID?: null | string; RequestID?: null | string; IssuedAt?: null | string; CreditsToAward?: null | number; } & Record<string, unknown>;
|
|
4102
|
+
type AdFraudFlags = { InvalidSsvCount?: null | number; OrphanCompletions?: null | number; FastCompletions?: null | number; LastFlaggedAt?: null | string; } & Record<string, unknown>;
|
|
4103
|
+
type UserAdvertisingState = { UpdatedAt?: null | string; Placements?: null | Record<string, { PlacementID?: null | string; LastShownAt?: null | string; LastCompletedAt?: null | string; TotalImpressions?: null | number; TotalCompletions?: null | number; ConsecutiveFailures?: null | number; } & Record<string, unknown>>; Consent?: null | { PersonalizedAdsConsent?: null | boolean; TrackingConsent?: null | boolean; PolicyVersion?: null | string; Region?: null | string; ConsentGivenAt?: null | string; ConsentRevokedAt?: null | string; } & Record<string, unknown>; TotalImpressions?: null | number; Credits?: null | { TotalEarned?: null | number; RewardedVideoCredit?: null | number; TotalSpent?: null | number; } & Record<string, unknown>; Daily?: null | { Date?: null | string; TotalImpressions?: null | number; ImpressionsByPlacement?: null | Record<string, number>; CompletionsByPlacement?: null | Record<string, number>; InterstitialImpressions?: null | number; RewardedCompletions?: null | number; AppOpenImpressions?: null | number; CreditsEarnedToday?: null | number; } & Record<string, unknown>; Session?: null | { InterstitialImpressions?: null | number; RewardedCompletions?: null | number; SessionID?: null | string; SessionStartAt?: null | string; Impressions?: null | number; } & Record<string, unknown>; LastImpressionAt?: null | string; LastInterstitialAt?: null | string; LastRewardedAt?: null | string; LastAppOpenAt?: null | string; TotalRewardedCompletions?: null | number; AdsDisabledUntil?: null | string; PendingRequests?: null | Record<string, { Type?: null | 'RewardedVideo' | 'Banner' | 'Interstitial' | 'RewardedInterstitial' | 'AppOpen' | 'Native'; ExpiresAt?: null | string; PlacementID?: null | string; ProviderID?: null | string; RequestID?: null | string; IssuedAt?: null | string; CreditsToAward?: null | number; } & Record<string, unknown>>; FraudFlags?: null | { InvalidSsvCount?: null | number; OrphanCompletions?: null | number; FastCompletions?: null | number; LastFlaggedAt?: null | string; } & Record<string, unknown>; } & Record<string, unknown>;
|
|
4104
|
+
|
|
4105
|
+
/** enum MailboxMessageStatus — lifecycle status of one message in a player's mailbox. */
|
|
4106
|
+
declare const MailboxMessageStatus: {
|
|
4107
|
+
readonly Unread: "Unread";
|
|
4108
|
+
readonly Read: "Read";
|
|
4109
|
+
readonly Deleted: "Deleted";
|
|
4110
|
+
readonly Expired: "Expired";
|
|
4111
|
+
};
|
|
4112
|
+
type MailboxMessageStatus = (typeof MailboxMessageStatus)[keyof typeof MailboxMessageStatus];
|
|
4113
|
+
/** enum MailboxMessageSource — originating system, for audit/analytics/debugging. */
|
|
4114
|
+
declare const MailboxMessageSource: {
|
|
4115
|
+
readonly Admin: "Admin";
|
|
4116
|
+
readonly Leaderboard: "Leaderboard";
|
|
4117
|
+
readonly CoopEvent: "CoopEvent";
|
|
4118
|
+
readonly Season: "Season";
|
|
4119
|
+
readonly Collection: "Collection";
|
|
4120
|
+
readonly MilestoneEvent: "MilestoneEvent";
|
|
4121
|
+
readonly PlayerGift: "PlayerGift";
|
|
4122
|
+
readonly Social: "Social";
|
|
4123
|
+
readonly Compensation: "Compensation";
|
|
4124
|
+
readonly Referral: "Referral";
|
|
4125
|
+
readonly Quest: "Quest";
|
|
4126
|
+
};
|
|
4127
|
+
type MailboxMessageSource = (typeof MailboxMessageSource)[keyof typeof MailboxMessageSource];
|
|
4128
|
+
/** enum BroadcastStatus — lifecycle status of a broadcast campaign. */
|
|
4129
|
+
declare const BroadcastStatus: {
|
|
4130
|
+
readonly Active: "Active";
|
|
4131
|
+
readonly Paused: "Paused";
|
|
4132
|
+
readonly Cancelled: "Cancelled";
|
|
4133
|
+
readonly Completed: "Completed";
|
|
4134
|
+
};
|
|
4135
|
+
type BroadcastStatus = (typeof BroadcastStatus)[keyof typeof BroadcastStatus];
|
|
4136
|
+
type MailboxMessageTypeDefinition = { DisplayName?: null | string; MessageTypeID?: null | string; IconPath?: null | string; DisplayPriority?: null | number; ExpirationHours?: null | number; AutoClaim?: null | boolean; AllowP2P?: null | boolean; ShowBadge?: null | boolean; } & Record<string, unknown>;
|
|
4137
|
+
type MailboxSegmentDefinition = { DisplayName?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; SegmentID?: null | string; } & Record<string, unknown>;
|
|
4138
|
+
type MailboxDefinition = { Segments?: null | Array<{ DisplayName?: null | string; Gate?: null | { MinPremiumTier?: null | number; Segments?: null | Array<string>; RequiredPremiumIDs?: null | Array<string>; MinLevel?: null | number; MaxLevel?: null | number; Countries?: null | Array<string>; RegisteredWithinDays?: null | number; ActiveWithinDays?: null | number; Experiment?: null | { ExperimentID?: null | string; Variants?: null | Array<string>; } & Record<string, unknown>; } & Record<string, unknown>; SegmentID?: null | string; } & Record<string, unknown>>; MaxMessagesPerUser?: null | number; ReadNoRewardRetentionHours?: null | number; ClaimedRetentionHours?: null | number; DefaultPageSize?: null | number; EnableAutoClaim?: null | boolean; MessageTypes?: null | Record<string, { DisplayName?: null | string; MessageTypeID?: null | string; IconPath?: null | string; DisplayPriority?: null | number; ExpirationHours?: null | number; AutoClaim?: null | boolean; AllowP2P?: null | boolean; ShowBadge?: null | boolean; } & Record<string, unknown>>; DailyP2PGiftLimit?: null | number; MaxRewardsPerP2PMessage?: null | number; } & Record<string, unknown>;
|
|
4139
|
+
type MailboxMessageDocument = { AssetPaths?: null | Record<string, string>; Status?: null | 'Expired' | 'Unread' | 'Read' | 'Deleted'; Source?: null | 'Quest' | 'Leaderboard' | 'CoopEvent' | 'Season' | 'Referral' | 'Admin' | 'Collection' | 'MilestoneEvent' | 'PlayerGift' | 'Social' | 'Compensation'; Rewards?: null | ResourceGrant; Claimed?: null | boolean; TitleID?: null | string; SenderUserID?: null | string; SenderPublicData?: null | { Level?: null | number; BoardRank?: null | number; Username?: null | string; Country?: null | string; AvatarUrl?: null | string; Premium?: null | boolean; Power?: null | number; } & Record<string, unknown>; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; Version?: null | number; MessageTypeID?: null | string; MessageID?: null | string; RecipientUserID?: null | string; RelatedEntityID?: null | string; Subject?: null | string; Body?: null | string; TemplateParams?: null | Record<string, string>; ClaimedAtUtc?: null | string; ReadAtUtc?: null | string; BroadcastID?: null | string; } & Record<string, unknown>;
|
|
4140
|
+
type MailboxBroadcastDocument = { AssetPaths?: null | Record<string, string>; Status?: null | 'Active' | 'Completed' | 'Cancelled' | 'Paused'; Rewards?: null | ResourceGrant; TitleID?: null | string; CreatedAtUtc?: null | string; ExpiresAtUtc?: null | string; MessageTypeID?: null | string; Subject?: null | string; Body?: null | string; TemplateParams?: null | Record<string, string>; BroadcastID?: null | string; TargetSegmentID?: null | string; TargetUserIDs?: null | Array<string>; StartsAtUtc?: null | string; CreatedByAdminID?: null | string; AdminComment?: null | string; DeliveredCount?: null | number; ClaimedCount?: null | number; } & Record<string, unknown>;
|
|
4141
|
+
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; } & Record<string, unknown>;
|
|
4142
|
+
|
|
4143
|
+
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 MailboxBroadcastDocument, type MailboxDefinition, type MailboxMessageDocument, MailboxMessageSource, MailboxMessageStatus, type MailboxMessageTypeDefinition, type MailboxSegmentDefinition, 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 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 };
|