@nadohq/mobile-client 0.37.0 → 0.41.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 (152) hide show
  1. package/README.md +10 -10
  2. package/dist/{MobileClient-C9S_o_eC.cjs → MobileClient-Duy7MvxN.cjs} +39 -46
  3. package/dist/MobileClient-Duy7MvxN.cjs.map +1 -0
  4. package/dist/MobileClient.cjs +1 -1
  5. package/dist/MobileClient.d.cts +29 -31
  6. package/dist/MobileClient.d.cts.map +1 -1
  7. package/dist/MobileClient.d.ts +29 -31
  8. package/dist/MobileClient.d.ts.map +1 -1
  9. package/dist/MobileClient.js +39 -46
  10. package/dist/MobileClient.js.map +1 -1
  11. package/dist/{MobileServerFailureError-CVK3aLOi.d.cts → MobileServerFailureError-BvQYrxjx.d.cts} +3 -3
  12. package/dist/{MobileServerFailureError-CVK3aLOi.d.cts.map → MobileServerFailureError-BvQYrxjx.d.cts.map} +1 -1
  13. package/dist/{MobileServerFailureError-D-76n3pS.d.ts → MobileServerFailureError-CrNpL_L4.d.ts} +3 -3
  14. package/dist/{MobileServerFailureError-D-76n3pS.d.ts.map → MobileServerFailureError-CrNpL_L4.d.ts.map} +1 -1
  15. package/dist/{buildSignedMobileRequest-42meR4yV.d.ts → buildSignedMobileRequest-BqLRFLKV.d.ts} +2 -2
  16. package/dist/{buildSignedMobileRequest-42meR4yV.d.ts.map → buildSignedMobileRequest-BqLRFLKV.d.ts.map} +1 -1
  17. package/dist/{buildSignedMobileRequest-BDxji7Vy.d.cts → buildSignedMobileRequest-DkkwEqIu.d.cts} +2 -2
  18. package/dist/{buildSignedMobileRequest-BDxji7Vy.d.cts.map → buildSignedMobileRequest-DkkwEqIu.d.cts.map} +1 -1
  19. package/dist/{canonicalize-BebHhHcF.d.ts → canonicalize-BRhCpYm1.d.ts} +2 -2
  20. package/dist/canonicalize-BRhCpYm1.d.ts.map +1 -0
  21. package/dist/{canonicalize-CIDJLLgg.d.cts → canonicalize-DtpaaA2B.d.cts} +2 -2
  22. package/dist/canonicalize-DtpaaA2B.d.cts.map +1 -0
  23. package/dist/{clientTypes-2I3x4TTt.d.ts → clientTypes-CB_itU4Z.d.ts} +26 -21
  24. package/dist/clientTypes-CB_itU4Z.d.ts.map +1 -0
  25. package/dist/{clientTypes-tLld8E6J.d.cts → clientTypes-CceWsQzi.d.cts} +26 -21
  26. package/dist/clientTypes-CceWsQzi.d.cts.map +1 -0
  27. package/dist/dataMappers.cjs +16 -2
  28. package/dist/dataMappers.cjs.map +1 -1
  29. package/dist/dataMappers.d.cts +13 -7
  30. package/dist/dataMappers.d.cts.map +1 -1
  31. package/dist/dataMappers.d.ts +13 -7
  32. package/dist/dataMappers.d.ts.map +1 -1
  33. package/dist/dataMappers.js +15 -2
  34. package/dist/dataMappers.js.map +1 -1
  35. package/dist/{eip712MethodByType-2-vyN5SU.d.cts → eip712MethodByType-1xUkvTIp.d.cts} +2 -2
  36. package/dist/eip712MethodByType-1xUkvTIp.d.cts.map +1 -0
  37. package/dist/{eip712MethodByType-CAVpvZoS.d.ts → eip712MethodByType-CrqBJIrp.d.ts} +2 -2
  38. package/dist/eip712MethodByType-CrqBJIrp.d.ts.map +1 -0
  39. package/dist/endpoints.cjs +3 -3
  40. package/dist/endpoints.cjs.map +1 -1
  41. package/dist/endpoints.js +3 -3
  42. package/dist/endpoints.js.map +1 -1
  43. package/dist/index.cjs +1 -1
  44. package/dist/index.d.cts +14 -14
  45. package/dist/index.d.ts +14 -14
  46. package/dist/{payloadHash-BVPYKdk4.d.cts → payloadHash-CIo8Hkh6.d.cts} +2 -2
  47. package/dist/payloadHash-CIo8Hkh6.d.cts.map +1 -0
  48. package/dist/{payloadHash-DMqE5aMo.d.ts → payloadHash-Cv4WwZCZ.d.ts} +2 -2
  49. package/dist/payloadHash-Cv4WwZCZ.d.ts.map +1 -0
  50. package/dist/{serverBaseTypes-DPB1vEvv.d.ts → serverBaseTypes-C2JGib--.d.ts} +2 -2
  51. package/dist/{serverBaseTypes-DPB1vEvv.d.ts.map → serverBaseTypes-C2JGib--.d.ts.map} +1 -1
  52. package/dist/{serverBaseTypes-BybrVE6L.d.cts → serverBaseTypes-YkCmgmt1.d.cts} +2 -2
  53. package/dist/{serverBaseTypes-BybrVE6L.d.cts.map → serverBaseTypes-YkCmgmt1.d.cts.map} +1 -1
  54. package/dist/{serverExecuteTypes-ih4Xbr3J.d.ts → serverExecuteTypes-C2NoNEwu.d.ts} +3 -3
  55. package/dist/{serverExecuteTypes-ih4Xbr3J.d.ts.map → serverExecuteTypes-C2NoNEwu.d.ts.map} +1 -1
  56. package/dist/{serverExecuteTypes-DoR0InCd.d.cts → serverExecuteTypes-DPZbs9ym.d.cts} +3 -3
  57. package/dist/{serverExecuteTypes-DoR0InCd.d.cts.map → serverExecuteTypes-DPZbs9ym.d.cts.map} +1 -1
  58. package/dist/{serverModelTypes-KSm0CAcF.d.cts → serverModelTypes-CDcRlRtw.d.ts} +8 -5
  59. package/dist/serverModelTypes-CDcRlRtw.d.ts.map +1 -0
  60. package/dist/{serverModelTypes-DV-eARP8.d.ts → serverModelTypes-CUzqFA6x.d.cts} +8 -5
  61. package/dist/serverModelTypes-CUzqFA6x.d.cts.map +1 -0
  62. package/dist/{serverQueryTypes-LygPrZn7.d.ts → serverQueryTypes-B0xI1G39.d.ts} +16 -27
  63. package/dist/serverQueryTypes-B0xI1G39.d.ts.map +1 -0
  64. package/dist/{serverQueryTypes-B9OOpiJB.d.cts → serverQueryTypes-RdcIqRnM.d.cts} +16 -27
  65. package/dist/serverQueryTypes-RdcIqRnM.d.cts.map +1 -0
  66. package/dist/{serverRequestTypes-q4xTJHk0.d.cts → serverRequestTypes-Ddws3yXc.d.cts} +35 -20
  67. package/dist/serverRequestTypes-Ddws3yXc.d.cts.map +1 -0
  68. package/dist/{serverRequestTypes-BDXIPjtw.d.ts → serverRequestTypes-Dv9NR-hQ.d.ts} +35 -20
  69. package/dist/serverRequestTypes-Dv9NR-hQ.d.ts.map +1 -0
  70. package/dist/{serverResponseGuards-BcdkKV30.d.ts → serverResponseGuards-BjIzucYt.d.ts} +2 -2
  71. package/dist/{serverResponseGuards-BcdkKV30.d.ts.map → serverResponseGuards-BjIzucYt.d.ts.map} +1 -1
  72. package/dist/{serverResponseGuards-k6xK1bZ1.d.cts → serverResponseGuards-Dg9WbqBA.d.cts} +2 -2
  73. package/dist/{serverResponseGuards-k6xK1bZ1.d.cts.map → serverResponseGuards-Dg9WbqBA.d.cts.map} +1 -1
  74. package/dist/signing/buildSignedMobileRequest.cjs +1 -1
  75. package/dist/signing/buildSignedMobileRequest.d.cts +1 -1
  76. package/dist/signing/buildSignedMobileRequest.d.ts +1 -1
  77. package/dist/signing/canonicalize.cjs +0 -12
  78. package/dist/signing/canonicalize.cjs.map +1 -1
  79. package/dist/signing/canonicalize.d.cts +1 -1
  80. package/dist/signing/canonicalize.d.ts +1 -1
  81. package/dist/signing/canonicalize.js +0 -12
  82. package/dist/signing/canonicalize.js.map +1 -1
  83. package/dist/signing/eip712MethodByType.cjs +1 -3
  84. package/dist/signing/eip712MethodByType.cjs.map +1 -1
  85. package/dist/signing/eip712MethodByType.d.cts +1 -1
  86. package/dist/signing/eip712MethodByType.d.ts +1 -1
  87. package/dist/signing/eip712MethodByType.js +1 -3
  88. package/dist/signing/eip712MethodByType.js.map +1 -1
  89. package/dist/signing/index.d.cts +5 -5
  90. package/dist/signing/index.d.ts +5 -5
  91. package/dist/signing/payloadHash.cjs +1 -1
  92. package/dist/signing/payloadHash.d.cts +1 -1
  93. package/dist/signing/payloadHash.d.ts +1 -1
  94. package/dist/signing/types.d.cts +1 -1
  95. package/dist/signing/types.d.ts +1 -1
  96. package/dist/types/MobileServerFailureError.cjs +1 -1
  97. package/dist/types/MobileServerFailureError.d.cts +1 -1
  98. package/dist/types/MobileServerFailureError.d.ts +1 -1
  99. package/dist/types/clientTypes.d.cts +2 -2
  100. package/dist/types/clientTypes.d.ts +2 -2
  101. package/dist/types/index.d.cts +8 -8
  102. package/dist/types/index.d.ts +8 -8
  103. package/dist/types/mobileErrorCodes.cjs +1 -1
  104. package/dist/types/serverBaseTypes.d.cts +1 -1
  105. package/dist/types/serverBaseTypes.d.ts +1 -1
  106. package/dist/types/serverExecuteTypes.d.cts +1 -1
  107. package/dist/types/serverExecuteTypes.d.ts +1 -1
  108. package/dist/types/serverModelTypes.cjs.map +1 -1
  109. package/dist/types/serverModelTypes.d.cts +1 -1
  110. package/dist/types/serverModelTypes.d.ts +1 -1
  111. package/dist/types/serverModelTypes.js.map +1 -1
  112. package/dist/types/serverQueryTypes.d.cts +2 -2
  113. package/dist/types/serverQueryTypes.d.ts +2 -2
  114. package/dist/types/serverRequestTypes.d.cts +2 -2
  115. package/dist/types/serverRequestTypes.d.ts +2 -2
  116. package/dist/{types-B8lDIhBP.d.ts → types-BIIvIzG2.d.ts} +3 -13
  117. package/dist/types-BIIvIzG2.d.ts.map +1 -0
  118. package/dist/{types-CClB00EN.d.cts → types-UmYaeq1C.d.cts} +3 -13
  119. package/dist/types-UmYaeq1C.d.cts.map +1 -0
  120. package/dist/utils/index.d.cts +1 -1
  121. package/dist/utils/index.d.ts +1 -1
  122. package/dist/utils/serverResponseGuards.d.cts +1 -1
  123. package/dist/utils/serverResponseGuards.d.ts +1 -1
  124. package/package.json +3 -3
  125. package/src/MobileClient.ts +49 -70
  126. package/src/dataMappers.ts +22 -2
  127. package/src/endpoints.ts +3 -3
  128. package/src/signing/canonicalize.ts +0 -14
  129. package/src/signing/eip712MethodByType.ts +0 -2
  130. package/src/signing/signing.test.ts +0 -26
  131. package/src/signing/types.ts +0 -16
  132. package/src/types/clientTypes.ts +23 -19
  133. package/src/types/serverModelTypes.ts +7 -4
  134. package/src/types/serverQueryTypes.ts +12 -29
  135. package/src/types/serverRequestTypes.ts +32 -21
  136. package/dist/MobileClient-C9S_o_eC.cjs.map +0 -1
  137. package/dist/canonicalize-BebHhHcF.d.ts.map +0 -1
  138. package/dist/canonicalize-CIDJLLgg.d.cts.map +0 -1
  139. package/dist/clientTypes-2I3x4TTt.d.ts.map +0 -1
  140. package/dist/clientTypes-tLld8E6J.d.cts.map +0 -1
  141. package/dist/eip712MethodByType-2-vyN5SU.d.cts.map +0 -1
  142. package/dist/eip712MethodByType-CAVpvZoS.d.ts.map +0 -1
  143. package/dist/payloadHash-BVPYKdk4.d.cts.map +0 -1
  144. package/dist/payloadHash-DMqE5aMo.d.ts.map +0 -1
  145. package/dist/serverModelTypes-DV-eARP8.d.ts.map +0 -1
  146. package/dist/serverModelTypes-KSm0CAcF.d.cts.map +0 -1
  147. package/dist/serverQueryTypes-B9OOpiJB.d.cts.map +0 -1
  148. package/dist/serverQueryTypes-LygPrZn7.d.ts.map +0 -1
  149. package/dist/serverRequestTypes-BDXIPjtw.d.ts.map +0 -1
  150. package/dist/serverRequestTypes-q4xTJHk0.d.cts.map +0 -1
  151. package/dist/types-B8lDIhBP.d.ts.map +0 -1
  152. package/dist/types-CClB00EN.d.cts.map +0 -1
@@ -32,10 +32,6 @@ const PINNED_HASHES = {
32
32
  '0x1ff8529b7c1a0111313eed98536e591555a3bcab51133776ce30c6ef32b559b3',
33
33
  set_follow_false:
34
34
  '0xec9e9e8f32ac4fcf3015f8b7f20c338623ff85db0488703c7fb688519a46e2e5',
35
- followers:
36
- '0x44f3cd2c991196cf949a25cebe0e16a4e5e8a14846d35751f3931de3c8ffcabd',
37
- following:
38
- '0xaddabad62abf1919dcd4250eee20359970cbfb59f4c81536551462f8918e5ddd',
39
35
  } as const;
40
36
 
41
37
  // Every follow fixture on the backend targets this subaccount.
@@ -93,28 +89,6 @@ describe('[mobile-client]: signing (offline)', () => {
93
89
  const hash = getMobilePayloadHash(canonicalizeMobileInner(inner));
94
90
  expect(hash).toBe(PINNED_HASHES.set_follow_false);
95
91
  });
96
-
97
- it('followers', () => {
98
- const inner: MobileSignedInner = {
99
- type: 'followers',
100
- subaccount: FIXTURE_TARGET_SUBACCOUNT,
101
- cursor: null,
102
- limit: 50,
103
- };
104
- const hash = getMobilePayloadHash(canonicalizeMobileInner(inner));
105
- expect(hash).toBe(PINNED_HASHES.followers);
106
- });
107
-
108
- it('following', () => {
109
- const inner: MobileSignedInner = {
110
- type: 'following',
111
- subaccount: FIXTURE_TARGET_SUBACCOUNT,
112
- cursor: null,
113
- limit: 50,
114
- };
115
- const hash = getMobilePayloadHash(canonicalizeMobileInner(inner));
116
- expect(hash).toBe(PINNED_HASHES.following);
117
- });
118
92
  });
119
93
 
120
94
  it('canonicalizes msgpack key order regardless of input key order', () => {
@@ -34,22 +34,6 @@ export type MobileSignedInner =
34
34
  subaccount: Hex;
35
35
  /** `true` follows the target, `false` unfollows it. Both directions are idempotent. */
36
36
  is_following: boolean;
37
- }
38
- | {
39
- type: 'followers';
40
- subaccount: Hex;
41
- /** `null` requests the first page; otherwise an opaque cursor from the previous page. */
42
- cursor: string | null;
43
- /** `null` requests the backend default of 25; otherwise 1–50. */
44
- limit: number | null;
45
- }
46
- | {
47
- type: 'following';
48
- subaccount: Hex;
49
- /** `null` requests the first page; otherwise an opaque cursor from the previous page. */
50
- cursor: string | null;
51
- /** `null` requests the backend default of 25; otherwise 1–50. */
52
- limit: number | null;
53
37
  };
54
38
 
55
39
  /**
@@ -69,10 +69,12 @@ export interface MobileFollowSummary {
69
69
  export interface MobileFollowListAccount {
70
70
  identity: MobileIdentitySummary;
71
71
  /**
72
- * Whether the *Viewer* follows this account — not the listed relationship that put it in the page. The
73
- * Viewer can appear in another Profile's list, and does not follow themself, so their own row is `false`.
72
+ * Whether the `viewAs` Viewer follows this account — not the listed relationship that put it in the page.
73
+ * The Viewer can appear in another Profile's list, and does not follow themself, so their own row is
74
+ * `false`. `undefined` when the request named no `viewAs`, which is a missing perspective rather than a
75
+ * known "not following".
74
76
  */
75
- isFollowing: boolean;
77
+ isFollowing?: boolean;
76
78
  /** This account's own follower count. */
77
79
  followerCount: number;
78
80
  }
@@ -233,9 +235,8 @@ export interface MobileProfilesInclude {
233
235
  /** Populates `followerCount` and `followingCount`. */
234
236
  followCounts?: boolean;
235
237
  /**
236
- * Populates `followSummary`, relative to `viewAs`. Unlike the signed follow list reads, this viewer
237
- * identity is an unauthenticated claim — the route takes no signature — so do not treat the result as
238
- * proof of who is asking.
238
+ * Populates `followSummary`, relative to `viewAs`. This viewer identity is an unauthenticated claim — the
239
+ * route takes no signature — so do not treat the result as proof of who is asking.
239
240
  */
240
241
  followSummary?: { viewAs: Subaccount };
241
242
  }
@@ -286,18 +287,12 @@ export interface MobileSetPrivateModeParams extends MobileSignedRequestParams {
286
287
  }
287
288
 
288
289
  /**
289
- * Common params for the signed follow requests. The subaccount carried by {@link MobileSignedRequestParams}
290
- * is the signing Viewer (the Follower, for mutations); `target` is the other party.
290
+ * Params for {@link MobileClient.setFollow}. The subaccount carried by {@link MobileSignedRequestParams} is
291
+ * the signing Follower; `target` is the Profile on the other end of the relationship.
291
292
  */
292
- export interface MobileFollowRequestParams extends MobileSignedRequestParams {
293
- /** The Profile being followed, unfollowed, or read. Must not be the signing subaccount. */
293
+ export interface MobileSetFollowParams extends MobileSignedRequestParams {
294
+ /** The Profile being followed or unfollowed. Must not be the signing subaccount. */
294
295
  target: Subaccount;
295
- }
296
-
297
- /**
298
- * Params for {@link MobileClient.setFollow}.
299
- */
300
- export interface MobileSetFollowParams extends MobileFollowRequestParams {
301
296
  /** `true` follows the target, `false` unfollows it. Both directions are idempotent. */
302
297
  isFollowing: boolean;
303
298
  }
@@ -305,11 +300,20 @@ export interface MobileSetFollowParams extends MobileFollowRequestParams {
305
300
  /**
306
301
  * Common params for a Followers or Following page.
307
302
  */
308
- export interface GetMobileFollowListParams extends MobileFollowRequestParams {
303
+ export interface GetMobileFollowListParams {
304
+ /** The Profile whose Followers or Following are being listed. */
305
+ target: Subaccount;
306
+ /**
307
+ * Viewer to resolve the page against, which turns on familiar-first ordering and populates every row's
308
+ * {@link MobileFollowListAccount.isFollowing}. Omit it for a plain recency-ordered list with no
309
+ * `isFollowing` at all. The route is unsigned, so this is an unauthenticated claim rather than proof of
310
+ * who is asking.
311
+ */
312
+ viewAs?: Subaccount;
309
313
  /**
310
314
  * Opaque cursor from the previous page's {@link MobileFollowListPage.nextCursor}. Omit for the first page.
311
- * A cursor is bound to its Viewer, Profile, and list direction — reusing it elsewhere fails with
312
- * `INVALID_FOLLOW_CURSOR`.
315
+ * A cursor is bound to its `viewAs` (including its absence), Profile, and list direction — reusing it
316
+ * elsewhere fails with `INVALID_FOLLOW_CURSOR`.
313
317
  */
314
318
  cursor?: string;
315
319
  /**
@@ -69,13 +69,16 @@ export interface MobileServerProfile {
69
69
  }
70
70
 
71
71
  /**
72
- * Server-side row of a Followers or Following page (snake_case). `is_following` describes the *Viewer's*
73
- * relationship to this account, not the listed relationship that put it in the page, so it is `false` on the
74
- * Viewer's own row.
72
+ * Server-side row of a Followers or Following page (snake_case).
75
73
  */
76
74
  export interface MobileServerFollowListAccount {
77
75
  identity: MobileServerIdentitySummary;
78
- is_following: boolean;
76
+ /**
77
+ * The `view_as` Viewer's relationship to this account, not the listed relationship that put it in the
78
+ * page, so it is `false` on the Viewer's own row. Omitted entirely when the request named no `view_as`,
79
+ * rather than being sent as a misleading `false`.
80
+ */
81
+ is_following?: boolean;
79
82
  /** The listed account's own follower count, exact at query time. */
80
83
  follower_count: number;
81
84
  }
@@ -10,7 +10,6 @@ import {
10
10
  import {
11
11
  MobileServerPublicQueryRequestByType,
12
12
  MobileServerPublicQueryRequestType,
13
- MobileServerSignedQueryRequestType,
14
13
  } from './serverRequestTypes';
15
14
 
16
15
  /**
@@ -41,6 +40,16 @@ export interface MobileServerProfilesResponse {
41
40
  profiles: MobileServerProfile[];
42
41
  }
43
42
 
43
+ /**
44
+ * Payload of the `followers` and `following` public query success responses. Both list directions share one
45
+ * shape; only the relationship that selected the rows differs.
46
+ */
47
+ export interface MobileServerFollowListResponse {
48
+ accounts: MobileServerFollowListAccount[];
49
+ /** `null` means the list is complete. */
50
+ next_cursor: string | null;
51
+ }
52
+
44
53
  /**
45
54
  * Payload of the `feed` public query success response.
46
55
  */
@@ -83,6 +92,8 @@ export interface MobileServerRegisteredWalletResponse {
83
92
  export interface MobileServerPublicQueryResponseByType {
84
93
  username_availability: MobileServerUsernameAvailabilityResponse;
85
94
  profiles: MobileServerProfilesResponse;
95
+ followers: MobileServerFollowListResponse;
96
+ following: MobileServerFollowListResponse;
86
97
  feed: MobileServerFeedResponse;
87
98
  notification_preferences: MobileServerNotificationPreferencesResponse;
88
99
  registered_wallet: MobileServerRegisteredWalletResponse;
@@ -97,31 +108,3 @@ export type MobileServerPublicQuerySuccessResponse<
97
108
  T extends MobileServerPublicQueryRequestType =
98
109
  MobileServerPublicQueryRequestType,
99
110
  > = MobileServerSuccessResponse & MobileServerPublicQueryResponseByType[T];
100
-
101
- /**
102
- * Payload of the `followers` and `following` signed query success responses. Both list directions share one
103
- * shape; only the relationship that selected the rows differs.
104
- */
105
- export interface MobileServerFollowListResponse {
106
- accounts: MobileServerFollowListAccount[];
107
- /** `null` means the list is complete. */
108
- next_cursor: string | null;
109
- }
110
-
111
- /**
112
- * Success payloads for each signed `query`, keyed by request `type` — the signed counterpart to
113
- * {@link MobileServerPublicQueryResponseByType}.
114
- */
115
- export interface MobileServerSignedQueryResponseByType {
116
- followers: MobileServerFollowListResponse;
117
- following: MobileServerFollowListResponse;
118
- }
119
-
120
- /**
121
- * Full success response for a signed `query`: the {@link MobileServerSuccessResponse} envelope with the
122
- * query's payload inlined alongside `status`.
123
- */
124
- export type MobileServerSignedQuerySuccessResponse<
125
- T extends MobileServerSignedQueryRequestType =
126
- MobileServerSignedQueryRequestType,
127
- > = MobileServerSuccessResponse & MobileServerSignedQueryResponseByType[T];
@@ -11,12 +11,31 @@ export interface MobileServerProfilesInclude {
11
11
  /** Adds `follower_count` and `following_count` to every entry. Omitted or `false` leaves both absent. */
12
12
  follow_counts?: boolean;
13
13
  /**
14
- * Adds `follow_summary` to every entry, relative to the `view_as` subaccount. Unlike the signed follow
15
- * list reads, `view_as` is an unauthenticated claim on this public route.
14
+ * Adds `follow_summary` to every entry, relative to the `view_as` subaccount. As on every public route,
15
+ * `view_as` is an unauthenticated claim.
16
16
  */
17
17
  follow_summary?: { view_as: Hex };
18
18
  }
19
19
 
20
+ /**
21
+ * Params shared by the `followers` and `following` public queries: only the relationship that selects the
22
+ * rows differs between the two.
23
+ */
24
+ export interface MobileServerFollowListRequest {
25
+ /** The viewed Profile, i.e. the account whose Followers or Following are being listed. */
26
+ subaccount: Hex;
27
+ /**
28
+ * Viewer perspective the rows are resolved against. Omitted asks for no perspective, which drops
29
+ * `is_following` from every row and falls back to plain recency order. Like the `profiles` query's
30
+ * `view_as`, this is an unauthenticated claim on an unsigned route.
31
+ */
32
+ view_as?: Hex;
33
+ /** Opaque keyset cursor from a prior page's `next_cursor`. Omitted requests the first page. */
34
+ cursor?: string;
35
+ /** Page size, 1–50; the backend defaults to 25 when omitted. */
36
+ limit?: number;
37
+ }
38
+
20
39
  /**
21
40
  * Params for each unsigned `public_query`, keyed by request `type`.
22
41
  */
@@ -30,6 +49,8 @@ export interface MobileServerPublicQueryRequestByType {
30
49
  subaccounts: Hex[];
31
50
  include?: MobileServerProfilesInclude;
32
51
  };
52
+ followers: MobileServerFollowListRequest;
53
+ following: MobileServerFollowListRequest;
33
54
  feed: {
34
55
  /**
35
56
  * Minimum notional as a whole-dollar JSON integer (NOT an x18 string), at least $1,000. Omitted or
@@ -75,30 +96,20 @@ export type MobileServerPublicExecuteRequestType =
75
96
  keyof MobileServerPublicExecuteRequestByType;
76
97
 
77
98
  /**
78
- * Discriminant `type` values for signed `query` requests: the read-only subset of {@link MobileSignedInner}
79
- * tags. Unlike the public queries, these carry no separate params map — a signed request body *is* its inner
80
- * payload flattened with the envelope, so {@link MobileSignedInner} is the single source of truth for both
81
- * the fields and their significant order.
82
- */
83
- export type MobileServerSignedQueryRequestType = 'followers' | 'following';
84
-
85
- /**
86
- * Discriminant `type` values for signed `execute` requests: the write subset of {@link MobileSignedInner}
87
- * tags, i.e. everything that is not a signed query.
99
+ * Discriminant `type` values for signed `execute` requests. Every signed route the SDK calls is a write, so
100
+ * this is the full set of {@link MobileSignedInner} tags. Unlike the public queries these carry no separate
101
+ * params map — a signed request body *is* its inner payload flattened with the envelope, so
102
+ * {@link MobileSignedInner} is the single source of truth for both the fields and their significant order.
88
103
  */
89
- export type MobileServerExecuteRequestType = Exclude<
90
- MobileSignedInner['type'],
91
- MobileServerSignedQueryRequestType
92
- >;
104
+ export type MobileServerExecuteRequestType = MobileSignedInner['type'];
93
105
 
94
106
  /**
95
107
  * Wire `request_type` the backend echoes on failure envelopes, prefixed by the route that produced it:
96
- * `public_query_*` for unsigned queries, `public_execute_*` for unsigned writes, `execute_*` for signed
97
- * writes (e.g. `execute_set_username`), and `query_*` for signed reads (e.g. `query_followers`). The prefix
98
- * names the route, so it never carries the `mobile:` prefix that the EIP-712 method does.
108
+ * `public_query_*` for unsigned queries, `public_execute_*` for unsigned writes, and `execute_*` for signed
109
+ * writes (e.g. `execute_set_username`). The prefix names the route, so it never carries the `mobile:` prefix
110
+ * that the EIP-712 method does.
99
111
  */
100
112
  export type MobileServerRequestType =
101
113
  | `public_query_${MobileServerPublicQueryRequestType}`
102
114
  | `public_execute_${MobileServerPublicExecuteRequestType}`
103
- | `execute_${MobileServerExecuteRequestType}`
104
- | `query_${MobileServerSignedQueryRequestType}`;
115
+ | `execute_${MobileServerExecuteRequestType}`;
@@ -1 +0,0 @@
1
- {"version":3,"file":"MobileClient-C9S_o_eC.cjs","names":["subaccountToHex","mapMobileProfilesIncludeToServer","mapMobilePublicProfile","mapMobileFeedPage","mapMobileNotificationPreferences","mapMobileRegisteredWallet","mapMobileNotificationPreferencesToServer","mapMobileFollowListPage","mapMobileFollowMutationResult","WalletNotProvidedError","buildSignedMobileRequest","isMobileServerFailureResponse","MobileServerFailureError","isMobileServerSuccessResponse"],"sources":["../src/MobileClient.ts"],"sourcesContent":["import {\n getNadoClientTypeHeaders,\n subaccountToHex,\n WalletClientWithAccount,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport {\n mapMobileFeedPage,\n mapMobileFollowListPage,\n mapMobileFollowMutationResult,\n mapMobileNotificationPreferences,\n mapMobileNotificationPreferencesToServer,\n mapMobileProfilesIncludeToServer,\n mapMobilePublicProfile,\n mapMobileRegisteredWallet,\n} from './dataMappers';\nimport {\n buildSignedMobileRequest,\n MobileSignedInner,\n MobileSignedInnerByType,\n MobileSignedInnerParams,\n MobileSignedRequest,\n} from './signing';\nimport {\n GetMobileFeedParams,\n GetMobileFollowersParams,\n GetMobileFollowingParams,\n GetMobileNotificationPreferencesParams,\n GetMobileProfilesParams,\n GetMobileRegisteredWalletParams,\n GetMobileUsernameAvailabilityParams,\n MobileFeedPage,\n MobileFollowListPage,\n MobileFollowMutationResult,\n MobileNotificationPreferences,\n MobilePublicProfile,\n MobileRegisteredWallet,\n MobileRegisterExpoTokenParams,\n MobileSetFollowParams,\n MobileSetPrivateModeParams,\n MobileSetUsernameParams,\n MobileSignedRequestParams,\n MobileUnregisterExpoTokenParams,\n MobileUpdateNotificationPreferencesParams,\n MobileUsernameAvailability,\n} from './types/clientTypes';\nimport { MobileServerFailureError } from './types/MobileServerFailureError';\nimport { MobileServerSuccessResponse } from './types/serverBaseTypes';\nimport {\n MobileServerExecuteResult,\n MobileServerExecuteSuccessResponse,\n MobileServerPublicExecuteRequest,\n} from './types/serverExecuteTypes';\nimport {\n MobileServerPublicQueryRequest,\n MobileServerPublicQuerySuccessResponse,\n MobileServerSignedQuerySuccessResponse,\n} from './types/serverQueryTypes';\nimport {\n MobileServerExecuteRequestType,\n MobileServerPublicQueryRequestByType,\n MobileServerPublicQueryRequestType,\n MobileServerSignedQueryRequestType,\n} from './types/serverRequestTypes';\nimport {\n isMobileServerFailureResponse,\n isMobileServerSuccessResponse,\n} from './utils/serverResponseGuards';\n\n/**\n * Options for constructing a {@link MobileClient}.\n */\nexport interface MobileClientOpts {\n /**\n * Base URL of the mobile service API, e.g. {@link MOBILE_CLIENT_ENDPOINTS}.\n */\n url: string;\n /**\n * Wallet client used to sign requests.\n */\n walletClient?: WalletClientWithAccount;\n /**\n * If provided, this signer is used instead of `walletClient` for all signed requests.\n */\n linkedSignerWalletClient?: WalletClientWithAccount;\n /**\n * If provided, identifies the calling client, sent as a header with every request.\n */\n clientType?: string;\n}\n\n/**\n * Client for the Nado mobile service API: usernames, public profile lookups, the global trade feed, the\n * follower/following graph, privacy settings, and push notification device/preference management.\n */\nexport class MobileClient {\n readonly opts: MobileClientOpts;\n readonly axiosInstance: AxiosInstance;\n\n constructor(opts: MobileClientOpts) {\n this.opts = opts;\n this.axiosInstance = axios.create({\n withCredentials: true,\n // We have custom logic to validate response status and create an appropriate error\n validateStatus: () => true,\n headers: getNadoClientTypeHeaders(opts.clientType),\n });\n }\n\n /**\n * Sets the linked signer for requests\n *\n * @param linkedSignerWalletClient The linkedSigner to use for all signatures. Set to null to revert to the chain signer\n */\n public setLinkedSigner(\n linkedSignerWalletClient: WalletClientWithAccount | null,\n ) {\n this.opts.linkedSignerWalletClient = linkedSignerWalletClient ?? undefined;\n }\n\n /*\n Public queries\n */\n\n /**\n * Checks whether a username derived from the given display name is available to claim.\n */\n async getUsernameAvailability(\n params: GetMobileUsernameAvailabilityParams,\n ): Promise<MobileUsernameAvailability> {\n const body: MobileServerPublicQueryRequest<'username_availability'> = {\n type: 'username_availability',\n display_name: params.displayName,\n };\n const data = await this.publicQuery(body);\n return { username: data.username, available: data.available };\n }\n\n /**\n * Looks up public profiles, optionally with follower totals and a follow summary. Returns one profile per\n * requested subaccount, in the requested order, so callers can correlate positionally. Every non-isolated\n * subaccount resolves, with `username` and `displayName` `null` until a username is claimed. Private Mode\n * does not hide the profile itself, only the account's activity.\n *\n * This is the only profile route, so use it for a single subaccount too. It is unsigned, which means\n * `include.followSummary.viewAs` is an unauthenticated claim: the follow *lists* remain signed precisely\n * because they prove the viewer.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_PROFILES_REQUEST` if `subaccounts` is empty,\n * holds duplicates, or exceeds `MOBILE_PROFILES_MAX_BATCH_SIZE` (25), or `PROFILE_NOT_FOUND` if any\n * requested subaccount — or the follow summary's `viewAs` — is in the engine-created isolated namespace.\n * One isolated member fails the whole batch rather than being omitted.\n */\n async getProfiles(\n params: GetMobileProfilesParams,\n ): Promise<MobilePublicProfile[]> {\n const body: MobileServerPublicQueryRequest<'profiles'> = {\n type: 'profiles',\n subaccounts: params.subaccounts.map(subaccountToHex),\n include: params.include\n ? mapMobileProfilesIncludeToServer(params.include)\n : undefined,\n };\n const data = await this.publicQuery(body);\n return data.profiles.map(mapMobilePublicProfile);\n }\n\n /**\n * Fetches a page of the global trade feed: public perpetual trades, newest first, optionally filtered by a\n * whole-dollar minimum notional (omitted means unfiltered). Trades by subaccounts that have not claimed a\n * username are included with `null` name fields; only private accounts are filtered out. The feed is\n * best-effort rather than authoritative history, and pagination is live (not snapshot), so deduplicate pages\n * by {@link MobileFeedTrade.orderDigest}.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_FEED_FILTER` if `minimumNotional` or\n * `limit` is outside its allowed domain (fix the request; do not retry unchanged), or\n * `INVALID_FEED_CURSOR` if the cursor is malformed or was issued for a different `minimumNotional`\n * (discard the cursor and restart from the first page).\n */\n async getFeed(params: GetMobileFeedParams = {}): Promise<MobileFeedPage> {\n const body: MobileServerPublicQueryRequest<'feed'> = {\n type: 'feed',\n minimum_notional: params.minimumNotional,\n limit: params.limit,\n cursor: params.cursor,\n };\n const data = await this.publicQuery(body);\n return mapMobileFeedPage(data);\n }\n\n /**\n * Fetches the push notification preferences of the wallet that owns the given Expo push token. Unsigned —\n * the token identifies the wallet on its own. Falls back to the backend's defaults if the wallet has never\n * updated its preferences.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_EXPO_TOKEN` if the token is malformed, or is\n * not currently registered to a wallet.\n */\n async getNotificationPreferences(\n params: GetMobileNotificationPreferencesParams,\n ): Promise<MobileNotificationPreferences> {\n const body: MobileServerPublicQueryRequest<'notification_preferences'> = {\n type: 'notification_preferences',\n expo_token: params.expoToken,\n };\n const data = await this.publicQuery(body);\n return mapMobileNotificationPreferences(data.preferences);\n }\n\n /**\n * Resolves the wallet that an Expo push token is currently registered to, along with the redacted metadata\n * of the device that registered it. Unsigned — the token identifies the wallet on its own. Use it to check\n * whether a locally held token is still active and which wallet currently owns it, since registering the\n * same token under another wallet transfers ownership.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_EXPO_TOKEN` if the token is malformed, or is\n * not currently registered to a wallet — including a token that was unregistered. The backend does not\n * distinguish those cases.\n */\n async getRegisteredWallet(\n params: GetMobileRegisteredWalletParams,\n ): Promise<MobileRegisteredWallet> {\n const body: MobileServerPublicQueryRequest<'registered_wallet'> = {\n type: 'registered_wallet',\n expo_token: params.expoToken,\n };\n const data = await this.publicQuery(body);\n return mapMobileRegisteredWallet(data);\n }\n\n /*\n Public executes\n */\n\n /**\n * Unregisters an Expo push token, stopping delivery to that device. Unsigned, so it still works at logout\n * when a wallet signature may no longer be obtainable. Idempotent: unregistering an inactive or unknown\n * well-formed token succeeds.\n *\n * A registration that commits after this call re-activates the token, so stop or await any in-flight\n * {@link MobileClient.registerExpoToken} before unregistering.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_EXPO_TOKEN` if the token is malformed.\n */\n async unregisterExpoToken(\n params: MobileUnregisterExpoTokenParams,\n ): Promise<MobileServerSuccessResponse> {\n const body: MobileServerPublicExecuteRequest<'unregister_expo_token'> = {\n type: 'unregister_expo_token',\n expo_token: params.expoToken,\n };\n return this.publicExecute(body);\n }\n\n /**\n * Replaces the push notification preferences of the wallet that owns the given Expo push token. Possession\n * of an active token is the credential rather than a signature, so anyone holding the token can overwrite\n * that wallet's preferences. The backend requires `schemaVersion` of 1, exactly one entry per known\n * category, and empty `scopes` on every entry.\n *\n * Writes are last-write-wins on commit order rather than ordered by a client nonce, so callers must\n * serialize their own preference writes.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_PREFERENCES` if those rules are violated, or\n * `INVALID_EXPO_TOKEN` if the token is malformed or is not currently registered to a wallet.\n */\n async updateNotificationPreferences(\n params: MobileUpdateNotificationPreferencesParams,\n ): Promise<MobileServerSuccessResponse> {\n const body: MobileServerPublicExecuteRequest<'update_preferences'> = {\n type: 'update_preferences',\n expo_token: params.expoToken,\n preferences: mapMobileNotificationPreferencesToServer(params.preferences),\n };\n return this.publicExecute(body);\n }\n\n /*\n Signed queries\n */\n\n /**\n * Fetches a page of the accounts that follow the given Profile.\n *\n * Familiar accounts (those the signing Viewer follows) come first, unfamiliar second, and within each group\n * the newest listed relationship first with a bytes32 tie-break. The grouping is evaluated per request\n * against the live graph, so following an account from inside the list moves it between groups on the next\n * page — deduplicate by subaccount and do not re-sort locally.\n *\n * @throws {MobileServerFailureError} With error code `PROFILE_NOT_FOUND` if the viewed Profile is isolated,\n * `INVALID_FOLLOW_CURSOR` if the cursor is malformed or was issued for a different Viewer, Profile, or list\n * direction (discard it and restart from the first page), or `INVALID_FOLLOW_LIMIT` if `limit` is outside\n * 1–50.\n */\n async getFollowers(\n params: GetMobileFollowersParams,\n ): Promise<MobileFollowListPage> {\n const signedRequest = await this.getSignedRequest('followers', params, {\n subaccount: subaccountToHex(params.target),\n cursor: params.cursor ?? null,\n limit: params.limit ?? null,\n });\n const data = await this.signedQuery(signedRequest);\n return mapMobileFollowListPage(data);\n }\n\n /**\n * Fetches a page of the accounts the given Profile follows. Ordering, cursor rules, and errors match\n * {@link MobileClient.getFollowers}. When the Viewer reads their own Following list every row is familiar,\n * so every `isFollowing` is `true`.\n */\n async getFollowing(\n params: GetMobileFollowingParams,\n ): Promise<MobileFollowListPage> {\n const signedRequest = await this.getSignedRequest('following', params, {\n subaccount: subaccountToHex(params.target),\n cursor: params.cursor ?? null,\n limit: params.limit ?? null,\n });\n const data = await this.signedQuery(signedRequest);\n return mapMobileFollowListPage(data);\n }\n\n /*\n Signed executes\n */\n\n /**\n * Sets a subaccount's username, derived from the given display name. Upserts: the same call claims a first\n * username and renames an existing one, so callers never need to read the current identity first.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_DISPLAY_NAME` if the display name violates\n * `MOBILE_DISPLAY_NAME_PATTERN`, `USERNAME_UNAVAILABLE` if the derived username is reserved or already\n * taken by another subaccount, `INVALID_IDENTITY_TARGET` if the sender is in the engine-created isolated\n * namespace, or `STALE_IDENTITY_UPDATE` if another identity write for this subaccount committed with a\n * later nonce (re-read the identity before retrying).\n */\n async setUsername(\n params: MobileSetUsernameParams,\n ): Promise<MobileServerSuccessResponse> {\n const signedRequest = await this.getSignedRequest('set_username', params, {\n display_name: params.displayName,\n });\n return this.execute(signedRequest);\n }\n\n /**\n * Sets whether a subaccount's profile is private.\n */\n async setPrivateMode(\n params: MobileSetPrivateModeParams,\n ): Promise<MobileServerSuccessResponse> {\n const signedRequest = await this.getSignedRequest(\n 'set_private_mode',\n params,\n { private_mode: params.privateMode },\n );\n return this.execute(signedRequest);\n }\n\n /**\n * Registers an Expo push token for the wallet, transferring active ownership of the token if another\n * wallet had registered it. Idempotent per `(wallet, token)`.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_EXPO_TOKEN` if the token is not a valid Expo\n * push token, or `INVALID_DEVICE_METADATA` if `locale` (max 35 chars) or `appVersion` (max 64 chars) is\n * too long.\n */\n async registerExpoToken(\n params: MobileRegisterExpoTokenParams,\n ): Promise<MobileServerSuccessResponse> {\n const signedRequest = await this.getSignedRequest(\n 'register_expo_token',\n params,\n {\n expo_token: params.expoToken,\n platform: params.platform,\n locale: params.locale ?? null,\n app_version: params.appVersion ?? null,\n },\n );\n return this.execute(signedRequest);\n }\n\n /**\n * Sets whether the signing subaccount follows a Profile. Both directions are idempotent: following again\n * keeps the original relationship creation time, so it does not move the account in recency order, and\n * unfollowing a relationship that does not exist succeeds with `isFollowing: false`. Unfollowing deletes\n * the relationship rather than deactivating it, so a later follow gets a new creation time and moves the\n * account to the front of recency order.\n *\n * Only `isFollowing: true` is checked against the canonical Query DB subaccount index, so unfollowing still\n * works while that index lags.\n *\n * @throws {MobileServerFailureError} With error code `INVALID_FOLLOW_TARGET` if the target is the sender or\n * either party is isolated, `FOLLOWER_NOT_ELIGIBLE` if the sender is not yet in the canonical Query DB\n * subaccount index, or `FOLLOWING_NOT_FOUND` if the target is not. Both index errors are transient for an\n * account that is being recorded, so they are retryable after catch-up — unlike `INVALID_FOLLOW_TARGET`.\n */\n async setFollow(\n params: MobileSetFollowParams,\n ): Promise<MobileFollowMutationResult> {\n const signedRequest = await this.getSignedRequest('set_follow', params, {\n subaccount: subaccountToHex(params.target),\n is_following: params.isFollowing,\n });\n const data = await this.execute(signedRequest);\n return mapMobileFollowMutationResult(data);\n }\n\n /*\n Base Fns\n */\n\n // Returns the request narrowed to `type` so `execute` and `signedQuery` can infer their response from the\n // request they are given, instead of being told the type a second time at the call site.\n protected async getSignedRequest<T extends MobileSignedInner['type']>(\n type: T,\n params: MobileSignedRequestParams,\n innerParams: MobileSignedInnerParams<T>,\n ): Promise<MobileSignedRequest<MobileSignedInnerByType<T>>> {\n // Use the linked signer if provided, otherwise use the default signer provided to the client\n const walletClient =\n this.opts.linkedSignerWalletClient ?? this.opts.walletClient;\n\n if (walletClient == null) {\n throw new WalletNotProvidedError();\n }\n\n const inner = {\n type,\n ...innerParams,\n } as unknown as MobileSignedInnerByType<T>;\n return buildSignedMobileRequest({ ...params, walletClient, inner });\n }\n\n // Spelled out as an intersection rather than `MobileServerPublicQueryRequest<T>`: the latter is an indexed\n // access on a mapped type, which is not an inference site, so `T` would always widen to the full union.\n protected async publicQuery<T extends MobileServerPublicQueryRequestType>(\n body: { type: T } & MobileServerPublicQueryRequestByType[T],\n ): Promise<MobileServerPublicQuerySuccessResponse<T>> {\n const response = await this.axiosInstance.post<unknown>(\n `${this.opts.url}/mobile/public_query`,\n body,\n );\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus throws on failure responses so the cast to the success response is acceptable here\n return response.data as MobileServerPublicQuerySuccessResponse<T>;\n }\n\n protected async publicExecute(\n body: MobileServerPublicExecuteRequest,\n ): Promise<MobileServerSuccessResponse> {\n const response = await this.axiosInstance.post<MobileServerExecuteResult>(\n `${this.opts.url}/mobile/public_execute`,\n body,\n );\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus catches the failure result and throws the error, so the cast to the success response is acceptable here\n return response.data as MobileServerSuccessResponse;\n }\n\n // `T` is inferred from the body's `type` rather than declared by the caller, for the same reason\n // `publicQuery` spells its body out as an intersection: an indexed access is not an inference site.\n protected async execute<T extends MobileServerExecuteRequestType>(\n body: MobileSignedRequest & { type: T },\n ): Promise<MobileServerExecuteSuccessResponse<T>> {\n const response = await this.axiosInstance.post<MobileServerExecuteResult>(\n `${this.opts.url}/mobile/execute`,\n body,\n );\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus catches the failure result and throws the error, so the cast to the success response is acceptable here\n return response.data as MobileServerExecuteSuccessResponse<T>;\n }\n\n protected async signedQuery<T extends MobileServerSignedQueryRequestType>(\n body: MobileSignedRequest & { type: T },\n ): Promise<MobileServerSignedQuerySuccessResponse<T>> {\n const response = await this.axiosInstance.post<unknown>(\n `${this.opts.url}/mobile/query`,\n body,\n );\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus throws on failure responses so the cast to the success response is acceptable here\n return response.data as MobileServerSignedQuerySuccessResponse<T>;\n }\n\n /**\n * Validates the HTTP status before interpreting the body. Unlike the engine, the mobile backend returns\n * failure envelopes with non-2xx statuses (e.g. 404 for `PROFILE_NOT_FOUND`), so a non-2xx response with a\n * failure envelope still throws the typed error; anything else is a transport-level error.\n */\n private checkResponseStatus(response: AxiosResponse<unknown>) {\n if (response.status >= 200 && response.status < 300) {\n return;\n }\n if (isMobileServerFailureResponse(response.data)) {\n throw new MobileServerFailureError(response.data, response.status);\n }\n throw new Error(\n `Unexpected response from mobile service: ${response.status} ${response.statusText}. Data: ${JSON.stringify(response.data)}`,\n );\n }\n\n private checkServerStatus(response: AxiosResponse<unknown>) {\n const { data } = response;\n\n if (isMobileServerFailureResponse(data)) {\n throw new MobileServerFailureError(data, response.status);\n }\n if (!isMobileServerSuccessResponse(data)) {\n throw new Error(\n `Unexpected response from mobile service: missing success envelope. Data: ${JSON.stringify(data)}`,\n );\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"canonicalize-BebHhHcF.d.ts","names":[],"sources":["../src/signing/src/signing/canonicalize.ts"],"mappings":";;;;;AASA;;;;;iBAAgB,uBAAA,CACd,KAAA,EAAO,iBAAA,GACN,iBAAiB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"canonicalize-CIDJLLgg.d.cts","names":[],"sources":["../src/signing/src/signing/canonicalize.ts"],"mappings":";;;;;AASA;;;;;iBAAgB,uBAAA,CACd,KAAA,EAAO,iBAAA,GACN,iBAAiB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientTypes-2I3x4TTt.d.ts","names":[],"sources":["../src/types/src/types/clientTypes.ts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientTypes-tLld8E6J.d.cts","names":[],"sources":["../src/types/src/types/clientTypes.ts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"eip712MethodByType-2-vyN5SU.d.cts","names":[],"sources":["../src/signing/src/signing/eip712MethodByType.ts"],"mappings":";;;;;AAKA;cAAa,4BAAA,EAA8B,MAAM,CAC/C,iBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"eip712MethodByType-CAVpvZoS.d.ts","names":[],"sources":["../src/signing/src/signing/eip712MethodByType.ts"],"mappings":";;;;;AAKA;cAAa,4BAAA,EAA8B,MAAM,CAC/C,iBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"payloadHash-BVPYKdk4.d.cts","names":[],"sources":["../src/signing/src/signing/payloadHash.ts"],"mappings":";;;;;;AASA;;;iBAAgB,oBAAA,CAAqB,KAAA,EAAO,iBAAA,GAAoB,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"payloadHash-DMqE5aMo.d.ts","names":[],"sources":["../src/signing/src/signing/payloadHash.ts"],"mappings":";;;;;;AASA;;;iBAAgB,oBAAA,CAAqB,KAAA,EAAO,iBAAA,GAAoB,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverModelTypes-DV-eARP8.d.ts","names":[],"sources":["../src/types/src/types/serverModelTypes.ts"],"mappings":";;;;;;AAMA;KAAY,0BAAA;;;AAA0B;KAK1B,0BAAA;;;;AAA0B;AAatC;UAAiB,2BAAA;EACf,UAAA,EAAY,GAAG;EACf,QAAA;EACA,YAAA;EAFY;EAIZ,UAAA;AAAA;;;AAAU;AASZ;;;UAAiB,yBAAA;EACf,YAAA;EAEA;EAAA,iBAAA;EAEa;EAAb,WAAA,EAAa,2BAA2B;AAAA;AAY1C;;;;;;;;;AAAA,UAAiB,mBAAA;EACf,UAAA,EAAY,GAAA;EACZ,QAAA;EACA,YAAA;EACA,YAAA;EAQ0C;AAQ5C;;;EAXE,cAAA;EACA,eAAA;EAWU;EATV,cAAA,GAAiB,yBAAyB;AAAA;;AAY5B;AAQhB;;;UAZiB,6BAAA;EACf,QAAA,EAAU,2BAA2B;EACrC,YAAA;EAmB8D;EAjB9D,cAAA;AAAA;AAiB8D;AAMhE;;;;AANgE,KATpD,gCAAA,GAAmC,WAAW;AA0B1D;;;;AAAA,cApBa,qCAAA;AA2Bb;;;;AAAA,cAlBa,kCAAA;;;;KAWD,6BAAA,WACF,kCAAkC;AAQL;AAOvC;;;AAPuC,UAFtB,uBAAA;EACf,SAAA,EAAW,gCAAA;EACX,MAAA,EAAQ,6BAA6B;AAAA;;;AAY4B;AAOnE;cAZa,wBAAA;;;;KAKD,oBAAA,WAA+B,wBAAwB;;;AAS/C;AAQpB;;UAViB,sBAAA;EACf,IAAA,EAAM,oBAAoB;EAC1B,kBAAA;AAAA;;;;;;UAQe,qBAAA,SAA8B,2BAAA;EAG7C;EADA,YAAA,EAAc,GAAA;EACd,UAAA;EAMA;EAJA,QAAA;EAKQ;EAHR,QAAA;EAIU;EAFV,aAAA;EACA,MAAA,EAAQ,sBAAA;EACR,QAAA,EAAU,uBAAA;EAIE;EAFZ,YAAA;EASiD;EAPjD,YAAA;AAAA;;;;;KAOU,uCAAA;EACN,IAAA;EAAoB,UAAA,EAAY,GAAG;AAAA;EACnC,IAAA;EAAiB,UAAA;AAAA;;;;UAKN,0CAAA;EACf,QAAA,EAAU,0BAAA;EACV,OAAA;EACA,MAAA,EAAQ,uCAAuC;AAAA;;;;;UAOhC,mCAAA;EAGH;EADZ,cAAA;EACA,UAAA,EAAY,0CAA0C;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverModelTypes-KSm0CAcF.d.cts","names":[],"sources":["../src/types/src/types/serverModelTypes.ts"],"mappings":";;;;;;AAMA;KAAY,0BAAA;;;AAA0B;KAK1B,0BAAA;;;;AAA0B;AAatC;UAAiB,2BAAA;EACf,UAAA,EAAY,GAAG;EACf,QAAA;EACA,YAAA;EAFY;EAIZ,UAAA;AAAA;;;AAAU;AASZ;;;UAAiB,yBAAA;EACf,YAAA;EAEA;EAAA,iBAAA;EAEa;EAAb,WAAA,EAAa,2BAA2B;AAAA;AAY1C;;;;;;;;;AAAA,UAAiB,mBAAA;EACf,UAAA,EAAY,GAAA;EACZ,QAAA;EACA,YAAA;EACA,YAAA;EAQ0C;AAQ5C;;;EAXE,cAAA;EACA,eAAA;EAWU;EATV,cAAA,GAAiB,yBAAyB;AAAA;;AAY5B;AAQhB;;;UAZiB,6BAAA;EACf,QAAA,EAAU,2BAA2B;EACrC,YAAA;EAmB8D;EAjB9D,cAAA;AAAA;AAiB8D;AAMhE;;;;AANgE,KATpD,gCAAA,GAAmC,WAAW;AA0B1D;;;;AAAA,cApBa,qCAAA;AA2Bb;;;;AAAA,cAlBa,kCAAA;;;;KAWD,6BAAA,WACF,kCAAkC;AAQL;AAOvC;;;AAPuC,UAFtB,uBAAA;EACf,SAAA,EAAW,gCAAA;EACX,MAAA,EAAQ,6BAA6B;AAAA;;;AAY4B;AAOnE;cAZa,wBAAA;;;;KAKD,oBAAA,WAA+B,wBAAwB;;;AAS/C;AAQpB;;UAViB,sBAAA;EACf,IAAA,EAAM,oBAAoB;EAC1B,kBAAA;AAAA;;;;;;UAQe,qBAAA,SAA8B,2BAAA;EAG7C;EADA,YAAA,EAAc,GAAA;EACd,UAAA;EAMA;EAJA,QAAA;EAKQ;EAHR,QAAA;EAIU;EAFV,aAAA;EACA,MAAA,EAAQ,sBAAA;EACR,QAAA,EAAU,uBAAA;EAIE;EAFZ,YAAA;EASiD;EAPjD,YAAA;AAAA;;;;;KAOU,uCAAA;EACN,IAAA;EAAoB,UAAA,EAAY,GAAG;AAAA;EACnC,IAAA;EAAiB,UAAA;AAAA;;;;UAKN,0CAAA;EACf,QAAA,EAAU,0BAAA;EACV,OAAA;EACA,MAAA,EAAQ,uCAAuC;AAAA;;;;;UAOhC,mCAAA;EAGH;EADZ,cAAA;EACA,UAAA,EAAY,0CAA0C;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverQueryTypes-B9OOpiJB.d.cts","names":[],"sources":["../src/types/src/types/serverQueryTypes.ts"],"mappings":";;;;;;;;AAkBA;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;;;;UAMd,wBAAA;EACf,MAAA,EAAQ,qBAAqB;EAjB0B;;;AAE9C;AAOX;EAcE,WAAA;AAAA;;AAb6B;AAM/B;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,IAAA,EAAM,wBAAA;EACN,wBAAA,EAA0B,2CAAA;EAC1B,iBAAA,EAAmB,oCAAA;AAAA;;;;;;KAQT,sCAAA,WACA,kCAAA,GACR,kCAAA,IACA,2BAAA,GAA8B,qCAAA,CAAsC,CAAA;;;;;UAMvD,8BAAA;EACf,QAAA,EAAU,6BAA6B;EArB7B;EAuBV,WAAA;AAAA;;;;;UAOe,qCAAA;EACf,SAAA,EAAW,8BAAA;EACX,SAAA,EAAW,8BAA8B;AAAA;;;;;KAO/B,sCAAA,WACA,kCAAA,GACR,kCAAA,IACA,2BAAA,GAA8B,qCAAA,CAAsC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverQueryTypes-LygPrZn7.d.ts","names":[],"sources":["../src/types/src/types/serverQueryTypes.ts"],"mappings":";;;;;;;;AAkBA;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;;;;UAMd,wBAAA;EACf,MAAA,EAAQ,qBAAqB;EAjB0B;;;AAE9C;AAOX;EAcE,WAAA;AAAA;;AAb6B;AAM/B;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,IAAA,EAAM,wBAAA;EACN,wBAAA,EAA0B,2CAAA;EAC1B,iBAAA,EAAmB,oCAAA;AAAA;;;;;;KAQT,sCAAA,WACA,kCAAA,GACR,kCAAA,IACA,2BAAA,GAA8B,qCAAA,CAAsC,CAAA;;;;;UAMvD,8BAAA;EACf,QAAA,EAAU,6BAA6B;EArB7B;EAuBV,WAAA;AAAA;;;;;UAOe,qCAAA;EACf,SAAA,EAAW,8BAAA;EACX,SAAA,EAAW,8BAA8B;AAAA;;;;;KAO/B,sCAAA,WACA,kCAAA,GACR,kCAAA,IACA,2BAAA,GAA8B,qCAAA,CAAsC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverRequestTypes-BDXIPjtw.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;;;;UAMhB,oCAAA;EACf,qBAAA;IAAyB,YAAA;EAAA;EACzB,QAAA;IAaE;;;;IARA,WAAA,EAAa,GAAA;IACb,OAAA,GAAU,2BAA2B;EAAA;EAEvC,IAAA;IAe+B;AAMjC;;;IAhBI,gBAAA,WAiBwC;IAfxC,KAAA;IAuBmD;;;;IAlBnD,MAAA;EAAA;EAEF,wBAAA;IAA4B,UAAA;EAAA;EAC5B,iBAAA;IAAqB,UAAA;EAAA;AAAA;;;AA2BuB;KArBlC,kCAAA,SACJ,oCAAoC;;;;AA4BE;AAM9C;;UA1BiB,sCAAA;EACf,qBAAA;IAAyB,UAAA;EAAA;EACzB,kBAAA;IACE,UAAA;IACA,WAAA,EAAa,mCAAmC;EAAA;AAAA;;AAwBhB;AASpC;KA1BY,oCAAA,SACJ,sCAAsC;;;;;;;KAQlC,kCAAA;;;;;KAMA,8BAAA,GAAiC,OAAA,CAC3C,iBAAA,UACA,kCAAA;AAa6C;;;;;;AAAA,KAJnC,uBAAA,mBACQ,kCAAA,uBACE,oCAAA,gBACP,8BAAA,cACF,kCAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverRequestTypes-q4xTJHk0.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;;;;UAMhB,oCAAA;EACf,qBAAA;IAAyB,YAAA;EAAA;EACzB,QAAA;IAaE;;;;IARA,WAAA,EAAa,GAAA;IACb,OAAA,GAAU,2BAA2B;EAAA;EAEvC,IAAA;IAe+B;AAMjC;;;IAhBI,gBAAA,WAiBwC;IAfxC,KAAA;IAuBmD;;;;IAlBnD,MAAA;EAAA;EAEF,wBAAA;IAA4B,UAAA;EAAA;EAC5B,iBAAA;IAAqB,UAAA;EAAA;AAAA;;;AA2BuB;KArBlC,kCAAA,SACJ,oCAAoC;;;;AA4BE;AAM9C;;UA1BiB,sCAAA;EACf,qBAAA;IAAyB,UAAA;EAAA;EACzB,kBAAA;IACE,UAAA;IACA,WAAA,EAAa,mCAAmC;EAAA;AAAA;;AAwBhB;AASpC;KA1BY,oCAAA,SACJ,sCAAsC;;;;;;;KAQlC,kCAAA;;;;;KAMA,8BAAA,GAAiC,OAAA,CAC3C,iBAAA,UACA,kCAAA;AAa6C;;;;;;AAAA,KAJnC,uBAAA,mBACQ,kCAAA,uBACE,oCAAA,gBACP,8BAAA,cACF,kCAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-B8lDIhBP.d.ts","names":[],"sources":["../src/signing/src/signing/types.ts"],"mappings":";;;;;;;;AAmBA;;;;;;;;;;;;KAAY,iBAAA;EACN,IAAA;EAAsB,YAAA;AAAA;EACtB,IAAA;EAA0B,YAAA;AAAA;EAE1B,IAAA;EACA,UAAA;EACA,QAAA,EAAU,0BAAA;EAGV,MAAA;EACA,WAAA;AAAA;EAGA,IAAA;EACA,UAAA,EAAY,GAAA,EAUZ;EARA,YAAA;AAAA;EAGA,IAAA;EACA,UAAA,EAAY,GAAA,EAYZ;EAVA,MAAA,iBAUK;EARL,KAAA;AAAA;EAGA,IAAA;EACA,UAAA,EAAY,GAAA,EAWR;EATJ,MAAA,iBASJ;EAPI,KAAA;AAAA;;;;KAMM,uBAAA,WAAkC,iBAAA,YAC5C,OAAA,CAAQ,iBAAA;EAAqB,IAAA,EAAM,CAAA;AAAA;;AAAC;AAMtC;;KAAY,uBAAA,WAAkC,iBAAA,YAA6B,IAAA,CACzE,uBAAA,CAAwB,CAAA;;;;;KAQd,mBAAA,WACA,iBAAA,GAAoB,iBAAA,IAC5B,CAAA;EACF,SAAA,EAAW,GAAA;EACX,MAAA,EAAQ,GAAA;EACR,KAAA;AAAA;;;;UAMe,8BAAA,SAAuC,yBAAA;EACtD,YAAA,EAAc,uBAAA;EACd,KAAA,EAAO,iBAAA;EAbsB;;;EAiB7B,KAAA;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-CClB00EN.d.cts","names":[],"sources":["../src/signing/src/signing/types.ts"],"mappings":";;;;;;;;AAmBA;;;;;;;;;;;;KAAY,iBAAA;EACN,IAAA;EAAsB,YAAA;AAAA;EACtB,IAAA;EAA0B,YAAA;AAAA;EAE1B,IAAA;EACA,UAAA;EACA,QAAA,EAAU,0BAAA;EAGV,MAAA;EACA,WAAA;AAAA;EAGA,IAAA;EACA,UAAA,EAAY,GAAA,EAUZ;EARA,YAAA;AAAA;EAGA,IAAA;EACA,UAAA,EAAY,GAAA,EAYZ;EAVA,MAAA,iBAUK;EARL,KAAA;AAAA;EAGA,IAAA;EACA,UAAA,EAAY,GAAA,EAWR;EATJ,MAAA,iBASJ;EAPI,KAAA;AAAA;;;;KAMM,uBAAA,WAAkC,iBAAA,YAC5C,OAAA,CAAQ,iBAAA;EAAqB,IAAA,EAAM,CAAA;AAAA;;AAAC;AAMtC;;KAAY,uBAAA,WAAkC,iBAAA,YAA6B,IAAA,CACzE,uBAAA,CAAwB,CAAA;;;;;KAQd,mBAAA,WACA,iBAAA,GAAoB,iBAAA,IAC5B,CAAA;EACF,SAAA,EAAW,GAAA;EACX,MAAA,EAAQ,GAAA;EACR,KAAA;AAAA;;;;UAMe,8BAAA,SAAuC,yBAAA;EACtD,YAAA,EAAc,uBAAA;EACd,KAAA,EAAO,iBAAA;EAbsB;;;EAiB7B,KAAA;AAAA"}