@domino-sdk/relay 1.68.0 → 1.70.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 (78) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/build.mjs +3 -0
  3. package/dist/{accounts-DnpKoJCo.d.ts → accounts-B49TGZLk.d.ts} +25 -5
  4. package/dist/{action-9Xl0StBg.d.ts → action-BDFKqGlH.d.ts} +3 -2
  5. package/dist/{attempt-captures-DMNFMYFb.d.ts → attempt-captures-Dn-oGE1o.d.ts} +4 -3
  6. package/dist/authoring.d.ts +218 -43
  7. package/dist/authoring.js +76 -18
  8. package/dist/{automatic-outcomes-CQ3vpiQl.d.ts → automatic-outcomes-DeRyox-X.d.ts} +11 -3
  9. package/dist/avatar.d.ts +2 -1
  10. package/dist/browser.d.ts +15 -14
  11. package/dist/browser.js +11 -11
  12. package/dist/{capability-error-CuI_F7yM.d.ts → capability-error-db7kO8-P.d.ts} +2 -1
  13. package/dist/{catalog-BLGie8Lh.d.ts → catalog-CR_2iacf.d.ts} +11 -3
  14. package/dist/{chunk-5AKD4ZF3.js → chunk-25WA4XYZ.js} +9 -3
  15. package/dist/{chunk-6UBFSMCM.js → chunk-2GVGZ7AN.js} +1 -1
  16. package/dist/{chunk-SD74HD75.js → chunk-3DUNFRKJ.js} +9 -9
  17. package/dist/{chunk-7YSVZA7A.js → chunk-4BBDHTBF.js} +1 -1
  18. package/dist/{chunk-6YTSRWRB.js → chunk-4VDRNYUG.js} +83 -11
  19. package/dist/{chunk-P4TPW4SY.js → chunk-5RLIPTL7.js} +1 -1
  20. package/dist/{chunk-MEUAJIVO.js → chunk-BJ2W5ZVQ.js} +2 -2
  21. package/dist/{chunk-KKHENO57.js → chunk-FHOKCBTJ.js} +2 -2
  22. package/dist/{chunk-DDJN2T5A.js → chunk-HICAGUT5.js} +1 -1
  23. package/dist/{chunk-VRZZB7CQ.js → chunk-LDO5GP7G.js} +1 -1
  24. package/dist/{chunk-TYZFVL73.js → chunk-NOQSKRSS.js} +4 -4
  25. package/dist/{chunk-75KF633N.js → chunk-OKKZPDCQ.js} +1 -1
  26. package/dist/{chunk-4JSPMFO2.js → chunk-RSZAYW3T.js} +2 -2
  27. package/dist/{chunk-HXTKI34N.js → chunk-RYUM6X2K.js} +1 -1
  28. package/dist/{chunk-EXZVWQOQ.js → chunk-SDWG7CWQ.js} +2 -2
  29. package/dist/{chunk-R3MNZKNJ.js → chunk-SELJYCYY.js} +1 -1
  30. package/dist/{chunk-DNPDR4Z7.js → chunk-UKUIE2ND.js} +6 -6
  31. package/dist/{chunk-IW46TW3A.js → chunk-VNEJH4NT.js} +26 -2
  32. package/dist/{chunk-55WJVFWC.js → chunk-XD6EUA27.js} +2 -2
  33. package/dist/{chunk-CZ7NQ7W7.js → chunk-XZCTCSDG.js} +3 -3
  34. package/dist/{client-BMif22WQ.d.ts → client-gJEheT2C.d.ts} +33 -11
  35. package/dist/{dashboards-DMk-vL1q.d.ts → dashboards-DZaB94sz.d.ts} +6 -5
  36. package/dist/{deployments-BCr418BX.d.ts → deployments-QVGxC-fT.d.ts} +530 -337
  37. package/dist/{host-environment-FN4zg3hw.d.ts → host-environment-DUw5-Cvj.d.ts} +2 -1
  38. package/dist/{identity-integration-r76xaAax.d.ts → identity-integration-BAJdzbdl.d.ts} +3 -2
  39. package/dist/index.d.ts +16 -15
  40. package/dist/index.js +10 -10
  41. package/dist/internal.d.ts +34 -19
  42. package/dist/internal.js +40 -14
  43. package/dist/{limits-ByVRQePO.d.ts → limits-UawUbr0S.d.ts} +3 -2
  44. package/dist/{offers-xcPbYaEv.d.ts → offers-0hqbnogq.d.ts} +4 -3
  45. package/dist/{participant-activity-DXRq4s6K.d.ts → participant-activity-BznrcePT.d.ts} +2 -1
  46. package/dist/{participant-rewards-BcWkBRn_.d.ts → participant-rewards-s5Gn23qb.d.ts} +23 -1
  47. package/dist/portal-proxy.d.ts +7 -4
  48. package/dist/portal-proxy.js +14 -17
  49. package/dist/profiles-CLDKZVFx.d.ts +370 -0
  50. package/dist/react/index.d.ts +50 -31
  51. package/dist/react/index.js +12 -11
  52. package/dist/{request-error-D_dUPLwo.d.ts → request-error-C24SY7n9.d.ts} +2 -1
  53. package/dist/{reward-deliveries-0VvT6LMj.d.ts → reward-deliveries-ARvt1UXb.d.ts} +3 -2
  54. package/dist/runtime/authoring.js +1 -1
  55. package/dist/runtime/chunks/447P2VLY.js +1 -0
  56. package/dist/runtime/manifest.json +3 -3
  57. package/dist/runtime/schema.js +1 -1
  58. package/dist/schema.d.ts +258 -176
  59. package/dist/schema.js +18 -8
  60. package/dist/server/index.d.ts +15 -14
  61. package/dist/server/index.js +47 -48
  62. package/dist/{sign-in-providers-C5_753DZ.d.ts → sign-in-providers-DCiufSGG.d.ts} +4 -3
  63. package/dist/solana.d.ts +142 -26
  64. package/dist/solana.js +449 -114
  65. package/dist/{streaks-0YuipsUQ.d.ts → streaks-MAqKHbHC.d.ts} +2 -1
  66. package/dist/{submission-input-CaL8drIh.d.ts → submission-input-C0DLv5Dj.d.ts} +4 -3
  67. package/dist/{telegram-browser-DLtHPRBI.d.ts → telegram-browser-yx9WuNLX.d.ts} +8 -7
  68. package/dist/telegram.d.ts +14 -12
  69. package/dist/telegram.js +2 -2
  70. package/dist/testing.d.ts +24 -15
  71. package/dist/testing.js +6 -6
  72. package/dist/{tracker-data-CAK942sx.d.ts → tracker-data-CUopgomU.d.ts} +198 -3
  73. package/dist/{transport-CkidqTOk.d.ts → transport-e0uY1R7z.d.ts} +3415 -2233
  74. package/dist/vite.d.ts +2 -1
  75. package/dist/{wallet-DQtJelQQ.d.ts → wallet-CJTULM0Q.d.ts} +54 -375
  76. package/dist/{wallet-browser-dpmr22Xv.d.ts → wallet-browser-DScvrvIj.d.ts} +3 -2
  77. package/package.json +6 -3
  78. package/dist/runtime/chunks/2UDZ6TPL.js +0 -1
package/dist/vite.d.ts CHANGED
@@ -82,4 +82,5 @@ declare function dominoHosting(options: {
82
82
  server: DominoServerOptions;
83
83
  };
84
84
 
85
- export { type DominoCloudflareOptions, type DominoServerOptions, dominoHosting, serverBoundary };
85
+ export { dominoHosting, serverBoundary };
86
+ export type { DominoCloudflareOptions, DominoServerOptions };
@@ -1,371 +1,5 @@
1
1
  import * as z from 'zod';
2
2
 
3
- /** Who sees profiles: nobody but the member (`private`), signed-in members, or anyone. */
4
- declare const profileVisibilitySchema: z.ZodEnum<{
5
- public: "public";
6
- private: "private";
7
- participants: "participants";
8
- }>;
9
- type ProfileVisibility = z.infer<typeof profileVisibilitySchema>;
10
- /** Connected accounts a member can take a picture from. */
11
- declare const avatarProviderSchema: z.ZodEnum<{
12
- discord: "discord";
13
- google: "google";
14
- x: "x";
15
- }>;
16
- type AvatarProvider = z.infer<typeof avatarProviderSchema>;
17
- /**
18
- * The accounts that can supply a default name and picture: public personas. Google and Apple
19
- * accounts are usually a legal name and a personal photo, so they never do.
20
- */
21
- declare const profileDefaultProviderSchema: z.ZodEnum<{
22
- discord: "discord";
23
- x: "x";
24
- }>;
25
- type ProfileDefaultProvider = z.infer<typeof profileDefaultProviderSchema>;
26
- /**
27
- * Where a profile's name and picture come from before the member chooses: the first of these
28
- * accounts the member connected that has one, in order. Empty means generated values.
29
- */
30
- declare const profileDefaultsSchema: z.ZodArray<z.ZodEnum<{
31
- discord: "discord";
32
- x: "x";
33
- }>>;
34
- type ProfileDefaults = z.infer<typeof profileDefaultsSchema>;
35
- /**
36
- * The sources a project can list as profile defaults: the `profileDefaultProviderSchema` accounts,
37
- * and `sol`, the primary `.sol` name of a Solana wallet the member linked. A `.sol` name supplies a
38
- * name only, never a picture. Settings answer the full list in `defaultSources`.
39
- *
40
- * @experimental A minor release can change `.sol` names.
41
- */
42
- declare const knownProfileDefaultSources: readonly ["x", "discord", "sol"];
43
- /**
44
- * A default source this SDK knows.
45
- *
46
- * @compat open
47
- * @experimental A minor release can change `.sol` names.
48
- */
49
- type KnownProfileDefaultSource = (typeof knownProfileDefaultSources)[number];
50
- /**
51
- * A profile default source: one of `knownProfileDefaultSources`, or one a later Relay adds.
52
- *
53
- * @experimental A minor release can change `.sol` names.
54
- */
55
- type ProfileDefaultSource = KnownProfileDefaultSource | (string & {});
56
- /**
57
- * The default sources a settings change can list, in order, each once.
58
- *
59
- * @experimental A minor release can change `.sol` names.
60
- */
61
- declare const profileDefaultSourcesSchema: z.ZodArray<z.ZodEnum<{
62
- discord: "discord";
63
- x: "x";
64
- sol: "sol";
65
- }>>;
66
- /**
67
- * Where a member's chosen name comes from instead of a name they typed: `sol` follows the primary
68
- * `.sol` name of a Solana wallet they linked.
69
- *
70
- * @experimental A minor release can change `.sol` names.
71
- */
72
- declare const profileNameSourceSchema: z.ZodEnum<{
73
- sol: "sol";
74
- }>;
75
- /**
76
- * A name source this SDK knows.
77
- *
78
- * @compat open
79
- * @experimental A minor release can change `.sol` names.
80
- */
81
- type KnownProfileNameSource = z.infer<typeof profileNameSourceSchema>;
82
- /**
83
- * A profile name source, or one a later Relay adds.
84
- *
85
- * @experimental A minor release can change `.sol` names.
86
- */
87
- type ProfileNameSource = KnownProfileNameSource | (string & {});
88
- /**
89
- * The seed of a generated avatar (`defaultAvatar`), the same one `relay.me.get()` returns: an HMAC
90
- * of the member under the project's secret, so it reveals nothing about the member.
91
- */
92
- declare const avatarSeedSchema: z.ZodString;
93
- /**
94
- * A profile's avatar: an uploaded picture, an account's picture, or a generated one. Every kind
95
- * carries the generated avatar's `seed`, so a picture that fails to load falls back to the same
96
- * generated avatar everywhere.
97
- */
98
- declare const profileAvatarSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
99
- source: z.ZodLiteral<"upload">;
100
- url: z.ZodString;
101
- seed: z.ZodString;
102
- }, z.core.$strip>, z.ZodObject<{
103
- source: z.ZodLiteral<"account">;
104
- provider: z.ZodEnum<{
105
- discord: "discord";
106
- google: "google";
107
- x: "x";
108
- }>;
109
- url: z.ZodString;
110
- seed: z.ZodString;
111
- }, z.core.$strip>, z.ZodObject<{
112
- source: z.ZodLiteral<"generated">;
113
- seed: z.ZodString;
114
- }, z.core.$strip>], "source">;
115
- type ProfileAvatar = z.infer<typeof profileAvatarSchema>;
116
- /** What other participants see: the profile's public ID, its name and its avatar. */
117
- declare const profileSummarySchema: z.ZodObject<{
118
- id: z.ZodString;
119
- name: z.ZodString;
120
- avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
121
- source: z.ZodLiteral<"upload">;
122
- url: z.ZodString;
123
- seed: z.ZodString;
124
- }, z.core.$strip>, z.ZodObject<{
125
- source: z.ZodLiteral<"account">;
126
- provider: z.ZodEnum<{
127
- discord: "discord";
128
- google: "google";
129
- x: "x";
130
- }>;
131
- url: z.ZodString;
132
- seed: z.ZodString;
133
- }, z.core.$strip>, z.ZodObject<{
134
- source: z.ZodLiteral<"generated">;
135
- seed: z.ZodString;
136
- }, z.core.$strip>], "source">;
137
- }, z.core.$strip>;
138
- type ProfileSummary = z.infer<typeof profileSummarySchema>;
139
- /**
140
- * A display name: NFC-normalized, whitespace collapsed and trimmed, 1 to 40 characters, with no
141
- * control, zero-width or bidirectional formatting characters.
142
- */
143
- declare const displayNameSchema: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
144
- /**
145
- * A change to the member's own profile; omitted fields stay. `displayName: null` and
146
- * `avatar: null` return to the project's defaults (null also removes an uploaded picture).
147
- * `nameSource: "sol"` shows the member's `.sol` name (one of `nameOptions`) and keeps following
148
- * it; a `displayName`, or `nameSource: null`, stops following it. Upload a picture with
149
- * `relay.profiles.uploadAvatar`.
150
- */
151
- declare const profileUpdateSchema: z.ZodObject<{
152
- displayName: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>>;
153
- nameSource: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
154
- sol: "sol";
155
- }>>>;
156
- avatar: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
157
- source: z.ZodLiteral<"account">;
158
- provider: z.ZodEnum<{
159
- discord: "discord";
160
- google: "google";
161
- x: "x";
162
- }>;
163
- }, z.core.$strict>, z.ZodObject<{
164
- source: z.ZodLiteral<"generated">;
165
- }, z.core.$strict>], "source">>>;
166
- hidden: z.ZodOptional<z.ZodBoolean>;
167
- }, z.core.$strict>;
168
- type ProfileUpdate = z.input<typeof profileUpdateSchema>;
169
- /** The signed-in member's own profile, with what they chose and what they can choose from. */
170
- declare const ownProfileSchema: z.ZodObject<{
171
- id: z.ZodString;
172
- name: z.ZodString;
173
- avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
174
- source: z.ZodLiteral<"upload">;
175
- url: z.ZodString;
176
- seed: z.ZodString;
177
- }, z.core.$strip>, z.ZodObject<{
178
- source: z.ZodLiteral<"account">;
179
- provider: z.ZodEnum<{
180
- discord: "discord";
181
- google: "google";
182
- x: "x";
183
- }>;
184
- url: z.ZodString;
185
- seed: z.ZodString;
186
- }, z.core.$strip>, z.ZodObject<{
187
- source: z.ZodLiteral<"generated">;
188
- seed: z.ZodString;
189
- }, z.core.$strip>], "source">;
190
- displayName: z.ZodNullable<z.ZodString>;
191
- avatarChoice: z.ZodEnum<{
192
- default: "default";
193
- account: "account";
194
- upload: "upload";
195
- generated: "generated";
196
- }>;
197
- avatarProvider: z.ZodNullable<z.ZodEnum<{
198
- discord: "discord";
199
- google: "google";
200
- x: "x";
201
- }>>;
202
- hidden: z.ZodBoolean;
203
- locked: z.ZodBoolean;
204
- visibility: z.ZodEnum<{
205
- public: "public";
206
- private: "private";
207
- participants: "participants";
208
- }>;
209
- options: z.ZodArray<z.ZodObject<{
210
- provider: z.ZodEnum<{
211
- discord: "discord";
212
- google: "google";
213
- x: "x";
214
- }>;
215
- name: z.ZodNullable<z.ZodString>;
216
- givenName: z.ZodDefault<z.ZodNullable<z.ZodString>>;
217
- imageUrl: z.ZodNullable<z.ZodString>;
218
- }, z.core.$strip>>;
219
- nameSource: z.ZodOptional<z.ZodNullable<z.ZodString>>;
220
- nameOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
221
- source: z.ZodString;
222
- name: z.ZodString;
223
- }, z.core.$strip>>>;
224
- }, z.core.$strip>;
225
- /** @compat output */
226
- type OwnProfile = z.infer<typeof ownProfileSchema>;
227
- /** A page of a profile's quest completions: `limit` quests (default 20, at most 100) after `cursor`. */
228
- declare const profileCompletionQuerySchema: z.ZodObject<{
229
- limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
230
- cursor: z.ZodOptional<z.ZodString>;
231
- }, z.core.$strict>;
232
- type ProfileCompletionQuery = z.input<typeof profileCompletionQuerySchema>;
233
- /** A quest the member completed, grouped over its completions. */
234
- declare const profileCompletionSchema: z.ZodObject<{
235
- quest: z.ZodString;
236
- key: z.ZodOptional<z.ZodString>;
237
- title: z.ZodString;
238
- completions: z.ZodNumber;
239
- lastCompletedAt: z.ZodNullable<z.ZodNumber>;
240
- }, z.core.$strip>;
241
- type ProfileCompletion = z.infer<typeof profileCompletionSchema>;
242
- /**
243
- * A profile's completions of the quests that show on profiles (`defineQuest({ profile: { visible:
244
- * true } })`), most recently completed first. Pass `nextCursor` as `cursor` for the next page.
245
- */
246
- declare const profileCompletionPageSchema: z.ZodObject<{
247
- items: z.ZodArray<z.ZodObject<{
248
- quest: z.ZodString;
249
- key: z.ZodOptional<z.ZodString>;
250
- title: z.ZodString;
251
- completions: z.ZodNumber;
252
- lastCompletedAt: z.ZodNullable<z.ZodNumber>;
253
- }, z.core.$strip>>;
254
- nextCursor: z.ZodNullable<z.ZodString>;
255
- }, z.core.$strip>;
256
- type ProfileCompletionPage = z.infer<typeof profileCompletionPageSchema>;
257
- /** A profile's progress in one referral program: counts only, never codes or accounts. */
258
- declare const profileReferralSchema: z.ZodObject<{
259
- program: z.ZodString;
260
- key: z.ZodOptional<z.ZodString>;
261
- title: z.ZodString;
262
- invited: z.ZodNumber;
263
- qualified: z.ZodNumber;
264
- milestones: z.ZodArray<z.ZodObject<{
265
- id: z.ZodString;
266
- count: z.ZodNumber;
267
- reached: z.ZodBoolean;
268
- }, z.core.$strip>>;
269
- }, z.core.$strip>;
270
- type ProfileReferral = z.infer<typeof profileReferralSchema>;
271
- /** A project's profile settings in one environment. */
272
- declare const profileSettingsSchema: z.ZodObject<{
273
- visibility: z.ZodEnum<{
274
- public: "public";
275
- private: "private";
276
- participants: "participants";
277
- }>;
278
- defaults: z.ZodArray<z.ZodEnum<{
279
- discord: "discord";
280
- x: "x";
281
- }>>;
282
- defaultSources: z.ZodOptional<z.ZodArray<z.ZodString>>;
283
- revision: z.ZodNumber;
284
- actor: z.ZodNullable<z.ZodString>;
285
- updatedAt: z.ZodNullable<z.ZodNumber>;
286
- }, z.core.$strip>;
287
- type ProfileSettings = z.infer<typeof profileSettingsSchema>;
288
- declare const profileSettingsInputSchema: z.ZodObject<{
289
- visibility: z.ZodEnum<{
290
- public: "public";
291
- private: "private";
292
- participants: "participants";
293
- }>;
294
- defaults: z.ZodArray<z.ZodEnum<{
295
- discord: "discord";
296
- x: "x";
297
- }>>;
298
- defaultSources: z.ZodOptional<z.ZodArray<z.ZodEnum<{
299
- discord: "discord";
300
- x: "x";
301
- sol: "sol";
302
- }>>>;
303
- actionId: z.ZodString;
304
- expectedRevision: z.ZodNumber;
305
- reason: z.ZodString;
306
- }, z.core.$strict>;
307
- type ProfileSettingsInput = z.input<typeof profileSettingsInputSchema>;
308
- /** An operator's change to a member's profile. Every action is audited with its reason. */
309
- declare const profileModerationSchema: z.ZodObject<{
310
- actionId: z.ZodString;
311
- resetName: z.ZodDefault<z.ZodBoolean>;
312
- removeAvatar: z.ZodDefault<z.ZodBoolean>;
313
- lock: z.ZodOptional<z.ZodBoolean>;
314
- reason: z.ZodString;
315
- }, z.core.$strict>;
316
- type ProfileModeration = z.input<typeof profileModerationSchema>;
317
- /** A member's profile as operators see it: always, whatever the settings. */
318
- declare const managedProfileSchema: z.ZodObject<{
319
- name: z.ZodString;
320
- id: z.ZodString;
321
- displayName: z.ZodNullable<z.ZodString>;
322
- hidden: z.ZodBoolean;
323
- visibility: z.ZodEnum<{
324
- public: "public";
325
- private: "private";
326
- participants: "participants";
327
- }>;
328
- locked: z.ZodBoolean;
329
- avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
330
- source: z.ZodLiteral<"upload">;
331
- url: z.ZodString;
332
- seed: z.ZodString;
333
- }, z.core.$strip>, z.ZodObject<{
334
- source: z.ZodLiteral<"account">;
335
- provider: z.ZodEnum<{
336
- discord: "discord";
337
- google: "google";
338
- x: "x";
339
- }>;
340
- url: z.ZodString;
341
- seed: z.ZodString;
342
- }, z.core.$strip>, z.ZodObject<{
343
- source: z.ZodLiteral<"generated">;
344
- seed: z.ZodString;
345
- }, z.core.$strip>], "source">;
346
- nameSource: z.ZodOptional<z.ZodNullable<z.ZodString>>;
347
- avatarChoice: z.ZodEnum<{
348
- default: "default";
349
- account: "account";
350
- upload: "upload";
351
- generated: "generated";
352
- }>;
353
- avatarProvider: z.ZodNullable<z.ZodEnum<{
354
- discord: "discord";
355
- google: "google";
356
- x: "x";
357
- }>>;
358
- member: z.ZodString;
359
- lockedAt: z.ZodNullable<z.ZodNumber>;
360
- lockedBy: z.ZodNullable<z.ZodString>;
361
- lockedReason: z.ZodNullable<z.ZodString>;
362
- updatedAt: z.ZodNumber;
363
- }, z.core.$strip>;
364
- type ManagedProfile = z.infer<typeof managedProfileSchema>;
365
- /** The largest avatar upload, and the types an upload can have. */
366
- declare const AVATAR_UPLOAD_LIMIT: number;
367
- declare const avatarUploadTypes: string[];
368
-
369
3
  declare const solanaAddressSchema: z.ZodString;
370
4
  /** A wallet's chain family: its CAIP-2 namespace. */
371
5
  declare const walletChainSchema: z.ZodEnum<{
@@ -409,6 +43,8 @@ declare const solanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
409
43
  type SolanaNetwork = typeof solanaMainnet | typeof solanaDevnet;
410
44
  /** Whether `value` is the CAIP-2 ID of a Solana cluster Relay reads ({@link SolanaNetwork}). */
411
45
  declare function isSolanaNetwork(value: string): value is SolanaNetwork;
46
+ /** Whether `value` is an EVM address: `0x` and 40 hex digits, in either case. */
47
+ declare function isEvmAddress(value: string): value is `0x${string}`;
412
48
  declare const evmAddressSchema: z.ZodString;
413
49
  /** Bech32 with any prefix, in one case. The server checks the checksum and stores lowercase. */
414
50
  declare const cosmosAddressSchema: z.ZodString;
@@ -717,18 +353,20 @@ type WalletProgramActivitySourceQuery = {
717
353
  };
718
354
  /**
719
355
  * An NFT standard `ctx.wallet.nfts()` reads: an ERC-721 or ERC-1155 contract on an EVM chain, or a
720
- * Metaplex collection on Solana mainnet or devnet: a Core collection or a Token Metadata verified
721
- * collection.
356
+ * collection on Solana mainnet or devnet: a Metaplex Core collection, a Token Metadata verified
357
+ * collection or a Token-2022 token group, all named `metaplex`.
722
358
  */
723
359
  type NftStandard = "erc721" | "erc1155" | "metaplex";
724
360
  /**
725
361
  * An NFT collection as a CAIP-19 asset type. On an EVM chain: the chain, the contract's standard
726
362
  * and its address, such as `"eip155:1/erc721:0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"`; an
727
363
  * ERC-1155 collection names one token ID after the contract: `"eip155:8453/erc1155:0x…/1"`. On
728
- * Solana: the cluster and the address of a Metaplex Core collection or of a Token Metadata
729
- * collection NFT's mint, such as `"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/nft:<address>"` on
730
- * mainnet or `"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/nft:<address>"` on devnet, which stands for
731
- * every Core asset in that collection and every NFT whose metadata names it as verified.
364
+ * Solana: the cluster and the address of a Metaplex Core collection, of a Token Metadata
365
+ * collection NFT's mint or of a Token-2022 token group's mint, such as
366
+ * `"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/nft:<address>"` on mainnet or
367
+ * `"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/nft:<address>"` on devnet, which stands for every Core
368
+ * asset in that collection, every NFT whose metadata names it as verified, or every supply-1 mint
369
+ * whose `tokenGroupMember` extension names the group.
732
370
  */
733
371
  type NftCollection = `${EvmChainId}/erc721:0x${string}` | `${EvmChainId}/erc1155:0x${string}/${string}` | `${SolanaNetwork}/nft:${string}`;
734
372
  /** The parts of an NFT collection ({@link parseNftCollection}). */
@@ -740,7 +378,7 @@ type NftCollectionParts = {
740
378
  } | {
741
379
  chain: SolanaNetwork;
742
380
  standard: "metaplex";
743
- /** The Core collection's address or the collection NFT's mint (base58). */
381
+ /** The Core collection's address, the collection NFT's mint or the token group's mint (base58). */
744
382
  mint: string;
745
383
  };
746
384
  /**
@@ -759,6 +397,10 @@ type WalletNftsQuery = {
759
397
  /** One of the member's linked wallets of the collection's family; omit to read all of them. */
760
398
  address?: string;
761
399
  };
400
+ /** @compat open */
401
+ type KnownSolanaCollectionKind = "core" | "token-metadata" | "token-group";
402
+ /** Which kind of Solana collection an NFT read matched: a known kind, or one a newer Relay sends. */
403
+ type SolanaCollectionKind = KnownSolanaCollectionKind | (string & {});
762
404
  /** The NFTs of one collection the member's pinned linked wallets hold. */
763
405
  declare const walletNftsSchema: z.ZodObject<{
764
406
  collection: z.ZodString;
@@ -768,6 +410,7 @@ declare const walletNftsSchema: z.ZodObject<{
768
410
  erc1155: "erc1155";
769
411
  metaplex: "metaplex";
770
412
  }>;
413
+ kind: z.ZodOptional<z.ZodType<SolanaCollectionKind, unknown, z.core.$ZodTypeInternals<SolanaCollectionKind, unknown>>>;
771
414
  total: z.ZodString;
772
415
  wallets: z.ZodArray<z.ZodObject<{
773
416
  address: z.ZodString;
@@ -1280,6 +923,40 @@ declare const walletStakeSampleSchema: z.ZodObject<{
1280
923
  type WalletStakeSample = z.infer<typeof walletStakeSampleSchema>;
1281
924
  /** What `wallet.stake()` samples: a `ctx.wallet.stake()` query without an address. */
1282
925
  type WalletStakeSourceQuery = Omit<WalletStakeQuery, "address">;
926
+
927
+ /**
928
+ * One wallet's program account as Relay sampled it for a `wallet.programAccounts()` tracker, the
929
+ * record's `data`: the tracker's integer field, read as `ctx.wallet.programAccount({ address })`
930
+ * reads that wallet's account. The record's ID and author are the wallet's CAIP-10 account on the
931
+ * tracker's cluster, and its `occurredAt` is when Relay sampled it.
932
+ *
933
+ * @compat output
934
+ */
935
+ declare const walletProgramAccountSampleSchema: z.ZodObject<{
936
+ amount: z.ZodNullable<z.ZodString>;
937
+ pda: z.ZodString;
938
+ block: z.ZodString;
939
+ }, z.core.$strip>;
940
+ /** One wallet's sampled field, the `data` of a `wallet.programAccounts()` tracker's record. */
941
+ type WalletProgramAccountSample = z.infer<typeof walletProgramAccountSampleSchema>;
942
+ /**
943
+ * What `wallet.programAccounts()` samples: a `ctx.wallet.programAccount()` query without an
944
+ * address, with the integer field to sample and, for a program that publishes no IDL Relay can
945
+ * read, the IDL to decode it with.
946
+ */
947
+ type WalletProgramAccountSourceQuery = Omit<WalletProgramAccountQuery, "address"> & {
948
+ /**
949
+ * The account's integer field to sample (`u8` to `u128`, `i8` to `i128`), as the IDL names
950
+ * it, such as `"amount"`.
951
+ */
952
+ field: string;
953
+ /**
954
+ * The program's IDL (Anchor, Codama or Shank), for a program that publishes none on chain or
955
+ * to use another. Left out, Relay stores the IDL the program publishes when the tracker is
956
+ * published.
957
+ */
958
+ idl?: AnchorIdl;
959
+ };
1283
960
  /**
1284
961
  * Reads the wallets the member has linked to this project. They are pinned once per attempt, at
1285
962
  * its first wallet read: later links and unlinks do not change the attempt. Every method resolves
@@ -1301,7 +978,8 @@ interface WalletReader {
1301
978
  * How many NFTs of one collection the member's linked wallets of its family hold: an ERC-721
1302
979
  * contract's `balanceOf(owner)`, one ERC-1155 token ID's `balanceOf(owner, id)`, or on Solana the
1303
980
  * Metaplex Core assets in the collection or the NFTs whose Metaplex metadata names it as
1304
- * verified, plus the compressed NFTs (Bubblegum) verified into it, summed and per wallet. Null when the
981
+ * verified, plus the compressed NFTs (Bubblegum) verified into it, or the supply-1 Token-2022
982
+ * mints whose `tokenGroupMember` extension names a token group, summed and per wallet. Null when the
1305
983
  * member has no linked wallet of that family. A malformed collection, a
1306
984
  * chain Relay does not read and an `address` the member never linked throw `CapabilityError`
1307
985
  * with code `"author-error"`. Relay supplies it to every evaluation; it is optional only so that
@@ -1384,4 +1062,5 @@ interface WalletReader {
1384
1062
  stake?(query: WalletStakeQuery): Promise<WalletStake | null>;
1385
1063
  }
1386
1064
 
1387
- export { type WalletBalanceSample as $, type AvatarProvider as A, type WalletProgramActivitySourceQuery as B, type CosmosChain as C, type WalletNftSourceQuery as D, type WalletStakeSourceQuery as E, type WalletTransaction as F, type WalletInstruction as G, type WalletReader as H, type ContractCallParts as I, type ContractCallReturnType as J, type ContractEventInput as K, type LinkedWallet as L, type ContractEventParts as M, type NftCollection as N, type OwnProfile as O, type ProfileAvatar as P, type ContractFunction as Q, type CosmosDenom as R, type SolanaNetwork as S, type EvmChainId as T, type NftCollectionParts as U, type NftStandard as V, type WalletAddressInput as W, type SolanaSeed as X, type SolanaSeedInteger as Y, type WalletBalance as Z, type WalletBalanceChange as _, type CosmosNetwork as a, avatarUploadTypes as a$, type WalletCall as a0, type WalletCallArgument as a1, type WalletCallQuery as a2, type WalletDelegations as a3, type WalletDelegationsQuery as a4, type WalletEventCondition as a5, type WalletEventValue as a6, type WalletEvents as a7, type WalletEventsQuery as a8, type WalletNftSample as a9, walletAddressInputSchema as aA, walletSignatureSchema as aB, walletTransactionProofSchema as aC, evmWalletOn as aD, type ProgramAccountPointKind as aE, type StakePointKind as aF, AVATAR_UPLOAD_LIMIT as aG, type AnchorIdl as aH, type KnownProfileDefaultSource as aI, type KnownProfileNameSource as aJ, type KnownProgramAccountPointKind as aK, type KnownSolanaIdlSource as aL, type KnownStakePointKind as aM, type KnownWalletProofKind as aN, type ManagedProfile as aO, type ProfileDefaultProvider as aP, type ProfileDefaultSource as aQ, type ProfileDefaults as aR, type ProfileModeration as aS, type ProfileSettings as aT, type ProfileSettingsInput as aU, type SolanaProgramIdl as aV, type SolanaTransactionFixtureInput as aW, WALLETS_PER_CHAIN as aX, anchorIdlSchema as aY, avatarProviderSchema as aZ, avatarSeedSchema as a_, type WalletNfts as aa, type WalletNftsQuery as ab, type WalletProgramAccount as ac, type WalletProgramAccountQuery as ad, type WalletProgramActivity as ae, type WalletStake as af, type WalletStakeQuery as ag, type WalletStakeSample as ah, type WalletTransactions as ai, type WalletTransactionsQuery as aj, cosmosDenomSchema as ak, cosmosNetworkSchema as al, isContractCall as am, isContractEvent as an, isEvmChainId as ao, isNftCollection as ap, isSolanaProgram as aq, maxWalletEventLogs as ar, maxWalletEventLookback as as, maxWalletTransactionLookback as at, maxWalletTransactions as au, parseContractCall as av, parseContractEvent as aw, parseContractFunction as ax, parseNftCollection as ay, profileUpdateSchema as az, type ProfileCompletion as b, caip10 as b0, cosmosAddressSchema as b1, cosmosChain as b2, displayNameSchema as b3, evmAddressSchema as b4, evmChainIdSchema as b5, isSolanaNetwork as b6, knownProfileDefaultSources as b7, linkedWalletSchema as b8, managedProfileSchema as b9, walletChainSchema as bA, walletDelegationsSchema as bB, walletEventsSchema as bC, walletMessageChallengeSchema as bD, walletNftsSchema as bE, walletProgramAccountSchema as bF, walletProgramActivitySchema as bG, walletSignInFamilies as bH, walletSignInNetwork as bI, walletSignInNetworkSchema as bJ, walletSignInNetworksSchema as bK, walletStakeSchema as bL, walletTransactionChallengeSchema as bM, walletTransactionsSchema as bN, walletUnlinkInputSchema as bO, maxSolanaSeeds as ba, ownProfileSchema as bb, profileAvatarSchema as bc, profileCompletionPageSchema as bd, profileCompletionQuerySchema as be, profileCompletionSchema as bf, profileDefaultProviderSchema as bg, profileDefaultSourcesSchema as bh, profileDefaultsSchema as bi, profileModerationSchema as bj, profileNameSourceSchema as bk, profileReferralSchema as bl, profileSettingsInputSchema as bm, profileSettingsSchema as bn, profileSummarySchema as bo, profileVisibilitySchema as bp, solanaAddressSchema as bq, solanaMemoProgram as br, solanaProgramIdlSchema as bs, solanaSeedSchema as bt, solanaSignatureSchema as bu, solanaTransactionFixtureInputSchema as bv, walletAddressInput as bw, walletBalanceSampleSchema as bx, walletBalanceSchema as by, walletCallSchema as bz, type ProfileCompletionPage as c, type ProfileCompletionQuery as d, type ProfileNameSource as e, type ProfileReferral as f, type ProfileSummary as g, type ProfileUpdate as h, type ProfileVisibility as i, type WalletChain as j, type WalletMessageChallenge as k, type WalletProofKind as l, type WalletSignInNetwork as m, type WalletSignature as n, type WalletSigner as o, type WalletTransactionChallenge as p, type WalletTransactionProof as q, type WalletUnlinkInput as r, solanaDevnet as s, solanaMainnet as t, type SolanaIdlSource as u, type WalletBalanceQuery as v, type ContractCall as w, type ContractEvent as x, type SolanaProgram as y, type WalletBalanceSourceQuery as z };
1065
+ export { walletDelegationsSchema as a$, WALLETS_PER_CHAIN as aG, anchorIdlSchema as aH, caip10 as aI, cosmosAddressSchema as aJ, cosmosChain as aK, evmAddressSchema as aL, evmChainIdSchema as aM, isSolanaNetwork as aN, linkedWalletSchema as aO, maxSolanaSeeds as aP, solanaAddressSchema as aQ, solanaMemoProgram as aR, solanaProgramIdlSchema as aS, solanaSeedSchema as aT, solanaSignatureSchema as aU, solanaTransactionFixtureInputSchema as aV, walletAddressInput as aW, walletBalanceSampleSchema as aX, walletBalanceSchema as aY, walletCallSchema as aZ, walletChainSchema as a_, cosmosDenomSchema as ab, cosmosNetworkSchema as ac, isContractCall as ad, isContractEvent as ae, isEvmAddress as af, isEvmChainId as ag, isNftCollection as ah, isSolanaProgram as ai, maxWalletEventLogs as aj, maxWalletEventLookback as ak, maxWalletTransactionLookback as al, maxWalletTransactions as am, parseContractCall as an, parseContractEvent as ao, parseContractFunction as ap, parseNftCollection as aq, walletAddressInputSchema as ar, walletSignatureSchema as as, walletTransactionProofSchema as at, evmWalletOn as au, walletEventsSchema as b0, walletMessageChallengeSchema as b1, walletNftsSchema as b2, walletProgramAccountSchema as b3, walletProgramActivitySchema as b4, walletSignInFamilies as b5, walletSignInNetwork as b6, walletSignInNetworkSchema as b7, walletSignInNetworksSchema as b8, walletStakeSchema as b9, walletTransactionChallengeSchema as ba, walletTransactionsSchema as bb, walletUnlinkInputSchema as bc, solanaMainnet as m, solanaDevnet as s };
1066
+ export type { WalletNftSample as $, ContractCallParts as A, ContractCallReturnType as B, CosmosChain as C, ContractEventInput as D, ContractEventParts as E, ContractFunction as F, CosmosDenom as G, EvmChainId as H, NftCollectionParts as I, NftStandard as J, SolanaSeedInteger as K, LinkedWallet as L, WalletBalance as M, NftCollection as N, WalletBalanceChange as O, WalletBalanceSample as P, WalletCall as Q, WalletCallArgument as R, SolanaIdlSource as S, WalletCallQuery as T, WalletDelegations as U, WalletDelegationsQuery as V, WalletAddressInput as W, WalletEventCondition as X, WalletEventValue as Y, WalletEvents as Z, WalletEventsQuery as _, CosmosNetwork as a, WalletNfts as a0, WalletNftsQuery as a1, WalletProgramAccount as a2, WalletProgramAccountQuery as a3, WalletProgramAccountSample as a4, WalletProgramActivity as a5, WalletStake as a6, WalletStakeQuery as a7, WalletStakeSample as a8, WalletTransactions as a9, KnownSolanaCollectionKind as aA, KnownSolanaIdlSource as aB, KnownStakePointKind as aC, KnownWalletProofKind as aD, SolanaProgramIdl as aE, SolanaTransactionFixtureInput as aF, WalletTransactionsQuery as aa, SolanaCollectionKind as av, ProgramAccountPointKind as aw, StakePointKind as ax, AnchorIdl as ay, KnownProgramAccountPointKind as az, WalletChain as b, WalletMessageChallenge as c, WalletProofKind as d, WalletSignInNetwork as e, WalletSignature as f, WalletSigner as g, WalletTransactionChallenge as h, WalletTransactionProof as i, WalletUnlinkInput as j, WalletBalanceQuery as k, SolanaNetwork as l, SolanaSeed as n, ContractCall as o, ContractEvent as p, SolanaProgram as q, WalletBalanceSourceQuery as r, WalletProgramActivitySourceQuery as t, WalletNftSourceQuery as u, WalletStakeSourceQuery as v, WalletProgramAccountSourceQuery as w, WalletTransaction as x, WalletInstruction as y, WalletReader as z };
@@ -1,4 +1,4 @@
1
- import { C as CosmosChain, a as CosmosNetwork, o as WalletSigner, m as WalletSignInNetwork } from './wallet-DQtJelQQ.js';
1
+ import { C as CosmosChain, a as CosmosNetwork, g as WalletSigner, e as WalletSignInNetwork } from './wallet-CJTULM0Q.js';
2
2
 
3
3
  /** An EIP-1193 provider, such as `window.ethereum` or an EIP-6963 announcement's provider. */
4
4
  type Eip1193Provider = {
@@ -103,4 +103,5 @@ type SignInWallet = DiscoveredWallet & {
103
103
  */
104
104
  declare function discoverSignInWallets(families: readonly WalletSignInNetwork[], cosmos?: CosmosChains): Promise<SignInWallet[]>;
105
105
 
106
- export { type CosmosChains as C, type DiscoveredWallet as D, type Eip1193Provider as E, type KeplrLike as K, type SignInWallet as S, type SolanaInjectedProvider as a, type StandardWallet as b, type StandardWalletAccount as c, cosmosChainList as d, cosmosSigner as e, discoverCosmosWallets as f, discoverEvmWallets as g, discoverSignInWallets as h, discoverSolanaWallets as i, evmSigner as j, solanaSigner as s, walletStandardSolanaSigner as w };
106
+ export { cosmosChainList as d, cosmosSigner as e, discoverCosmosWallets as f, discoverEvmWallets as g, discoverSignInWallets as h, discoverSolanaWallets as i, evmSigner as j, solanaSigner as s, walletStandardSolanaSigner as w };
107
+ export type { CosmosChains as C, DiscoveredWallet as D, Eip1193Provider as E, KeplrLike as K, SignInWallet as S, SolanaInjectedProvider as a, StandardWallet as b, StandardWalletAccount as c };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domino-sdk/relay",
3
- "version": "1.68.0",
3
+ "version": "1.70.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -97,7 +97,10 @@
97
97
  "esbuild": "0.25.12",
98
98
  "jsdom": "30.0.1",
99
99
  "react": "19.3.0",
100
- "react-dom": "19.3.0"
100
+ "react-dom": "19.3.0",
101
+ "rollup": "4.63.3",
102
+ "rollup-plugin-dts": "6.5.1",
103
+ "typescript": "6.0.2"
101
104
  },
102
105
  "license": "UNLICENSED",
103
106
  "repository": {
@@ -120,6 +123,6 @@
120
123
  "description": "SDK for authoring quests and integrating Domino Relay",
121
124
  "scripts": {
122
125
  "typecheck": "tsc --noEmit",
123
- "build": "node --max-old-space-size=4096 ../../node_modules/tsup/dist/cli-default.js && node scripts/build-runtime.mjs"
126
+ "build": "tsup && node --max-old-space-size=4096 scripts/build-declarations.mjs && node scripts/build-runtime.mjs"
124
127
  }
125
128
  }