@fogo/sessions-sdk 0.0.25 → 0.0.28

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.
package/esm/index.js CHANGED
@@ -119,6 +119,47 @@ const createSession = async (context, walletPublicKey, sessionKey) => {
119
119
  sessionInfo,
120
120
  };
121
121
  };
122
+ const authorizedTokensSchema = z.union([
123
+ z.object({
124
+ Specific: z.object({
125
+ "0": z.array(z.instanceof(PublicKey)),
126
+ }),
127
+ }),
128
+ z.object({ All: z.object({}) }),
129
+ ]);
130
+ const revokedSessionInfoSchema = z.object({
131
+ user: z.instanceof(PublicKey),
132
+ expiration: z.instanceof(BN),
133
+ authorized_tokens_with_mints: authorizedTokensSchema,
134
+ });
135
+ const activeSessionInfoSchema = z.object({
136
+ authorized_programs: z.union([
137
+ z.object({
138
+ Specific: z.object({
139
+ 0: z.array(z.object({
140
+ program_id: z.instanceof(PublicKey),
141
+ signer_pda: z.instanceof(PublicKey),
142
+ })),
143
+ }),
144
+ }),
145
+ z.object({
146
+ All: z.object({}),
147
+ }),
148
+ ]),
149
+ authorized_tokens: z.union([
150
+ z.object({
151
+ Specific: z.object({
152
+ "0": z.array(z.instanceof(PublicKey)),
153
+ }),
154
+ }),
155
+ z.object({ All: z.object({}) }),
156
+ ]),
157
+ expiration: z.instanceof(BN),
158
+ extra: z.object({
159
+ 0: z.unknown(),
160
+ }),
161
+ user: z.instanceof(PublicKey),
162
+ });
122
163
  const sessionInfoSchema = z
123
164
  .object({
124
165
  session_info: z.union([
@@ -191,37 +232,31 @@ const sessionInfoSchema = z
191
232
  V3: z.object({
192
233
  "0": z.union([
193
234
  z.object({
194
- Revoked: z.instanceof(BN),
235
+ Revoked: z.object({
236
+ "0": revokedSessionInfoSchema,
237
+ }),
238
+ }),
239
+ z.object({
240
+ Active: z.object({
241
+ "0": activeSessionInfoSchema,
242
+ }),
243
+ }),
244
+ ]),
245
+ }),
246
+ }),
247
+ z.object({
248
+ V4: z.object({
249
+ "0": z.union([
250
+ z.object({
251
+ Revoked: z.object({
252
+ "0": revokedSessionInfoSchema,
253
+ }),
195
254
  }),
196
255
  z.object({
197
256
  Active: z.object({
198
257
  "0": z.object({
199
- authorized_programs: z.union([
200
- z.object({
201
- Specific: z.object({
202
- 0: z.array(z.object({
203
- program_id: z.instanceof(PublicKey),
204
- signer_pda: z.instanceof(PublicKey),
205
- })),
206
- }),
207
- }),
208
- z.object({
209
- All: z.object({}),
210
- }),
211
- ]),
212
- authorized_tokens: z.union([
213
- z.object({
214
- Specific: z.object({
215
- "0": z.array(z.instanceof(PublicKey)),
216
- }),
217
- }),
218
- z.object({ All: z.object({}) }),
219
- ]),
220
- expiration: z.instanceof(BN),
221
- extra: z.object({
222
- 0: z.unknown(),
223
- }),
224
- user: z.instanceof(PublicKey),
258
+ domain_hash: z.array(z.number()).length(32),
259
+ active_session_info: activeSessionInfoSchema,
225
260
  }),
226
261
  }),
227
262
  }),
@@ -247,6 +282,10 @@ const sessionInfoSchema = z
247
282
  activeSessionInfo = session_info.V3["0"].Active["0"];
248
283
  minor = 3;
249
284
  }
285
+ else if ("V4" in session_info && "Active" in session_info.V4["0"]) {
286
+ activeSessionInfo = session_info.V4["0"].Active["0"].active_session_info;
287
+ minor = 4;
288
+ }
250
289
  else {
251
290
  return;
252
291
  }
package/package.json CHANGED
@@ -1,7 +1,12 @@
1
1
  {
2
2
  "name": "@fogo/sessions-sdk",
3
- "version": "0.0.25",
3
+ "version": "0.0.28",
4
4
  "description": "A set of utilities for integrating with Fogo sessions",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/fogo-foundation/fogo-sessions",
8
+ "directory": "packages/sessions-sdk-ts"
9
+ },
5
10
  "keywords": [
6
11
  "fogo",
7
12
  "sessions",
@@ -44,6 +49,6 @@
44
49
  "bn.js": "^5.1.2",
45
50
  "bs58": "^6.0.0",
46
51
  "zod": "^3.25.62",
47
- "@fogo/sessions-idls": "^0.0.11"
52
+ "@fogo/sessions-idls": "^0.0.12"
48
53
  }
49
54
  }