@kehtus/proportion-sdk 0.4.2 → 1.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.
Files changed (96) hide show
  1. package/LICENSE +21 -21
  2. package/dist/abi/challengeAccount.d.ts +1855 -0
  3. package/dist/abi/challengeAccount.d.ts.map +1 -0
  4. package/dist/abi/challengeAccount.js +2365 -0
  5. package/dist/abi/challengeAccount.js.map +1 -0
  6. package/dist/abi/challengeFactory.d.ts +1351 -0
  7. package/dist/abi/challengeFactory.d.ts.map +1 -0
  8. package/dist/abi/challengeFactory.js +1727 -0
  9. package/dist/abi/challengeFactory.js.map +1 -0
  10. package/dist/abi/challengeVault.d.ts +1392 -0
  11. package/dist/abi/challengeVault.d.ts.map +1 -0
  12. package/dist/abi/challengeVault.js +1793 -0
  13. package/dist/abi/challengeVault.js.map +1 -0
  14. package/dist/abi/factory.d.ts +4 -0
  15. package/dist/abi/factory.d.ts.map +1 -1
  16. package/dist/abi/factory.js +5 -0
  17. package/dist/abi/factory.js.map +1 -1
  18. package/dist/abi/fundedAccount.d.ts +49 -20
  19. package/dist/abi/fundedAccount.d.ts.map +1 -1
  20. package/dist/abi/fundedAccount.js +62 -26
  21. package/dist/abi/fundedAccount.js.map +1 -1
  22. package/dist/abi/mainVault.d.ts +409 -64
  23. package/dist/abi/mainVault.d.ts.map +1 -1
  24. package/dist/abi/mainVault.js +523 -75
  25. package/dist/abi/mainVault.js.map +1 -1
  26. package/dist/abi/priceOracle.d.ts +497 -0
  27. package/dist/abi/priceOracle.d.ts.map +1 -0
  28. package/dist/abi/priceOracle.js +644 -0
  29. package/dist/abi/priceOracle.js.map +1 -0
  30. package/dist/account.d.ts.map +1 -1
  31. package/dist/account.js +6 -0
  32. package/dist/account.js.map +1 -1
  33. package/dist/challenge/account.d.ts +95 -0
  34. package/dist/challenge/account.d.ts.map +1 -0
  35. package/dist/challenge/account.js +375 -0
  36. package/dist/challenge/account.js.map +1 -0
  37. package/dist/challenge/api.d.ts +49 -0
  38. package/dist/challenge/api.d.ts.map +1 -0
  39. package/dist/challenge/api.js +173 -0
  40. package/dist/challenge/api.js.map +1 -0
  41. package/dist/challenge/factory.d.ts +151 -0
  42. package/dist/challenge/factory.d.ts.map +1 -0
  43. package/dist/challenge/factory.js +355 -0
  44. package/dist/challenge/factory.js.map +1 -0
  45. package/dist/challenge/intents.d.ts +137 -0
  46. package/dist/challenge/intents.d.ts.map +1 -0
  47. package/dist/challenge/intents.js +218 -0
  48. package/dist/challenge/intents.js.map +1 -0
  49. package/dist/challenge/oracle.d.ts +50 -0
  50. package/dist/challenge/oracle.d.ts.map +1 -0
  51. package/dist/challenge/oracle.js +117 -0
  52. package/dist/challenge/oracle.js.map +1 -0
  53. package/dist/challenge/types.d.ts +652 -0
  54. package/dist/challenge/types.d.ts.map +1 -0
  55. package/dist/challenge/types.js +64 -0
  56. package/dist/challenge/types.js.map +1 -0
  57. package/dist/challenge/vault.d.ts +87 -0
  58. package/dist/challenge/vault.d.ts.map +1 -0
  59. package/dist/challenge/vault.js +299 -0
  60. package/dist/challenge/vault.js.map +1 -0
  61. package/dist/constants.d.ts +14 -4
  62. package/dist/constants.d.ts.map +1 -1
  63. package/dist/constants.js +23 -4
  64. package/dist/constants.js.map +1 -1
  65. package/dist/factory.d.ts +1 -1
  66. package/dist/factory.d.ts.map +1 -1
  67. package/dist/factory.js +12 -0
  68. package/dist/factory.js.map +1 -1
  69. package/dist/forwarder.d.ts +58 -0
  70. package/dist/forwarder.d.ts.map +1 -0
  71. package/dist/forwarder.js +145 -0
  72. package/dist/forwarder.js.map +1 -0
  73. package/dist/index.d.ts +13 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +14 -0
  76. package/dist/index.js.map +1 -1
  77. package/dist/indexer.d.ts +52 -0
  78. package/dist/indexer.d.ts.map +1 -1
  79. package/dist/indexer.js +349 -145
  80. package/dist/indexer.js.map +1 -1
  81. package/dist/sdk.d.ts +18 -1
  82. package/dist/sdk.d.ts.map +1 -1
  83. package/dist/sdk.js +85 -32
  84. package/dist/sdk.js.map +1 -1
  85. package/dist/types.d.ts +54 -0
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/types.js.map +1 -1
  88. package/dist/utils.d.ts +35 -2
  89. package/dist/utils.d.ts.map +1 -1
  90. package/dist/utils.js +86 -7
  91. package/dist/utils.js.map +1 -1
  92. package/dist/vault.d.ts +44 -5
  93. package/dist/vault.d.ts.map +1 -1
  94. package/dist/vault.js +138 -12
  95. package/dist/vault.js.map +1 -1
  96. package/package.json +2 -2
@@ -0,0 +1,652 @@
1
+ import type { Address, Hex } from "viem";
2
+ /** ChallengeAccount.Phase */
3
+ export declare enum ChallengePhase {
4
+ Uninitialized = 0,
5
+ Challenge = 1,
6
+ Passed = 2,
7
+ PaperFunded = 3,
8
+ Failed = 4,
9
+ Closed = 5,
10
+ Promoted = 6
11
+ }
12
+ /** ChallengeAccount.FailReason (annotates PhaseChanged; None on non-failure transitions). */
13
+ export declare enum ChallengeFailReason {
14
+ None = 0,
15
+ Drawdown = 1,
16
+ Expired = 2
17
+ }
18
+ /** ChallengeAccount.ExitOrderKind */
19
+ export declare enum ExitOrderKind {
20
+ StopLoss = 0,
21
+ TakeProfit = 1
22
+ }
23
+ /** ChallengePricingLib.ChallengeType */
24
+ export declare enum ChallengeType {
25
+ OneStep = 0,
26
+ TwoStep = 1
27
+ }
28
+ export type ChallengePhaseLabel = "Uninitialized" | "Challenge" | "Passed" | "PaperFunded" | "Failed" | "Closed" | "Promoted";
29
+ export type ChallengeFailReasonLabel = "None" | "Drawdown" | "Expired";
30
+ export type ChallengePositionStatusLabel = "Open" | "Closed" | "Liquidated";
31
+ export type ChallengeTradeKindLabel = "Open" | "Increase" | "Reduce" | "Close" | "Liquidate";
32
+ export type ChallengeExitOrderKindLabel = "StopLoss" | "TakeProfit";
33
+ export type JourneyKindLabel = "CHALLENGE_BOUGHT" | "CHALLENGE_PASSED" | "PAPER_FUNDED" | "PROMOTED" | "FUNDED_ACTIVATED" | "FUNDED_WITHDRAWAL" | "CHALLENGE_PAYOUT" | "FAILED" | "CLOSED";
34
+ export declare function phaseToLabel(phase: ChallengePhase): ChallengePhaseLabel;
35
+ export declare function labelToPhase(label: ChallengePhaseLabel): ChallengePhase;
36
+ export declare function failReasonToLabel(reason: ChallengeFailReason): ChallengeFailReasonLabel;
37
+ /**
38
+ * ChallengePricingLib.ChallengeQuote — the builder-signed pricing quote consumed by
39
+ * ChallengeFactory.buyChallenge. Field order matches the on-chain struct and typehash.
40
+ */
41
+ export interface ChallengeQuote {
42
+ accountOwner: Address;
43
+ payer: Address;
44
+ builder: Address;
45
+ /** Referral recipient; part of the signed payload, so the builder authorizes the referral cut. */
46
+ referrer: Address;
47
+ /** uint96, 6dec USDC. */
48
+ allocation: bigint;
49
+ drawdownBps: number;
50
+ dailyDrawdownEnabled: boolean;
51
+ tradingDaysEnabled: boolean;
52
+ challengeType: ChallengeType;
53
+ finalTargetProfitBps: number;
54
+ priceMultiplierBps: number;
55
+ /** 6dec USDC. Re-derived on-chain and must match. */
56
+ quotedChallengeFee: bigint;
57
+ minBuilderVaultAmount: bigint;
58
+ /** uint64 unix seconds. */
59
+ deadline: bigint;
60
+ nonce: bigint;
61
+ quoteConfigNonce: bigint;
62
+ builderQuoteEpoch: bigint;
63
+ }
64
+ /** ChallengeAccount.OpenIntent — EIP-712 open-trade intent (domain = the account clone). */
65
+ export interface OpenIntent {
66
+ /** The account owner (NOT necessarily the signer — a session key may sign). */
67
+ owner: Address;
68
+ /** The ChallengeAccount clone this intent targets. */
69
+ account: Address;
70
+ market: number;
71
+ isLong: boolean;
72
+ /** uint96, 6dec USDC margin to reserve. */
73
+ margin: bigint;
74
+ /** uint96, 6dec USDC notional. */
75
+ notional: bigint;
76
+ /** Raw HyperCore uint64 price bound (0 = unbounded). */
77
+ maxPrice: bigint;
78
+ minPrice: bigint;
79
+ nonce: bigint;
80
+ /** uint64 unix seconds. */
81
+ deadline: bigint;
82
+ }
83
+ /** ChallengeAccount.CloseIntent — EIP-712 close-trade intent (domain = the account clone). */
84
+ export interface CloseIntent {
85
+ owner: Address;
86
+ account: Address;
87
+ positionId: bigint;
88
+ maxPrice: bigint;
89
+ minPrice: bigint;
90
+ nonce: bigint;
91
+ deadline: bigint;
92
+ }
93
+ export interface SignedOpenIntent {
94
+ intent: OpenIntent;
95
+ signature: Hex;
96
+ }
97
+ export interface SignedCloseIntent {
98
+ intent: CloseIntent;
99
+ signature: Hex;
100
+ }
101
+ /** SettlementLib.Position as returned by ChallengeAccount.getPosition. */
102
+ export interface ChallengePositionOnChain {
103
+ id: bigint;
104
+ market: number;
105
+ isLong: boolean;
106
+ /** 6dec USDC. */
107
+ margin: bigint;
108
+ /** 6dec USDC. */
109
+ notional: bigint;
110
+ /** Raw HyperCore uint64. */
111
+ entryPrice: bigint;
112
+ openedAtBlock: bigint;
113
+ }
114
+ /** ChallengeAccount.ExitOrders — native SL/TP levels for the active position on a market. */
115
+ export interface ExitOrdersOnChain {
116
+ positionId: bigint;
117
+ /** 0 = not set. */
118
+ stopLossPrice: bigint;
119
+ /** 0 = not set. */
120
+ takeProfitPrice: bigint;
121
+ }
122
+ /** SessionKeyLib.SessionKey as returned by getSessionKey. */
123
+ export interface SessionKeyOnChain {
124
+ expiry: bigint;
125
+ permissions: bigint;
126
+ maxMarginPerIntent: bigint;
127
+ maxNotional: bigint;
128
+ maxLeverageBps: number;
129
+ marketMask: bigint;
130
+ active: boolean;
131
+ }
132
+ /** Aggregate ChallengeAccount snapshot (single multicall). All *6 values are 6dec USDC. */
133
+ export interface ChallengeDetails {
134
+ address: Address;
135
+ phase: ChallengePhase;
136
+ owner: Address;
137
+ builder: Address;
138
+ allocation6: bigint;
139
+ initialBalance6: bigint;
140
+ /** Signed — gap-loss can drive it negative. */
141
+ freeBalance6: bigint;
142
+ reservedMargin6: bigint;
143
+ openNotional6: bigint;
144
+ /** Signed equity valued at the risk price. */
145
+ equity: bigint;
146
+ availableEquity: bigint;
147
+ reduceOnly: boolean;
148
+ drawdownBps: number;
149
+ dailyDrawdownEnabled: boolean;
150
+ tradingDaysEnabled: boolean;
151
+ profitableDaysRequired: number;
152
+ targetProfitBps: number;
153
+ finalTargetProfitBps: number;
154
+ /** Step index within a multi-step challenge (1-based), NOT the Phase enum. */
155
+ currentStep: number;
156
+ totalSteps: number;
157
+ maxLeverageBps: number;
158
+ maxNotional: bigint;
159
+ maxOpenPositions: number;
160
+ minHoldBlocks: bigint;
161
+ activatedAt: bigint;
162
+ challengeExpiry: bigint;
163
+ isExpired: boolean;
164
+ hasRequiredProfitableDays: boolean;
165
+ nextNonce: bigint;
166
+ vault: Address;
167
+ oracle: Address;
168
+ trustedForwarder: Address;
169
+ }
170
+ /** ChallengeVault.books[builder] + derived coverage/liquidity views (single multicall). */
171
+ export interface BuilderBankStatus {
172
+ builder: Address;
173
+ /** Withdrawable bank balance (6dec). */
174
+ balance: bigint;
175
+ /** Outstanding queued payout debt (6dec). */
176
+ pendingPayouts: bigint;
177
+ /** 0 = not delinquent. */
178
+ delinquentSince: bigint;
179
+ /** Allocation-equivalent exposure across lifecycle states (6dec). */
180
+ exposure: bigint;
181
+ /** Minimum bank balance required by the 1% coverage rule (6dec). */
182
+ requiredCoverage: bigint;
183
+ /** Balance available for payouts above required coverage (6dec). */
184
+ payoutLiquidity: bigint;
185
+ /** How far below required coverage the bank currently is (6dec, 0 = solvent). */
186
+ shortfall: bigint;
187
+ /** Final-passed accounts awaiting handling; new sales block at 50. */
188
+ pendingPassedAccounts: bigint;
189
+ /** Live FIFO payout claims (queue length minus drained head); new queued payouts stop at 30. */
190
+ pendingPayoutCount: bigint;
191
+ activeChallengeExposure6: bigint;
192
+ passedExposure6: bigint;
193
+ paperFundedExposure6: bigint;
194
+ queuedPayoutExposure6: bigint;
195
+ /** UTC day number of the last automatic payout (daily-cap window). */
196
+ payoutDay: bigint;
197
+ paidToday6: bigint;
198
+ }
199
+ /** ChallengeVault.payoutState(account). */
200
+ export interface PayoutState {
201
+ totalPaidGross6: bigint;
202
+ pendingGross6: bigint;
203
+ lastPayoutAt: bigint;
204
+ /** Live queue entry for the account's in-flight payout (0 = none). */
205
+ queueId: bigint;
206
+ }
207
+ /** ChallengeVault.accounts(account). */
208
+ export interface RegisteredChallengeAccount {
209
+ builder: Address;
210
+ trader: Address;
211
+ allocation6: bigint;
212
+ maxPayoutTotal6: bigint;
213
+ registered: boolean;
214
+ }
215
+ /**
216
+ * ChallengeVault.queuedPayouts(queueId). Fully-paid ≡ remainingGross6 === 0n;
217
+ * builder comes from accounts(account).builder; originalGross6/queuedAt live
218
+ * only in the PayoutQueued event / indexer.
219
+ */
220
+ export interface QueuedPayout {
221
+ queueId: bigint;
222
+ account: Address;
223
+ trader: Address;
224
+ remainingGross6: bigint;
225
+ remainingExposure6: bigint;
226
+ }
227
+ /** ChallengeFactory.challengeTerms(account). */
228
+ export interface ChallengeTerms {
229
+ challengeType: ChallengeType;
230
+ trader: Address;
231
+ builder: Address;
232
+ totalSteps: number;
233
+ allocation6: bigint;
234
+ drawdownBps: number;
235
+ dailyDrawdownEnabled: boolean;
236
+ tradingDaysEnabled: boolean;
237
+ profitableDaysRequired: number;
238
+ stepTargetProfitBps: number;
239
+ finalTargetProfitBps: number;
240
+ challengeFee: bigint;
241
+ builderAmount: bigint;
242
+ }
243
+ /** ChallengePricingLib.PricingConfig (ChallengeFactory.pricingConfig()). */
244
+ export interface ChallengePricingConfig {
245
+ challengeFeeBps: number;
246
+ protocolFeeBps: number;
247
+ referralFeeBps: number;
248
+ referenceDrawdownBps: number;
249
+ challengeFeeMultiplierBps: number;
250
+ noDailyDrawdownSurchargeBps: number;
251
+ noTradingDaysSurchargeBps: number;
252
+ minBuilderPriceMultiplierBps: number;
253
+ maxBuilderPriceMultiplierBps: number;
254
+ twoStepDiscountBps: number;
255
+ maxLeverageBps: number;
256
+ minAllocation: bigint;
257
+ maxAllocation: bigint;
258
+ minDrawdownBps: number;
259
+ maxDrawdownBps: number;
260
+ oneStepProfitableDaysRequired: number;
261
+ twoStepProfitableDaysRequired: number;
262
+ }
263
+ /** ChallengePricingLib.FeeBreakdown (previewQuotedChallenge). */
264
+ export interface ChallengeFeeBreakdown {
265
+ challengeFee: bigint;
266
+ builderAmount: bigint;
267
+ protocolFee: bigint;
268
+ referralFee: bigint;
269
+ maxNotional: bigint;
270
+ }
271
+ /**
272
+ * Result of the local quote-signature check. ERC-1271 (contract-wallet) builder signatures
273
+ * cannot be recovered off-chain — they surface as valid=false with signer=null; fall back to
274
+ * on-chain simulation for those.
275
+ */
276
+ export interface QuoteVerification {
277
+ digest: Hex;
278
+ signer: Address | null;
279
+ /** Signer is the quote's builder EOA. */
280
+ isBuilderSigned: boolean;
281
+ /** Signer is a MainVault.delegateBuilder for the quote's builder (checked over RPC). */
282
+ isDelegateSigned: boolean;
283
+ valid: boolean;
284
+ }
285
+ /** PriceOracle.markets(marketId). */
286
+ export interface OracleMarketState {
287
+ lastGoodMark: bigint;
288
+ lastGoodAt: bigint;
289
+ frozenBid: bigint;
290
+ frozenAsk: bigint;
291
+ settledPrice: bigint;
292
+ frozen: boolean;
293
+ settled: boolean;
294
+ }
295
+ /** POST /quote request (service pricing policy fills the rest of the quote). */
296
+ export interface ChallengeQuoteRequest {
297
+ accountOwner: Address;
298
+ /** Omit for gasless UX (payer defaults to the trader server-side). */
299
+ payer?: Address;
300
+ /** 6dec USDC. */
301
+ allocation: bigint;
302
+ drawdownBps: number;
303
+ dailyDrawdownEnabled: boolean;
304
+ tradingDaysEnabled: boolean;
305
+ challengeType: ChallengeType;
306
+ finalTargetProfitBps: number;
307
+ priceMultiplierBps: number;
308
+ }
309
+ /** Parsed POST /quote response. */
310
+ export interface ChallengeQuoteResponse {
311
+ quote: ChallengeQuote;
312
+ builderSignature: Hex;
313
+ quoteDigest: Hex;
314
+ /** Convenience slippage bound for buyChallenge (≥ quotedChallengeFee). */
315
+ maxChallengeFee: bigint;
316
+ fees: ChallengeFeeBreakdown;
317
+ }
318
+ /** Parsed submit response from /intents/open, /intents/close, /purchase. */
319
+ export interface ChallengeApiSubmitResponse {
320
+ status: "confirmed" | "reverted" | "pending" | "queued" | "cached";
321
+ txId?: string;
322
+ txHash?: Hex;
323
+ phase?: number;
324
+ challengeFailed?: boolean;
325
+ }
326
+ export interface GqlChallenge {
327
+ id: string;
328
+ trader: {
329
+ id: string;
330
+ };
331
+ builder: {
332
+ id: string;
333
+ address: string;
334
+ };
335
+ payer: string | null;
336
+ vaultAddress: string;
337
+ allocation6: string;
338
+ initialBalance6: string;
339
+ phase: ChallengePhaseLabel;
340
+ failReason: ChallengeFailReasonLabel | null;
341
+ currentPhase: number;
342
+ reduceOnly: boolean;
343
+ totalPhases: number | null;
344
+ targetProfitBps: number | null;
345
+ finalTargetProfitBps: number | null;
346
+ drawdownBps: number | null;
347
+ dailyDrawdownEnabled: boolean | null;
348
+ tradingDaysEnabled: boolean | null;
349
+ profitableDaysRequired: number | null;
350
+ maxLeverageBps: number | null;
351
+ maxNotional6: string | null;
352
+ maxOpenPositions: number | null;
353
+ minHoldBlocks: string | null;
354
+ freeBalance6: string;
355
+ realizedPnl6: string;
356
+ totalTradingFees6: string;
357
+ equity6: string;
358
+ highWaterMark6: string;
359
+ dayStartEquity6: string;
360
+ profitableDaysCount: number;
361
+ positionCount: number;
362
+ openPositionCount: number;
363
+ liquidationCount: number;
364
+ tradeCount: number;
365
+ totalVolume6: string;
366
+ challengeFee6: string;
367
+ builderAmount6: string;
368
+ quoteHash: string | null;
369
+ quoteNonce: string | null;
370
+ quoteDeadline: string | null;
371
+ totalPayoutGross6: string;
372
+ payoutCount: number;
373
+ promotedFundedAccount: {
374
+ id: string;
375
+ } | null;
376
+ activationFeePaid6: string | null;
377
+ activatedAt: string;
378
+ challengeExpiry: string;
379
+ passedAt: string | null;
380
+ paperFundedAt: string | null;
381
+ failedAt: string | null;
382
+ closedAt: string | null;
383
+ promotedAt: string | null;
384
+ createdAt: string;
385
+ updatedAt: string;
386
+ }
387
+ export interface GqlChallengeBuilder {
388
+ id: string;
389
+ address: string;
390
+ balance6: string;
391
+ pendingPayouts6: string;
392
+ delinquentSince: string | null;
393
+ isDelinquent: boolean;
394
+ activeChallengeExposure6: string;
395
+ passedExposure6: string;
396
+ paperFundedExposure6: string;
397
+ queuedPayoutExposure6: string;
398
+ pendingPassedAccounts: number;
399
+ pendingPayoutCount: number;
400
+ quoteEpoch: string;
401
+ totalFeesCollected6: string;
402
+ totalDeposited6: string;
403
+ totalWithdrawn6: string;
404
+ totalInstantPaid6: string;
405
+ totalQueuedPaid6: string;
406
+ totalActivationFeesDebited6: string;
407
+ challengesSold: number;
408
+ challengesPassed: number;
409
+ challengesPromoted: number;
410
+ registeredAt: string;
411
+ updatedAt: string;
412
+ }
413
+ export interface GqlChallengePosition {
414
+ id: string;
415
+ challenge: {
416
+ id: string;
417
+ };
418
+ positionId: string;
419
+ market: number;
420
+ isLong: boolean;
421
+ status: ChallengePositionStatusLabel;
422
+ entryPrice: string | null;
423
+ marginOpen6: string;
424
+ notionalOpen6: string;
425
+ marginCurrent6: string;
426
+ notionalCurrent6: string;
427
+ cumulativeReducedNotional6: string;
428
+ realizedPnl6: string;
429
+ openFee6: string;
430
+ closeFee6: string;
431
+ exitPrice: string | null;
432
+ stopLossPrice: string | null;
433
+ takeProfitPrice: string | null;
434
+ exitOrderExecutedKind: ChallengeExitOrderKindLabel | null;
435
+ exitOrderTriggerPrice: string | null;
436
+ exitOrderRiskPrice: string | null;
437
+ exitOrderExecutedAt: string | null;
438
+ openedAtBlock: string;
439
+ openTx: string;
440
+ closeTx: string | null;
441
+ openedAt: string;
442
+ closedAt: string | null;
443
+ updatedAt: string;
444
+ }
445
+ export interface GqlChallengeTrade {
446
+ id: string;
447
+ challenge: {
448
+ id: string;
449
+ };
450
+ positionId: string;
451
+ kind: ChallengeTradeKindLabel;
452
+ market: number;
453
+ isLong: boolean;
454
+ margin6: string;
455
+ notional6: string;
456
+ price: string | null;
457
+ pnl6: string | null;
458
+ fee6: string;
459
+ freeBalanceAfter6: string | null;
460
+ blockNumber: number;
461
+ timestamp: string;
462
+ txHash: string;
463
+ }
464
+ export interface GqlChallengeCheckpoint {
465
+ id: string;
466
+ challenge: {
467
+ id: string;
468
+ };
469
+ kind: "equity" | "profitDay";
470
+ equity6: string;
471
+ highWaterMark6: string | null;
472
+ dayStartEquity6: string | null;
473
+ profitableDaysCount: number | null;
474
+ blockNumber: number;
475
+ timestamp: string;
476
+ txHash: string;
477
+ }
478
+ export interface GqlChallengePayout {
479
+ id: string;
480
+ challenge: {
481
+ id: string;
482
+ };
483
+ trader: {
484
+ id: string;
485
+ };
486
+ builderAddress: string;
487
+ requestedGross6: string;
488
+ instantPaid6: string;
489
+ queuedGross6: string;
490
+ queuedPaid6: string;
491
+ queueId: string;
492
+ fullyPaid: boolean;
493
+ requestedAt: string;
494
+ blockNumber: number;
495
+ txHash: string;
496
+ }
497
+ export interface GqlChallengePayoutQueueEntry {
498
+ id: string;
499
+ queueId: string;
500
+ challenge: {
501
+ id: string;
502
+ };
503
+ builder: {
504
+ id: string;
505
+ };
506
+ payoutId: string;
507
+ traderAddress: string;
508
+ originalGross6: string;
509
+ remainingGross6: string;
510
+ paidGross6: string;
511
+ fullyPaid: boolean;
512
+ queuedAt: string;
513
+ lastPaidAt: string | null;
514
+ updatedAt: string;
515
+ }
516
+ export interface GqlChallengeDayData {
517
+ id: string;
518
+ date: number;
519
+ dayNumber: number;
520
+ challengesSold: number;
521
+ challengesPassed: number;
522
+ challengesPaperFunded: number;
523
+ challengesPromoted: number;
524
+ challengesFailed: number;
525
+ challengesClosed: number;
526
+ dailyChallengeFees6: string;
527
+ dailyBuilderFees6: string;
528
+ dailyPayoutGross6: string;
529
+ dailyTradingVolume6: string;
530
+ dailyTradingFees6: string;
531
+ tradeCount: number;
532
+ updatedAt: string;
533
+ }
534
+ export interface GqlTrader {
535
+ id: string;
536
+ challengesBought: number;
537
+ challengesPassed: number;
538
+ challengesPaperFunded: number;
539
+ challengesPromoted: number;
540
+ challengesFailed: number;
541
+ totalChallengeFeesPaid6: string;
542
+ totalChallengePayoutGross6: string;
543
+ firstSeenAt: string;
544
+ lastActionAt: string;
545
+ updatedAt: string;
546
+ }
547
+ export interface GqlJourneyEvent {
548
+ id: string;
549
+ trader: {
550
+ id: string;
551
+ };
552
+ builderAddress: string;
553
+ kind: JourneyKindLabel;
554
+ challenge: {
555
+ id: string;
556
+ } | null;
557
+ fundedAccount: {
558
+ id: string;
559
+ } | null;
560
+ amount6: string | null;
561
+ blockNumber: number;
562
+ timestamp: string;
563
+ txHash: string;
564
+ }
565
+ export interface GqlFounderParticipant {
566
+ id: string;
567
+ wallet: string;
568
+ firstSeenAt: string | null;
569
+ firstQualifiedAt: string | null;
570
+ firstQualifiedWeek: string | null;
571
+ founderRank: number | null;
572
+ founderTier: string;
573
+ founderBoostBps: number;
574
+ boostActive: boolean;
575
+ totalRawPoints: string;
576
+ totalFinalPoints: string;
577
+ totalPenaltyPoints: string;
578
+ challengePoints: string;
579
+ fundedPoints: string;
580
+ lpPoints: string;
581
+ spendPoints: string;
582
+ performancePoints: string;
583
+ lastActionAt: string | null;
584
+ updatedAt: string;
585
+ }
586
+ export interface GqlFounderWalletWeek {
587
+ id: string;
588
+ wallet: string;
589
+ weekStart: string;
590
+ weekEnd: string;
591
+ rawSpendPoints: string;
592
+ rawPerformancePoints: string;
593
+ rawLpPoints: string;
594
+ rawPenaltyPoints: string;
595
+ finalSpendPoints: string;
596
+ finalPerformancePoints: string;
597
+ finalLpPoints: string;
598
+ finalPenaltyPoints: string;
599
+ /** Signed, event-time attributed — a late penalty can make a week negative. */
600
+ totalFinalPoints: string;
601
+ liquidationCount: number;
602
+ breachCount: number;
603
+ founderTier: string;
604
+ founderBoostBps: number;
605
+ maturityBps: number;
606
+ updatedAt: string;
607
+ }
608
+ export interface GqlFounderPointEvent {
609
+ id: string;
610
+ wallet: string;
611
+ weekStart: string;
612
+ source: "CHALLENGE" | "FUNDED" | "LP";
613
+ kind: string;
614
+ category: "SPEND" | "PERFORMANCE" | "LP" | "PENALTY";
615
+ rawPoints: string;
616
+ adjustedPoints: string;
617
+ finalPoints: string;
618
+ penaltyPoints: string;
619
+ maturityBps: number;
620
+ founderBoostBps: number;
621
+ qualityBps: number;
622
+ saturationBps: number;
623
+ walletMultiplierBps: number;
624
+ weeklyBoostBps: number;
625
+ amount: string | null;
626
+ accountSize: string | null;
627
+ relatedAccount: string | null;
628
+ builder: string | null;
629
+ txHash: string;
630
+ blockNumber: number;
631
+ timestamp: string;
632
+ }
633
+ export interface GqlFounderMultiplier {
634
+ id: string;
635
+ wallet: string;
636
+ passExpiresAt: string;
637
+ activeFundedAccounts: number;
638
+ payoutBps: string;
639
+ payoutExpiresAt: string;
640
+ updatedAt: string;
641
+ }
642
+ export interface GqlFounderWeeklyBoost {
643
+ id: string;
644
+ weekStart: string;
645
+ kind: string;
646
+ targetKind: string;
647
+ boostBps: string;
648
+ lpNeedBps: string;
649
+ utilizationBps: string;
650
+ updatedAt: string;
651
+ }
652
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/challenge/types.ts"],"names":[],"mappings":"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"}