@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,6 +1,6 @@
1
- import { C as MobileServerSocialFeedCohort, D as MobileServerSocialFeedItem, N as MobileServerSocialFeedPositionPatch, P as MobileServerSocialFeedReadSession, b as MobileServerProfile, k as MobileServerSocialFeedItemPatch, l as MobileNotificationPlatform, m as MobileServerFollowListAccount, p as MobileServerFeedTrade, rt as MobileSocialFeedUnavailableTarget, u as MobileServerAvatarPreset, y as MobileServerNotificationPreferences } from "./serverModelTypes-DAqEyYtB.js";
2
- import { o as MobileServerPublicQueryRequestByType, s as MobileServerPublicQueryRequestType } from "./serverRequestTypes-BNA7FCY6.js";
3
- import { n as MobileServerSuccessResponse } from "./serverBaseTypes-DWf3iGWy.js";
1
+ import { B as MobileServerSocialFeedItemPatch, C as MobileServerSocialFeedAuthor, Ct as MobileSocialFeedPositionResolutionReason, D as MobileServerSocialFeedCohort, F as MobileServerSocialFeedHistorySummary, Ft as MobileSocialFeedUnavailableTarget, G as MobileServerSocialFeedPositionHistoryCard, J as MobileServerSocialFeedPublishablePosition, K as MobileServerSocialFeedPositionPatch, M as MobileServerSocialFeedDrawing, N as MobileServerSocialFeedEstimatedLiquidationLine, R as MobileServerSocialFeedItem, S as MobileServerSocialFeedActionMarker, St as MobileSocialFeedPositionResolution, V as MobileServerSocialFeedMarket, X as MobileServerSocialFeedReply, Y as MobileServerSocialFeedReadSession, Z as MobileServerSocialFeedTimelineEntry, b as MobileServerProfile, l as MobileNotificationPlatform, m as MobileServerFollowListAccount, nt as MobileServerSocialFeedTradingContext, p as MobileServerFeedTrade, pt as MobileSocialFeedHistoryQuality, st as MobileSocialFeedActionResolution, u as MobileServerAvatarPreset, ut as MobileSocialFeedChartDataQuality, w as MobileServerSocialFeedCandle, x as MobileServerSocialFeedActionCandidate, y as MobileServerNotificationPreferences } from "./serverModelTypes-CiA-dy1R.cjs";
2
+ import { o as MobileServerPublicQueryRequestByType, s as MobileServerPublicQueryRequestType } from "./serverRequestTypes-CRlkNSu5.cjs";
3
+ import { n as MobileServerSuccessResponse } from "./serverBaseTypes-B5J1_TyC.cjs";
4
4
  import { Hex } from "viem";
5
5
 
6
6
  //#region src/types/serverQueryTypes.d.ts
@@ -133,6 +133,22 @@ interface MobileServerRegisteredWalletResponse {
133
133
  * by {@link MobileServerPublicQuerySuccessResponse}.
134
134
  */
135
135
  interface MobileServerPublicQueryResponseByType {
136
+ /** Open position candidates. */
137
+ self_feed_positions: MobileServerSocialFeedPositionsResponse;
138
+ /** Position command resolution. */
139
+ resolve_feed_position: MobileServerSocialFeedPositionResolutionResponse;
140
+ /** Trusted order action resolution. */
141
+ resolve_feed_action: MobileServerSocialFeedActionResolutionResponse;
142
+ /** Parent drawing and version. */
143
+ feed_chart_drawing: MobileServerSocialFeedDrawingResponse;
144
+ /** Comment thread page. */
145
+ feed_comments: MobileServerSocialFeedCommentsResponse;
146
+ /** Full lifecycle history. */
147
+ position_history: MobileServerSocialFeedPositionHistoryResponse;
148
+ /** Candle page and markers. */
149
+ position_chart: MobileServerSocialFeedPositionChartResponse;
150
+ /** Read-only watcher observation. */
151
+ position_watchers: MobileServerSocialFeedWatchersResponse;
136
152
  /** Preset IDs and public image URLs in display order. */
137
153
  avatar_presets: MobileServerAvatarPresetsResponse;
138
154
  /** For You recommendations. */
@@ -166,6 +182,102 @@ interface MobileServerPublicQueryResponseByType {
166
182
  * mirroring engine's `EngineServerQuerySuccessResponse` (inlined here instead of nested under `data`).
167
183
  */
168
184
  type MobileServerPublicQuerySuccessResponse<T extends MobileServerPublicQueryRequestType = MobileServerPublicQueryRequestType> = MobileServerSuccessResponse & MobileServerPublicQueryResponseByType[T];
185
+ /** Selected account's current candidates. */
186
+ interface MobileServerSocialFeedPositionsResponse {
187
+ /** Position eligibility hints. */
188
+ positions: MobileServerSocialFeedPublishablePosition[];
189
+ /** Next bound cursor, or null. */
190
+ next_cursor: string | null;
191
+ /** Observation time. */
192
+ as_of_ms: number;
193
+ }
194
+ /** Slash-command resolution, including normal empty outcomes. */
195
+ interface MobileServerSocialFeedPositionResolutionResponse {
196
+ /** Resolution status. */
197
+ resolution: MobileSocialFeedPositionResolution;
198
+ /** Resolved market, or null. */
199
+ product: MobileServerSocialFeedMarket | null;
200
+ /** Current candidates. */
201
+ candidates: MobileServerSocialFeedPublishablePosition[];
202
+ /** Explanation for empty candidates. */
203
+ reason: MobileSocialFeedPositionResolutionReason | null;
204
+ }
205
+ /** Authoritative order segments, not an inferred latest trade. */
206
+ interface MobileServerSocialFeedActionResolutionResponse {
207
+ /** Requested order. */
208
+ order_digest: Hex;
209
+ /** Pending until all confirmed segments are projected. */
210
+ resolution: MobileSocialFeedActionResolution;
211
+ /** Trusted actions, empty when pending. */
212
+ actions: MobileServerSocialFeedActionCandidate[];
213
+ /** Observation time. */
214
+ as_of_ms: number;
215
+ }
216
+ /** Drawing read result; a readable parent without a drawing succeeds with null. */
217
+ interface MobileServerSocialFeedDrawingResponse {
218
+ /** Parent UUID. */
219
+ item_id: string;
220
+ /** Display version. */
221
+ item_version: string;
222
+ /** Parsed drawing, or null. */
223
+ drawing: MobileServerSocialFeedDrawing | null;
224
+ }
225
+ /** Comment thread, including bidirectional pagination around an optional anchor. */
226
+ interface MobileServerSocialFeedCommentsResponse {
227
+ /** Readable comments. */
228
+ comments: MobileServerSocialFeedReply[];
229
+ /** Total readable count. */
230
+ total_count: number;
231
+ /** Forward cursor. */
232
+ next_cursor: string | null;
233
+ /** Backward cursor. */
234
+ previous_cursor: string | null;
235
+ /** Requested anchor, or null. */
236
+ anchor_reply_id: string | null;
237
+ /** Original or new session. */
238
+ read_session: MobileServerSocialFeedReadSession;
239
+ }
240
+ /** Full position history with additional metrics and trusted trading hints. */
241
+ interface MobileServerSocialFeedPositionHistoryResponse {
242
+ /** Current or frozen position and history metrics. */
243
+ position: MobileServerSocialFeedPositionHistoryCard;
244
+ /** Counts across the authorized history. */
245
+ summary: MobileServerSocialFeedHistorySummary;
246
+ /** Ordered action and take entries. */
247
+ timeline: MobileServerSocialFeedTimelineEntry[];
248
+ /** Next history cursor. */
249
+ next_cursor: string | null;
250
+ /** History completeness. */
251
+ history_quality: MobileSocialFeedHistoryQuality;
252
+ /** Position-mode session. */
253
+ read_session: MobileServerSocialFeedReadSession;
254
+ /** Viewing-account state, not authentication. */
255
+ trading_context: MobileServerSocialFeedTradingContext;
256
+ }
257
+ /** Candles and actions, with separate estimated risk-price line. */
258
+ interface MobileServerSocialFeedPositionChartResponse {
259
+ /** Descending candle page. */
260
+ candles: MobileServerSocialFeedCandle[];
261
+ /** Action markers with explicit price bases. */
262
+ action_markers: MobileServerSocialFeedActionMarker[];
263
+ /** Estimated line, if applicable and available. */
264
+ estimated_liquidation_line: MobileServerSocialFeedEstimatedLiquidationLine | null;
265
+ /** Exclusive next-page bound. */
266
+ next_before_ms: number | null;
267
+ /** Observation time. */
268
+ as_of_ms: number;
269
+ /** Overall source quality. */
270
+ data_quality: MobileSocialFeedChartDataQuality;
271
+ }
272
+ /** Read-only watcher observation; account previews are self-reported. */
273
+ interface MobileServerSocialFeedWatchersResponse {
274
+ /** Distinct active browsing credentials. */
275
+ watcher_count: number;
276
+ /** Deduplicated public account previews. */
277
+ watcher_preview: MobileServerSocialFeedAuthor[];
278
+ /** Observation time. */
279
+ as_of_ms: number;
280
+ }
169
281
  //#endregion
170
- export { MobileServerProfilesResponse as a, MobileServerPublicQuerySuccessResponse as c, MobileServerSocialFeedItemResponse as d, MobileServerSocialFeedRankedResponse as f, MobileServerUsernameAvailabilityResponse as g, MobileServerSocialFeedUpdatesResponse as h, MobileServerNotificationPreferencesResponse as i, MobileServerRegisteredWalletResponse as l, MobileServerSocialFeedTopTradersResponse as m, MobileServerFeedResponse as n, MobileServerPublicQueryRequest as o, MobileServerSocialFeedResponse as p, MobileServerFollowListResponse as r, MobileServerPublicQueryResponseByType as s, MobileServerAvatarPresetsResponse as t, MobileServerSearchProfilesResponse as u };
171
- //# sourceMappingURL=serverQueryTypes-BFdwq0Z2.d.ts.map
282
+ export { MobileServerSocialFeedWatchersResponse as C, MobileServerSocialFeedUpdatesResponse as S, MobileServerSocialFeedPositionResolutionResponse as _, MobileServerProfilesResponse as a, MobileServerSocialFeedResponse as b, MobileServerPublicQuerySuccessResponse as c, MobileServerSocialFeedActionResolutionResponse as d, MobileServerSocialFeedCommentsResponse as f, MobileServerSocialFeedPositionHistoryResponse as g, MobileServerSocialFeedPositionChartResponse as h, MobileServerNotificationPreferencesResponse as i, MobileServerRegisteredWalletResponse as l, MobileServerSocialFeedItemResponse as m, MobileServerFeedResponse as n, MobileServerPublicQueryRequest as o, MobileServerSocialFeedDrawingResponse as p, MobileServerFollowListResponse as r, MobileServerPublicQueryResponseByType as s, MobileServerAvatarPresetsResponse as t, MobileServerSearchProfilesResponse as u, MobileServerSocialFeedPositionsResponse as v, MobileServerUsernameAvailabilityResponse as w, MobileServerSocialFeedTopTradersResponse as x, MobileServerSocialFeedRankedResponse as y };
283
+ //# sourceMappingURL=serverQueryTypes-V1f9yE7L.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverQueryTypes-V1f9yE7L.d.cts","names":[],"sources":["../src/types/src/types/serverQueryTypes.ts"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { U as MobileSocialFeedMarketCategory, nt as MobileSocialFeedType, y as MobileServerNotificationPreferences } from "./serverModelTypes-DAqEyYtB.cjs";
2
- import { n as MobileSignedInner } from "./types-BCr2G5gS.cjs";
1
+ import { E as MobileServerSocialFeedChartRange, Pt as MobileSocialFeedType, Tt as MobileSocialFeedPresenceState, dt as MobileSocialFeedChartInterval, gt as MobileSocialFeedMarketCategory, y as MobileServerNotificationPreferences } from "./serverModelTypes-CiA-dy1R.cjs";
2
+ import { n as MobileSignedInner } from "./types-BiRmH5Iv.cjs";
3
3
  import { Hex } from "viem";
4
4
 
5
5
  //#region src/types/serverRequestTypes.d.ts
@@ -85,6 +85,59 @@ interface MobileServerSocialFeedReadParams {
85
85
  * Params for each unsigned `public_query`, keyed by request `type`.
86
86
  */
87
87
  interface MobileServerPublicQueryRequestByType {
88
+ /** Selected account's open position candidates. */
89
+ self_feed_positions: {
90
+ /** Full identity. */view_as: Hex; /** Market filter. */
91
+ product_id?: number; /** Bound pagination cursor. */
92
+ cursor?: string; /** Page size, 1-50. */
93
+ limit?: number;
94
+ };
95
+ /** Resolve a position command without signing. */
96
+ resolve_feed_position: {
97
+ /** Full identity. */view_as: Hex; /** Unmodified command text. */
98
+ input: string; /** Optional market disambiguation. */
99
+ product_id?: number;
100
+ };
101
+ /** Resolve an order's complete trusted lifecycle segments. */
102
+ resolve_feed_action: {
103
+ /** Order-owning identity. */view_as: Hex; /** Trading order digest. */
104
+ order_digest: Hex;
105
+ };
106
+ /** Read a drawing within the parent item's visibility. */
107
+ feed_chart_drawing: MobileServerSocialFeedReadParams & {
108
+ /** Parent UUID. */item_id: string; /** Original session, paired with viewer_token. */
109
+ session_id?: string;
110
+ };
111
+ /** Read or navigate a comment thread. */
112
+ feed_comments: MobileServerSocialFeedReadParams & {
113
+ /** Root UUID. */root_item_id: string; /** Thread cursor. */
114
+ cursor?: string; /** Page size, 1-50. */
115
+ limit?: number; /** First-page anchor, mutually exclusive with cursor. */
116
+ anchor_reply_id?: string; /** Original reading session. */
117
+ session_id?: string;
118
+ };
119
+ /** Full lifecycle history rather than published feed items alone. */
120
+ position_history: MobileServerSocialFeedReadParams & {
121
+ /** Lifecycle UUID. */position_id: string; /** Filter to published takes. */
122
+ takes_only?: boolean; /** History cursor. */
123
+ cursor?: string; /** Page size, 1-50. */
124
+ limit?: number; /** Original position-mode session. */
125
+ session_id?: string;
126
+ };
127
+ /** Market candles and independently priced action markers. */
128
+ position_chart: MobileServerSocialFeedReadParams & {
129
+ /** Lifecycle UUID. */position_id: string; /** Original session, paired with viewer_token. */
130
+ session_id?: string; /** Candle interval. */
131
+ interval: MobileSocialFeedChartInterval; /** Half-open time interval. */
132
+ range: MobileServerSocialFeedChartRange; /** Exclusive next-page bound. */
133
+ before_ms?: number; /** Page size, 1-500. */
134
+ limit?: number;
135
+ };
136
+ /** Watcher query; does not register presence. */
137
+ position_watchers: {
138
+ /** Lifecycle UUID. */position_id: string; /** Relationship perspective only. */
139
+ view_as?: Hex;
140
+ };
88
141
  /** Ordered server-owned avatar catalogue. */
89
142
  avatar_presets: Record<never, never>;
90
143
  /** Public recommendations with optional relationship perspective. */
@@ -163,12 +216,29 @@ interface MobileServerPublicQueryRequestByType {
163
216
  */
164
217
  type MobileServerPublicQueryRequestType = keyof MobileServerPublicQueryRequestByType;
165
218
  /**
166
- * Params for each unsigned `public_execute`, keyed by request `type`. Possession of an active Expo push token
167
- * authorizes these notification-only mutations: the backend resolves the token's owning wallet and mutates
168
- * its state, so no signature, sender, or nonce is sent. Ordering is the backend's last-write-wins commit
169
- * order, so callers must serialize their own writes.
219
+ * Params for each unsigned `public_execute`, keyed by request `type`. No signature, sender, or nonce is sent.
220
+ * `record_feed_views` and `position_presence` are authorized by the original reading session (`session_id`)
221
+ * and browser credential (`viewer_token`), not an Expo push token.
222
+ * For `unregister_expo_token` and `update_preferences`, possession of an active Expo push token authorizes
223
+ * the notification mutation: the backend resolves the token's owning wallet and mutates its state. These
224
+ * notification writes use the backend's last-write-wins commit order, so callers must serialize them.
170
225
  */
171
226
  interface MobileServerPublicExecuteRequestByType {
227
+ /** Explicit exposure report using the original browsing credential. */
228
+ record_feed_views: {
229
+ /** Original reading session. */session_id: string; /** Fully delivered interactive items. */
230
+ item_ids: string[]; /** Original credential. */
231
+ viewer_token: string;
232
+ };
233
+ /** Per-page visitor lease; no wallet signature. */
234
+ position_presence: {
235
+ /** Lifecycle UUID. */position_id: string; /** Original reading session. */
236
+ session_id: string; /** Page-scoped UUID. */
237
+ view_session_id: string; /** Lease lifecycle state. */
238
+ state: MobileSocialFeedPresenceState; /** Original browsing credential. */
239
+ viewer_token: string; /** Omission preserves the display account; null clears it. */
240
+ watcher_subaccount?: Hex | null;
241
+ };
172
242
  unregister_expo_token: {
173
243
  expo_token: string;
174
244
  };
@@ -197,4 +267,4 @@ type MobileServerExecuteRequestType = MobileSignedInner['type'];
197
267
  type MobileServerRequestType = `public_query_${MobileServerPublicQueryRequestType}` | `public_execute_${MobileServerPublicExecuteRequestType}` | `execute_${MobileServerExecuteRequestType}`;
198
268
  //#endregion
199
269
  export { MobileServerPublicExecuteRequestType as a, MobileServerRequestType as c, MobileServerSocialFeedListParams as d, MobileServerSocialFeedReadParams as f, MobileServerPublicExecuteRequestByType as i, MobileServerSearchProfilesRequest as l, MobileServerFollowListRequest as n, MobileServerPublicQueryRequestByType as o, MobileServerProfilesInclude as r, MobileServerPublicQueryRequestType as s, MobileServerExecuteRequestType as t, MobileServerSocialFeedCategorizedParams as u };
200
- //# sourceMappingURL=serverRequestTypes-CxDRFKfv.d.cts.map
270
+ //# sourceMappingURL=serverRequestTypes-CRlkNSu5.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequestTypes-CRlkNSu5.d.cts","names":[],"sources":["../src/types/src/types/serverRequestTypes.ts"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { U as MobileSocialFeedMarketCategory, nt as MobileSocialFeedType, y as MobileServerNotificationPreferences } from "./serverModelTypes-DAqEyYtB.js";
2
- import { n as MobileSignedInner } from "./types-C18k-9Vy.js";
1
+ import { E as MobileServerSocialFeedChartRange, Pt as MobileSocialFeedType, Tt as MobileSocialFeedPresenceState, dt as MobileSocialFeedChartInterval, gt as MobileSocialFeedMarketCategory, y as MobileServerNotificationPreferences } from "./serverModelTypes-CiA-dy1R.js";
2
+ import { n as MobileSignedInner } from "./types-DoJuq0Ij.js";
3
3
  import { Hex } from "viem";
4
4
 
5
5
  //#region src/types/serverRequestTypes.d.ts
@@ -85,6 +85,59 @@ interface MobileServerSocialFeedReadParams {
85
85
  * Params for each unsigned `public_query`, keyed by request `type`.
86
86
  */
87
87
  interface MobileServerPublicQueryRequestByType {
88
+ /** Selected account's open position candidates. */
89
+ self_feed_positions: {
90
+ /** Full identity. */view_as: Hex; /** Market filter. */
91
+ product_id?: number; /** Bound pagination cursor. */
92
+ cursor?: string; /** Page size, 1-50. */
93
+ limit?: number;
94
+ };
95
+ /** Resolve a position command without signing. */
96
+ resolve_feed_position: {
97
+ /** Full identity. */view_as: Hex; /** Unmodified command text. */
98
+ input: string; /** Optional market disambiguation. */
99
+ product_id?: number;
100
+ };
101
+ /** Resolve an order's complete trusted lifecycle segments. */
102
+ resolve_feed_action: {
103
+ /** Order-owning identity. */view_as: Hex; /** Trading order digest. */
104
+ order_digest: Hex;
105
+ };
106
+ /** Read a drawing within the parent item's visibility. */
107
+ feed_chart_drawing: MobileServerSocialFeedReadParams & {
108
+ /** Parent UUID. */item_id: string; /** Original session, paired with viewer_token. */
109
+ session_id?: string;
110
+ };
111
+ /** Read or navigate a comment thread. */
112
+ feed_comments: MobileServerSocialFeedReadParams & {
113
+ /** Root UUID. */root_item_id: string; /** Thread cursor. */
114
+ cursor?: string; /** Page size, 1-50. */
115
+ limit?: number; /** First-page anchor, mutually exclusive with cursor. */
116
+ anchor_reply_id?: string; /** Original reading session. */
117
+ session_id?: string;
118
+ };
119
+ /** Full lifecycle history rather than published feed items alone. */
120
+ position_history: MobileServerSocialFeedReadParams & {
121
+ /** Lifecycle UUID. */position_id: string; /** Filter to published takes. */
122
+ takes_only?: boolean; /** History cursor. */
123
+ cursor?: string; /** Page size, 1-50. */
124
+ limit?: number; /** Original position-mode session. */
125
+ session_id?: string;
126
+ };
127
+ /** Market candles and independently priced action markers. */
128
+ position_chart: MobileServerSocialFeedReadParams & {
129
+ /** Lifecycle UUID. */position_id: string; /** Original session, paired with viewer_token. */
130
+ session_id?: string; /** Candle interval. */
131
+ interval: MobileSocialFeedChartInterval; /** Half-open time interval. */
132
+ range: MobileServerSocialFeedChartRange; /** Exclusive next-page bound. */
133
+ before_ms?: number; /** Page size, 1-500. */
134
+ limit?: number;
135
+ };
136
+ /** Watcher query; does not register presence. */
137
+ position_watchers: {
138
+ /** Lifecycle UUID. */position_id: string; /** Relationship perspective only. */
139
+ view_as?: Hex;
140
+ };
88
141
  /** Ordered server-owned avatar catalogue. */
89
142
  avatar_presets: Record<never, never>;
90
143
  /** Public recommendations with optional relationship perspective. */
@@ -163,12 +216,29 @@ interface MobileServerPublicQueryRequestByType {
163
216
  */
164
217
  type MobileServerPublicQueryRequestType = keyof MobileServerPublicQueryRequestByType;
165
218
  /**
166
- * Params for each unsigned `public_execute`, keyed by request `type`. Possession of an active Expo push token
167
- * authorizes these notification-only mutations: the backend resolves the token's owning wallet and mutates
168
- * its state, so no signature, sender, or nonce is sent. Ordering is the backend's last-write-wins commit
169
- * order, so callers must serialize their own writes.
219
+ * Params for each unsigned `public_execute`, keyed by request `type`. No signature, sender, or nonce is sent.
220
+ * `record_feed_views` and `position_presence` are authorized by the original reading session (`session_id`)
221
+ * and browser credential (`viewer_token`), not an Expo push token.
222
+ * For `unregister_expo_token` and `update_preferences`, possession of an active Expo push token authorizes
223
+ * the notification mutation: the backend resolves the token's owning wallet and mutates its state. These
224
+ * notification writes use the backend's last-write-wins commit order, so callers must serialize them.
170
225
  */
171
226
  interface MobileServerPublicExecuteRequestByType {
227
+ /** Explicit exposure report using the original browsing credential. */
228
+ record_feed_views: {
229
+ /** Original reading session. */session_id: string; /** Fully delivered interactive items. */
230
+ item_ids: string[]; /** Original credential. */
231
+ viewer_token: string;
232
+ };
233
+ /** Per-page visitor lease; no wallet signature. */
234
+ position_presence: {
235
+ /** Lifecycle UUID. */position_id: string; /** Original reading session. */
236
+ session_id: string; /** Page-scoped UUID. */
237
+ view_session_id: string; /** Lease lifecycle state. */
238
+ state: MobileSocialFeedPresenceState; /** Original browsing credential. */
239
+ viewer_token: string; /** Omission preserves the display account; null clears it. */
240
+ watcher_subaccount?: Hex | null;
241
+ };
172
242
  unregister_expo_token: {
173
243
  expo_token: string;
174
244
  };
@@ -197,4 +267,4 @@ type MobileServerExecuteRequestType = MobileSignedInner['type'];
197
267
  type MobileServerRequestType = `public_query_${MobileServerPublicQueryRequestType}` | `public_execute_${MobileServerPublicExecuteRequestType}` | `execute_${MobileServerExecuteRequestType}`;
198
268
  //#endregion
199
269
  export { MobileServerPublicExecuteRequestType as a, MobileServerRequestType as c, MobileServerSocialFeedListParams as d, MobileServerSocialFeedReadParams as f, MobileServerPublicExecuteRequestByType as i, MobileServerSearchProfilesRequest as l, MobileServerFollowListRequest as n, MobileServerPublicQueryRequestByType as o, MobileServerProfilesInclude as r, MobileServerPublicQueryRequestType as s, MobileServerExecuteRequestType as t, MobileServerSocialFeedCategorizedParams as u };
200
- //# sourceMappingURL=serverRequestTypes-BNA7FCY6.d.ts.map
270
+ //# sourceMappingURL=serverRequestTypes-DZoOhV2o.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequestTypes-DZoOhV2o.d.ts","names":[],"sources":["../src/types/src/types/serverRequestTypes.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as MobileServerFailureResponse } from "./serverBaseTypes-KREDe2M9.cjs";
1
+ import { t as MobileServerFailureResponse } from "./serverBaseTypes-B5J1_TyC.cjs";
2
2
 
3
3
  //#region src/utils/serverResponseGuards.d.ts
4
4
  /**
@@ -13,4 +13,4 @@ declare function isMobileServerSuccessResponse<T extends {
13
13
  }>(data: unknown): data is T;
14
14
  //#endregion
15
15
  export { isMobileServerSuccessResponse as n, isMobileServerFailureResponse as t };
16
- //# sourceMappingURL=serverResponseGuards-Dkdok0Sm.d.cts.map
16
+ //# sourceMappingURL=serverResponseGuards-BW69PS7O.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponseGuards-Dkdok0Sm.d.cts","names":[],"sources":["../src/utils/src/utils/serverResponseGuards.ts"],"mappings":";;;;;AAKA;iBAAgB,6BAAA,CACd,IAAA,YACC,IAAA,IAAQ,2BAA2B;;;;iBAWtB,6BAAA;EAA0C,MAAA;AAAA,EAAA,CACxD,IAAA,YACC,IAAA,IAAQ,CAAC"}
1
+ {"version":3,"file":"serverResponseGuards-BW69PS7O.d.cts","names":[],"sources":["../src/utils/src/utils/serverResponseGuards.ts"],"mappings":";;;;;AAKA;iBAAgB,6BAAA,CACd,IAAA,YACC,IAAA,IAAQ,2BAA2B;;;;iBAWtB,6BAAA;EAA0C,MAAA;AAAA,EAAA,CACxD,IAAA,YACC,IAAA,IAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { t as MobileServerFailureResponse } from "./serverBaseTypes-DWf3iGWy.js";
1
+ import { t as MobileServerFailureResponse } from "./serverBaseTypes-DnLzsdm-.js";
2
2
 
3
3
  //#region src/utils/serverResponseGuards.d.ts
4
4
  /**
@@ -13,4 +13,4 @@ declare function isMobileServerSuccessResponse<T extends {
13
13
  }>(data: unknown): data is T;
14
14
  //#endregion
15
15
  export { isMobileServerSuccessResponse as n, isMobileServerFailureResponse as t };
16
- //# sourceMappingURL=serverResponseGuards-BU1Xv_tG.d.ts.map
16
+ //# sourceMappingURL=serverResponseGuards-CShiXpHT.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponseGuards-BU1Xv_tG.d.ts","names":[],"sources":["../src/utils/src/utils/serverResponseGuards.ts"],"mappings":";;;;;AAKA;iBAAgB,6BAAA,CACd,IAAA,YACC,IAAA,IAAQ,2BAA2B;;;;iBAWtB,6BAAA;EAA0C,MAAA;AAAA,EAAA,CACxD,IAAA,YACC,IAAA,IAAQ,CAAC"}
1
+ {"version":3,"file":"serverResponseGuards-CShiXpHT.d.ts","names":[],"sources":["../src/utils/src/utils/serverResponseGuards.ts"],"mappings":";;;;;AAKA;iBAAgB,6BAAA,CACd,IAAA,YACC,IAAA,IAAQ,2BAA2B;;;;iBAWtB,6BAAA;EAA0C,MAAA;AAAA,EAAA,CACxD,IAAA,YACC,IAAA,IAAQ,CAAC"}
@@ -1,2 +1,2 @@
1
- import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-NHbMAPzd.cjs";
1
+ import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-C1v0flCR.cjs";
2
2
  export { buildSignedMobileRequest };
@@ -1,2 +1,2 @@
1
- import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-Cb1T74xV.js";
1
+ import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-UeeWdYGU.js";
2
2
  export { buildSignedMobileRequest };
@@ -9,6 +9,35 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
9
9
  */
10
10
  function canonicalizeMobileInner(inner) {
11
11
  switch (inner.type) {
12
+ case "create_feed_post": return {
13
+ type: inner.type,
14
+ client_request_id: inner.client_request_id,
15
+ position_id: inner.position_id,
16
+ ...inner.action_id === void 0 ? {} : { action_id: inner.action_id },
17
+ text: inner.text,
18
+ mentions: inner.mentions.map(canonicalizeMention),
19
+ ...inner.drawing_data_json === void 0 ? {} : { drawing_data_json: inner.drawing_data_json }
20
+ };
21
+ case "create_feed_comment": return {
22
+ type: inner.type,
23
+ client_request_id: inner.client_request_id,
24
+ root_item_id: inner.root_item_id,
25
+ ...inner.reply_to_item_id === void 0 ? {} : { reply_to_item_id: inner.reply_to_item_id },
26
+ text: inner.text,
27
+ mentions: inner.mentions.map(canonicalizeMention),
28
+ ...inner.attached_position_id === void 0 ? {} : { attached_position_id: inner.attached_position_id }
29
+ };
30
+ case "create_feed_chart_drawing":
31
+ case "update_feed_chart_drawing": return {
32
+ type: inner.type,
33
+ item_id: inner.item_id,
34
+ data_json: inner.data_json
35
+ };
36
+ case "set_feed_like": return {
37
+ type: inner.type,
38
+ item_id: inner.item_id,
39
+ is_liked: inner.is_liked
40
+ };
12
41
  case "set_bio": return {
13
42
  type: "set_bio",
14
43
  bio: inner.bio
@@ -62,6 +91,14 @@ function canonicalizeMobileInner(inner) {
62
91
  default: throw new Error(`canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`);
63
92
  }
64
93
  }
94
+ function canonicalizeMention(mention) {
95
+ return {
96
+ subaccount: mention.subaccount,
97
+ start: mention.start,
98
+ end: mention.end,
99
+ label: mention.label
100
+ };
101
+ }
65
102
  //#endregion
66
103
  exports.canonicalizeMobileInner = canonicalizeMobileInner;
67
104
 
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalize.cjs","names":[],"sources":["../../src/signing/canonicalize.ts"],"sourcesContent":["import { MobileSignedInner } from './types';\n\n/**\n * Rebuilds an inner payload with its keys in the backend's struct declaration order (`type` first, then the\n * remaining fields in the exact order the backend serializes them). msgpack encodes object keys in insertion\n * order and the payload hash must be reproducible regardless of how the caller constructed the object, so\n * every inner payload — and each of its sub-types — is canonicalized here before hashing. This function is\n * the source of truth for that order.\n */\nexport function canonicalizeMobileInner(\n inner: MobileSignedInner,\n): MobileSignedInner {\n switch (inner.type) {\n case 'set_bio':\n return { type: 'set_bio', bio: inner.bio };\n case 'create_avatar_upload':\n return {\n type: 'create_avatar_upload',\n content_length: inner.content_length,\n };\n case 'set_avatar': {\n const avatar = inner.avatar;\n if (avatar === null) {\n return { type: 'set_avatar', avatar: null };\n }\n return {\n type: 'set_avatar',\n avatar:\n avatar.type === 'preset'\n ? { type: 'preset', id: avatar.id }\n : { type: 'upload', upload_key: avatar.upload_key },\n };\n }\n case 'set_username':\n return { type: 'set_username', display_name: inner.display_name };\n case 'set_private_mode':\n return { type: 'set_private_mode', private_mode: inner.private_mode };\n case 'register_expo_token':\n return {\n type: 'register_expo_token',\n expo_token: inner.expo_token,\n platform: inner.platform,\n locale: inner.locale,\n app_version: inner.app_version,\n };\n case 'set_follow':\n return {\n type: 'set_follow',\n subaccount: inner.subaccount,\n is_following: inner.is_following,\n };\n case 'set_follow_batch':\n return {\n type: 'set_follow_batch',\n subaccounts: [...inner.subaccounts],\n is_following: inner.is_following,\n };\n default: {\n throw new Error(\n `canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`,\n );\n }\n }\n}\n"],"mappings":";;;;;;;;;AASA,SAAgB,wBACd,OACmB;CACnB,QAAQ,MAAM,MAAd;EACE,KAAK,WACH,OAAO;GAAE,MAAM;GAAW,KAAK,MAAM;EAAI;EAC3C,KAAK,wBACH,OAAO;GACL,MAAM;GACN,gBAAgB,MAAM;EACxB;EACF,KAAK,cAAc;GACjB,MAAM,SAAS,MAAM;GACrB,IAAI,WAAW,MACb,OAAO;IAAE,MAAM;IAAc,QAAQ;GAAK;GAE5C,OAAO;IACL,MAAM;IACN,QACE,OAAO,SAAS,WACZ;KAAE,MAAM;KAAU,IAAI,OAAO;IAAG,IAChC;KAAE,MAAM;KAAU,YAAY,OAAO;IAAW;GACxD;EACF;EACA,KAAK,gBACH,OAAO;GAAE,MAAM;GAAgB,cAAc,MAAM;EAAa;EAClE,KAAK,oBACH,OAAO;GAAE,MAAM;GAAoB,cAAc,MAAM;EAAa;EACtE,KAAK,uBACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,aAAa,MAAM;EACrB;EACF,KAAK,cACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,cAAc,MAAM;EACtB;EACF,KAAK,oBACH,OAAO;GACL,MAAM;GACN,aAAa,CAAC,GAAG,MAAM,WAAW;GAClC,cAAc,MAAM;EACtB;EACF,SACE,MAAM,IAAI,MACR,0DAA0D,KAAK,UAAU,KAAK,GAChF;CAEJ;AACF"}
1
+ {"version":3,"file":"canonicalize.cjs","names":[],"sources":["../../src/signing/canonicalize.ts"],"sourcesContent":["import { MobileSocialFeedMention } from '../types/serverModelTypes';\nimport { MobileSignedInner } from './types';\n\n/**\n * Rebuilds an inner payload with its keys in the backend's struct declaration order (`type` first, then the\n * remaining fields in the exact order the backend serializes them). msgpack encodes object keys in insertion\n * order and the payload hash must be reproducible regardless of how the caller constructed the object, so\n * every inner payload — and each of its sub-types — is canonicalized here before hashing. This function is\n * the source of truth for that order.\n */\nexport function canonicalizeMobileInner(\n inner: MobileSignedInner,\n): MobileSignedInner {\n switch (inner.type) {\n case 'create_feed_post':\n return {\n type: inner.type,\n client_request_id: inner.client_request_id,\n position_id: inner.position_id,\n ...(inner.action_id === undefined\n ? {}\n : { action_id: inner.action_id }),\n text: inner.text,\n mentions: inner.mentions.map(canonicalizeMention),\n ...(inner.drawing_data_json === undefined\n ? {}\n : { drawing_data_json: inner.drawing_data_json }),\n };\n case 'create_feed_comment':\n return {\n type: inner.type,\n client_request_id: inner.client_request_id,\n root_item_id: inner.root_item_id,\n ...(inner.reply_to_item_id === undefined\n ? {}\n : { reply_to_item_id: inner.reply_to_item_id }),\n text: inner.text,\n mentions: inner.mentions.map(canonicalizeMention),\n ...(inner.attached_position_id === undefined\n ? {}\n : { attached_position_id: inner.attached_position_id }),\n };\n case 'create_feed_chart_drawing':\n case 'update_feed_chart_drawing':\n return {\n type: inner.type,\n item_id: inner.item_id,\n data_json: inner.data_json,\n };\n case 'set_feed_like':\n return {\n type: inner.type,\n item_id: inner.item_id,\n is_liked: inner.is_liked,\n };\n case 'set_bio':\n return { type: 'set_bio', bio: inner.bio };\n case 'create_avatar_upload':\n return {\n type: 'create_avatar_upload',\n content_length: inner.content_length,\n };\n case 'set_avatar': {\n const avatar = inner.avatar;\n if (avatar === null) {\n return { type: 'set_avatar', avatar: null };\n }\n return {\n type: 'set_avatar',\n avatar:\n avatar.type === 'preset'\n ? { type: 'preset', id: avatar.id }\n : { type: 'upload', upload_key: avatar.upload_key },\n };\n }\n case 'set_username':\n return { type: 'set_username', display_name: inner.display_name };\n case 'set_private_mode':\n return { type: 'set_private_mode', private_mode: inner.private_mode };\n case 'register_expo_token':\n return {\n type: 'register_expo_token',\n expo_token: inner.expo_token,\n platform: inner.platform,\n locale: inner.locale,\n app_version: inner.app_version,\n };\n case 'set_follow':\n return {\n type: 'set_follow',\n subaccount: inner.subaccount,\n is_following: inner.is_following,\n };\n case 'set_follow_batch':\n return {\n type: 'set_follow_batch',\n subaccounts: [...inner.subaccounts],\n is_following: inner.is_following,\n };\n default: {\n throw new Error(\n `canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`,\n );\n }\n }\n}\n\nfunction canonicalizeMention(\n mention: MobileSocialFeedMention,\n): MobileSocialFeedMention {\n return {\n subaccount: mention.subaccount,\n start: mention.start,\n end: mention.end,\n label: mention.label,\n };\n}\n"],"mappings":";;;;;;;;;AAUA,SAAgB,wBACd,OACmB;CACnB,QAAQ,MAAM,MAAd;EACE,KAAK,oBACH,OAAO;GACL,MAAM,MAAM;GACZ,mBAAmB,MAAM;GACzB,aAAa,MAAM;GACnB,GAAI,MAAM,cAAc,KAAA,IACpB,CAAC,IACD,EAAE,WAAW,MAAM,UAAU;GACjC,MAAM,MAAM;GACZ,UAAU,MAAM,SAAS,IAAI,mBAAmB;GAChD,GAAI,MAAM,sBAAsB,KAAA,IAC5B,CAAC,IACD,EAAE,mBAAmB,MAAM,kBAAkB;EACnD;EACF,KAAK,uBACH,OAAO;GACL,MAAM,MAAM;GACZ,mBAAmB,MAAM;GACzB,cAAc,MAAM;GACpB,GAAI,MAAM,qBAAqB,KAAA,IAC3B,CAAC,IACD,EAAE,kBAAkB,MAAM,iBAAiB;GAC/C,MAAM,MAAM;GACZ,UAAU,MAAM,SAAS,IAAI,mBAAmB;GAChD,GAAI,MAAM,yBAAyB,KAAA,IAC/B,CAAC,IACD,EAAE,sBAAsB,MAAM,qBAAqB;EACzD;EACF,KAAK;EACL,KAAK,6BACH,OAAO;GACL,MAAM,MAAM;GACZ,SAAS,MAAM;GACf,WAAW,MAAM;EACnB;EACF,KAAK,iBACH,OAAO;GACL,MAAM,MAAM;GACZ,SAAS,MAAM;GACf,UAAU,MAAM;EAClB;EACF,KAAK,WACH,OAAO;GAAE,MAAM;GAAW,KAAK,MAAM;EAAI;EAC3C,KAAK,wBACH,OAAO;GACL,MAAM;GACN,gBAAgB,MAAM;EACxB;EACF,KAAK,cAAc;GACjB,MAAM,SAAS,MAAM;GACrB,IAAI,WAAW,MACb,OAAO;IAAE,MAAM;IAAc,QAAQ;GAAK;GAE5C,OAAO;IACL,MAAM;IACN,QACE,OAAO,SAAS,WACZ;KAAE,MAAM;KAAU,IAAI,OAAO;IAAG,IAChC;KAAE,MAAM;KAAU,YAAY,OAAO;IAAW;GACxD;EACF;EACA,KAAK,gBACH,OAAO;GAAE,MAAM;GAAgB,cAAc,MAAM;EAAa;EAClE,KAAK,oBACH,OAAO;GAAE,MAAM;GAAoB,cAAc,MAAM;EAAa;EACtE,KAAK,uBACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,aAAa,MAAM;EACrB;EACF,KAAK,cACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,cAAc,MAAM;EACtB;EACF,KAAK,oBACH,OAAO;GACL,MAAM;GACN,aAAa,CAAC,GAAG,MAAM,WAAW;GAClC,cAAc,MAAM;EACtB;EACF,SACE,MAAM,IAAI,MACR,0DAA0D,KAAK,UAAU,KAAK,GAChF;CAEJ;AACF;AAEA,SAAS,oBACP,SACyB;CACzB,OAAO;EACL,YAAY,QAAQ;EACpB,OAAO,QAAQ;EACf,KAAK,QAAQ;EACb,OAAO,QAAQ;CACjB;AACF"}
@@ -1,2 +1,2 @@
1
- import { t as canonicalizeMobileInner } from "../canonicalize-BF_SiNvO.cjs";
1
+ import { t as canonicalizeMobileInner } from "../canonicalize-CBaZprTo.cjs";
2
2
  export { canonicalizeMobileInner };
@@ -1,2 +1,2 @@
1
- import { t as canonicalizeMobileInner } from "../canonicalize-BBYGh17w.js";
1
+ import { t as canonicalizeMobileInner } from "../canonicalize-5eeZrkzQ.js";
2
2
  export { canonicalizeMobileInner };
@@ -8,6 +8,35 @@
8
8
  */
9
9
  function canonicalizeMobileInner(inner) {
10
10
  switch (inner.type) {
11
+ case "create_feed_post": return {
12
+ type: inner.type,
13
+ client_request_id: inner.client_request_id,
14
+ position_id: inner.position_id,
15
+ ...inner.action_id === void 0 ? {} : { action_id: inner.action_id },
16
+ text: inner.text,
17
+ mentions: inner.mentions.map(canonicalizeMention),
18
+ ...inner.drawing_data_json === void 0 ? {} : { drawing_data_json: inner.drawing_data_json }
19
+ };
20
+ case "create_feed_comment": return {
21
+ type: inner.type,
22
+ client_request_id: inner.client_request_id,
23
+ root_item_id: inner.root_item_id,
24
+ ...inner.reply_to_item_id === void 0 ? {} : { reply_to_item_id: inner.reply_to_item_id },
25
+ text: inner.text,
26
+ mentions: inner.mentions.map(canonicalizeMention),
27
+ ...inner.attached_position_id === void 0 ? {} : { attached_position_id: inner.attached_position_id }
28
+ };
29
+ case "create_feed_chart_drawing":
30
+ case "update_feed_chart_drawing": return {
31
+ type: inner.type,
32
+ item_id: inner.item_id,
33
+ data_json: inner.data_json
34
+ };
35
+ case "set_feed_like": return {
36
+ type: inner.type,
37
+ item_id: inner.item_id,
38
+ is_liked: inner.is_liked
39
+ };
11
40
  case "set_bio": return {
12
41
  type: "set_bio",
13
42
  bio: inner.bio
@@ -61,6 +90,14 @@ function canonicalizeMobileInner(inner) {
61
90
  default: throw new Error(`canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`);
62
91
  }
63
92
  }
93
+ function canonicalizeMention(mention) {
94
+ return {
95
+ subaccount: mention.subaccount,
96
+ start: mention.start,
97
+ end: mention.end,
98
+ label: mention.label
99
+ };
100
+ }
64
101
  //#endregion
65
102
  export { canonicalizeMobileInner };
66
103
 
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalize.js","names":[],"sources":["../../src/signing/canonicalize.ts"],"sourcesContent":["import { MobileSignedInner } from './types';\n\n/**\n * Rebuilds an inner payload with its keys in the backend's struct declaration order (`type` first, then the\n * remaining fields in the exact order the backend serializes them). msgpack encodes object keys in insertion\n * order and the payload hash must be reproducible regardless of how the caller constructed the object, so\n * every inner payload — and each of its sub-types — is canonicalized here before hashing. This function is\n * the source of truth for that order.\n */\nexport function canonicalizeMobileInner(\n inner: MobileSignedInner,\n): MobileSignedInner {\n switch (inner.type) {\n case 'set_bio':\n return { type: 'set_bio', bio: inner.bio };\n case 'create_avatar_upload':\n return {\n type: 'create_avatar_upload',\n content_length: inner.content_length,\n };\n case 'set_avatar': {\n const avatar = inner.avatar;\n if (avatar === null) {\n return { type: 'set_avatar', avatar: null };\n }\n return {\n type: 'set_avatar',\n avatar:\n avatar.type === 'preset'\n ? { type: 'preset', id: avatar.id }\n : { type: 'upload', upload_key: avatar.upload_key },\n };\n }\n case 'set_username':\n return { type: 'set_username', display_name: inner.display_name };\n case 'set_private_mode':\n return { type: 'set_private_mode', private_mode: inner.private_mode };\n case 'register_expo_token':\n return {\n type: 'register_expo_token',\n expo_token: inner.expo_token,\n platform: inner.platform,\n locale: inner.locale,\n app_version: inner.app_version,\n };\n case 'set_follow':\n return {\n type: 'set_follow',\n subaccount: inner.subaccount,\n is_following: inner.is_following,\n };\n case 'set_follow_batch':\n return {\n type: 'set_follow_batch',\n subaccounts: [...inner.subaccounts],\n is_following: inner.is_following,\n };\n default: {\n throw new Error(\n `canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`,\n );\n }\n }\n}\n"],"mappings":";;;;;;;;AASA,SAAgB,wBACd,OACmB;CACnB,QAAQ,MAAM,MAAd;EACE,KAAK,WACH,OAAO;GAAE,MAAM;GAAW,KAAK,MAAM;EAAI;EAC3C,KAAK,wBACH,OAAO;GACL,MAAM;GACN,gBAAgB,MAAM;EACxB;EACF,KAAK,cAAc;GACjB,MAAM,SAAS,MAAM;GACrB,IAAI,WAAW,MACb,OAAO;IAAE,MAAM;IAAc,QAAQ;GAAK;GAE5C,OAAO;IACL,MAAM;IACN,QACE,OAAO,SAAS,WACZ;KAAE,MAAM;KAAU,IAAI,OAAO;IAAG,IAChC;KAAE,MAAM;KAAU,YAAY,OAAO;IAAW;GACxD;EACF;EACA,KAAK,gBACH,OAAO;GAAE,MAAM;GAAgB,cAAc,MAAM;EAAa;EAClE,KAAK,oBACH,OAAO;GAAE,MAAM;GAAoB,cAAc,MAAM;EAAa;EACtE,KAAK,uBACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,aAAa,MAAM;EACrB;EACF,KAAK,cACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,cAAc,MAAM;EACtB;EACF,KAAK,oBACH,OAAO;GACL,MAAM;GACN,aAAa,CAAC,GAAG,MAAM,WAAW;GAClC,cAAc,MAAM;EACtB;EACF,SACE,MAAM,IAAI,MACR,0DAA0D,KAAK,UAAU,KAAK,GAChF;CAEJ;AACF"}
1
+ {"version":3,"file":"canonicalize.js","names":[],"sources":["../../src/signing/canonicalize.ts"],"sourcesContent":["import { MobileSocialFeedMention } from '../types/serverModelTypes';\nimport { MobileSignedInner } from './types';\n\n/**\n * Rebuilds an inner payload with its keys in the backend's struct declaration order (`type` first, then the\n * remaining fields in the exact order the backend serializes them). msgpack encodes object keys in insertion\n * order and the payload hash must be reproducible regardless of how the caller constructed the object, so\n * every inner payload — and each of its sub-types — is canonicalized here before hashing. This function is\n * the source of truth for that order.\n */\nexport function canonicalizeMobileInner(\n inner: MobileSignedInner,\n): MobileSignedInner {\n switch (inner.type) {\n case 'create_feed_post':\n return {\n type: inner.type,\n client_request_id: inner.client_request_id,\n position_id: inner.position_id,\n ...(inner.action_id === undefined\n ? {}\n : { action_id: inner.action_id }),\n text: inner.text,\n mentions: inner.mentions.map(canonicalizeMention),\n ...(inner.drawing_data_json === undefined\n ? {}\n : { drawing_data_json: inner.drawing_data_json }),\n };\n case 'create_feed_comment':\n return {\n type: inner.type,\n client_request_id: inner.client_request_id,\n root_item_id: inner.root_item_id,\n ...(inner.reply_to_item_id === undefined\n ? {}\n : { reply_to_item_id: inner.reply_to_item_id }),\n text: inner.text,\n mentions: inner.mentions.map(canonicalizeMention),\n ...(inner.attached_position_id === undefined\n ? {}\n : { attached_position_id: inner.attached_position_id }),\n };\n case 'create_feed_chart_drawing':\n case 'update_feed_chart_drawing':\n return {\n type: inner.type,\n item_id: inner.item_id,\n data_json: inner.data_json,\n };\n case 'set_feed_like':\n return {\n type: inner.type,\n item_id: inner.item_id,\n is_liked: inner.is_liked,\n };\n case 'set_bio':\n return { type: 'set_bio', bio: inner.bio };\n case 'create_avatar_upload':\n return {\n type: 'create_avatar_upload',\n content_length: inner.content_length,\n };\n case 'set_avatar': {\n const avatar = inner.avatar;\n if (avatar === null) {\n return { type: 'set_avatar', avatar: null };\n }\n return {\n type: 'set_avatar',\n avatar:\n avatar.type === 'preset'\n ? { type: 'preset', id: avatar.id }\n : { type: 'upload', upload_key: avatar.upload_key },\n };\n }\n case 'set_username':\n return { type: 'set_username', display_name: inner.display_name };\n case 'set_private_mode':\n return { type: 'set_private_mode', private_mode: inner.private_mode };\n case 'register_expo_token':\n return {\n type: 'register_expo_token',\n expo_token: inner.expo_token,\n platform: inner.platform,\n locale: inner.locale,\n app_version: inner.app_version,\n };\n case 'set_follow':\n return {\n type: 'set_follow',\n subaccount: inner.subaccount,\n is_following: inner.is_following,\n };\n case 'set_follow_batch':\n return {\n type: 'set_follow_batch',\n subaccounts: [...inner.subaccounts],\n is_following: inner.is_following,\n };\n default: {\n throw new Error(\n `canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`,\n );\n }\n }\n}\n\nfunction canonicalizeMention(\n mention: MobileSocialFeedMention,\n): MobileSocialFeedMention {\n return {\n subaccount: mention.subaccount,\n start: mention.start,\n end: mention.end,\n label: mention.label,\n };\n}\n"],"mappings":";;;;;;;;AAUA,SAAgB,wBACd,OACmB;CACnB,QAAQ,MAAM,MAAd;EACE,KAAK,oBACH,OAAO;GACL,MAAM,MAAM;GACZ,mBAAmB,MAAM;GACzB,aAAa,MAAM;GACnB,GAAI,MAAM,cAAc,KAAA,IACpB,CAAC,IACD,EAAE,WAAW,MAAM,UAAU;GACjC,MAAM,MAAM;GACZ,UAAU,MAAM,SAAS,IAAI,mBAAmB;GAChD,GAAI,MAAM,sBAAsB,KAAA,IAC5B,CAAC,IACD,EAAE,mBAAmB,MAAM,kBAAkB;EACnD;EACF,KAAK,uBACH,OAAO;GACL,MAAM,MAAM;GACZ,mBAAmB,MAAM;GACzB,cAAc,MAAM;GACpB,GAAI,MAAM,qBAAqB,KAAA,IAC3B,CAAC,IACD,EAAE,kBAAkB,MAAM,iBAAiB;GAC/C,MAAM,MAAM;GACZ,UAAU,MAAM,SAAS,IAAI,mBAAmB;GAChD,GAAI,MAAM,yBAAyB,KAAA,IAC/B,CAAC,IACD,EAAE,sBAAsB,MAAM,qBAAqB;EACzD;EACF,KAAK;EACL,KAAK,6BACH,OAAO;GACL,MAAM,MAAM;GACZ,SAAS,MAAM;GACf,WAAW,MAAM;EACnB;EACF,KAAK,iBACH,OAAO;GACL,MAAM,MAAM;GACZ,SAAS,MAAM;GACf,UAAU,MAAM;EAClB;EACF,KAAK,WACH,OAAO;GAAE,MAAM;GAAW,KAAK,MAAM;EAAI;EAC3C,KAAK,wBACH,OAAO;GACL,MAAM;GACN,gBAAgB,MAAM;EACxB;EACF,KAAK,cAAc;GACjB,MAAM,SAAS,MAAM;GACrB,IAAI,WAAW,MACb,OAAO;IAAE,MAAM;IAAc,QAAQ;GAAK;GAE5C,OAAO;IACL,MAAM;IACN,QACE,OAAO,SAAS,WACZ;KAAE,MAAM;KAAU,IAAI,OAAO;IAAG,IAChC;KAAE,MAAM;KAAU,YAAY,OAAO;IAAW;GACxD;EACF;EACA,KAAK,gBACH,OAAO;GAAE,MAAM;GAAgB,cAAc,MAAM;EAAa;EAClE,KAAK,oBACH,OAAO;GAAE,MAAM;GAAoB,cAAc,MAAM;EAAa;EACtE,KAAK,uBACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,aAAa,MAAM;EACrB;EACF,KAAK,cACH,OAAO;GACL,MAAM;GACN,YAAY,MAAM;GAClB,cAAc,MAAM;EACtB;EACF,KAAK,oBACH,OAAO;GACL,MAAM;GACN,aAAa,CAAC,GAAG,MAAM,WAAW;GAClC,cAAc,MAAM;EACtB;EACF,SACE,MAAM,IAAI,MACR,0DAA0D,KAAK,UAAU,KAAK,GAChF;CAEJ;AACF;AAEA,SAAS,oBACP,SACyB;CACzB,OAAO;EACL,YAAY,QAAQ;EACpB,OAAO,QAAQ;EACf,KAAK,QAAQ;EACb,OAAO,QAAQ;CACjB;AACF"}
@@ -4,6 +4,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  * EIP-712 `method` string for each signed inner payload type.
5
5
  */
6
6
  const MOBILE_EIP712_METHOD_BY_TYPE = {
7
+ create_feed_post: "mobile:execute_create_feed_post",
8
+ create_feed_comment: "mobile:execute_create_feed_comment",
9
+ create_feed_chart_drawing: "mobile:execute_create_feed_chart_drawing",
10
+ update_feed_chart_drawing: "mobile:execute_update_feed_chart_drawing",
11
+ set_feed_like: "mobile:execute_set_feed_like",
7
12
  set_bio: "mobile:execute_set_bio",
8
13
  create_avatar_upload: "mobile:execute_create_avatar_upload",
9
14
  set_avatar: "mobile:execute_set_avatar",
@@ -1 +1 @@
1
- {"version":3,"file":"eip712MethodByType.cjs","names":[],"sources":["../../src/signing/eip712MethodByType.ts"],"sourcesContent":["import { MobileSignedInner } from './types';\n\n/**\n * EIP-712 `method` string for each signed inner payload type.\n */\nexport const MOBILE_EIP712_METHOD_BY_TYPE: Record<\n MobileSignedInner['type'],\n string\n> = {\n set_bio: 'mobile:execute_set_bio',\n create_avatar_upload: 'mobile:execute_create_avatar_upload',\n set_avatar: 'mobile:execute_set_avatar',\n set_username: 'mobile:execute_set_username',\n set_private_mode: 'mobile:execute_set_private_mode',\n register_expo_token: 'mobile:execute_register_expo_token',\n set_follow: 'mobile:execute_set_follow',\n set_follow_batch: 'mobile:execute_set_follow_batch',\n};\n"],"mappings":";;;;;AAKA,MAAa,+BAGT;CACF,SAAS;CACT,sBAAsB;CACtB,YAAY;CACZ,cAAc;CACd,kBAAkB;CAClB,qBAAqB;CACrB,YAAY;CACZ,kBAAkB;AACpB"}
1
+ {"version":3,"file":"eip712MethodByType.cjs","names":[],"sources":["../../src/signing/eip712MethodByType.ts"],"sourcesContent":["import { MobileSignedInner } from './types';\n\n/**\n * EIP-712 `method` string for each signed inner payload type.\n */\nexport const MOBILE_EIP712_METHOD_BY_TYPE: Record<\n MobileSignedInner['type'],\n string\n> = {\n create_feed_post: 'mobile:execute_create_feed_post',\n create_feed_comment: 'mobile:execute_create_feed_comment',\n create_feed_chart_drawing: 'mobile:execute_create_feed_chart_drawing',\n update_feed_chart_drawing: 'mobile:execute_update_feed_chart_drawing',\n set_feed_like: 'mobile:execute_set_feed_like',\n set_bio: 'mobile:execute_set_bio',\n create_avatar_upload: 'mobile:execute_create_avatar_upload',\n set_avatar: 'mobile:execute_set_avatar',\n set_username: 'mobile:execute_set_username',\n set_private_mode: 'mobile:execute_set_private_mode',\n register_expo_token: 'mobile:execute_register_expo_token',\n set_follow: 'mobile:execute_set_follow',\n set_follow_batch: 'mobile:execute_set_follow_batch',\n};\n"],"mappings":";;;;;AAKA,MAAa,+BAGT;CACF,kBAAkB;CAClB,qBAAqB;CACrB,2BAA2B;CAC3B,2BAA2B;CAC3B,eAAe;CACf,SAAS;CACT,sBAAsB;CACtB,YAAY;CACZ,cAAc;CACd,kBAAkB;CAClB,qBAAqB;CACrB,YAAY;CACZ,kBAAkB;AACpB"}
@@ -1,2 +1,2 @@
1
- import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-BSx11xG-.cjs";
1
+ import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-D8jLoxDu.cjs";
2
2
  export { MOBILE_EIP712_METHOD_BY_TYPE };
@@ -1,2 +1,2 @@
1
- import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-DkiAjCLs.js";
1
+ import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-DcUh8h-l.js";
2
2
  export { MOBILE_EIP712_METHOD_BY_TYPE };