@buildonspark/issuer-sdk 0.0.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 (49) hide show
  1. package/dist/issuer-sdk.d.ts +41 -0
  2. package/dist/issuer-sdk.js +103 -0
  3. package/dist/issuer-sdk.js.map +1 -0
  4. package/dist/proto/common.d.ts +58 -0
  5. package/dist/proto/common.js +350 -0
  6. package/dist/proto/common.js.map +1 -0
  7. package/dist/proto/google/protobuf/descriptor.d.ts +1228 -0
  8. package/dist/proto/google/protobuf/descriptor.js +5070 -0
  9. package/dist/proto/google/protobuf/descriptor.js.map +1 -0
  10. package/dist/proto/google/protobuf/duration.d.ts +99 -0
  11. package/dist/proto/google/protobuf/duration.js +90 -0
  12. package/dist/proto/google/protobuf/duration.js.map +1 -0
  13. package/dist/proto/google/protobuf/empty.d.ts +33 -0
  14. package/dist/proto/google/protobuf/empty.js +46 -0
  15. package/dist/proto/google/protobuf/empty.js.map +1 -0
  16. package/dist/proto/google/protobuf/timestamp.d.ts +128 -0
  17. package/dist/proto/google/protobuf/timestamp.js +90 -0
  18. package/dist/proto/google/protobuf/timestamp.js.map +1 -0
  19. package/dist/proto/mock.d.ts +48 -0
  20. package/dist/proto/mock.js +103 -0
  21. package/dist/proto/mock.js.map +1 -0
  22. package/dist/proto/spark.d.ts +1101 -0
  23. package/dist/proto/spark.js +9565 -0
  24. package/dist/proto/spark.js.map +1 -0
  25. package/dist/proto/spark_authn.d.ts +111 -0
  26. package/dist/proto/spark_authn.js +517 -0
  27. package/dist/proto/spark_authn.js.map +1 -0
  28. package/dist/proto/validate/validate.d.ts +1087 -0
  29. package/dist/proto/validate/validate.js +4437 -0
  30. package/dist/proto/validate/validate.js.map +1 -0
  31. package/dist/services/create.d.ts +1 -0
  32. package/dist/services/create.js +41 -0
  33. package/dist/services/create.js.map +1 -0
  34. package/dist/services/freeze.d.ts +11 -0
  35. package/dist/services/freeze.js +44 -0
  36. package/dist/services/freeze.js.map +1 -0
  37. package/dist/services/spark/token-transactions.d.ts +8 -0
  38. package/dist/services/spark/token-transactions.js +27 -0
  39. package/dist/services/spark/token-transactions.js.map +1 -0
  40. package/dist/services/spark/wallet.d.ts +21 -0
  41. package/dist/services/spark/wallet.js +55 -0
  42. package/dist/services/spark/wallet.js.map +1 -0
  43. package/dist/tests/integration/spark.test.d.ts +1 -0
  44. package/dist/tests/integration/spark.test.js +120 -0
  45. package/dist/tests/integration/spark.test.js.map +1 -0
  46. package/dist/utils/token-hashing.d.ts +2 -0
  47. package/dist/utils/token-hashing.js +45 -0
  48. package/dist/utils/token-hashing.js.map +1 -0
  49. package/package.json +79 -0
@@ -0,0 +1,111 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { type CallContext, type CallOptions } from "nice-grpc-common";
3
+ export declare const protobufPackage = "spark_authn";
4
+ /** Challenge represents the core challenge data */
5
+ export interface Challenge {
6
+ /** Protocol version for backward compatibility */
7
+ version: number;
8
+ /** Timestamp when challenge was issued (UTC Unix seconds) */
9
+ timestamp: number;
10
+ /** Random nonce to prevent replay attacks (32 bytes) */
11
+ nonce: Uint8Array;
12
+ /** The public key this challenge is intended for (uncompressed secp256k1 public key) */
13
+ publicKey: Uint8Array;
14
+ }
15
+ /** ProtectedChallenge wraps a Challenge with a server HMAC */
16
+ export interface ProtectedChallenge {
17
+ /** Protocol version for backward compatibility */
18
+ version: number;
19
+ /** The core challenge data */
20
+ challenge: Challenge | undefined;
21
+ /** Server's HMAC of the Challenge */
22
+ serverHmac: Uint8Array;
23
+ }
24
+ /** Request to initiate an authentication challenge */
25
+ export interface GetChallengeRequest {
26
+ /** Client's public key (uncompressed secp256k1 public key) */
27
+ publicKey: Uint8Array;
28
+ }
29
+ /** Response containing the protected challenge */
30
+ export interface GetChallengeResponse {
31
+ /** The protected challenge from the server */
32
+ protectedChallenge: ProtectedChallenge | undefined;
33
+ }
34
+ /** Request to verify a signed challenge */
35
+ export interface VerifyChallengeRequest {
36
+ /** The protected challenge from the server */
37
+ protectedChallenge: ProtectedChallenge | undefined;
38
+ /** Client's secp256k1 signature of the Challenge */
39
+ signature: Uint8Array;
40
+ /** Client's public key (uncompressed secp256k1 public key) */
41
+ publicKey: Uint8Array;
42
+ }
43
+ /** Response after successful authentication */
44
+ export interface VerifyChallengeResponse {
45
+ /** Session token for subsequent API calls */
46
+ sessionToken: string;
47
+ /** Token expiration timestamp (UTC Unix seconds) */
48
+ expirationTimestamp: number;
49
+ }
50
+ export declare const Challenge: MessageFns<Challenge>;
51
+ export declare const ProtectedChallenge: MessageFns<ProtectedChallenge>;
52
+ export declare const GetChallengeRequest: MessageFns<GetChallengeRequest>;
53
+ export declare const GetChallengeResponse: MessageFns<GetChallengeResponse>;
54
+ export declare const VerifyChallengeRequest: MessageFns<VerifyChallengeRequest>;
55
+ export declare const VerifyChallengeResponse: MessageFns<VerifyChallengeResponse>;
56
+ export type SparkAuthnServiceDefinition = typeof SparkAuthnServiceDefinition;
57
+ export declare const SparkAuthnServiceDefinition: {
58
+ readonly name: "SparkAuthnService";
59
+ readonly fullName: "spark_authn.SparkAuthnService";
60
+ readonly methods: {
61
+ /** Request a new authentication challenge for a public key */
62
+ readonly get_challenge: {
63
+ readonly name: "get_challenge";
64
+ readonly requestType: MessageFns<GetChallengeRequest>;
65
+ readonly requestStream: false;
66
+ readonly responseType: MessageFns<GetChallengeResponse>;
67
+ readonly responseStream: false;
68
+ readonly options: {};
69
+ };
70
+ /** Verify a signed challenge and return a session token */
71
+ readonly verify_challenge: {
72
+ readonly name: "verify_challenge";
73
+ readonly requestType: MessageFns<VerifyChallengeRequest>;
74
+ readonly requestStream: false;
75
+ readonly responseType: MessageFns<VerifyChallengeResponse>;
76
+ readonly responseStream: false;
77
+ readonly options: {};
78
+ };
79
+ };
80
+ };
81
+ export interface SparkAuthnServiceImplementation<CallContextExt = {}> {
82
+ /** Request a new authentication challenge for a public key */
83
+ get_challenge(request: GetChallengeRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetChallengeResponse>>;
84
+ /** Verify a signed challenge and return a session token */
85
+ verify_challenge(request: VerifyChallengeRequest, context: CallContext & CallContextExt): Promise<DeepPartial<VerifyChallengeResponse>>;
86
+ }
87
+ export interface SparkAuthnServiceClient<CallOptionsExt = {}> {
88
+ /** Request a new authentication challenge for a public key */
89
+ get_challenge(request: DeepPartial<GetChallengeRequest>, options?: CallOptions & CallOptionsExt): Promise<GetChallengeResponse>;
90
+ /** Verify a signed challenge and return a session token */
91
+ verify_challenge(request: DeepPartial<VerifyChallengeRequest>, options?: CallOptions & CallOptionsExt): Promise<VerifyChallengeResponse>;
92
+ }
93
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
94
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
95
+ $case: string;
96
+ } ? {
97
+ [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
98
+ } & {
99
+ $case: T["$case"];
100
+ } : T extends {} ? {
101
+ [K in keyof T]?: DeepPartial<T[K]>;
102
+ } : Partial<T>;
103
+ export interface MessageFns<T> {
104
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
105
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
106
+ fromJSON(object: any): T;
107
+ toJSON(message: T): unknown;
108
+ create(base?: DeepPartial<T>): T;
109
+ fromPartial(object: DeepPartial<T>): T;
110
+ }
111
+ export {};
@@ -0,0 +1,517 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.6.1
4
+ // protoc v5.29.3
5
+ // source: spark_authn.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ export const protobufPackage = "spark_authn";
9
+ function createBaseChallenge() {
10
+ return { version: 0, timestamp: 0, nonce: new Uint8Array(0), publicKey: new Uint8Array(0) };
11
+ }
12
+ export const Challenge = {
13
+ encode(message, writer = new BinaryWriter()) {
14
+ if (message.version !== 0) {
15
+ writer.uint32(8).int32(message.version);
16
+ }
17
+ if (message.timestamp !== 0) {
18
+ writer.uint32(16).int64(message.timestamp);
19
+ }
20
+ if (message.nonce.length !== 0) {
21
+ writer.uint32(26).bytes(message.nonce);
22
+ }
23
+ if (message.publicKey.length !== 0) {
24
+ writer.uint32(34).bytes(message.publicKey);
25
+ }
26
+ return writer;
27
+ },
28
+ decode(input, length) {
29
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
30
+ let end = length === undefined ? reader.len : reader.pos + length;
31
+ const message = createBaseChallenge();
32
+ while (reader.pos < end) {
33
+ const tag = reader.uint32();
34
+ switch (tag >>> 3) {
35
+ case 1: {
36
+ if (tag !== 8) {
37
+ break;
38
+ }
39
+ message.version = reader.int32();
40
+ continue;
41
+ }
42
+ case 2: {
43
+ if (tag !== 16) {
44
+ break;
45
+ }
46
+ message.timestamp = longToNumber(reader.int64());
47
+ continue;
48
+ }
49
+ case 3: {
50
+ if (tag !== 26) {
51
+ break;
52
+ }
53
+ message.nonce = reader.bytes();
54
+ continue;
55
+ }
56
+ case 4: {
57
+ if (tag !== 34) {
58
+ break;
59
+ }
60
+ message.publicKey = reader.bytes();
61
+ continue;
62
+ }
63
+ }
64
+ if ((tag & 7) === 4 || tag === 0) {
65
+ break;
66
+ }
67
+ reader.skip(tag & 7);
68
+ }
69
+ return message;
70
+ },
71
+ fromJSON(object) {
72
+ return {
73
+ version: isSet(object.version) ? globalThis.Number(object.version) : 0,
74
+ timestamp: isSet(object.timestamp) ? globalThis.Number(object.timestamp) : 0,
75
+ nonce: isSet(object.nonce) ? bytesFromBase64(object.nonce) : new Uint8Array(0),
76
+ publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0),
77
+ };
78
+ },
79
+ toJSON(message) {
80
+ const obj = {};
81
+ if (message.version !== 0) {
82
+ obj.version = Math.round(message.version);
83
+ }
84
+ if (message.timestamp !== 0) {
85
+ obj.timestamp = Math.round(message.timestamp);
86
+ }
87
+ if (message.nonce.length !== 0) {
88
+ obj.nonce = base64FromBytes(message.nonce);
89
+ }
90
+ if (message.publicKey.length !== 0) {
91
+ obj.publicKey = base64FromBytes(message.publicKey);
92
+ }
93
+ return obj;
94
+ },
95
+ create(base) {
96
+ return Challenge.fromPartial(base ?? {});
97
+ },
98
+ fromPartial(object) {
99
+ const message = createBaseChallenge();
100
+ message.version = object.version ?? 0;
101
+ message.timestamp = object.timestamp ?? 0;
102
+ message.nonce = object.nonce ?? new Uint8Array(0);
103
+ message.publicKey = object.publicKey ?? new Uint8Array(0);
104
+ return message;
105
+ },
106
+ };
107
+ function createBaseProtectedChallenge() {
108
+ return { version: 0, challenge: undefined, serverHmac: new Uint8Array(0) };
109
+ }
110
+ export const ProtectedChallenge = {
111
+ encode(message, writer = new BinaryWriter()) {
112
+ if (message.version !== 0) {
113
+ writer.uint32(8).int32(message.version);
114
+ }
115
+ if (message.challenge !== undefined) {
116
+ Challenge.encode(message.challenge, writer.uint32(18).fork()).join();
117
+ }
118
+ if (message.serverHmac.length !== 0) {
119
+ writer.uint32(26).bytes(message.serverHmac);
120
+ }
121
+ return writer;
122
+ },
123
+ decode(input, length) {
124
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
125
+ let end = length === undefined ? reader.len : reader.pos + length;
126
+ const message = createBaseProtectedChallenge();
127
+ while (reader.pos < end) {
128
+ const tag = reader.uint32();
129
+ switch (tag >>> 3) {
130
+ case 1: {
131
+ if (tag !== 8) {
132
+ break;
133
+ }
134
+ message.version = reader.int32();
135
+ continue;
136
+ }
137
+ case 2: {
138
+ if (tag !== 18) {
139
+ break;
140
+ }
141
+ message.challenge = Challenge.decode(reader, reader.uint32());
142
+ continue;
143
+ }
144
+ case 3: {
145
+ if (tag !== 26) {
146
+ break;
147
+ }
148
+ message.serverHmac = reader.bytes();
149
+ continue;
150
+ }
151
+ }
152
+ if ((tag & 7) === 4 || tag === 0) {
153
+ break;
154
+ }
155
+ reader.skip(tag & 7);
156
+ }
157
+ return message;
158
+ },
159
+ fromJSON(object) {
160
+ return {
161
+ version: isSet(object.version) ? globalThis.Number(object.version) : 0,
162
+ challenge: isSet(object.challenge) ? Challenge.fromJSON(object.challenge) : undefined,
163
+ serverHmac: isSet(object.serverHmac) ? bytesFromBase64(object.serverHmac) : new Uint8Array(0),
164
+ };
165
+ },
166
+ toJSON(message) {
167
+ const obj = {};
168
+ if (message.version !== 0) {
169
+ obj.version = Math.round(message.version);
170
+ }
171
+ if (message.challenge !== undefined) {
172
+ obj.challenge = Challenge.toJSON(message.challenge);
173
+ }
174
+ if (message.serverHmac.length !== 0) {
175
+ obj.serverHmac = base64FromBytes(message.serverHmac);
176
+ }
177
+ return obj;
178
+ },
179
+ create(base) {
180
+ return ProtectedChallenge.fromPartial(base ?? {});
181
+ },
182
+ fromPartial(object) {
183
+ const message = createBaseProtectedChallenge();
184
+ message.version = object.version ?? 0;
185
+ message.challenge = (object.challenge !== undefined && object.challenge !== null)
186
+ ? Challenge.fromPartial(object.challenge)
187
+ : undefined;
188
+ message.serverHmac = object.serverHmac ?? new Uint8Array(0);
189
+ return message;
190
+ },
191
+ };
192
+ function createBaseGetChallengeRequest() {
193
+ return { publicKey: new Uint8Array(0) };
194
+ }
195
+ export const GetChallengeRequest = {
196
+ encode(message, writer = new BinaryWriter()) {
197
+ if (message.publicKey.length !== 0) {
198
+ writer.uint32(10).bytes(message.publicKey);
199
+ }
200
+ return writer;
201
+ },
202
+ decode(input, length) {
203
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
204
+ let end = length === undefined ? reader.len : reader.pos + length;
205
+ const message = createBaseGetChallengeRequest();
206
+ while (reader.pos < end) {
207
+ const tag = reader.uint32();
208
+ switch (tag >>> 3) {
209
+ case 1: {
210
+ if (tag !== 10) {
211
+ break;
212
+ }
213
+ message.publicKey = reader.bytes();
214
+ continue;
215
+ }
216
+ }
217
+ if ((tag & 7) === 4 || tag === 0) {
218
+ break;
219
+ }
220
+ reader.skip(tag & 7);
221
+ }
222
+ return message;
223
+ },
224
+ fromJSON(object) {
225
+ return { publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0) };
226
+ },
227
+ toJSON(message) {
228
+ const obj = {};
229
+ if (message.publicKey.length !== 0) {
230
+ obj.publicKey = base64FromBytes(message.publicKey);
231
+ }
232
+ return obj;
233
+ },
234
+ create(base) {
235
+ return GetChallengeRequest.fromPartial(base ?? {});
236
+ },
237
+ fromPartial(object) {
238
+ const message = createBaseGetChallengeRequest();
239
+ message.publicKey = object.publicKey ?? new Uint8Array(0);
240
+ return message;
241
+ },
242
+ };
243
+ function createBaseGetChallengeResponse() {
244
+ return { protectedChallenge: undefined };
245
+ }
246
+ export const GetChallengeResponse = {
247
+ encode(message, writer = new BinaryWriter()) {
248
+ if (message.protectedChallenge !== undefined) {
249
+ ProtectedChallenge.encode(message.protectedChallenge, writer.uint32(10).fork()).join();
250
+ }
251
+ return writer;
252
+ },
253
+ decode(input, length) {
254
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
255
+ let end = length === undefined ? reader.len : reader.pos + length;
256
+ const message = createBaseGetChallengeResponse();
257
+ while (reader.pos < end) {
258
+ const tag = reader.uint32();
259
+ switch (tag >>> 3) {
260
+ case 1: {
261
+ if (tag !== 10) {
262
+ break;
263
+ }
264
+ message.protectedChallenge = ProtectedChallenge.decode(reader, reader.uint32());
265
+ continue;
266
+ }
267
+ }
268
+ if ((tag & 7) === 4 || tag === 0) {
269
+ break;
270
+ }
271
+ reader.skip(tag & 7);
272
+ }
273
+ return message;
274
+ },
275
+ fromJSON(object) {
276
+ return {
277
+ protectedChallenge: isSet(object.protectedChallenge)
278
+ ? ProtectedChallenge.fromJSON(object.protectedChallenge)
279
+ : undefined,
280
+ };
281
+ },
282
+ toJSON(message) {
283
+ const obj = {};
284
+ if (message.protectedChallenge !== undefined) {
285
+ obj.protectedChallenge = ProtectedChallenge.toJSON(message.protectedChallenge);
286
+ }
287
+ return obj;
288
+ },
289
+ create(base) {
290
+ return GetChallengeResponse.fromPartial(base ?? {});
291
+ },
292
+ fromPartial(object) {
293
+ const message = createBaseGetChallengeResponse();
294
+ message.protectedChallenge = (object.protectedChallenge !== undefined && object.protectedChallenge !== null)
295
+ ? ProtectedChallenge.fromPartial(object.protectedChallenge)
296
+ : undefined;
297
+ return message;
298
+ },
299
+ };
300
+ function createBaseVerifyChallengeRequest() {
301
+ return { protectedChallenge: undefined, signature: new Uint8Array(0), publicKey: new Uint8Array(0) };
302
+ }
303
+ export const VerifyChallengeRequest = {
304
+ encode(message, writer = new BinaryWriter()) {
305
+ if (message.protectedChallenge !== undefined) {
306
+ ProtectedChallenge.encode(message.protectedChallenge, writer.uint32(10).fork()).join();
307
+ }
308
+ if (message.signature.length !== 0) {
309
+ writer.uint32(18).bytes(message.signature);
310
+ }
311
+ if (message.publicKey.length !== 0) {
312
+ writer.uint32(26).bytes(message.publicKey);
313
+ }
314
+ return writer;
315
+ },
316
+ decode(input, length) {
317
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
318
+ let end = length === undefined ? reader.len : reader.pos + length;
319
+ const message = createBaseVerifyChallengeRequest();
320
+ while (reader.pos < end) {
321
+ const tag = reader.uint32();
322
+ switch (tag >>> 3) {
323
+ case 1: {
324
+ if (tag !== 10) {
325
+ break;
326
+ }
327
+ message.protectedChallenge = ProtectedChallenge.decode(reader, reader.uint32());
328
+ continue;
329
+ }
330
+ case 2: {
331
+ if (tag !== 18) {
332
+ break;
333
+ }
334
+ message.signature = reader.bytes();
335
+ continue;
336
+ }
337
+ case 3: {
338
+ if (tag !== 26) {
339
+ break;
340
+ }
341
+ message.publicKey = reader.bytes();
342
+ continue;
343
+ }
344
+ }
345
+ if ((tag & 7) === 4 || tag === 0) {
346
+ break;
347
+ }
348
+ reader.skip(tag & 7);
349
+ }
350
+ return message;
351
+ },
352
+ fromJSON(object) {
353
+ return {
354
+ protectedChallenge: isSet(object.protectedChallenge)
355
+ ? ProtectedChallenge.fromJSON(object.protectedChallenge)
356
+ : undefined,
357
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
358
+ publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0),
359
+ };
360
+ },
361
+ toJSON(message) {
362
+ const obj = {};
363
+ if (message.protectedChallenge !== undefined) {
364
+ obj.protectedChallenge = ProtectedChallenge.toJSON(message.protectedChallenge);
365
+ }
366
+ if (message.signature.length !== 0) {
367
+ obj.signature = base64FromBytes(message.signature);
368
+ }
369
+ if (message.publicKey.length !== 0) {
370
+ obj.publicKey = base64FromBytes(message.publicKey);
371
+ }
372
+ return obj;
373
+ },
374
+ create(base) {
375
+ return VerifyChallengeRequest.fromPartial(base ?? {});
376
+ },
377
+ fromPartial(object) {
378
+ const message = createBaseVerifyChallengeRequest();
379
+ message.protectedChallenge = (object.protectedChallenge !== undefined && object.protectedChallenge !== null)
380
+ ? ProtectedChallenge.fromPartial(object.protectedChallenge)
381
+ : undefined;
382
+ message.signature = object.signature ?? new Uint8Array(0);
383
+ message.publicKey = object.publicKey ?? new Uint8Array(0);
384
+ return message;
385
+ },
386
+ };
387
+ function createBaseVerifyChallengeResponse() {
388
+ return { sessionToken: "", expirationTimestamp: 0 };
389
+ }
390
+ export const VerifyChallengeResponse = {
391
+ encode(message, writer = new BinaryWriter()) {
392
+ if (message.sessionToken !== "") {
393
+ writer.uint32(10).string(message.sessionToken);
394
+ }
395
+ if (message.expirationTimestamp !== 0) {
396
+ writer.uint32(16).int64(message.expirationTimestamp);
397
+ }
398
+ return writer;
399
+ },
400
+ decode(input, length) {
401
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
402
+ let end = length === undefined ? reader.len : reader.pos + length;
403
+ const message = createBaseVerifyChallengeResponse();
404
+ while (reader.pos < end) {
405
+ const tag = reader.uint32();
406
+ switch (tag >>> 3) {
407
+ case 1: {
408
+ if (tag !== 10) {
409
+ break;
410
+ }
411
+ message.sessionToken = reader.string();
412
+ continue;
413
+ }
414
+ case 2: {
415
+ if (tag !== 16) {
416
+ break;
417
+ }
418
+ message.expirationTimestamp = longToNumber(reader.int64());
419
+ continue;
420
+ }
421
+ }
422
+ if ((tag & 7) === 4 || tag === 0) {
423
+ break;
424
+ }
425
+ reader.skip(tag & 7);
426
+ }
427
+ return message;
428
+ },
429
+ fromJSON(object) {
430
+ return {
431
+ sessionToken: isSet(object.sessionToken) ? globalThis.String(object.sessionToken) : "",
432
+ expirationTimestamp: isSet(object.expirationTimestamp) ? globalThis.Number(object.expirationTimestamp) : 0,
433
+ };
434
+ },
435
+ toJSON(message) {
436
+ const obj = {};
437
+ if (message.sessionToken !== "") {
438
+ obj.sessionToken = message.sessionToken;
439
+ }
440
+ if (message.expirationTimestamp !== 0) {
441
+ obj.expirationTimestamp = Math.round(message.expirationTimestamp);
442
+ }
443
+ return obj;
444
+ },
445
+ create(base) {
446
+ return VerifyChallengeResponse.fromPartial(base ?? {});
447
+ },
448
+ fromPartial(object) {
449
+ const message = createBaseVerifyChallengeResponse();
450
+ message.sessionToken = object.sessionToken ?? "";
451
+ message.expirationTimestamp = object.expirationTimestamp ?? 0;
452
+ return message;
453
+ },
454
+ };
455
+ export const SparkAuthnServiceDefinition = {
456
+ name: "SparkAuthnService",
457
+ fullName: "spark_authn.SparkAuthnService",
458
+ methods: {
459
+ /** Request a new authentication challenge for a public key */
460
+ get_challenge: {
461
+ name: "get_challenge",
462
+ requestType: GetChallengeRequest,
463
+ requestStream: false,
464
+ responseType: GetChallengeResponse,
465
+ responseStream: false,
466
+ options: {},
467
+ },
468
+ /** Verify a signed challenge and return a session token */
469
+ verify_challenge: {
470
+ name: "verify_challenge",
471
+ requestType: VerifyChallengeRequest,
472
+ requestStream: false,
473
+ responseType: VerifyChallengeResponse,
474
+ responseStream: false,
475
+ options: {},
476
+ },
477
+ },
478
+ };
479
+ function bytesFromBase64(b64) {
480
+ if (globalThis.Buffer) {
481
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
482
+ }
483
+ else {
484
+ const bin = globalThis.atob(b64);
485
+ const arr = new Uint8Array(bin.length);
486
+ for (let i = 0; i < bin.length; ++i) {
487
+ arr[i] = bin.charCodeAt(i);
488
+ }
489
+ return arr;
490
+ }
491
+ }
492
+ function base64FromBytes(arr) {
493
+ if (globalThis.Buffer) {
494
+ return globalThis.Buffer.from(arr).toString("base64");
495
+ }
496
+ else {
497
+ const bin = [];
498
+ arr.forEach((byte) => {
499
+ bin.push(globalThis.String.fromCharCode(byte));
500
+ });
501
+ return globalThis.btoa(bin.join(""));
502
+ }
503
+ }
504
+ function longToNumber(int64) {
505
+ const num = globalThis.Number(int64.toString());
506
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) {
507
+ throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
508
+ }
509
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) {
510
+ throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
511
+ }
512
+ return num;
513
+ }
514
+ function isSet(value) {
515
+ return value !== null && value !== undefined;
516
+ }
517
+ //# sourceMappingURL=spark_authn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spark_authn.js","sourceRoot":"","sources":["../../src/proto/spark_authn.ts"],"names":[],"mappings":"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"}