@nadohq/mobile-client 0.36.0 → 0.38.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 (189) hide show
  1. package/README.md +19 -6
  2. package/dist/{MobileClient-D5TNTnLx.cjs → MobileClient-wjTrqP9z.cjs} +75 -12
  3. package/dist/MobileClient-wjTrqP9z.cjs.map +1 -0
  4. package/dist/MobileClient.cjs +1 -1
  5. package/dist/MobileClient.d.cts +62 -16
  6. package/dist/MobileClient.d.cts.map +1 -1
  7. package/dist/MobileClient.d.ts +62 -16
  8. package/dist/MobileClient.d.ts.map +1 -1
  9. package/dist/MobileClient.js +75 -12
  10. package/dist/MobileClient.js.map +1 -1
  11. package/dist/{MobileServerFailureError-CPFjwUBx.d.cts → MobileServerFailureError-BvQYrxjx.d.cts} +3 -3
  12. package/dist/{MobileServerFailureError-CPFjwUBx.d.cts.map → MobileServerFailureError-BvQYrxjx.d.cts.map} +1 -1
  13. package/dist/{MobileServerFailureError-Terv2Wzy.d.ts → MobileServerFailureError-CrNpL_L4.d.ts} +3 -3
  14. package/dist/{MobileServerFailureError-Terv2Wzy.d.ts.map → MobileServerFailureError-CrNpL_L4.d.ts.map} +1 -1
  15. package/dist/{buildSignedMobileRequest-BScnCGPF.d.ts → buildSignedMobileRequest-BqLRFLKV.d.ts} +2 -2
  16. package/dist/{buildSignedMobileRequest-BScnCGPF.d.ts.map → buildSignedMobileRequest-BqLRFLKV.d.ts.map} +1 -1
  17. package/dist/{buildSignedMobileRequest-CXfnhc-4.d.cts → buildSignedMobileRequest-DkkwEqIu.d.cts} +2 -2
  18. package/dist/{buildSignedMobileRequest-CXfnhc-4.d.cts.map → buildSignedMobileRequest-DkkwEqIu.d.cts.map} +1 -1
  19. package/dist/{canonicalize-CQ-pMYIt.d.ts → canonicalize-BRhCpYm1.d.ts} +2 -2
  20. package/dist/canonicalize-BRhCpYm1.d.ts.map +1 -0
  21. package/dist/{canonicalize-hzhboB-C.d.cts → canonicalize-DtpaaA2B.d.cts} +2 -2
  22. package/dist/canonicalize-DtpaaA2B.d.cts.map +1 -0
  23. package/dist/{clientTypes-BwakovWk.d.cts → clientTypes-CB_itU4Z.d.ts} +147 -14
  24. package/dist/clientTypes-CB_itU4Z.d.ts.map +1 -0
  25. package/dist/{clientTypes-D-o1_2Yc.d.ts → clientTypes-CceWsQzi.d.cts} +147 -14
  26. package/dist/clientTypes-CceWsQzi.d.cts.map +1 -0
  27. package/dist/dataMappers.cjs +79 -6
  28. package/dist/dataMappers.cjs.map +1 -1
  29. package/dist/dataMappers.d.cts +27 -5
  30. package/dist/dataMappers.d.cts.map +1 -1
  31. package/dist/dataMappers.d.ts +27 -5
  32. package/dist/dataMappers.d.ts.map +1 -1
  33. package/dist/dataMappers.js +75 -7
  34. package/dist/dataMappers.js.map +1 -1
  35. package/dist/{eip712MethodByType-3aiJkrHj.d.cts → eip712MethodByType-1xUkvTIp.d.cts} +2 -2
  36. package/dist/eip712MethodByType-1xUkvTIp.d.cts.map +1 -0
  37. package/dist/{eip712MethodByType-zNvZukU7.d.ts → eip712MethodByType-CrqBJIrp.d.ts} +2 -2
  38. package/dist/eip712MethodByType-CrqBJIrp.d.ts.map +1 -0
  39. package/dist/follow-Bh3UmXMc.d.cts +23 -0
  40. package/dist/follow-Bh3UmXMc.d.cts.map +1 -0
  41. package/dist/follow-DjkQm1vR.d.ts +23 -0
  42. package/dist/follow-DjkQm1vR.d.ts.map +1 -0
  43. package/dist/index.cjs +6 -1
  44. package/dist/index.d.cts +17 -16
  45. package/dist/index.d.ts +17 -16
  46. package/dist/index.js +2 -1
  47. package/dist/{mobileErrorCodes-CuQ5lyBV.d.ts → mobileErrorCodes-B3eR6t4b.d.ts} +8 -2
  48. package/dist/mobileErrorCodes-B3eR6t4b.d.ts.map +1 -0
  49. package/dist/{mobileErrorCodes-D_SyBm0k.d.cts → mobileErrorCodes-DkzBW4v3.d.cts} +8 -2
  50. package/dist/mobileErrorCodes-DkzBW4v3.d.cts.map +1 -0
  51. package/dist/{patterns-B5gi7OfV.d.ts → patterns-C-aUAnKl.d.ts} +1 -1
  52. package/dist/patterns-C-aUAnKl.d.ts.map +1 -0
  53. package/dist/{patterns-Db6fgz8i.d.cts → patterns-DS8P5LH0.d.cts} +1 -1
  54. package/dist/patterns-DS8P5LH0.d.cts.map +1 -0
  55. package/dist/{payloadHash-DVkEt-Rg.d.cts → payloadHash-CIo8Hkh6.d.cts} +2 -2
  56. package/dist/payloadHash-CIo8Hkh6.d.cts.map +1 -0
  57. package/dist/{payloadHash-BxL26uwq.d.ts → payloadHash-Cv4WwZCZ.d.ts} +2 -2
  58. package/dist/payloadHash-Cv4WwZCZ.d.ts.map +1 -0
  59. package/dist/{serverBaseTypes-B_KHFDab.d.ts → serverBaseTypes-C2JGib--.d.ts} +2 -2
  60. package/dist/{serverBaseTypes-B_KHFDab.d.ts.map → serverBaseTypes-C2JGib--.d.ts.map} +1 -1
  61. package/dist/{serverBaseTypes-C8KjE9Fm.d.cts → serverBaseTypes-YkCmgmt1.d.cts} +2 -2
  62. package/dist/{serverBaseTypes-C8KjE9Fm.d.cts.map → serverBaseTypes-YkCmgmt1.d.cts.map} +1 -1
  63. package/dist/serverExecuteTypes-C2NoNEwu.d.ts +50 -0
  64. package/dist/serverExecuteTypes-C2NoNEwu.d.ts.map +1 -0
  65. package/dist/serverExecuteTypes-DPZbs9ym.d.cts +50 -0
  66. package/dist/serverExecuteTypes-DPZbs9ym.d.cts.map +1 -0
  67. package/dist/{serverModelTypes-_cX99seo.d.ts → serverModelTypes-CDcRlRtw.d.ts} +57 -10
  68. package/dist/serverModelTypes-CDcRlRtw.d.ts.map +1 -0
  69. package/dist/{serverModelTypes-CwgibK-l.d.cts → serverModelTypes-CUzqFA6x.d.cts} +57 -10
  70. package/dist/serverModelTypes-CUzqFA6x.d.cts.map +1 -0
  71. package/dist/{serverQueryTypes-DwE1iJ9f.d.cts → serverQueryTypes-B0xI1G39.d.ts} +21 -9
  72. package/dist/serverQueryTypes-B0xI1G39.d.ts.map +1 -0
  73. package/dist/{serverQueryTypes-NIrPm2Sl.d.ts → serverQueryTypes-RdcIqRnM.d.cts} +21 -9
  74. package/dist/serverQueryTypes-RdcIqRnM.d.cts.map +1 -0
  75. package/dist/serverRequestTypes-Ddws3yXc.d.cts +116 -0
  76. package/dist/serverRequestTypes-Ddws3yXc.d.cts.map +1 -0
  77. package/dist/serverRequestTypes-Dv9NR-hQ.d.ts +116 -0
  78. package/dist/serverRequestTypes-Dv9NR-hQ.d.ts.map +1 -0
  79. package/dist/{serverResponseGuards-Cep5s7j5.d.ts → serverResponseGuards-BjIzucYt.d.ts} +2 -2
  80. package/dist/{serverResponseGuards-Cep5s7j5.d.ts.map → serverResponseGuards-BjIzucYt.d.ts.map} +1 -1
  81. package/dist/{serverResponseGuards-Dxt9_aGh.d.cts → serverResponseGuards-Dg9WbqBA.d.cts} +2 -2
  82. package/dist/{serverResponseGuards-Dxt9_aGh.d.cts.map → serverResponseGuards-Dg9WbqBA.d.cts.map} +1 -1
  83. package/dist/signing/buildSignedMobileRequest.cjs +1 -1
  84. package/dist/signing/buildSignedMobileRequest.d.cts +1 -1
  85. package/dist/signing/buildSignedMobileRequest.d.ts +1 -1
  86. package/dist/signing/canonicalize.cjs +5 -0
  87. package/dist/signing/canonicalize.cjs.map +1 -1
  88. package/dist/signing/canonicalize.d.cts +1 -1
  89. package/dist/signing/canonicalize.d.ts +1 -1
  90. package/dist/signing/canonicalize.js +5 -0
  91. package/dist/signing/canonicalize.js.map +1 -1
  92. package/dist/signing/eip712MethodByType.cjs +2 -1
  93. package/dist/signing/eip712MethodByType.cjs.map +1 -1
  94. package/dist/signing/eip712MethodByType.d.cts +1 -1
  95. package/dist/signing/eip712MethodByType.d.ts +1 -1
  96. package/dist/signing/eip712MethodByType.js +2 -1
  97. package/dist/signing/eip712MethodByType.js.map +1 -1
  98. package/dist/signing/index.d.cts +6 -6
  99. package/dist/signing/index.d.ts +6 -6
  100. package/dist/signing/payloadHash.cjs +1 -1
  101. package/dist/signing/payloadHash.d.cts +1 -1
  102. package/dist/signing/payloadHash.d.ts +1 -1
  103. package/dist/signing/types.d.cts +2 -2
  104. package/dist/signing/types.d.ts +2 -2
  105. package/dist/types/MobileServerFailureError.cjs +1 -1
  106. package/dist/types/MobileServerFailureError.d.cts +1 -1
  107. package/dist/types/MobileServerFailureError.d.ts +1 -1
  108. package/dist/types/clientTypes.d.cts +2 -2
  109. package/dist/types/clientTypes.d.ts +2 -2
  110. package/dist/types/index.d.cts +9 -9
  111. package/dist/types/index.d.ts +9 -9
  112. package/dist/types/mobileErrorCodes.cjs +13 -1
  113. package/dist/types/mobileErrorCodes.cjs.map +1 -1
  114. package/dist/types/mobileErrorCodes.d.cts +1 -1
  115. package/dist/types/mobileErrorCodes.d.ts +1 -1
  116. package/dist/types/mobileErrorCodes.js +12 -0
  117. package/dist/types/mobileErrorCodes.js.map +1 -1
  118. package/dist/types/serverBaseTypes.d.cts +1 -1
  119. package/dist/types/serverBaseTypes.d.ts +1 -1
  120. package/dist/types/serverExecuteTypes.d.cts +2 -2
  121. package/dist/types/serverExecuteTypes.d.ts +2 -2
  122. package/dist/types/serverModelTypes.cjs.map +1 -1
  123. package/dist/types/serverModelTypes.d.cts +2 -2
  124. package/dist/types/serverModelTypes.d.ts +2 -2
  125. package/dist/types/serverModelTypes.js.map +1 -1
  126. package/dist/types/serverQueryTypes.d.cts +2 -2
  127. package/dist/types/serverQueryTypes.d.ts +2 -2
  128. package/dist/types/serverRequestTypes.d.cts +2 -2
  129. package/dist/types/serverRequestTypes.d.ts +2 -2
  130. package/dist/{types-47IPsDyA.d.cts → types-BIIvIzG2.d.ts} +20 -7
  131. package/dist/types-BIIvIzG2.d.ts.map +1 -0
  132. package/dist/{types-D5kFJzEX.d.ts → types-UmYaeq1C.d.cts} +20 -7
  133. package/dist/types-UmYaeq1C.d.cts.map +1 -0
  134. package/dist/utils/follow.cjs +28 -0
  135. package/dist/utils/follow.cjs.map +1 -0
  136. package/dist/utils/follow.d.cts +2 -0
  137. package/dist/utils/follow.d.ts +2 -0
  138. package/dist/utils/follow.js +24 -0
  139. package/dist/utils/follow.js.map +1 -0
  140. package/dist/utils/index.cjs +5 -0
  141. package/dist/utils/index.d.cts +4 -3
  142. package/dist/utils/index.d.ts +4 -3
  143. package/dist/utils/index.js +2 -1
  144. package/dist/utils/patterns.d.cts +1 -1
  145. package/dist/utils/patterns.d.ts +1 -1
  146. package/dist/utils/serverResponseGuards.d.cts +1 -1
  147. package/dist/utils/serverResponseGuards.d.ts +1 -1
  148. package/package.json +3 -3
  149. package/src/MobileClient.ts +117 -21
  150. package/src/dataMappers.ts +109 -5
  151. package/src/signing/canonicalize.ts +6 -0
  152. package/src/signing/eip712MethodByType.ts +1 -0
  153. package/src/signing/signing.test.ts +32 -4
  154. package/src/signing/types.ts +18 -1
  155. package/src/types/clientTypes.ts +152 -11
  156. package/src/types/mobileErrorCodes.ts +12 -0
  157. package/src/types/serverExecuteTypes.ts +40 -2
  158. package/src/types/serverModelTypes.ts +58 -8
  159. package/src/types/serverQueryTypes.ts +18 -4
  160. package/src/types/serverRequestTypes.ts +50 -4
  161. package/src/utils/follow.ts +22 -0
  162. package/src/utils/index.ts +1 -0
  163. package/dist/MobileClient-D5TNTnLx.cjs.map +0 -1
  164. package/dist/canonicalize-CQ-pMYIt.d.ts.map +0 -1
  165. package/dist/canonicalize-hzhboB-C.d.cts.map +0 -1
  166. package/dist/clientTypes-BwakovWk.d.cts.map +0 -1
  167. package/dist/clientTypes-D-o1_2Yc.d.ts.map +0 -1
  168. package/dist/eip712MethodByType-3aiJkrHj.d.cts.map +0 -1
  169. package/dist/eip712MethodByType-zNvZukU7.d.ts.map +0 -1
  170. package/dist/mobileErrorCodes-CuQ5lyBV.d.ts.map +0 -1
  171. package/dist/mobileErrorCodes-D_SyBm0k.d.cts.map +0 -1
  172. package/dist/patterns-B5gi7OfV.d.ts.map +0 -1
  173. package/dist/patterns-Db6fgz8i.d.cts.map +0 -1
  174. package/dist/payloadHash-BxL26uwq.d.ts.map +0 -1
  175. package/dist/payloadHash-DVkEt-Rg.d.cts.map +0 -1
  176. package/dist/serverExecuteTypes-Cb5v7y0A.d.cts +0 -19
  177. package/dist/serverExecuteTypes-Cb5v7y0A.d.cts.map +0 -1
  178. package/dist/serverExecuteTypes-GFjZj_DC.d.ts +0 -19
  179. package/dist/serverExecuteTypes-GFjZj_DC.d.ts.map +0 -1
  180. package/dist/serverModelTypes-CwgibK-l.d.cts.map +0 -1
  181. package/dist/serverModelTypes-_cX99seo.d.ts.map +0 -1
  182. package/dist/serverQueryTypes-DwE1iJ9f.d.cts.map +0 -1
  183. package/dist/serverQueryTypes-NIrPm2Sl.d.ts.map +0 -1
  184. package/dist/serverRequestTypes-516zXnQ6.d.ts +0 -72
  185. package/dist/serverRequestTypes-516zXnQ6.d.ts.map +0 -1
  186. package/dist/serverRequestTypes-GAtVYIda.d.cts +0 -72
  187. package/dist/serverRequestTypes-GAtVYIda.d.cts.map +0 -1
  188. package/dist/types-47IPsDyA.d.cts.map +0 -1
  189. package/dist/types-D5kFJzEX.d.ts.map +0 -1
@@ -1,6 +1,6 @@
1
- import { d as MobileServerFeedTrade, h as MobileServerProfile, l as MobileNotificationPlatform, m as MobileServerNotificationPreferences } from "./serverModelTypes-_cX99seo.js";
2
- import { a as MobileServerPublicQueryRequestType, i as MobileServerPublicQueryRequestByType } from "./serverRequestTypes-516zXnQ6.js";
3
- import { n as MobileServerSuccessResponse } from "./serverBaseTypes-B_KHFDab.js";
1
+ import { _ as MobileServerNotificationPreferences, d as MobileServerFeedTrade, f as MobileServerFollowListAccount, l as MobileNotificationPlatform, v as MobileServerProfile } from "./serverModelTypes-CUzqFA6x.cjs";
2
+ import { o as MobileServerPublicQueryRequestByType, s as MobileServerPublicQueryRequestType } from "./serverRequestTypes-Ddws3yXc.cjs";
3
+ import { n as MobileServerSuccessResponse } from "./serverBaseTypes-YkCmgmt1.cjs";
4
4
  import { Hex } from "viem";
5
5
 
6
6
  //#region src/types/serverQueryTypes.d.ts
@@ -18,10 +18,20 @@ interface MobileServerUsernameAvailabilityResponse {
18
18
  available: boolean;
19
19
  }
20
20
  /**
21
- * Payload of the `profile` public query success response.
21
+ * Payload of the `profiles` public query success response. One entry per requested subaccount, in the exact
22
+ * order they were requested, so callers can correlate positionally as well as by `subaccount`.
22
23
  */
23
- interface MobileServerProfileResponse {
24
- profile: MobileServerProfile;
24
+ interface MobileServerProfilesResponse {
25
+ profiles: MobileServerProfile[];
26
+ }
27
+ /**
28
+ * Payload of the `followers` and `following` public query success responses. Both list directions share one
29
+ * shape; only the relationship that selected the rows differs.
30
+ */
31
+ interface MobileServerFollowListResponse {
32
+ accounts: MobileServerFollowListAccount[];
33
+ /** `null` means the list is complete. */
34
+ next_cursor: string | null;
25
35
  }
26
36
  /**
27
37
  * Payload of the `feed` public query success response.
@@ -61,7 +71,9 @@ interface MobileServerRegisteredWalletResponse {
61
71
  */
62
72
  interface MobileServerPublicQueryResponseByType {
63
73
  username_availability: MobileServerUsernameAvailabilityResponse;
64
- profile: MobileServerProfileResponse;
74
+ profiles: MobileServerProfilesResponse;
75
+ followers: MobileServerFollowListResponse;
76
+ following: MobileServerFollowListResponse;
65
77
  feed: MobileServerFeedResponse;
66
78
  notification_preferences: MobileServerNotificationPreferencesResponse;
67
79
  registered_wallet: MobileServerRegisteredWalletResponse;
@@ -73,5 +85,5 @@ interface MobileServerPublicQueryResponseByType {
73
85
  */
74
86
  type MobileServerPublicQuerySuccessResponse<T extends MobileServerPublicQueryRequestType = MobileServerPublicQueryRequestType> = MobileServerSuccessResponse & MobileServerPublicQueryResponseByType[T];
75
87
  //#endregion
76
- export { MobileServerPublicQueryResponseByType as a, MobileServerUsernameAvailabilityResponse as c, MobileServerPublicQueryRequest as i, MobileServerNotificationPreferencesResponse as n, MobileServerPublicQuerySuccessResponse as o, MobileServerProfileResponse as r, MobileServerRegisteredWalletResponse as s, MobileServerFeedResponse as t };
77
- //# sourceMappingURL=serverQueryTypes-NIrPm2Sl.d.ts.map
88
+ export { MobileServerPublicQueryRequest as a, MobileServerRegisteredWalletResponse as c, MobileServerProfilesResponse as i, MobileServerUsernameAvailabilityResponse as l, MobileServerFollowListResponse as n, MobileServerPublicQueryResponseByType as o, MobileServerNotificationPreferencesResponse as r, MobileServerPublicQuerySuccessResponse as s, MobileServerFeedResponse as t };
89
+ //# sourceMappingURL=serverQueryTypes-RdcIqRnM.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverQueryTypes-RdcIqRnM.d.cts","names":[],"sources":["../src/types/src/types/serverQueryTypes.ts"],"mappings":";;;;;;;;AAiBA;KAAY,8BAAA,WACA,kCAAA,GACR,kCAAA,YAEI,kCAAA;EACJ,IAAA,EAAM,CAAA;AAAA,IACJ,oCAAA,CAAqC,CAAA,IACzC,CAAA;;;;UAKe,wCAAA;EACf,QAAA;EACA,SAAS;AAAA;;;;;UAOM,4BAAA;EACf,QAAA,EAAU,mBAAmB;AAAA;;;;AAf5B;UAsBc,8BAAA;EACf,QAAA,EAAU,6BAA6B;;EAEvC,WAAA;AAAA;AAXF;;;AAAA,UAiBiB,wBAAA;EACf,MAAA,EAAQ,qBAAqB;EAVd;;;;;EAgBf,WAAA;AAAA;;AAbW;AAMb;UAaiB,2CAAA;EACf,WAAA,EAAa,mCAAmC;AAAA;;;;;UAOjC,oCAAA;EACf,MAAA,EAAQ,GAAA;EACR,QAAA,EAAU,0BAA0B;EACpC,MAAA;EACA,WAAA;EACA,wBAAA;EACA,YAAA;AAAA;;;;;;;UASe,qCAAA;EACf,qBAAA,EAAuB,wCAAA;EACvB,QAAA,EAAU,4BAAA;EACV,SAAA,EAAW,8BAAA;EACX,SAAA,EAAW,8BAAA;EACX,IAAA,EAAM,wBAAA;EACN,wBAAA,EAA0B,2CAAA;EAC1B,iBAAA,EAAmB,oCAAA;AAAA;;;;;;KAQT,sCAAA,WACA,kCAAA,GACR,kCAAA,IACA,2BAAA,GAA8B,qCAAA,CAAsC,CAAA"}
@@ -0,0 +1,116 @@
1
+ import { _ as MobileServerNotificationPreferences } from "./serverModelTypes-CUzqFA6x.cjs";
2
+ import { n as MobileSignedInner } from "./types-UmYaeq1C.cjs";
3
+ import { Hex } from "viem";
4
+
5
+ //#region src/types/serverRequestTypes.d.ts
6
+ /**
7
+ * Opt-in extras for a `profiles` query. Each one costs extra rate-limit weight per profile and adds fields
8
+ * that are otherwise absent from the response, so the backend gates them behind an explicit request rather
9
+ * than always resolving the follow graph on a public route.
10
+ */
11
+ interface MobileServerProfilesInclude {
12
+ /** Adds `follower_count` and `following_count` to every entry. Omitted or `false` leaves both absent. */
13
+ follow_counts?: boolean;
14
+ /**
15
+ * Adds `follow_summary` to every entry, relative to the `view_as` subaccount. As on every public route,
16
+ * `view_as` is an unauthenticated claim.
17
+ */
18
+ follow_summary?: {
19
+ view_as: Hex;
20
+ };
21
+ }
22
+ /**
23
+ * Params shared by the `followers` and `following` public queries: only the relationship that selects the
24
+ * rows differs between the two.
25
+ */
26
+ interface MobileServerFollowListRequest {
27
+ /** The viewed Profile, i.e. the account whose Followers or Following are being listed. */
28
+ subaccount: Hex;
29
+ /**
30
+ * Viewer perspective the rows are resolved against. Omitted asks for no perspective, which drops
31
+ * `is_following` from every row and falls back to plain recency order. Like the `profiles` query's
32
+ * `view_as`, this is an unauthenticated claim on an unsigned route.
33
+ */
34
+ view_as?: Hex;
35
+ /** Opaque keyset cursor from a prior page's `next_cursor`. Omitted requests the first page. */
36
+ cursor?: string;
37
+ /** Page size, 1–50; the backend defaults to 25 when omitted. */
38
+ limit?: number;
39
+ }
40
+ /**
41
+ * Params for each unsigned `public_query`, keyed by request `type`.
42
+ */
43
+ interface MobileServerPublicQueryRequestByType {
44
+ username_availability: {
45
+ display_name: string;
46
+ };
47
+ profiles: {
48
+ /**
49
+ * 1–`MOBILE_PROFILES_MAX_BATCH_SIZE` (25) distinct subaccounts. Results come back in this exact order,
50
+ * one entry per request slot.
51
+ */
52
+ subaccounts: Hex[];
53
+ include?: MobileServerProfilesInclude;
54
+ };
55
+ followers: MobileServerFollowListRequest;
56
+ following: MobileServerFollowListRequest;
57
+ feed: {
58
+ /**
59
+ * Minimum notional as a whole-dollar JSON integer (NOT an x18 string), at least $1,000. Omitted or
60
+ * `null` means unfiltered.
61
+ */
62
+ minimum_notional?: number; /** Page size, 1–50; the backend defaults to `MOBILE_FEED_MAX_PAGE_SIZE` (50) when omitted. */
63
+ limit?: number;
64
+ /**
65
+ * Opaque keyset cursor from a prior page's `next_cursor`. Bound to the exact `minimum_notional` it was
66
+ * issued for (including the unfiltered state) — reusing it with a different filter fails.
67
+ */
68
+ cursor?: string;
69
+ };
70
+ notification_preferences: {
71
+ expo_token: string;
72
+ };
73
+ registered_wallet: {
74
+ expo_token: string;
75
+ };
76
+ }
77
+ /**
78
+ * Discriminant `type` values for unsigned `public_query` requests.
79
+ */
80
+ type MobileServerPublicQueryRequestType = keyof MobileServerPublicQueryRequestByType;
81
+ /**
82
+ * Params for each unsigned `public_execute`, keyed by request `type`. Possession of an active Expo push token
83
+ * authorizes these notification-only mutations: the backend resolves the token's owning wallet and mutates
84
+ * its state, so no signature, sender, or nonce is sent. Ordering is the backend's last-write-wins commit
85
+ * order, so callers must serialize their own writes.
86
+ */
87
+ interface MobileServerPublicExecuteRequestByType {
88
+ unregister_expo_token: {
89
+ expo_token: string;
90
+ };
91
+ update_preferences: {
92
+ expo_token: string;
93
+ preferences: MobileServerNotificationPreferences;
94
+ };
95
+ }
96
+ /**
97
+ * Discriminant `type` values for unsigned `public_execute` requests.
98
+ */
99
+ type MobileServerPublicExecuteRequestType = keyof MobileServerPublicExecuteRequestByType;
100
+ /**
101
+ * Discriminant `type` values for signed `execute` requests. Every signed route the SDK calls is a write, so
102
+ * this is the full set of {@link MobileSignedInner} tags. Unlike the public queries these carry no separate
103
+ * params map — a signed request body *is* its inner payload flattened with the envelope, so
104
+ * {@link MobileSignedInner} is the single source of truth for both the fields and their significant order.
105
+ */
106
+ type MobileServerExecuteRequestType = MobileSignedInner['type'];
107
+ /**
108
+ * Wire `request_type` the backend echoes on failure envelopes, prefixed by the route that produced it:
109
+ * `public_query_*` for unsigned queries, `public_execute_*` for unsigned writes, and `execute_*` for signed
110
+ * writes (e.g. `execute_set_username`). The prefix names the route, so it never carries the `mobile:` prefix
111
+ * that the EIP-712 method does.
112
+ */
113
+ type MobileServerRequestType = `public_query_${MobileServerPublicQueryRequestType}` | `public_execute_${MobileServerPublicExecuteRequestType}` | `execute_${MobileServerExecuteRequestType}`;
114
+ //#endregion
115
+ export { MobileServerPublicExecuteRequestType as a, MobileServerRequestType as c, MobileServerPublicExecuteRequestByType as i, MobileServerFollowListRequest as n, MobileServerPublicQueryRequestByType as o, MobileServerProfilesInclude as r, MobileServerPublicQueryRequestType as s, MobileServerExecuteRequestType as t };
116
+ //# sourceMappingURL=serverRequestTypes-Ddws3yXc.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequestTypes-Ddws3yXc.d.cts","names":[],"sources":["../src/types/src/types/serverRequestTypes.ts"],"mappings":";;;;;;;AASA;;;UAAiB,2BAAA;EAEf;EAAA,aAAA;EAKmB;;;AAAY;EAA/B,cAAA;IAAmB,OAAA,EAAS,GAAG;EAAA;AAAA;;;;;UAOhB,6BAAA;EAYf;EAVA,UAAA,EAAY,GAAA;EAUP;AAMP;;;;EAVE,OAAA,GAAU,GAAG;EAoBF;EAlBX,MAAA;EAmBwC;EAjBxC,KAAA;AAAA;;;;UAMe,oCAAA;EACf,qBAAA;IAAyB,YAAA;EAAA;EACzB,QAAA;IASA;;;;IAJE,WAAA,EAAa,GAAA;IACb,OAAA,GAAU,2BAAA;EAAA;EAEZ,SAAA,EAAW,6BAAA;EACX,SAAA,EAAW,6BAAA;EACX,IAAA;IAe+B;AAAA;AAMjC;;IAhBI,gBAAA,WAiBwC;IAfxC,KAAA;IAuBa;;;;IAlBb,MAAA;EAAA;EAEF,wBAAA;IAA4B,UAAA;EAAA;EAC5B,iBAAA;IAAqB,UAAA;EAAA;AAAA;;;;KAMX,kCAAA,SACJ,oCAAoC;AA4B5C;;;;AAA8D;AAQ9D;AARA,UApBiB,sCAAA;EACf,qBAAA;IAAyB,UAAA;EAAA;EACzB,kBAAA;IACE,UAAA;IACA,WAAA,EAAa,mCAAmC;EAAA;AAAA;;;AA2BP;KApBjC,oCAAA,SACJ,sCAAsC;;;;;;;KAQlC,8BAAA,GAAiC,iBAAiB;;;;;;;KAQlD,uBAAA,mBACQ,kCAAA,uBACE,oCAAA,gBACP,8BAAA"}
@@ -0,0 +1,116 @@
1
+ import { _ as MobileServerNotificationPreferences } from "./serverModelTypes-CDcRlRtw.js";
2
+ import { n as MobileSignedInner } from "./types-BIIvIzG2.js";
3
+ import { Hex } from "viem";
4
+
5
+ //#region src/types/serverRequestTypes.d.ts
6
+ /**
7
+ * Opt-in extras for a `profiles` query. Each one costs extra rate-limit weight per profile and adds fields
8
+ * that are otherwise absent from the response, so the backend gates them behind an explicit request rather
9
+ * than always resolving the follow graph on a public route.
10
+ */
11
+ interface MobileServerProfilesInclude {
12
+ /** Adds `follower_count` and `following_count` to every entry. Omitted or `false` leaves both absent. */
13
+ follow_counts?: boolean;
14
+ /**
15
+ * Adds `follow_summary` to every entry, relative to the `view_as` subaccount. As on every public route,
16
+ * `view_as` is an unauthenticated claim.
17
+ */
18
+ follow_summary?: {
19
+ view_as: Hex;
20
+ };
21
+ }
22
+ /**
23
+ * Params shared by the `followers` and `following` public queries: only the relationship that selects the
24
+ * rows differs between the two.
25
+ */
26
+ interface MobileServerFollowListRequest {
27
+ /** The viewed Profile, i.e. the account whose Followers or Following are being listed. */
28
+ subaccount: Hex;
29
+ /**
30
+ * Viewer perspective the rows are resolved against. Omitted asks for no perspective, which drops
31
+ * `is_following` from every row and falls back to plain recency order. Like the `profiles` query's
32
+ * `view_as`, this is an unauthenticated claim on an unsigned route.
33
+ */
34
+ view_as?: Hex;
35
+ /** Opaque keyset cursor from a prior page's `next_cursor`. Omitted requests the first page. */
36
+ cursor?: string;
37
+ /** Page size, 1–50; the backend defaults to 25 when omitted. */
38
+ limit?: number;
39
+ }
40
+ /**
41
+ * Params for each unsigned `public_query`, keyed by request `type`.
42
+ */
43
+ interface MobileServerPublicQueryRequestByType {
44
+ username_availability: {
45
+ display_name: string;
46
+ };
47
+ profiles: {
48
+ /**
49
+ * 1–`MOBILE_PROFILES_MAX_BATCH_SIZE` (25) distinct subaccounts. Results come back in this exact order,
50
+ * one entry per request slot.
51
+ */
52
+ subaccounts: Hex[];
53
+ include?: MobileServerProfilesInclude;
54
+ };
55
+ followers: MobileServerFollowListRequest;
56
+ following: MobileServerFollowListRequest;
57
+ feed: {
58
+ /**
59
+ * Minimum notional as a whole-dollar JSON integer (NOT an x18 string), at least $1,000. Omitted or
60
+ * `null` means unfiltered.
61
+ */
62
+ minimum_notional?: number; /** Page size, 1–50; the backend defaults to `MOBILE_FEED_MAX_PAGE_SIZE` (50) when omitted. */
63
+ limit?: number;
64
+ /**
65
+ * Opaque keyset cursor from a prior page's `next_cursor`. Bound to the exact `minimum_notional` it was
66
+ * issued for (including the unfiltered state) — reusing it with a different filter fails.
67
+ */
68
+ cursor?: string;
69
+ };
70
+ notification_preferences: {
71
+ expo_token: string;
72
+ };
73
+ registered_wallet: {
74
+ expo_token: string;
75
+ };
76
+ }
77
+ /**
78
+ * Discriminant `type` values for unsigned `public_query` requests.
79
+ */
80
+ type MobileServerPublicQueryRequestType = keyof MobileServerPublicQueryRequestByType;
81
+ /**
82
+ * Params for each unsigned `public_execute`, keyed by request `type`. Possession of an active Expo push token
83
+ * authorizes these notification-only mutations: the backend resolves the token's owning wallet and mutates
84
+ * its state, so no signature, sender, or nonce is sent. Ordering is the backend's last-write-wins commit
85
+ * order, so callers must serialize their own writes.
86
+ */
87
+ interface MobileServerPublicExecuteRequestByType {
88
+ unregister_expo_token: {
89
+ expo_token: string;
90
+ };
91
+ update_preferences: {
92
+ expo_token: string;
93
+ preferences: MobileServerNotificationPreferences;
94
+ };
95
+ }
96
+ /**
97
+ * Discriminant `type` values for unsigned `public_execute` requests.
98
+ */
99
+ type MobileServerPublicExecuteRequestType = keyof MobileServerPublicExecuteRequestByType;
100
+ /**
101
+ * Discriminant `type` values for signed `execute` requests. Every signed route the SDK calls is a write, so
102
+ * this is the full set of {@link MobileSignedInner} tags. Unlike the public queries these carry no separate
103
+ * params map — a signed request body *is* its inner payload flattened with the envelope, so
104
+ * {@link MobileSignedInner} is the single source of truth for both the fields and their significant order.
105
+ */
106
+ type MobileServerExecuteRequestType = MobileSignedInner['type'];
107
+ /**
108
+ * Wire `request_type` the backend echoes on failure envelopes, prefixed by the route that produced it:
109
+ * `public_query_*` for unsigned queries, `public_execute_*` for unsigned writes, and `execute_*` for signed
110
+ * writes (e.g. `execute_set_username`). The prefix names the route, so it never carries the `mobile:` prefix
111
+ * that the EIP-712 method does.
112
+ */
113
+ type MobileServerRequestType = `public_query_${MobileServerPublicQueryRequestType}` | `public_execute_${MobileServerPublicExecuteRequestType}` | `execute_${MobileServerExecuteRequestType}`;
114
+ //#endregion
115
+ export { MobileServerPublicExecuteRequestType as a, MobileServerRequestType as c, MobileServerPublicExecuteRequestByType as i, MobileServerFollowListRequest as n, MobileServerPublicQueryRequestByType as o, MobileServerProfilesInclude as r, MobileServerPublicQueryRequestType as s, MobileServerExecuteRequestType as t };
116
+ //# sourceMappingURL=serverRequestTypes-Dv9NR-hQ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequestTypes-Dv9NR-hQ.d.ts","names":[],"sources":["../src/types/src/types/serverRequestTypes.ts"],"mappings":";;;;;;;AASA;;;UAAiB,2BAAA;EAEf;EAAA,aAAA;EAKmB;;;AAAY;EAA/B,cAAA;IAAmB,OAAA,EAAS,GAAG;EAAA;AAAA;;;;;UAOhB,6BAAA;EAYf;EAVA,UAAA,EAAY,GAAA;EAUP;AAMP;;;;EAVE,OAAA,GAAU,GAAG;EAoBF;EAlBX,MAAA;EAmBwC;EAjBxC,KAAA;AAAA;;;;UAMe,oCAAA;EACf,qBAAA;IAAyB,YAAA;EAAA;EACzB,QAAA;IASA;;;;IAJE,WAAA,EAAa,GAAA;IACb,OAAA,GAAU,2BAAA;EAAA;EAEZ,SAAA,EAAW,6BAAA;EACX,SAAA,EAAW,6BAAA;EACX,IAAA;IAe+B;AAAA;AAMjC;;IAhBI,gBAAA,WAiBwC;IAfxC,KAAA;IAuBa;;;;IAlBb,MAAA;EAAA;EAEF,wBAAA;IAA4B,UAAA;EAAA;EAC5B,iBAAA;IAAqB,UAAA;EAAA;AAAA;;;;KAMX,kCAAA,SACJ,oCAAoC;AA4B5C;;;;AAA8D;AAQ9D;AARA,UApBiB,sCAAA;EACf,qBAAA;IAAyB,UAAA;EAAA;EACzB,kBAAA;IACE,UAAA;IACA,WAAA,EAAa,mCAAmC;EAAA;AAAA;;;AA2BP;KApBjC,oCAAA,SACJ,sCAAsC;;;;;;;KAQlC,8BAAA,GAAiC,iBAAiB;;;;;;;KAQlD,uBAAA,mBACQ,kCAAA,uBACE,oCAAA,gBACP,8BAAA"}
@@ -1,4 +1,4 @@
1
- import { t as MobileServerFailureResponse } from "./serverBaseTypes-B_KHFDab.js";
1
+ import { t as MobileServerFailureResponse } from "./serverBaseTypes-C2JGib--.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-Cep5s7j5.d.ts.map
16
+ //# sourceMappingURL=serverResponseGuards-BjIzucYt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponseGuards-Cep5s7j5.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-BjIzucYt.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,4 +1,4 @@
1
- import { t as MobileServerFailureResponse } from "./serverBaseTypes-C8KjE9Fm.cjs";
1
+ import { t as MobileServerFailureResponse } from "./serverBaseTypes-YkCmgmt1.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-Dxt9_aGh.d.cts.map
16
+ //# sourceMappingURL=serverResponseGuards-Dg9WbqBA.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponseGuards-Dxt9_aGh.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-Dg9WbqBA.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,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../MobileClient-D5TNTnLx.cjs");
2
+ require("../MobileClient-wjTrqP9z.cjs");
3
3
  const require_signing_canonicalize = require("./canonicalize.cjs");
4
4
  const require_signing_eip712MethodByType = require("./eip712MethodByType.cjs");
5
5
  const require_signing_nonce = require("./nonce.cjs");
@@ -1,2 +1,2 @@
1
- import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-CXfnhc-4.cjs";
1
+ import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-DkkwEqIu.cjs";
2
2
  export { buildSignedMobileRequest };
@@ -1,2 +1,2 @@
1
- import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-BScnCGPF.js";
1
+ import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-BqLRFLKV.js";
2
2
  export { buildSignedMobileRequest };
@@ -24,6 +24,11 @@ function canonicalizeMobileInner(inner) {
24
24
  locale: inner.locale,
25
25
  app_version: inner.app_version
26
26
  };
27
+ case "set_follow": return {
28
+ type: "set_follow",
29
+ subaccount: inner.subaccount,
30
+ is_following: inner.is_following
31
+ };
27
32
  default: throw new Error(`canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`);
28
33
  }
29
34
  }
@@ -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_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 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,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,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 { 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_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 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,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,SACE,MAAM,IAAI,MACR,0DAA0D,KAAK,UAAU,KAAK,GAChF;CAEJ;AACF"}
@@ -1,2 +1,2 @@
1
- import { t as canonicalizeMobileInner } from "../canonicalize-hzhboB-C.cjs";
1
+ import { t as canonicalizeMobileInner } from "../canonicalize-DtpaaA2B.cjs";
2
2
  export { canonicalizeMobileInner };
@@ -1,2 +1,2 @@
1
- import { t as canonicalizeMobileInner } from "../canonicalize-CQ-pMYIt.js";
1
+ import { t as canonicalizeMobileInner } from "../canonicalize-BRhCpYm1.js";
2
2
  export { canonicalizeMobileInner };
@@ -23,6 +23,11 @@ function canonicalizeMobileInner(inner) {
23
23
  locale: inner.locale,
24
24
  app_version: inner.app_version
25
25
  };
26
+ case "set_follow": return {
27
+ type: "set_follow",
28
+ subaccount: inner.subaccount,
29
+ is_following: inner.is_following
30
+ };
26
31
  default: throw new Error(`canonicalizeMobileInner: unhandled inner payload type: ${JSON.stringify(inner)}`);
27
32
  }
28
33
  }
@@ -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_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 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,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,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 { 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_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 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,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,SACE,MAAM,IAAI,MACR,0DAA0D,KAAK,UAAU,KAAK,GAChF;CAEJ;AACF"}
@@ -6,7 +6,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
6
  const MOBILE_EIP712_METHOD_BY_TYPE = {
7
7
  set_username: "mobile:execute_set_username",
8
8
  set_private_mode: "mobile:execute_set_private_mode",
9
- register_expo_token: "mobile:execute_register_expo_token"
9
+ register_expo_token: "mobile:execute_register_expo_token",
10
+ set_follow: "mobile:execute_set_follow"
10
11
  };
11
12
  //#endregion
12
13
  exports.MOBILE_EIP712_METHOD_BY_TYPE = MOBILE_EIP712_METHOD_BY_TYPE;
@@ -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_username: 'mobile:execute_set_username',\n set_private_mode: 'mobile:execute_set_private_mode',\n register_expo_token: 'mobile:execute_register_expo_token',\n};\n"],"mappings":";;;;;AAKA,MAAa,+BAGT;CACF,cAAc;CACd,kBAAkB;CAClB,qBAAqB;AACvB"}
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_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};\n"],"mappings":";;;;;AAKA,MAAa,+BAGT;CACF,cAAc;CACd,kBAAkB;CAClB,qBAAqB;CACrB,YAAY;AACd"}
@@ -1,2 +1,2 @@
1
- import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-3aiJkrHj.cjs";
1
+ import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-1xUkvTIp.cjs";
2
2
  export { MOBILE_EIP712_METHOD_BY_TYPE };
@@ -1,2 +1,2 @@
1
- import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-zNvZukU7.js";
1
+ import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-CrqBJIrp.js";
2
2
  export { MOBILE_EIP712_METHOD_BY_TYPE };
@@ -5,7 +5,8 @@
5
5
  const MOBILE_EIP712_METHOD_BY_TYPE = {
6
6
  set_username: "mobile:execute_set_username",
7
7
  set_private_mode: "mobile:execute_set_private_mode",
8
- register_expo_token: "mobile:execute_register_expo_token"
8
+ register_expo_token: "mobile:execute_register_expo_token",
9
+ set_follow: "mobile:execute_set_follow"
9
10
  };
10
11
  //#endregion
11
12
  export { MOBILE_EIP712_METHOD_BY_TYPE };
@@ -1 +1 @@
1
- {"version":3,"file":"eip712MethodByType.js","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_username: 'mobile:execute_set_username',\n set_private_mode: 'mobile:execute_set_private_mode',\n register_expo_token: 'mobile:execute_register_expo_token',\n};\n"],"mappings":";;;;AAKA,MAAa,+BAGT;CACF,cAAc;CACd,kBAAkB;CAClB,qBAAqB;AACvB"}
1
+ {"version":3,"file":"eip712MethodByType.js","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_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};\n"],"mappings":";;;;AAKA,MAAa,+BAGT;CACF,cAAc;CACd,kBAAkB;CAClB,qBAAqB;CACrB,YAAY;AACd"}
@@ -1,7 +1,7 @@
1
- import { i as MobileSignedRequest, n as MobileSignedInner, r as MobileSignedInnerParams, t as BuildSignedMobileRequestParams } from "../types-47IPsDyA.cjs";
2
- import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-CXfnhc-4.cjs";
3
- import { t as canonicalizeMobileInner } from "../canonicalize-hzhboB-C.cjs";
4
- import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-3aiJkrHj.cjs";
1
+ import { a as MobileSignedRequest, i as MobileSignedInnerParams, n as MobileSignedInner, r as MobileSignedInnerByType, t as BuildSignedMobileRequestParams } from "../types-UmYaeq1C.cjs";
2
+ import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-DkkwEqIu.cjs";
3
+ import { t as canonicalizeMobileInner } from "../canonicalize-DtpaaA2B.cjs";
4
+ import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-1xUkvTIp.cjs";
5
5
  import { t as getMobileNonce } from "../nonce-zGyisRlj.cjs";
6
- import { t as getMobilePayloadHash } from "../payloadHash-DVkEt-Rg.cjs";
7
- export { BuildSignedMobileRequestParams, MOBILE_EIP712_METHOD_BY_TYPE, MobileSignedInner, MobileSignedInnerParams, MobileSignedRequest, buildSignedMobileRequest, canonicalizeMobileInner, getMobileNonce, getMobilePayloadHash };
6
+ import { t as getMobilePayloadHash } from "../payloadHash-CIo8Hkh6.cjs";
7
+ export { BuildSignedMobileRequestParams, MOBILE_EIP712_METHOD_BY_TYPE, MobileSignedInner, MobileSignedInnerByType, MobileSignedInnerParams, MobileSignedRequest, buildSignedMobileRequest, canonicalizeMobileInner, getMobileNonce, getMobilePayloadHash };
@@ -1,7 +1,7 @@
1
- import { i as MobileSignedRequest, n as MobileSignedInner, r as MobileSignedInnerParams, t as BuildSignedMobileRequestParams } from "../types-D5kFJzEX.js";
2
- import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-BScnCGPF.js";
3
- import { t as canonicalizeMobileInner } from "../canonicalize-CQ-pMYIt.js";
4
- import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-zNvZukU7.js";
1
+ import { a as MobileSignedRequest, i as MobileSignedInnerParams, n as MobileSignedInner, r as MobileSignedInnerByType, t as BuildSignedMobileRequestParams } from "../types-BIIvIzG2.js";
2
+ import { t as buildSignedMobileRequest } from "../buildSignedMobileRequest-BqLRFLKV.js";
3
+ import { t as canonicalizeMobileInner } from "../canonicalize-BRhCpYm1.js";
4
+ import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "../eip712MethodByType-CrqBJIrp.js";
5
5
  import { t as getMobileNonce } from "../nonce-DCOrXXkQ.js";
6
- import { t as getMobilePayloadHash } from "../payloadHash-BxL26uwq.js";
7
- export { BuildSignedMobileRequestParams, MOBILE_EIP712_METHOD_BY_TYPE, MobileSignedInner, MobileSignedInnerParams, MobileSignedRequest, buildSignedMobileRequest, canonicalizeMobileInner, getMobileNonce, getMobilePayloadHash };
6
+ import { t as getMobilePayloadHash } from "../payloadHash-Cv4WwZCZ.js";
7
+ export { BuildSignedMobileRequestParams, MOBILE_EIP712_METHOD_BY_TYPE, MobileSignedInner, MobileSignedInnerByType, MobileSignedInnerParams, MobileSignedRequest, buildSignedMobileRequest, canonicalizeMobileInner, getMobileNonce, getMobilePayloadHash };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../MobileClient-D5TNTnLx.cjs");
2
+ require("../MobileClient-wjTrqP9z.cjs");
3
3
  let _msgpack_msgpack = require("@msgpack/msgpack");
4
4
  let viem = require("viem");
5
5
  //#region src/signing/payloadHash.ts
@@ -1,2 +1,2 @@
1
- import { t as getMobilePayloadHash } from "../payloadHash-DVkEt-Rg.cjs";
1
+ import { t as getMobilePayloadHash } from "../payloadHash-CIo8Hkh6.cjs";
2
2
  export { getMobilePayloadHash };
@@ -1,2 +1,2 @@
1
- import { t as getMobilePayloadHash } from "../payloadHash-BxL26uwq.js";
1
+ import { t as getMobilePayloadHash } from "../payloadHash-Cv4WwZCZ.js";
2
2
  export { getMobilePayloadHash };
@@ -1,2 +1,2 @@
1
- import { i as MobileSignedRequest, n as MobileSignedInner, r as MobileSignedInnerParams, t as BuildSignedMobileRequestParams } from "../types-47IPsDyA.cjs";
2
- export { BuildSignedMobileRequestParams, MobileSignedInner, MobileSignedInnerParams, MobileSignedRequest };
1
+ import { a as MobileSignedRequest, i as MobileSignedInnerParams, n as MobileSignedInner, r as MobileSignedInnerByType, t as BuildSignedMobileRequestParams } from "../types-UmYaeq1C.cjs";
2
+ export { BuildSignedMobileRequestParams, MobileSignedInner, MobileSignedInnerByType, MobileSignedInnerParams, MobileSignedRequest };
@@ -1,2 +1,2 @@
1
- import { i as MobileSignedRequest, n as MobileSignedInner, r as MobileSignedInnerParams, t as BuildSignedMobileRequestParams } from "../types-D5kFJzEX.js";
2
- export { BuildSignedMobileRequestParams, MobileSignedInner, MobileSignedInnerParams, MobileSignedRequest };
1
+ import { a as MobileSignedRequest, i as MobileSignedInnerParams, n as MobileSignedInner, r as MobileSignedInnerByType, t as BuildSignedMobileRequestParams } from "../types-BIIvIzG2.js";
2
+ export { BuildSignedMobileRequestParams, MobileSignedInner, MobileSignedInnerByType, MobileSignedInnerParams, MobileSignedRequest };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../MobileClient-D5TNTnLx.cjs");
2
+ require("../MobileClient-wjTrqP9z.cjs");
3
3
  let _nadohq_shared = require("@nadohq/shared");
4
4
  //#region src/types/MobileServerFailureError.ts
5
5
  /**
@@ -1,2 +1,2 @@
1
- import { t as MobileServerFailureError } from "../MobileServerFailureError-CPFjwUBx.cjs";
1
+ import { t as MobileServerFailureError } from "../MobileServerFailureError-BvQYrxjx.cjs";
2
2
  export { MobileServerFailureError };
@@ -1,2 +1,2 @@
1
- import { t as MobileServerFailureError } from "../MobileServerFailureError-Terv2Wzy.js";
1
+ import { t as MobileServerFailureError } from "../MobileServerFailureError-CrNpL_L4.js";
2
2
  export { MobileServerFailureError };
@@ -1,2 +1,2 @@
1
- import { _ as MobileSignedRequestParams, a as GetMobileUsernameAvailabilityParams, b as MobileUsernameAvailability, c as MobileFeedTrade, d as MobileNotificationPreferences, f as MobilePublicProfile, g as MobileSetUsernameParams, h as MobileSetPrivateModeParams, i as GetMobileRegisteredWalletParams, l as MobileNotificationCategoryPreference, m as MobileRegisteredWallet, n as GetMobileNotificationPreferencesParams, o as MobileFeedMargin, p as MobileRegisterExpoTokenParams, r as GetMobilePublicProfileParams, s as MobileFeedPage, t as GetMobileFeedParams, u as MobileNotificationPreferenceScope, v as MobileUnregisterExpoTokenParams, x as MobileWithExpoTokenParams, y as MobileUpdateNotificationPreferencesParams } from "../clientTypes-BwakovWk.cjs";
2
- export { GetMobileFeedParams, GetMobileNotificationPreferencesParams, GetMobilePublicProfileParams, GetMobileRegisteredWalletParams, GetMobileUsernameAvailabilityParams, MobileFeedMargin, MobileFeedPage, MobileFeedTrade, MobileNotificationCategoryPreference, MobileNotificationPreferenceScope, MobileNotificationPreferences, MobilePublicProfile, MobileRegisterExpoTokenParams, MobileRegisteredWallet, MobileSetPrivateModeParams, MobileSetUsernameParams, MobileSignedRequestParams, MobileUnregisterExpoTokenParams, MobileUpdateNotificationPreferencesParams, MobileUsernameAvailability, MobileWithExpoTokenParams };
1
+ import { A as MobileUsernameAvailability, C as MobileRegisteredWallet, D as MobileSignedRequestParams, E as MobileSetUsernameParams, O as MobileUnregisterExpoTokenParams, S as MobileRegisterExpoTokenParams, T as MobileSetPrivateModeParams, _ as MobileNotificationCategoryPreference, a as GetMobileNotificationPreferencesParams, b as MobileProfilesInclude, c as GetMobileUsernameAvailabilityParams, d as MobileFeedTrade, f as MobileFollowListAccount, g as MobileIdentitySummary, h as MobileFollowSummary, i as GetMobileFollowingParams, j as MobileWithExpoTokenParams, k as MobileUpdateNotificationPreferencesParams, l as MobileFeedMargin, m as MobileFollowMutationResult, n as GetMobileFollowListParams, o as GetMobileProfilesParams, p as MobileFollowListPage, r as GetMobileFollowersParams, s as GetMobileRegisteredWalletParams, t as GetMobileFeedParams, u as MobileFeedPage, v as MobileNotificationPreferenceScope, w as MobileSetFollowParams, x as MobilePublicProfile, y as MobileNotificationPreferences } from "../clientTypes-CceWsQzi.cjs";
2
+ export { GetMobileFeedParams, GetMobileFollowListParams, GetMobileFollowersParams, GetMobileFollowingParams, GetMobileNotificationPreferencesParams, GetMobileProfilesParams, GetMobileRegisteredWalletParams, GetMobileUsernameAvailabilityParams, MobileFeedMargin, MobileFeedPage, MobileFeedTrade, MobileFollowListAccount, MobileFollowListPage, MobileFollowMutationResult, MobileFollowSummary, MobileIdentitySummary, MobileNotificationCategoryPreference, MobileNotificationPreferenceScope, MobileNotificationPreferences, MobileProfilesInclude, MobilePublicProfile, MobileRegisterExpoTokenParams, MobileRegisteredWallet, MobileSetFollowParams, MobileSetPrivateModeParams, MobileSetUsernameParams, MobileSignedRequestParams, MobileUnregisterExpoTokenParams, MobileUpdateNotificationPreferencesParams, MobileUsernameAvailability, MobileWithExpoTokenParams };
@@ -1,2 +1,2 @@
1
- import { _ as MobileSignedRequestParams, a as GetMobileUsernameAvailabilityParams, b as MobileUsernameAvailability, c as MobileFeedTrade, d as MobileNotificationPreferences, f as MobilePublicProfile, g as MobileSetUsernameParams, h as MobileSetPrivateModeParams, i as GetMobileRegisteredWalletParams, l as MobileNotificationCategoryPreference, m as MobileRegisteredWallet, n as GetMobileNotificationPreferencesParams, o as MobileFeedMargin, p as MobileRegisterExpoTokenParams, r as GetMobilePublicProfileParams, s as MobileFeedPage, t as GetMobileFeedParams, u as MobileNotificationPreferenceScope, v as MobileUnregisterExpoTokenParams, x as MobileWithExpoTokenParams, y as MobileUpdateNotificationPreferencesParams } from "../clientTypes-D-o1_2Yc.js";
2
- export { GetMobileFeedParams, GetMobileNotificationPreferencesParams, GetMobilePublicProfileParams, GetMobileRegisteredWalletParams, GetMobileUsernameAvailabilityParams, MobileFeedMargin, MobileFeedPage, MobileFeedTrade, MobileNotificationCategoryPreference, MobileNotificationPreferenceScope, MobileNotificationPreferences, MobilePublicProfile, MobileRegisterExpoTokenParams, MobileRegisteredWallet, MobileSetPrivateModeParams, MobileSetUsernameParams, MobileSignedRequestParams, MobileUnregisterExpoTokenParams, MobileUpdateNotificationPreferencesParams, MobileUsernameAvailability, MobileWithExpoTokenParams };
1
+ import { A as MobileUsernameAvailability, C as MobileRegisteredWallet, D as MobileSignedRequestParams, E as MobileSetUsernameParams, O as MobileUnregisterExpoTokenParams, S as MobileRegisterExpoTokenParams, T as MobileSetPrivateModeParams, _ as MobileNotificationCategoryPreference, a as GetMobileNotificationPreferencesParams, b as MobileProfilesInclude, c as GetMobileUsernameAvailabilityParams, d as MobileFeedTrade, f as MobileFollowListAccount, g as MobileIdentitySummary, h as MobileFollowSummary, i as GetMobileFollowingParams, j as MobileWithExpoTokenParams, k as MobileUpdateNotificationPreferencesParams, l as MobileFeedMargin, m as MobileFollowMutationResult, n as GetMobileFollowListParams, o as GetMobileProfilesParams, p as MobileFollowListPage, r as GetMobileFollowersParams, s as GetMobileRegisteredWalletParams, t as GetMobileFeedParams, u as MobileFeedPage, v as MobileNotificationPreferenceScope, w as MobileSetFollowParams, x as MobilePublicProfile, y as MobileNotificationPreferences } from "../clientTypes-CB_itU4Z.js";
2
+ export { GetMobileFeedParams, GetMobileFollowListParams, GetMobileFollowersParams, GetMobileFollowingParams, GetMobileNotificationPreferencesParams, GetMobileProfilesParams, GetMobileRegisteredWalletParams, GetMobileUsernameAvailabilityParams, MobileFeedMargin, MobileFeedPage, MobileFeedTrade, MobileFollowListAccount, MobileFollowListPage, MobileFollowMutationResult, MobileFollowSummary, MobileIdentitySummary, MobileNotificationCategoryPreference, MobileNotificationPreferenceScope, MobileNotificationPreferences, MobileProfilesInclude, MobilePublicProfile, MobileRegisterExpoTokenParams, MobileRegisteredWallet, MobileSetFollowParams, MobileSetPrivateModeParams, MobileSetUsernameParams, MobileSignedRequestParams, MobileUnregisterExpoTokenParams, MobileUpdateNotificationPreferencesParams, MobileUsernameAvailability, MobileWithExpoTokenParams };