@nadohq/mobile-client 0.63.0 → 0.65.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 (177) hide show
  1. package/README.md +20 -2
  2. package/dist/{MobileClient-aDxiM_Kf.cjs → MobileClient-CfVZXTcz.cjs} +298 -1
  3. package/dist/MobileClient-CfVZXTcz.cjs.map +1 -0
  4. package/dist/MobileClient.cjs +1 -1
  5. package/dist/MobileClient.d.cts +173 -7
  6. package/dist/MobileClient.d.cts.map +1 -1
  7. package/dist/MobileClient.d.ts +173 -7
  8. package/dist/MobileClient.d.ts.map +1 -1
  9. package/dist/MobileClient.js +298 -1
  10. package/dist/MobileClient.js.map +1 -1
  11. package/dist/{MobileServerFailureError-Dd3c6P_Z.d.ts → MobileServerFailureError-BZVwlsMg.d.ts} +3 -3
  12. package/dist/{MobileServerFailureError-Dd3c6P_Z.d.ts.map → MobileServerFailureError-BZVwlsMg.d.ts.map} +1 -1
  13. package/dist/{MobileServerFailureError-Bpa_WA9f.d.cts → MobileServerFailureError-CbtK8kD4.d.cts} +3 -3
  14. package/dist/{MobileServerFailureError-Bpa_WA9f.d.cts.map → MobileServerFailureError-CbtK8kD4.d.cts.map} +1 -1
  15. package/dist/MobileUnsupportedFeedItemError-BsZvW8i2.d.cts +15 -0
  16. package/dist/MobileUnsupportedFeedItemError-BsZvW8i2.d.cts.map +1 -0
  17. package/dist/MobileUnsupportedFeedItemError-BsZvW8i2.d.ts +15 -0
  18. package/dist/MobileUnsupportedFeedItemError-BsZvW8i2.d.ts.map +1 -0
  19. package/dist/{buildSignedMobileRequest-NHbMAPzd.d.cts → buildSignedMobileRequest-C1v0flCR.d.cts} +2 -2
  20. package/dist/{buildSignedMobileRequest-NHbMAPzd.d.cts.map → buildSignedMobileRequest-C1v0flCR.d.cts.map} +1 -1
  21. package/dist/{buildSignedMobileRequest-Cb1T74xV.d.ts → buildSignedMobileRequest-UeeWdYGU.d.ts} +2 -2
  22. package/dist/{buildSignedMobileRequest-Cb1T74xV.d.ts.map → buildSignedMobileRequest-UeeWdYGU.d.ts.map} +1 -1
  23. package/dist/{canonicalize-BBYGh17w.d.ts → canonicalize-5eeZrkzQ.d.ts} +2 -2
  24. package/dist/canonicalize-5eeZrkzQ.d.ts.map +1 -0
  25. package/dist/{canonicalize-BF_SiNvO.d.cts → canonicalize-CBaZprTo.d.cts} +2 -2
  26. package/dist/canonicalize-CBaZprTo.d.cts.map +1 -0
  27. package/dist/{clientTypes-BWFKo9oE.d.cts → clientTypes-C9dJufxk.d.ts} +569 -25
  28. package/dist/clientTypes-C9dJufxk.d.ts.map +1 -0
  29. package/dist/{clientTypes-DCTiUV0H.d.ts → clientTypes-_mEgzmNs.d.cts} +569 -25
  30. package/dist/clientTypes-_mEgzmNs.d.cts.map +1 -0
  31. package/dist/dataMappers.cjs +488 -9
  32. package/dist/dataMappers.cjs.map +1 -1
  33. package/dist/dataMappers.d.cts +190 -7
  34. package/dist/dataMappers.d.cts.map +1 -1
  35. package/dist/dataMappers.d.ts +190 -7
  36. package/dist/dataMappers.d.ts.map +1 -1
  37. package/dist/dataMappers.js +460 -10
  38. package/dist/dataMappers.js.map +1 -1
  39. package/dist/{eip712MethodByType-BSx11xG-.d.cts → eip712MethodByType-D8jLoxDu.d.cts} +2 -2
  40. package/dist/eip712MethodByType-D8jLoxDu.d.cts.map +1 -0
  41. package/dist/{eip712MethodByType-DkiAjCLs.d.ts → eip712MethodByType-DcUh8h-l.d.ts} +2 -2
  42. package/dist/eip712MethodByType-DcUh8h-l.d.ts.map +1 -0
  43. package/dist/index.cjs +3 -1
  44. package/dist/index.d.cts +16 -15
  45. package/dist/index.d.ts +16 -15
  46. package/dist/index.js +2 -1
  47. package/dist/{mobileErrorCodes-3LtreeZM.d.ts → mobileErrorCodes-CmjYEIYm.d.cts} +18 -4
  48. package/dist/mobileErrorCodes-CmjYEIYm.d.cts.map +1 -0
  49. package/dist/{mobileErrorCodes-3LtreeZM.d.cts → mobileErrorCodes-CmjYEIYm.d.ts} +18 -4
  50. package/dist/mobileErrorCodes-CmjYEIYm.d.ts.map +1 -0
  51. package/dist/{payloadHash-BOWGjqdb.d.cts → payloadHash-DhHmgRqL.d.cts} +2 -2
  52. package/dist/payloadHash-DhHmgRqL.d.cts.map +1 -0
  53. package/dist/{payloadHash-Bzf4CtjV.d.ts → payloadHash-E1_8fpLW.d.ts} +2 -2
  54. package/dist/payloadHash-E1_8fpLW.d.ts.map +1 -0
  55. package/dist/{serverBaseTypes-KREDe2M9.d.cts → serverBaseTypes-B5J1_TyC.d.cts} +2 -2
  56. package/dist/{serverBaseTypes-KREDe2M9.d.cts.map → serverBaseTypes-B5J1_TyC.d.cts.map} +1 -1
  57. package/dist/{serverBaseTypes-DWf3iGWy.d.ts → serverBaseTypes-DnLzsdm-.d.ts} +2 -2
  58. package/dist/{serverBaseTypes-DWf3iGWy.d.ts.map → serverBaseTypes-DnLzsdm-.d.ts.map} +1 -1
  59. package/dist/serverExecuteTypes-B-OJok19.d.cts +162 -0
  60. package/dist/serverExecuteTypes-B-OJok19.d.cts.map +1 -0
  61. package/dist/serverExecuteTypes-BwWGspOg.d.ts +162 -0
  62. package/dist/serverExecuteTypes-BwWGspOg.d.ts.map +1 -0
  63. package/dist/{serverModelTypes-DAqEyYtB.d.cts → serverModelTypes-CiA-dy1R.d.cts} +299 -24
  64. package/dist/serverModelTypes-CiA-dy1R.d.cts.map +1 -0
  65. package/dist/{serverModelTypes-DAqEyYtB.d.ts → serverModelTypes-CiA-dy1R.d.ts} +299 -24
  66. package/dist/serverModelTypes-CiA-dy1R.d.ts.map +1 -0
  67. package/dist/{serverQueryTypes-DNdMpmDr.d.cts → serverQueryTypes-CJcjLB7n.d.ts} +117 -5
  68. package/dist/serverQueryTypes-CJcjLB7n.d.ts.map +1 -0
  69. package/dist/{serverQueryTypes-BFdwq0Z2.d.ts → serverQueryTypes-V1f9yE7L.d.cts} +117 -5
  70. package/dist/serverQueryTypes-V1f9yE7L.d.cts.map +1 -0
  71. package/dist/{serverRequestTypes-CxDRFKfv.d.cts → serverRequestTypes-CRlkNSu5.d.cts} +77 -7
  72. package/dist/serverRequestTypes-CRlkNSu5.d.cts.map +1 -0
  73. package/dist/{serverRequestTypes-BNA7FCY6.d.ts → serverRequestTypes-DZoOhV2o.d.ts} +77 -7
  74. package/dist/serverRequestTypes-DZoOhV2o.d.ts.map +1 -0
  75. package/dist/{serverResponseGuards-Dkdok0Sm.d.cts → serverResponseGuards-BW69PS7O.d.cts} +2 -2
  76. package/dist/{serverResponseGuards-Dkdok0Sm.d.cts.map → serverResponseGuards-BW69PS7O.d.cts.map} +1 -1
  77. package/dist/{serverResponseGuards-BU1Xv_tG.d.ts → serverResponseGuards-CShiXpHT.d.ts} +2 -2
  78. package/dist/{serverResponseGuards-BU1Xv_tG.d.ts.map → serverResponseGuards-CShiXpHT.d.ts.map} +1 -1
  79. package/dist/signing/buildSignedMobileRequest.d.cts +1 -1
  80. package/dist/signing/buildSignedMobileRequest.d.ts +1 -1
  81. package/dist/signing/canonicalize.cjs +37 -0
  82. package/dist/signing/canonicalize.cjs.map +1 -1
  83. package/dist/signing/canonicalize.d.cts +1 -1
  84. package/dist/signing/canonicalize.d.ts +1 -1
  85. package/dist/signing/canonicalize.js +37 -0
  86. package/dist/signing/canonicalize.js.map +1 -1
  87. package/dist/signing/eip712MethodByType.cjs +5 -0
  88. package/dist/signing/eip712MethodByType.cjs.map +1 -1
  89. package/dist/signing/eip712MethodByType.d.cts +1 -1
  90. package/dist/signing/eip712MethodByType.d.ts +1 -1
  91. package/dist/signing/eip712MethodByType.js +5 -0
  92. package/dist/signing/eip712MethodByType.js.map +1 -1
  93. package/dist/signing/index.d.cts +5 -5
  94. package/dist/signing/index.d.ts +5 -5
  95. package/dist/signing/payloadHash.d.cts +1 -1
  96. package/dist/signing/payloadHash.d.ts +1 -1
  97. package/dist/signing/types.d.cts +1 -1
  98. package/dist/signing/types.d.ts +1 -1
  99. package/dist/types/MobileServerFailureError.d.cts +1 -1
  100. package/dist/types/MobileServerFailureError.d.ts +1 -1
  101. package/dist/types/MobileUnsupportedFeedItemError.cjs +19 -0
  102. package/dist/types/MobileUnsupportedFeedItemError.cjs.map +1 -0
  103. package/dist/types/MobileUnsupportedFeedItemError.d.cts +2 -0
  104. package/dist/types/MobileUnsupportedFeedItemError.d.ts +2 -0
  105. package/dist/types/MobileUnsupportedFeedItemError.js +18 -0
  106. package/dist/types/MobileUnsupportedFeedItemError.js.map +1 -0
  107. package/dist/types/clientTypes.d.cts +2 -2
  108. package/dist/types/clientTypes.d.ts +2 -2
  109. package/dist/types/index.cjs +2 -0
  110. package/dist/types/index.d.cts +10 -9
  111. package/dist/types/index.d.ts +10 -9
  112. package/dist/types/index.js +2 -1
  113. package/dist/types/mobileErrorCodes.cjs +28 -0
  114. package/dist/types/mobileErrorCodes.cjs.map +1 -1
  115. package/dist/types/mobileErrorCodes.d.cts +1 -1
  116. package/dist/types/mobileErrorCodes.d.ts +1 -1
  117. package/dist/types/mobileErrorCodes.js +28 -0
  118. package/dist/types/mobileErrorCodes.js.map +1 -1
  119. package/dist/types/serverBaseTypes.d.cts +1 -1
  120. package/dist/types/serverBaseTypes.d.ts +1 -1
  121. package/dist/types/serverExecuteTypes.d.cts +2 -2
  122. package/dist/types/serverExecuteTypes.d.ts +2 -2
  123. package/dist/types/serverModelTypes.cjs.map +1 -1
  124. package/dist/types/serverModelTypes.d.cts +2 -2
  125. package/dist/types/serverModelTypes.d.ts +2 -2
  126. package/dist/types/serverModelTypes.js.map +1 -1
  127. package/dist/types/serverQueryTypes.d.cts +2 -2
  128. package/dist/types/serverQueryTypes.d.ts +2 -2
  129. package/dist/types/serverRequestTypes.d.cts +1 -1
  130. package/dist/types/serverRequestTypes.d.ts +1 -1
  131. package/dist/{types-BCr2G5gS.d.cts → types-BiRmH5Iv.d.cts} +31 -7
  132. package/dist/types-BiRmH5Iv.d.cts.map +1 -0
  133. package/dist/{types-C18k-9Vy.d.ts → types-DoJuq0Ij.d.ts} +31 -7
  134. package/dist/types-DoJuq0Ij.d.ts.map +1 -0
  135. package/dist/utils/index.d.cts +1 -1
  136. package/dist/utils/index.d.ts +1 -1
  137. package/dist/utils/serverResponseGuards.d.cts +1 -1
  138. package/dist/utils/serverResponseGuards.d.ts +1 -1
  139. package/package.json +3 -3
  140. package/src/MobileClient.ts +409 -4
  141. package/src/dataMappers.test.ts +742 -0
  142. package/src/dataMappers.ts +671 -12
  143. package/src/signing/canonicalize.ts +53 -0
  144. package/src/signing/eip712MethodByType.ts +5 -0
  145. package/src/signing/signing.test.ts +347 -0
  146. package/src/signing/types.ts +57 -4
  147. package/src/types/MobileUnsupportedFeedItemError.ts +18 -0
  148. package/src/types/clientTypes.ts +645 -23
  149. package/src/types/index.ts +1 -0
  150. package/src/types/mobileErrorCodes.ts +28 -0
  151. package/src/types/serverExecuteTypes.ts +92 -3
  152. package/src/types/serverModelTypes.ts +376 -22
  153. package/src/types/serverQueryTypes.ts +138 -0
  154. package/src/types/serverRequestTypes.ts +115 -4
  155. package/dist/MobileClient-aDxiM_Kf.cjs.map +0 -1
  156. package/dist/canonicalize-BBYGh17w.d.ts.map +0 -1
  157. package/dist/canonicalize-BF_SiNvO.d.cts.map +0 -1
  158. package/dist/clientTypes-BWFKo9oE.d.cts.map +0 -1
  159. package/dist/clientTypes-DCTiUV0H.d.ts.map +0 -1
  160. package/dist/eip712MethodByType-BSx11xG-.d.cts.map +0 -1
  161. package/dist/eip712MethodByType-DkiAjCLs.d.ts.map +0 -1
  162. package/dist/mobileErrorCodes-3LtreeZM.d.cts.map +0 -1
  163. package/dist/mobileErrorCodes-3LtreeZM.d.ts.map +0 -1
  164. package/dist/payloadHash-BOWGjqdb.d.cts.map +0 -1
  165. package/dist/payloadHash-Bzf4CtjV.d.ts.map +0 -1
  166. package/dist/serverExecuteTypes-DVRa6ifu.d.cts +0 -89
  167. package/dist/serverExecuteTypes-DVRa6ifu.d.cts.map +0 -1
  168. package/dist/serverExecuteTypes-DlYZCp1f.d.ts +0 -89
  169. package/dist/serverExecuteTypes-DlYZCp1f.d.ts.map +0 -1
  170. package/dist/serverModelTypes-DAqEyYtB.d.cts.map +0 -1
  171. package/dist/serverModelTypes-DAqEyYtB.d.ts.map +0 -1
  172. package/dist/serverQueryTypes-BFdwq0Z2.d.ts.map +0 -1
  173. package/dist/serverQueryTypes-DNdMpmDr.d.cts.map +0 -1
  174. package/dist/serverRequestTypes-BNA7FCY6.d.ts.map +0 -1
  175. package/dist/serverRequestTypes-CxDRFKfv.d.cts.map +0 -1
  176. package/dist/types-BCr2G5gS.d.cts.map +0 -1
  177. package/dist/types-C18k-9Vy.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { $ as MobileSocialFeedTradeSizeChangeAction, B as MobileSocialFeedCohortStatus, G as MobileSocialFeedPnlMode, H as MobileSocialFeedLeverage, J as MobileSocialFeedPositionState, K as MobileSocialFeedPnlQuality, Q as MobileSocialFeedTradeCardAction, U as MobileSocialFeedMarketCategory, V as MobileSocialFeedHistoryQuality, W as MobileSocialFeedPnlBasis, X as MobileSocialFeedSourceCategory, Y as MobileSocialFeedReadSessionMode, a as MobileFeedTradePosition, c as MobileNotificationCategory, et as MobileSocialFeedTraderBadgeCode, i as MobileFeedMarginMode, l as MobileNotificationPlatform, nt as MobileSocialFeedType, o as MobileFeedTradePositionDirection, q as MobileSocialFeedPositionDisplayBasis, rt as MobileSocialFeedUnavailableTarget, tt as MobileSocialFeedTraderDataStatus } from "./serverModelTypes-DAqEyYtB.js";
1
+ import { At as MobileSocialFeedTradeSizeChangeAction, Ct as MobileSocialFeedPositionResolutionReason, Dt as MobileSocialFeedSourceCategory, Et as MobileSocialFeedReadSessionMode, Ft as MobileSocialFeedUnavailableTarget, Mt as MobileSocialFeedTraderDataStatus, Nt as MobileSocialFeedTradingResolution, Pt as MobileSocialFeedType, St as MobileSocialFeedPositionResolution, Tt as MobileSocialFeedPresenceState, _t as MobileSocialFeedMention, a as MobileFeedTradePosition, at as MobileSocialFeedAction, bt as MobileSocialFeedPnlQuality, c as MobileNotificationCategory, ct as MobileSocialFeedActionUnavailableReason, dt as MobileSocialFeedChartInterval, ft as MobileSocialFeedCohortStatus, gt as MobileSocialFeedMarketCategory, ht as MobileSocialFeedLiquidationPriceQuality, i as MobileFeedMarginMode, jt as MobileSocialFeedTraderBadgeCode, kt as MobileSocialFeedTradeCardAction, l as MobileNotificationPlatform, lt as MobileSocialFeedAttachmentStatus, mt as MobileSocialFeedLeverage, o as MobileFeedTradePositionDirection, ot as MobileSocialFeedActionPriceBasis, pt as MobileSocialFeedHistoryQuality, st as MobileSocialFeedActionResolution, ut as MobileSocialFeedChartDataQuality, vt as MobileSocialFeedPnlBasis, wt as MobileSocialFeedPositionState, xt as MobileSocialFeedPositionDisplayBasis, yt as MobileSocialFeedPnlMode } from "./serverModelTypes-CiA-dy1R.cjs";
2
2
  import { SignatureParams, Subaccount } from "@nadohq/shared";
3
3
  import { Hex } from "viem";
4
4
  import BigNumber from "bignumber.js";
@@ -247,7 +247,15 @@ interface MobileRegisteredWallet {
247
247
  /**
248
248
  * Common params for signed requests that authenticate as a given subaccount.
249
249
  */
250
- interface MobileSignedRequestParams extends Subaccount, SignatureParams {}
250
+ interface MobileSignedRequestParams extends Subaccount, SignatureParams {
251
+ /**
252
+ * Optional nonce from {@link getMobileNonce}. For clock synchronization, use EngineWebClient.getTime()
253
+ * from @nadohq/engine-client as a reference; the mobile service has no time endpoint. The receive deadline
254
+ * must be later than mobile server time and no more than 100 seconds ahead, expressed in milliseconds.
255
+ * The SDK does not fetch server time automatically.
256
+ */
257
+ nonce?: bigint;
258
+ }
251
259
  /**
252
260
  * Common params for the unsigned notification requests, which name their target with an Expo push token
253
261
  * instead of a subaccount and signature — the counterpart to {@link MobileSignedRequestParams}. The backend
@@ -512,6 +520,8 @@ interface MobileSocialFeedPnl {
512
520
  }
513
521
  /** Complete mutable position fields delivered together at one version. */
514
522
  interface MobileSocialFeedPositionPatch {
523
+ /** Additional metrics for a position history session, when supplied. */
524
+ currentPosition?: MobileSocialFeedHistoryMetrics;
515
525
  /** Position lifecycle UUID. */
516
526
  positionId: string;
517
527
  /** Positive integer string; compare as integers without Number conversion. */
@@ -550,7 +560,7 @@ interface MobileSocialFeedPositionCard extends MobileSocialFeedPositionPatch {
550
560
  /** Position direction. */
551
561
  direction: MobileFeedTradePositionDirection;
552
562
  }
553
- /** Interaction counters; interaction writes are not currently available. */
563
+ /** Interaction counters and the viewing account's relationship state. */
554
564
  interface MobileSocialFeedInteraction {
555
565
  /** Number of likes. */
556
566
  likeCount: number;
@@ -558,7 +568,7 @@ interface MobileSocialFeedInteraction {
558
568
  commentCount: number;
559
569
  /** Number of recorded views. */
560
570
  viewCount: number;
561
- /** Null while likes are unavailable, including with a viewing account. */
571
+ /** Null when no viewing account is selected. */
562
572
  likedByMe: boolean | null;
563
573
  }
564
574
  /** Capability flags for a social feed item. */
@@ -572,8 +582,8 @@ interface MobileSocialFeedCapabilities {
572
582
  }
573
583
  /** Comment preview metadata for a social trade card. */
574
584
  interface MobileSocialFeedCommentPreview {
575
- /** Currently empty. */
576
- items: never[];
585
+ /** Most recent readable replies. */
586
+ items: MobileSocialFeedReply[];
577
587
  /** Comment count. */
578
588
  totalCount: number;
579
589
  /** Comment cursor, if available. */
@@ -606,14 +616,14 @@ interface MobileSocialFeedCohort {
606
616
  /** Coverage of all eligible candidate authors. */
607
617
  coverage: MobileSocialFeedCohortCoverage;
608
618
  }
609
- /** Metadata shared by the automatic trade cards and rows available from the social feed. */
619
+ /** Metadata shared by social feed content. */
610
620
  interface MobileSocialFeedItemBase {
611
621
  /** Item UUID. */
612
622
  id: string;
613
623
  /** Whether authored analysis exists. */
614
624
  hasAnalysis: boolean;
615
- /** Drawings are not currently available. */
616
- drawing: null;
625
+ /** Parsed drawing document, or null when no drawing is readable. */
626
+ drawing: MobileSocialFeedDrawing | null;
617
627
  /** Author identity, badge, and follow perspective. */
618
628
  author: MobileSocialFeedAuthor;
619
629
  /** Creation time in Unix milliseconds. */
@@ -624,26 +634,29 @@ interface MobileSocialFeedItemBase {
624
634
  version: string;
625
635
  /** Market metadata. */
626
636
  market: MobileSocialFeedMarket;
627
- /** Server capability flags; currently all false. */
637
+ /** Server capability flags, subject to the corresponding write switches. */
628
638
  capabilities: MobileSocialFeedCapabilities;
629
639
  }
630
- /** Automatic trade card returned by the social feed. */
631
- interface MobileSocialFeedTradeCard extends MobileSocialFeedItemBase {
632
- /** Card discriminant. */
633
- kind: 'trade_card';
634
- /** Trading action. */
635
- action: MobileSocialFeedTradeCardAction;
640
+ /** Content shared by authored posts and trade cards. */
641
+ interface MobileSocialFeedContentBase extends MobileSocialFeedItemBase {
636
642
  /** Card text, empty for automatic cards. */
637
643
  text: string;
638
- /** Automatic cards have no mentions. */
639
- mentions: never[];
644
+ /** Mentions in the original, unmodified text. */
645
+ mentions: MobileSocialFeedMention[];
640
646
  /** Current or frozen position display. */
641
647
  position: MobileSocialFeedPositionCard;
642
648
  /** Interaction counters. */
643
649
  interaction: MobileSocialFeedInteraction;
644
- /** Comment content is not currently available. */
650
+ /** Readable comment preview. */
645
651
  commentPreview: MobileSocialFeedCommentPreview;
646
652
  }
653
+ /** Trade card with optional authored text and analysis. */
654
+ interface MobileSocialFeedTradeCard extends MobileSocialFeedContentBase {
655
+ /** Card discriminant. */
656
+ kind: 'trade_card';
657
+ /** Trading action. */
658
+ action: MobileSocialFeedTradeCardAction;
659
+ }
647
660
  /** Fields shared by size-change and liquidation trade rows. */
648
661
  interface MobileSocialFeedTradeRowBase extends MobileSocialFeedItemBase {
649
662
  /** Row discriminant. */
@@ -677,17 +690,17 @@ type MobileSocialFeedTradeRow = MobileSocialFeedTradeRowBase & ({
677
690
  liquidationExecutionPrice: BigNumber | null; /** Signed action PnL excluding ordinary fees/funding, or null. */
678
691
  realizedPnlDelta: BigNumber | null;
679
692
  });
680
- /** Automatic feed content; excludes posts, replies, drawings, and interaction writes. */
681
- type MobileSocialFeedItem = MobileSocialFeedTradeCard | MobileSocialFeedTradeRow;
693
+ /** Discriminated social feed content. */
694
+ type MobileSocialFeedItem = MobileSocialFeedTradeCard | MobileSocialFeedTradeRow | MobileSocialFeedPost | MobileSocialFeedReply;
682
695
  /** Fixed-duration social feed reading session. Credentials and cursors must be returned unchanged. */
683
696
  interface MobileSocialFeedReadSession {
684
697
  /** Session identifier. */
685
698
  sessionId: string;
686
- /** Feed or direct item session. */
699
+ /** Feed, item, or full position history session. */
687
700
  mode: MobileSocialFeedReadSessionMode;
688
701
  /** Fixed expiration time in Unix milliseconds; pagination does not extend it. */
689
702
  expiresAtMs: number;
690
- /** Exposure metadata only; recording is not available from the social feed. */
703
+ /** Visibility requirements for explicit exposure reporting. */
691
704
  viewTracking: MobileSocialFeedViewTracking;
692
705
  /** Initial update baseline, distinct from the page cursor. */
693
706
  updateCursor: string | null;
@@ -724,6 +737,10 @@ interface MobileSocialFeedItemResponse {
724
737
  }
725
738
  /** Item delta: omitted means unchanged; explicit null clears a prior value. */
726
739
  interface MobileSocialFeedItemPatch {
740
+ /** Updated reply attachment; null clears it, omission leaves it unchanged. */
741
+ attachedPosition?: MobileSocialFeedPositionCard | null;
742
+ /** Updated reply attachment visibility. */
743
+ attachmentStatus?: MobileSocialFeedAttachmentStatus;
727
744
  /** Current author identity, follow state, and qualification badge. */
728
745
  author: MobileSocialFeedAuthor;
729
746
  /** Target item UUID. */
@@ -839,6 +856,533 @@ type GetMobileFeedUpdatesParams = {
839
856
  requestSeq: number; /** Credential belonging to the original public session. */
840
857
  viewerToken: string;
841
858
  };
859
+ /** Parsed drawing; data is opaque to the SDK and may legitimately be false or zero. */
860
+ interface MobileSocialFeedDrawing {
861
+ /** Already parsed drawing document; do not JSON.parse again. */
862
+ data: unknown;
863
+ /** Original creation time in milliseconds. */
864
+ createdAtMs: number;
865
+ /** Last update time in milliseconds. */
866
+ updatedAtMs: number;
867
+ }
868
+ /** Nonrecursive root-post preview carried by replies. */
869
+ interface MobileSocialFeedCompactCard {
870
+ /** Root item UUID. */
871
+ id: string;
872
+ /** Root author. */
873
+ author: MobileSocialFeedAuthor;
874
+ /** Original text excerpt. */
875
+ textExcerpt: string;
876
+ /** Visible position summary, or null. */
877
+ position: Pick<MobileSocialFeedPositionCard, 'positionId' | 'market' | 'direction' | 'state' | 'notional'> | null;
878
+ /** Whether the root has published analysis. */
879
+ hasAnalysis: boolean;
880
+ }
881
+ /** Authored position post, including text-only, drawing-only, and combined content. */
882
+ interface MobileSocialFeedPost extends MobileSocialFeedContentBase {
883
+ /** Post discriminant. */
884
+ kind: 'post';
885
+ }
886
+ /** Reply with independently permissioned position attachment and nonrecursive root preview. */
887
+ interface MobileSocialFeedReply extends MobileSocialFeedItemBase {
888
+ /** Reply discriminant. */
889
+ kind: 'reply';
890
+ /** Original text. */
891
+ text: string;
892
+ /** Mentions in the text. */
893
+ mentions: MobileSocialFeedMention[];
894
+ /** Actual root item UUID. */
895
+ rootItemId: string;
896
+ /** Omitted for a direct reply to the root. */
897
+ replyToItemId?: string;
898
+ /** Author being replied to, or null. */
899
+ replyToAuthor: MobileSocialFeedAuthor | null;
900
+ /** Readable attachment; null when absent or unavailable. */
901
+ attachedPosition: MobileSocialFeedPositionCard | null;
902
+ /** Distinguishes an absent attachment from an unreadable one. */
903
+ attachmentStatus: MobileSocialFeedAttachmentStatus;
904
+ /** Root preview; does not register root exposure. */
905
+ original: MobileSocialFeedCompactCard;
906
+ /** Reply interaction state. */
907
+ interaction: MobileSocialFeedInteraction;
908
+ }
909
+ /** Current eligibility hints; actual writes still recheck the signed author. */
910
+ interface MobileSocialFeedPublishablePosition {
911
+ /** Candidate position. */
912
+ position: MobileSocialFeedPositionCard;
913
+ /** Whether this account can publish. */
914
+ canPublish: boolean;
915
+ /** Whether this account can attach the position to a comment. */
916
+ canAttachToComment: boolean;
917
+ /** Whether this account can first add analysis. */
918
+ canDrawAnalysis: boolean;
919
+ /** Unavailability explanation, or null. */
920
+ unavailableReason: string | null;
921
+ }
922
+ /** An authoritative lifecycle segment of an order. */
923
+ interface MobileSocialFeedActionCandidate {
924
+ /** Action UUID. */
925
+ actionId: string;
926
+ /** Lifecycle UUID. */
927
+ positionId: string;
928
+ /** Lifecycle action. */
929
+ action: MobileSocialFeedAction;
930
+ /** Current publishing eligibility, not proof of caller ownership. */
931
+ canPublish: boolean;
932
+ /** Publication restriction, or null when eligible. */
933
+ unavailableReason: MobileSocialFeedActionUnavailableReason | null;
934
+ }
935
+ /** Additional history metrics; unavailable values are not zero. */
936
+ interface MobileSocialFeedHistoryMetrics {
937
+ /** Estimated liquidation price in decimal units, independent of event Oracle and execution prices. */
938
+ estimatedLiquidationPrice: BigNumber | null;
939
+ /** Availability of the estimated price. */
940
+ liquidationPriceQuality: MobileSocialFeedLiquidationPriceQuality;
941
+ /** Source time in milliseconds. */
942
+ liquidationPriceAsOfMs: number | null;
943
+ /** Signed funding amount in x18. */
944
+ fundingPnl: BigNumber | null;
945
+ /** Funding availability. */
946
+ fundingQuality: MobileSocialFeedPnlQuality;
947
+ /** Funding source time in milliseconds. */
948
+ fundingAsOfMs: number | null;
949
+ }
950
+ /** Full position card displayed above its historical timeline. */
951
+ interface MobileSocialFeedPositionHistoryCard extends MobileSocialFeedPositionCard, MobileSocialFeedHistoryMetrics {}
952
+ /** Persisted action facts, independent of whether a feed item was published. */
953
+ interface MobileSocialFeedPositionAction {
954
+ /** Action UUID. */
955
+ id: string;
956
+ /** Lifecycle UUID. */
957
+ positionId: string;
958
+ /** Lifecycle action. */
959
+ action: MobileSocialFeedAction;
960
+ /** Position direction. */
961
+ direction: MobileFeedTradePositionDirection;
962
+ /** Historical margin mode. */
963
+ marginMode: MobileFeedMarginMode;
964
+ /** Quantity before the action, in x18. */
965
+ quantityBefore: BigNumber;
966
+ /** Quantity after the action, in x18. */
967
+ quantityAfter: BigNumber;
968
+ /** Executed quantity, in x18. */
969
+ executedQuantity: BigNumber;
970
+ /** Actual executed notional in x18; may be unknown for liquidation. */
971
+ executedNotional: BigNumber | null;
972
+ /** Actual execution price in decimal units. */
973
+ averagePrice: BigNumber | null;
974
+ /** Entry price before the action, in decimal units. */
975
+ entryPriceBefore: BigNumber | null;
976
+ /** Liquidation event Oracle price in decimal units. */
977
+ liquidationOraclePrice: BigNumber | null;
978
+ /** Liquidation Oracle-based notional in x18. */
979
+ liquidationNotional: BigNumber | null;
980
+ /** Signed realized trading PnL in x18, excluding ordinary fees and funding. */
981
+ realizedPnlDelta: BigNumber | null;
982
+ /** Historical effective leverage. */
983
+ leverage: MobileSocialFeedLeverage;
984
+ /** Leverage source time in milliseconds. */
985
+ leverageAtMs: number | null;
986
+ /** First event time in milliseconds. */
987
+ firstEventAtMs: number;
988
+ /** Last event time in milliseconds. */
989
+ lastEventAtMs: number;
990
+ /** Decimal-string version. */
991
+ version: string;
992
+ }
993
+ /** Full published content appearing in a position timeline. */
994
+ type MobileSocialFeedHistoryTake = MobileSocialFeedTradeCard | MobileSocialFeedPost;
995
+ /** A historical action or authored take; preserve service ordering. */
996
+ type MobileSocialFeedTimelineEntry = {
997
+ /** Action entry. */kind: 'action'; /** Full action facts. */
998
+ action: MobileSocialFeedPositionAction; /** Actually associated feed item, or null. */
999
+ relatedItemId: string | null; /** Full published trade card, or null. */
1000
+ relatedTake: MobileSocialFeedTradeCard | null;
1001
+ } | {
1002
+ /** Published take entry. */kind: 'take'; /** Full published content. */
1003
+ item: MobileSocialFeedHistoryTake;
1004
+ };
1005
+ /** Trusted trading target; this hint does not authorize trading. */
1006
+ interface MobileSocialFeedTradingTarget {
1007
+ /** Lifecycle UUID. */
1008
+ positionId: string;
1009
+ /** Parent identity. */
1010
+ identitySubaccount: Hex;
1011
+ /** Actual trading subaccount, possibly isolated. */
1012
+ tradingSubaccount: Hex;
1013
+ /** Market product ID. */
1014
+ productId: number;
1015
+ /** Margin mode. */
1016
+ marginMode: MobileFeedMarginMode;
1017
+ /** Isolated name, or null for cross margin. */
1018
+ isoSubaccountName: string | null;
1019
+ /** Position direction. */
1020
+ direction: MobileFeedTradePositionDirection;
1021
+ /** Source time in milliseconds. */
1022
+ stateAsOfMs: number;
1023
+ }
1024
+ /** Viewing-account trading hints, not authenticated permissions. */
1025
+ interface MobileSocialFeedTradingContext {
1026
+ /** Market product ID. */
1027
+ productId: number;
1028
+ /** Suggested trade direction. */
1029
+ suggestedDirection: MobileFeedTradePositionDirection;
1030
+ /** Resolution of the viewing account's positions. */
1031
+ resolution: MobileSocialFeedTradingResolution;
1032
+ /** Trusted candidates. */
1033
+ candidates: MobileSocialFeedTradingTarget[];
1034
+ /** Unique candidate, or null. */
1035
+ viewerPositionId: string | null;
1036
+ /** Whether the selected account has a unique reducible position. */
1037
+ canReduce: boolean;
1038
+ }
1039
+ /** Historical candle; volume is a quantity, not a price. */
1040
+ interface MobileSocialFeedCandle {
1041
+ /** Candle start time in milliseconds. */
1042
+ timestampMs: number;
1043
+ /** Open price in decimal units. */
1044
+ open: BigNumber;
1045
+ /** High price in decimal units. */
1046
+ high: BigNumber;
1047
+ /** Low price in decimal units. */
1048
+ low: BigNumber;
1049
+ /** Close price in decimal units. */
1050
+ close: BigNumber;
1051
+ /** Base asset volume in x18. */
1052
+ volume: BigNumber;
1053
+ }
1054
+ /** Chart action marker with explicitly identified price basis. */
1055
+ interface MobileSocialFeedActionMarker {
1056
+ /** Action UUID. */
1057
+ actionId: string;
1058
+ /** Event time in milliseconds. */
1059
+ timestampMs: number;
1060
+ /** Price in decimal units; null does not remove the action. */
1061
+ price: BigNumber | null;
1062
+ /** Lifecycle action. */
1063
+ action: MobileSocialFeedAction;
1064
+ /** Direction. */
1065
+ direction: MobileFeedTradePositionDirection;
1066
+ /** Never substitute actual execution for a liquidation Oracle. */
1067
+ priceBasis: MobileSocialFeedActionPriceBasis;
1068
+ }
1069
+ /** Parameters for listing the selected account's open position candidates. */
1070
+ interface GetMobileSelfFeedPositionsParams {
1071
+ /** Full non-isolated identity; selecting it is not authentication. */
1072
+ viewAs: Subaccount;
1073
+ /** Optional market filter. */
1074
+ productId?: number;
1075
+ /** Opaque cursor bound to the account and filters. */
1076
+ cursor?: string;
1077
+ /** Page size, 1-50; defaults to 20. */
1078
+ limit?: number;
1079
+ }
1080
+ /** Parameters for resolving a slash command against the selected account. */
1081
+ interface ResolveMobileFeedPositionParams {
1082
+ /** Required non-isolated viewing account. */
1083
+ viewAs: Subaccount;
1084
+ /** Original command, such as /position or /BTC; passed unchanged. */
1085
+ input: string;
1086
+ /** Optional market disambiguation. */
1087
+ productId?: number;
1088
+ }
1089
+ /** Parameters for resolving all trusted lifecycle segments of an order. */
1090
+ interface ResolveMobileFeedActionParams {
1091
+ /** Required order-owning identity; the caller need not own it to read. */
1092
+ viewAs: Subaccount;
1093
+ /** Order digest returned by trading. */
1094
+ orderDigest: Hex;
1095
+ }
1096
+ /** Parameters for atomic text, drawing, or combined publication. */
1097
+ interface MobileCreateFeedPostParams extends MobileSignedRequestParams {
1098
+ /** Author-scoped idempotency UUID; reuse unchanged for a retry. */
1099
+ clientRequestId: string;
1100
+ /** Lifecycle still held by the signed author. */
1101
+ positionId: string;
1102
+ /** Trusted action for a trading annotation; omit for an independent post. */
1103
+ actionId?: string;
1104
+ /** Original text, at most 2,000 code points; empty is allowed with a drawing. */
1105
+ text: string;
1106
+ /** At most ten mentions, with offsets into the original text. */
1107
+ mentions: MobileSocialFeedMentionParams[];
1108
+ /** Original JSON text, at most 256 KiB UTF-8; never reformatted by the SDK. */
1109
+ drawingDataJson?: string;
1110
+ }
1111
+ /** Parameters for first adding or replacing a drawing. Writes must be serialized by the caller. */
1112
+ interface MobileFeedChartDrawingParams extends MobileSignedRequestParams {
1113
+ /** Author-owned item UUID. */
1114
+ itemId: string;
1115
+ /** Complete original JSON text; false and zero are valid documents. */
1116
+ dataJson: string;
1117
+ }
1118
+ /** Parameters for reading a drawing with the original session or an independent account perspective. */
1119
+ interface GetMobileFeedChartDrawingParams extends MobileSocialFeedReadParams {
1120
+ /** Parent item UUID. */
1121
+ itemId: string;
1122
+ /** If supplied, the original viewerToken is required; independent reads omit both. */
1123
+ sessionId?: string;
1124
+ }
1125
+ /** Parameters for a comment thread; cursor and anchorReplyId are mutually exclusive. */
1126
+ interface GetMobileFeedCommentsParams extends MobileSocialFeedReadParams {
1127
+ /** Root post UUID. */
1128
+ rootItemId: string;
1129
+ /** Forward or backward opaque cursor from the same session. */
1130
+ cursor?: string;
1131
+ /** Page size, 1-50; defaults to 20. */
1132
+ limit?: number;
1133
+ /** First-page reply anchor; cannot be combined with cursor. */
1134
+ anchorReplyId?: string;
1135
+ /** Reuse the original session and viewerToken when navigating or paging. */
1136
+ sessionId?: string;
1137
+ }
1138
+ /** Parameters for posting a comment or reply with an optional owned position attachment. */
1139
+ interface MobileCreateFeedCommentParams extends MobileSignedRequestParams {
1140
+ /** Author-scoped idempotency UUID. */
1141
+ clientRequestId: string;
1142
+ /** Commentable root UUID. */
1143
+ rootItemId: string;
1144
+ /** Reply within the same thread; omit to reply to the root. */
1145
+ replyToItemId?: string;
1146
+ /** Nonblank original text, at most 1,000 Unicode code points. */
1147
+ text: string;
1148
+ /** At most ten mentions into the original text. */
1149
+ mentions: MobileSocialFeedMentionParams[];
1150
+ /** Position still held by the signed author; invalid attachment rejects the whole request. */
1151
+ attachedPositionId?: string;
1152
+ }
1153
+ /** Parameters for setting or cancelling a signed user's like. */
1154
+ interface MobileSetFeedLikeParams extends MobileSignedRequestParams {
1155
+ /** Readable, interactive item UUID. */
1156
+ itemId: string;
1157
+ /** Desired relationship state. */
1158
+ isLiked: boolean;
1159
+ }
1160
+ /** Unsigned exposure report; only send after satisfying the session's viewTracking requirements. */
1161
+ interface MobileRecordFeedViewsParams {
1162
+ /** Original reading session. */
1163
+ sessionId: string;
1164
+ /** Original opaque browsing credential. */
1165
+ viewerToken: string;
1166
+ /** One to fifty fully delivered, readable, interactive item UUIDs. */
1167
+ itemIds: string[];
1168
+ }
1169
+ /** Parameters for full position history, not just published feed items. */
1170
+ interface GetMobilePositionHistoryParams extends MobileSocialFeedReadParams {
1171
+ /** Lifecycle UUID. */
1172
+ positionId: string;
1173
+ /** Only published takes when true; defaults to false. */
1174
+ takesOnly?: boolean;
1175
+ /** Opaque history cursor; requires the original position session and viewerToken. */
1176
+ cursor?: string;
1177
+ /** Page size, 1-50; defaults to 20. */
1178
+ limit?: number;
1179
+ /** History session; do not substitute a feed session. */
1180
+ sessionId?: string;
1181
+ }
1182
+ /** Counts across the authorized position history. */
1183
+ interface MobileSocialFeedHistorySummary {
1184
+ /** Action count. */
1185
+ actionCount: number;
1186
+ /** Published take count. */
1187
+ takeCount: number;
1188
+ }
1189
+ /** Estimated liquidation price and its source time. */
1190
+ interface MobileSocialFeedEstimatedLiquidationLine {
1191
+ /** Decimal price. */
1192
+ price: BigNumber;
1193
+ /** Source time in milliseconds. */
1194
+ asOfMs: number;
1195
+ }
1196
+ /** Half-open chart range, preserved across pages. */
1197
+ interface MobileSocialFeedChartRange {
1198
+ /** Inclusive start in milliseconds. */
1199
+ fromMs: number;
1200
+ /** Exclusive end in milliseconds. */
1201
+ toMs: number;
1202
+ }
1203
+ /** Parameters for position candles and action markers. */
1204
+ interface GetMobilePositionChartParams extends MobileSocialFeedReadParams {
1205
+ /** Lifecycle UUID. */
1206
+ positionId: string;
1207
+ /** Original session, if reusing one; must be paired with viewerToken. */
1208
+ sessionId?: string;
1209
+ /** Candle interval. */
1210
+ interval: MobileSocialFeedChartInterval;
1211
+ /** Half-open time range; preserve it when paging. */
1212
+ range: MobileSocialFeedChartRange;
1213
+ /** Exclusive candle upper bound for subsequent pages. */
1214
+ beforeMs?: number;
1215
+ /** Candle count, 1-500; defaults to 200. */
1216
+ limit?: number;
1217
+ }
1218
+ /** Unsigned, page-scoped presence registration using the original reading credential. */
1219
+ interface MobilePositionPresenceParams {
1220
+ /** Lifecycle UUID authorized by the session. */
1221
+ positionId: string;
1222
+ /** Original reading session. */
1223
+ sessionId: string;
1224
+ /** Original browsing credential; determines visitor deduplication. */
1225
+ viewerToken: string;
1226
+ /** UUID generated per page, retained for that page's lifetime. */
1227
+ viewSessionId: string;
1228
+ /** Enter, renew, or leave the page. */
1229
+ state: MobileSocialFeedPresenceState;
1230
+ /** Self-reported display account: omission preserves it, null clears it. Not authentication. */
1231
+ watcherSubaccount?: Subaccount | null;
1232
+ }
1233
+ /** Parameters for read-only watcher counts; this query never registers presence. */
1234
+ interface GetMobilePositionWatchersParams {
1235
+ /** Lifecycle UUID. */
1236
+ positionId: string;
1237
+ /** Optional relationship perspective, not a watcher registration. */
1238
+ viewAs?: Subaccount;
1239
+ }
1240
+ /** Open position candidates for a selected identity. */
1241
+ interface MobileSocialFeedPositionsPage {
1242
+ /** Current candidates and eligibility hints. */
1243
+ positions: MobileSocialFeedPublishablePosition[];
1244
+ /** Next opaque cursor, or null. */
1245
+ nextCursor: string | null;
1246
+ /** Observation time in milliseconds. */
1247
+ asOfMs: number;
1248
+ }
1249
+ /** Position command result, including normal empty/unknown outcomes. */
1250
+ interface MobileSocialFeedPositionResolutionResult {
1251
+ /** Resolution outcome. */
1252
+ resolution: MobileSocialFeedPositionResolution;
1253
+ /** Resolved market, or null for an unknown or unconstrained market. */
1254
+ product: MobileSocialFeedMarket | null;
1255
+ /** Eligible open position candidates. */
1256
+ candidates: MobileSocialFeedPublishablePosition[];
1257
+ /** Explanation for no position or unknown market. */
1258
+ reason: MobileSocialFeedPositionResolutionReason | null;
1259
+ }
1260
+ /** Trusted order actions; pending is distinct from a source failure. */
1261
+ interface MobileSocialFeedActionResolutionResult {
1262
+ /** Requested order digest. */
1263
+ orderDigest: Hex;
1264
+ /** Ready when all currently confirmed segments have been projected. */
1265
+ resolution: MobileSocialFeedActionResolution;
1266
+ /** All trusted segments, or an empty array when pending. */
1267
+ actions: MobileSocialFeedActionCandidate[];
1268
+ /** Observation time in milliseconds. */
1269
+ asOfMs: number;
1270
+ }
1271
+ /** Readable drawing and parent display version; drawing data is already parsed. */
1272
+ interface MobileSocialFeedDrawingResult {
1273
+ /** Parent item UUID. */
1274
+ itemId: string;
1275
+ /** Current parent display version. */
1276
+ itemVersion: string;
1277
+ /** Null when the readable parent has no drawing. */
1278
+ drawing: MobileSocialFeedDrawing | null;
1279
+ }
1280
+ /** Saved drawing returned by successful creation or replacement. */
1281
+ interface MobileSocialFeedDrawingMutationResult {
1282
+ /** Parent item UUID. */
1283
+ itemId: string;
1284
+ /** Post-mutation parent display version. */
1285
+ itemVersion: string;
1286
+ /** Saved parsed drawing. */
1287
+ drawing: MobileSocialFeedDrawing;
1288
+ }
1289
+ /** Comment thread page, including both directions around an anchor. */
1290
+ interface MobileSocialFeedCommentsPage {
1291
+ /** Requested anchor, or null when reading without one. */
1292
+ anchorReplyId: string | null;
1293
+ /** Readable replies in service order. */
1294
+ comments: MobileSocialFeedReply[];
1295
+ /** Total readable comment count. */
1296
+ totalCount: number;
1297
+ /** Forward cursor, or null. */
1298
+ nextCursor: string | null;
1299
+ /** Backward cursor, or null. */
1300
+ previousCursor: string | null;
1301
+ /** Original or newly created reading session. */
1302
+ readSession: MobileSocialFeedReadSession;
1303
+ }
1304
+ /** Atomic comment publication result. */
1305
+ interface MobileSocialFeedCommentResult {
1306
+ /** Published reply. */
1307
+ comment: MobileSocialFeedReply;
1308
+ /** Post-commit root comment count. */
1309
+ rootCommentCount: number;
1310
+ }
1311
+ /** Authoritative post-mutation like state. */
1312
+ interface MobileSocialFeedLikeResult {
1313
+ /** Item UUID. */
1314
+ itemId: string;
1315
+ /** Desired applied state. */
1316
+ isLiked: boolean;
1317
+ /** Post-mutation count. */
1318
+ likeCount: number;
1319
+ /** Item display version. */
1320
+ version: string;
1321
+ }
1322
+ /** Exposure deduplication result for the current UTC day. */
1323
+ interface MobileSocialFeedViewsResult {
1324
+ /** Newly counted item UUIDs. */
1325
+ acceptedItemIds: string[];
1326
+ /** Already counted item UUIDs. */
1327
+ duplicateItemIds: string[];
1328
+ }
1329
+ /** Full position history and viewing-account trading hints. */
1330
+ interface MobileSocialFeedPositionHistory {
1331
+ /** Position and additional history metrics. */
1332
+ position: MobileSocialFeedPositionHistoryCard;
1333
+ /** Whole-history counts. */
1334
+ summary: MobileSocialFeedHistorySummary;
1335
+ /** Ordered actions and takes; no synthesized items. */
1336
+ timeline: MobileSocialFeedTimelineEntry[];
1337
+ /** Next cursor, or null. */
1338
+ nextCursor: string | null;
1339
+ /** Completeness, independent of whether any items were published. */
1340
+ historyQuality: MobileSocialFeedHistoryQuality;
1341
+ /** Position-mode session for navigation, updates, and statistics. */
1342
+ readSession: MobileSocialFeedReadSession;
1343
+ /** Hints only; actual trading requires authentication. */
1344
+ tradingContext: MobileSocialFeedTradingContext;
1345
+ }
1346
+ /** Candle page and event-price markers, independent of drawing data. */
1347
+ interface MobileSocialFeedPositionChart {
1348
+ /** Candles in descending timestamp order. */
1349
+ candles: MobileSocialFeedCandle[];
1350
+ /** Actions, retaining markers whose price is unknown. */
1351
+ actionMarkers: MobileSocialFeedActionMarker[];
1352
+ /** Estimated price, never substituted for execution or Oracle event prices. */
1353
+ estimatedLiquidationLine: MobileSocialFeedEstimatedLiquidationLine | null;
1354
+ /** Exclusive candle upper bound for the next page. */
1355
+ nextBeforeMs: number | null;
1356
+ /** Observation time in milliseconds. */
1357
+ asOfMs: number;
1358
+ /** Reliability of this response. */
1359
+ dataQuality: MobileSocialFeedChartDataQuality;
1360
+ }
1361
+ /** Current visitor count and self-reported public account previews. */
1362
+ interface MobileSocialFeedWatchers {
1363
+ /** Distinct active browsing credentials, not unique accounts. */
1364
+ watcherCount: number;
1365
+ /** Deduplicated self-reported accounts; may be fewer than watcherCount. */
1366
+ watcherPreview: MobileSocialFeedAuthor[];
1367
+ /** Observation time in milliseconds. */
1368
+ asOfMs: number;
1369
+ }
1370
+ /** Presence result; does not include an observation timestamp. */
1371
+ interface MobileSocialFeedPresence {
1372
+ /** Distinct active browsing credentials. */
1373
+ watcherCount: number;
1374
+ /** Self-reported account previews, not authenticated visitors. */
1375
+ watcherPreview: MobileSocialFeedAuthor[];
1376
+ /** Recommended heartbeat cadence in seconds. */
1377
+ heartbeatIntervalSeconds: number;
1378
+ /** Remaining lease lifetime in seconds. */
1379
+ expiresInSeconds: number;
1380
+ }
1381
+ /** Mention input, using the same structured subaccount convention as other signed SDK inputs. */
1382
+ interface MobileSocialFeedMentionParams extends Omit<MobileSocialFeedMention, 'subaccount'> {
1383
+ /** Mentioned identity; serialized to bytes32 for signing. */
1384
+ subaccount: Subaccount;
1385
+ }
842
1386
  //#endregion
843
- export { MobileSocialFeedItemBase as $, MobileNotificationCategoryPreference as A, MobileSetFollowBatchParams as B, MobileFeedTrade as C, MobileFollowMutationResult as D, MobileFollowListPage as E, MobilePublicProfile as F, MobileSocialFeedAuthor as G, MobileSetPrivateModeParams as H, MobileRegisterExpoTokenParams as I, MobileSocialFeedCohort as J, MobileSocialFeedCapabilities as K, MobileRegisteredWallet as L, MobileNotificationPreferences as M, MobileProfileSearchPage as N, MobileFollowSummary as O, MobileProfilesInclude as P, MobileSocialFeedItem as Q, MobileSetAvatarParams as R, MobileFeedPage as S, SearchMobileProfilesParams as St, MobileFollowListAccount as T, MobileSetUsernameParams as U, MobileSetFollowParams as V, MobileSignedRequestParams as W, MobileSocialFeedCommentPreview as X, MobileSocialFeedCohortCoverage as Y, MobileSocialFeedInteraction as Z, MobileAvatarPreset as _, MobileSocialFeedViewTracking as _t, GetMobileFollowersParams as a, MobileSocialFeedPnl as at, MobileCreateAvatarUploadParams as b, MobileUsernameAvailability as bt, GetMobileFriendsFeedParams as c, MobileSocialFeedRankedPage as ct, GetMobilePositionFeedParams as d, MobileSocialFeedTopTradersPage as dt, MobileSocialFeedItemPatch as et, GetMobileProfileFeedParams as f, MobileSocialFeedTradeCard as ft, GetMobileUsernameAvailabilityParams as g, MobileSocialFeedUpdates as gt, GetMobileTopTradersFeedParams as h, MobileSocialFeedTraderBadge as ht, GetMobileFollowListParams as i, MobileSocialFeedPage as it, MobileNotificationPreferenceScope as j, MobileIdentitySummary as k, GetMobileMarketFeedParams as l, MobileSocialFeedReadParams as lt, GetMobileRegisteredWalletParams as m, MobileSocialFeedTradeRowBase as mt, GetMobileFeedParams as n, MobileSocialFeedListParams as nt, GetMobileFollowingParams as o, MobileSocialFeedPositionCard as ot, GetMobileProfilesParams as p, MobileSocialFeedTradeRow as pt, MobileSocialFeedCategorizedParams as q, GetMobileFeedUpdatesParams as r, MobileSocialFeedMarket as rt, GetMobileForYouFeedParams as s, MobileSocialFeedPositionPatch as st, GetMobileFeedItemParams as t, MobileSocialFeedItemResponse as tt, GetMobileNotificationPreferencesParams as u, MobileSocialFeedReadSession as ut, MobileAvatarSelection as v, MobileUnregisterExpoTokenParams as vt, MobileFollowBatchResultItem as w, MobileFeedMargin as x, MobileWithExpoTokenParams as xt, MobileAvatarUpload as y, MobileUpdateNotificationPreferencesParams as yt, MobileSetBioParams as z };
844
- //# sourceMappingURL=clientTypes-DCTiUV0H.d.ts.map
1387
+ export { MobileSetFollowParams as $, MobileSocialFeedTradeCard as $t, MobileFeedMargin as A, MobileSocialFeedLikeResult as At, MobileNotificationPreferenceScope as B, MobileSocialFeedPositionHistoryCard as Bt, MobileAvatarPreset as C, MobileSocialFeedHistorySummary as Ct, MobileCreateFeedCommentParams as D, MobileSocialFeedItemBase as Dt, MobileCreateAvatarUploadParams as E, MobileSocialFeedItem as Et, MobileFollowListPage as F, MobileSocialFeedPnl as Ft, MobilePublicProfile as G, MobileSocialFeedPresence as Gt, MobilePositionPresenceParams as H, MobileSocialFeedPositionResolutionResult as Ht, MobileFollowMutationResult as I, MobileSocialFeedPositionAction as It, MobileRegisteredWallet as J, MobileSocialFeedReadParams as Jt, MobileRecordFeedViewsParams as K, MobileSocialFeedPublishablePosition as Kt, MobileFollowSummary as L, MobileSocialFeedPositionCard as Lt, MobileFeedTrade as M, MobileSocialFeedMarket as Mt, MobileFollowBatchResultItem as N, MobileSocialFeedMentionParams as Nt, MobileCreateFeedPostParams as O, MobileSocialFeedItemPatch as Ot, MobileFollowListAccount as P, MobileSocialFeedPage as Pt, MobileSetFollowBatchParams as Q, MobileSocialFeedTopTradersPage as Qt, MobileIdentitySummary as R, MobileSocialFeedPositionChart as Rt, GetMobileUsernameAvailabilityParams as S, MobileSocialFeedHistoryMetrics as St, MobileAvatarUpload as T, MobileSocialFeedInteraction as Tt, MobileProfileSearchPage as U, MobileSocialFeedPositionsPage as Ut, MobileNotificationPreferences as V, MobileSocialFeedPositionPatch as Vt, MobileProfilesInclude as W, MobileSocialFeedPost as Wt, MobileSetBioParams as X, MobileSocialFeedReply as Xt, MobileSetAvatarParams as Y, MobileSocialFeedReadSession as Yt, MobileSetFeedLikeParams as Z, MobileSocialFeedTimelineEntry as Zt, GetMobileProfileFeedParams as _, MobileSocialFeedContentBase as _t, GetMobileFeedUpdatesParams as a, MobileSocialFeedUpdates as an, MobileSocialFeedActionResolutionResult as at, GetMobileSelfFeedPositionsParams as b, MobileSocialFeedDrawingResult as bt, GetMobileFollowingParams as c, MobileSocialFeedWatchers as cn, MobileSocialFeedCapabilities as ct, GetMobileMarketFeedParams as d, MobileUsernameAvailability as dn, MobileSocialFeedCohort as dt, MobileSocialFeedTradeRow as en, MobileSetPrivateModeParams as et, GetMobileNotificationPreferencesParams as f, MobileWithExpoTokenParams as fn, MobileSocialFeedCohortCoverage as ft, GetMobilePositionWatchersParams as g, MobileSocialFeedCompactCard as gt, GetMobilePositionHistoryParams as h, SearchMobileProfilesParams as hn, MobileSocialFeedCommentsPage as ht, GetMobileFeedParams as i, MobileSocialFeedTradingTarget as in, MobileSocialFeedActionMarker as it, MobileFeedPage as j, MobileSocialFeedListParams as jt, MobileFeedChartDrawingParams as k, MobileSocialFeedItemResponse as kt, GetMobileForYouFeedParams as l, MobileUnregisterExpoTokenParams as ln, MobileSocialFeedCategorizedParams as lt, GetMobilePositionFeedParams as m, ResolveMobileFeedPositionParams as mn, MobileSocialFeedCommentResult as mt, GetMobileFeedCommentsParams as n, MobileSocialFeedTraderBadge as nn, MobileSignedRequestParams as nt, GetMobileFollowListParams as o, MobileSocialFeedViewTracking as on, MobileSocialFeedAuthor as ot, GetMobilePositionChartParams as p, ResolveMobileFeedActionParams as pn, MobileSocialFeedCommentPreview as pt, MobileRegisterExpoTokenParams as q, MobileSocialFeedRankedPage as qt, GetMobileFeedItemParams as r, MobileSocialFeedTradingContext as rn, MobileSocialFeedActionCandidate as rt, GetMobileFollowersParams as s, MobileSocialFeedViewsResult as sn, MobileSocialFeedCandle as st, GetMobileFeedChartDrawingParams as t, MobileSocialFeedTradeRowBase as tn, MobileSetUsernameParams as tt, GetMobileFriendsFeedParams as u, MobileUpdateNotificationPreferencesParams as un, MobileSocialFeedChartRange as ut, GetMobileProfilesParams as v, MobileSocialFeedDrawing as vt, MobileAvatarSelection as w, MobileSocialFeedHistoryTake as wt, GetMobileTopTradersFeedParams as x, MobileSocialFeedEstimatedLiquidationLine as xt, GetMobileRegisteredWalletParams as y, MobileSocialFeedDrawingMutationResult as yt, MobileNotificationCategoryPreference as z, MobileSocialFeedPositionHistory as zt };
1388
+ //# sourceMappingURL=clientTypes-_mEgzmNs.d.cts.map