@fogo/sessions-sdk 0.0.24 → 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/cjs/connection.js +2 -2
- package/cjs/index.d.ts +1008 -92
- package/cjs/index.js +67 -28
- package/esm/connection.js +2 -2
- package/esm/index.d.ts +1008 -92
- package/esm/index.js +67 -28
- package/package.json +7 -2
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.
|
|
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
|
-
|
|
200
|
-
|
|
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
|
}
|
|
@@ -429,7 +468,7 @@ const BRIDGING_ADDRESS_LOOKUP_TABLE = {
|
|
|
429
468
|
},
|
|
430
469
|
[Network.Mainnet]: {
|
|
431
470
|
// USDC
|
|
432
|
-
uSd2czE61Evaf76RNbq4KPpXnkiL3irdzgLFUMe3NoG: "
|
|
471
|
+
uSd2czE61Evaf76RNbq4KPpXnkiL3irdzgLFUMe3NoG: "7hmMz3nZDnPJfksLuPotKmUBAFDneM2D9wWg3R1VcKSv",
|
|
433
472
|
},
|
|
434
473
|
};
|
|
435
474
|
const buildStartSessionInstruction = async (options, sessionKey, tokens) => {
|
package/package.json
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fogo/sessions-sdk",
|
|
3
|
-
"version": "0.0.
|
|
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.
|
|
52
|
+
"@fogo/sessions-idls": "^0.0.12"
|
|
48
53
|
}
|
|
49
54
|
}
|