neozip-blockchain 0.7.0 → 0.7.2
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/README.md +22 -15
- package/dist/constants/metadata.d.ts +2 -2
- package/dist/constants/metadata.js +4 -4
- package/dist/constants/metadata.js.map +1 -1
- package/dist/constants/servers.d.ts +17 -19
- package/dist/constants/servers.d.ts.map +1 -1
- package/dist/constants/servers.js +24 -27
- package/dist/constants/servers.js.map +1 -1
- package/dist/core/ZipkitMinter.js +4 -4
- package/dist/core/ZipkitMinter.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/{zipstamp-server → token-service}/CalendarManager.d.ts +6 -6
- package/dist/token-service/CalendarManager.d.ts.map +1 -0
- package/dist/{zipstamp-server → token-service}/CalendarManager.js +8 -8
- package/dist/token-service/CalendarManager.js.map +1 -0
- package/dist/{zipstamp-server/ZipstampServerAPI.d.ts → token-service/TokenServiceAPI.d.ts} +19 -19
- package/dist/token-service/TokenServiceAPI.d.ts.map +1 -0
- package/dist/{zipstamp-server/ZipstampServerAPI.js → token-service/TokenServiceAPI.js} +56 -56
- package/dist/token-service/TokenServiceAPI.js.map +1 -0
- package/dist/{zipstamp-server/ZipstampServerClient.d.ts → token-service/TokenServiceClient.d.ts} +41 -28
- package/dist/token-service/TokenServiceClient.d.ts.map +1 -0
- package/dist/{zipstamp-server/ZipstampServerClient.js → token-service/TokenServiceClient.js} +35 -27
- package/dist/token-service/TokenServiceClient.js.map +1 -0
- package/dist/{zipstamp-server/ZipstampServerHelpers.d.ts → token-service/TokenServiceHelpers.d.ts} +60 -47
- package/dist/token-service/TokenServiceHelpers.d.ts.map +1 -0
- package/dist/{zipstamp-server/ZipstampServerHelpers.js → token-service/TokenServiceHelpers.js} +71 -46
- package/dist/token-service/TokenServiceHelpers.js.map +1 -0
- package/dist/token-service/index.d.ts +24 -0
- package/dist/token-service/index.d.ts.map +1 -0
- package/dist/token-service/index.js +68 -0
- package/dist/token-service/index.js.map +1 -0
- package/package.json +25 -23
- package/dist/zipstamp-server/CalendarManager.d.ts.map +0 -1
- package/dist/zipstamp-server/CalendarManager.js.map +0 -1
- package/dist/zipstamp-server/ZipstampServerAPI.d.ts.map +0 -1
- package/dist/zipstamp-server/ZipstampServerAPI.js.map +0 -1
- package/dist/zipstamp-server/ZipstampServerClient.d.ts.map +0 -1
- package/dist/zipstamp-server/ZipstampServerClient.js.map +0 -1
- package/dist/zipstamp-server/ZipstampServerHelpers.d.ts.map +0 -1
- package/dist/zipstamp-server/ZipstampServerHelpers.js.map +0 -1
- package/dist/zipstamp-server/index.d.ts +0 -24
- package/dist/zipstamp-server/index.d.ts.map +0 -1
- package/dist/zipstamp-server/index.js +0 -67
- package/dist/zipstamp-server/index.js.map +0 -1
package/dist/{zipstamp-server/ZipstampServerClient.d.ts → token-service/TokenServiceClient.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* NeoZip Token Service HTTP client
|
|
3
3
|
*
|
|
4
|
-
* Client for interacting with the
|
|
4
|
+
* Client for interacting with the NeoZip Token Service API endpoints.
|
|
5
5
|
* Provides methods for timestamping, verification, batch processing, and token transfers.
|
|
6
6
|
*
|
|
7
7
|
* **Authentication:**
|
|
@@ -10,26 +10,37 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* ```typescript
|
|
13
|
-
* const client = new
|
|
13
|
+
* const client = new TokenServiceClient({ serverUrl: 'https://calendar.neozip.io' });
|
|
14
14
|
* const result = await client.verify({ digest: '...' });
|
|
15
15
|
* const stamp = await client.stamp({ digest: '...', email: 'user@example.com' });
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
-
export interface
|
|
18
|
+
export interface TokenServiceClientOptions {
|
|
19
19
|
serverUrl?: string;
|
|
20
20
|
timeout?: number;
|
|
21
21
|
retries?: number;
|
|
22
22
|
retryDelay?: number;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* How the token service formats the verification email (`POST /auth/register`).
|
|
26
|
+
* - **`browser`**: web confirm link + 6-digit code (default).
|
|
27
|
+
* - **`app`**: NeoZip deep link + code only (no web link; desktop in-app flow).
|
|
28
|
+
*/
|
|
29
|
+
export type VerificationDelivery = 'browser' | 'app';
|
|
24
30
|
/** Request to register an email for verification */
|
|
25
31
|
export interface RegisterRequest {
|
|
26
32
|
email: string;
|
|
33
|
+
/** When omitted, the server defaults to `browser`. */
|
|
34
|
+
verificationDelivery?: VerificationDelivery;
|
|
27
35
|
}
|
|
28
36
|
/** Response from email registration */
|
|
29
37
|
export interface RegisterResponse {
|
|
30
38
|
success: boolean;
|
|
31
39
|
message?: string;
|
|
32
40
|
error?: string;
|
|
41
|
+
isNewUser?: boolean;
|
|
42
|
+
/** Echo of which delivery format was used for the email. */
|
|
43
|
+
verificationDelivery?: VerificationDelivery;
|
|
33
44
|
}
|
|
34
45
|
/** Request to verify email with code */
|
|
35
46
|
export interface VerifyEmailRequest {
|
|
@@ -93,12 +104,12 @@ export interface HealthCheckResponse {
|
|
|
93
104
|
export interface StampRequest {
|
|
94
105
|
digest: string;
|
|
95
106
|
/**
|
|
96
|
-
* Optional chainId hint. Some
|
|
107
|
+
* Optional chainId hint. Some NeoZip Token Service deployments accept this to select network.
|
|
97
108
|
*/
|
|
98
109
|
chainId?: number;
|
|
99
110
|
/**
|
|
100
111
|
* Email address associated with this stamp request.
|
|
101
|
-
* (
|
|
112
|
+
* (NeoZip Token Service API expects `email`.)
|
|
102
113
|
*/
|
|
103
114
|
email?: string;
|
|
104
115
|
/**
|
|
@@ -107,7 +118,7 @@ export interface StampRequest {
|
|
|
107
118
|
recipientEmail?: string;
|
|
108
119
|
/**
|
|
109
120
|
* Backward-compat (some older clients used `mode`/metadata/etc).
|
|
110
|
-
* Current
|
|
121
|
+
* Current NeoZip Token Service API ignores these, but we MUST NOT send unknown keys
|
|
111
122
|
* to strict request validators. These are kept only to avoid breaking callers,
|
|
112
123
|
* and will be stripped before sending.
|
|
113
124
|
*/
|
|
@@ -136,7 +147,7 @@ export interface StampResponse {
|
|
|
136
147
|
export interface VerifyRequest {
|
|
137
148
|
digest: string;
|
|
138
149
|
/**
|
|
139
|
-
* Optional chainId hint. Some
|
|
150
|
+
* Optional chainId hint. Some NeoZip Token Service deployments accept this to select network.
|
|
140
151
|
*/
|
|
141
152
|
chainId?: number;
|
|
142
153
|
/**
|
|
@@ -145,7 +156,7 @@ export interface VerifyRequest {
|
|
|
145
156
|
batchId?: string;
|
|
146
157
|
/**
|
|
147
158
|
* Backward-compat (older clients used tokenId-based verification).
|
|
148
|
-
*
|
|
159
|
+
* NeoZip Token Service API does not accept this field on POST /verify.
|
|
149
160
|
*/
|
|
150
161
|
tokenId?: string;
|
|
151
162
|
}
|
|
@@ -282,23 +293,23 @@ export interface NFTContractInfoResponse {
|
|
|
282
293
|
error?: string;
|
|
283
294
|
}
|
|
284
295
|
/**
|
|
285
|
-
* Client for interacting with the
|
|
296
|
+
* Client for interacting with the NeoZip Token Service API.
|
|
286
297
|
*
|
|
287
|
-
* Provides low-level methods for all
|
|
298
|
+
* Provides low-level methods for all NeoZip Token Service endpoints including timestamping,
|
|
288
299
|
* verification, batch operations, transfers, and NFT proof minting. This is the
|
|
289
|
-
* base client that higher-level convenience functions (in
|
|
300
|
+
* base client that higher-level convenience functions (in TokenServiceHelpers) wrap.
|
|
290
301
|
*
|
|
291
302
|
* **Features:**
|
|
292
303
|
* - Automatic retry with exponential backoff
|
|
293
304
|
* - Configurable timeouts
|
|
294
305
|
* - Type-safe request/response handling
|
|
295
|
-
* - Support for all
|
|
306
|
+
* - Support for all NeoZip Token Service endpoints
|
|
296
307
|
*
|
|
297
308
|
* @example
|
|
298
309
|
* ```typescript
|
|
299
310
|
* // Create client with custom settings
|
|
300
|
-
* const client = new
|
|
301
|
-
* serverUrl: 'https://
|
|
311
|
+
* const client = new TokenServiceClient({
|
|
312
|
+
* serverUrl: 'https://tokens.example.com',
|
|
302
313
|
* timeout: 60000, // 60 seconds
|
|
303
314
|
* retries: 5,
|
|
304
315
|
* retryDelay: 2000 // 2 seconds
|
|
@@ -312,12 +323,12 @@ export interface NFTContractInfoResponse {
|
|
|
312
323
|
* });
|
|
313
324
|
* ```
|
|
314
325
|
*/
|
|
315
|
-
export declare class
|
|
326
|
+
export declare class TokenServiceClient {
|
|
316
327
|
private serverUrl;
|
|
317
328
|
private timeout;
|
|
318
329
|
private retries;
|
|
319
330
|
private retryDelay;
|
|
320
|
-
constructor(options?:
|
|
331
|
+
constructor(options?: TokenServiceClientOptions);
|
|
321
332
|
/**
|
|
322
333
|
* Get the current server URL
|
|
323
334
|
*/
|
|
@@ -329,14 +340,14 @@ export declare class ZipstampServerClient {
|
|
|
329
340
|
/**
|
|
330
341
|
* Retrieves calendar server information.
|
|
331
342
|
*
|
|
332
|
-
* Gets metadata about the
|
|
343
|
+
* Gets metadata about the NeoZip Token Service calendar including URI, donation address,
|
|
333
344
|
* version, network, and contract address.
|
|
334
345
|
*
|
|
335
346
|
* @returns Promise resolving to calendar information
|
|
336
347
|
*/
|
|
337
348
|
getCalendarInfo(): Promise<CalendarInfo>;
|
|
338
349
|
/**
|
|
339
|
-
* Creates a timestamp by submitting a digest to the
|
|
350
|
+
* Creates a timestamp by submitting a digest to the NeoZip Token Service.
|
|
340
351
|
*
|
|
341
352
|
* Submits a SHA-256 digest (merkle root) to be included in the next batch for
|
|
342
353
|
* blockchain timestamping. The digest is typically the merkle root of a ZIP file.
|
|
@@ -355,7 +366,7 @@ export declare class ZipstampServerClient {
|
|
|
355
366
|
/**
|
|
356
367
|
* Gets the status of a pending stamp by digest.
|
|
357
368
|
*
|
|
358
|
-
* Queries the
|
|
369
|
+
* Queries the NeoZip Token Service for the current status of a submitted digest,
|
|
359
370
|
* including batch information and confirmation status.
|
|
360
371
|
*
|
|
361
372
|
* @param digest - SHA-256 digest (64-character hex string) to check
|
|
@@ -364,7 +375,7 @@ export declare class ZipstampServerClient {
|
|
|
364
375
|
*/
|
|
365
376
|
getStampStatus(digest: string): Promise<StampResponse>;
|
|
366
377
|
/**
|
|
367
|
-
* Verifies a timestamp by checking with the
|
|
378
|
+
* Verifies a timestamp by checking with the NeoZip Token Service.
|
|
368
379
|
*
|
|
369
380
|
* Verifies whether a digest has been confirmed on the blockchain. Returns
|
|
370
381
|
* detailed information including transaction hash, block number, and merkle proof
|
|
@@ -382,7 +393,7 @@ export declare class ZipstampServerClient {
|
|
|
382
393
|
*/
|
|
383
394
|
verify(request: VerifyRequest): Promise<VerifyResponse>;
|
|
384
395
|
/**
|
|
385
|
-
* Verifies a Merkle proof directly on-chain via
|
|
396
|
+
* Verifies a Merkle proof directly on-chain via NeoZip Token Service (no database access).
|
|
386
397
|
*
|
|
387
398
|
* Performs on-chain verification of a Merkle proof without requiring database
|
|
388
399
|
* access. Useful for verifying proofs from confirmed timestamps that may have
|
|
@@ -451,7 +462,7 @@ export declare class ZipstampServerClient {
|
|
|
451
462
|
/**
|
|
452
463
|
* Manually triggers batch processing (admin endpoint).
|
|
453
464
|
*
|
|
454
|
-
* Forces the
|
|
465
|
+
* Forces the NeoZip Token Service to process pending batches immediately. This is
|
|
455
466
|
* typically an admin-only operation and may require authentication.
|
|
456
467
|
*
|
|
457
468
|
* @returns Promise resolving to batch status response
|
|
@@ -494,7 +505,7 @@ export declare class ZipstampServerClient {
|
|
|
494
505
|
/**
|
|
495
506
|
* Checks if a digest has been minted as an NFT-proof token.
|
|
496
507
|
*
|
|
497
|
-
* Queries the
|
|
508
|
+
* Queries the NeoZip Token Service to determine if a digest has been minted as an NFT
|
|
498
509
|
* on the TimestampProofNFT contract. Returns token information if minted.
|
|
499
510
|
*
|
|
500
511
|
* Maps to `GET /nft/status` endpoint.
|
|
@@ -521,12 +532,14 @@ export declare class ZipstampServerClient {
|
|
|
521
532
|
/**
|
|
522
533
|
* Request email verification (first step of registration).
|
|
523
534
|
*
|
|
524
|
-
* Sends a verification
|
|
525
|
-
*
|
|
535
|
+
* Sends a verification email to the provided email address. The server may send
|
|
536
|
+
* a web confirmation link and/or a NeoZip deep link depending on `verificationDelivery`
|
|
537
|
+
* (`browser` default, `app` for desktop-only layout). The user completes verification
|
|
538
|
+
* via the link and/or by submitting the 6-digit code to `POST /auth/verify`.
|
|
526
539
|
*
|
|
527
540
|
* PUBLIC: No API key required.
|
|
528
541
|
*
|
|
529
|
-
* @param request - Registration request with email
|
|
542
|
+
* @param request - Registration request with email and optional `verificationDelivery`
|
|
530
543
|
* @returns Promise resolving to registration response
|
|
531
544
|
*/
|
|
532
545
|
register(request: RegisterRequest): Promise<RegisterResponse>;
|
|
@@ -587,4 +600,4 @@ export declare class ZipstampServerClient {
|
|
|
587
600
|
*/
|
|
588
601
|
healthCheckFull(): Promise<HealthCheckResponse>;
|
|
589
602
|
}
|
|
590
|
-
//# sourceMappingURL=
|
|
603
|
+
//# sourceMappingURL=TokenServiceClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenServiceClient.d.ts","sourceRoot":"","sources":["../../src/token-service/TokenServiceClient.ts"],"names":[],"mappings":"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"}
|
package/dist/{zipstamp-server/ZipstampServerClient.js → token-service/TokenServiceClient.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* NeoZip Token Service HTTP client
|
|
4
4
|
*
|
|
5
|
-
* Client for interacting with the
|
|
5
|
+
* Client for interacting with the NeoZip Token Service API endpoints.
|
|
6
6
|
* Provides methods for timestamping, verification, batch processing, and token transfers.
|
|
7
7
|
*
|
|
8
8
|
* **Authentication:**
|
|
@@ -11,32 +11,32 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```typescript
|
|
14
|
-
* const client = new
|
|
14
|
+
* const client = new TokenServiceClient({ serverUrl: 'https://calendar.neozip.io' });
|
|
15
15
|
* const result = await client.verify({ digest: '...' });
|
|
16
16
|
* const stamp = await client.stamp({ digest: '...', email: 'user@example.com' });
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
20
|
+
exports.TokenServiceClient = void 0;
|
|
21
21
|
const servers_1 = require("../constants/servers");
|
|
22
22
|
/**
|
|
23
|
-
* Client for interacting with the
|
|
23
|
+
* Client for interacting with the NeoZip Token Service API.
|
|
24
24
|
*
|
|
25
|
-
* Provides low-level methods for all
|
|
25
|
+
* Provides low-level methods for all NeoZip Token Service endpoints including timestamping,
|
|
26
26
|
* verification, batch operations, transfers, and NFT proof minting. This is the
|
|
27
|
-
* base client that higher-level convenience functions (in
|
|
27
|
+
* base client that higher-level convenience functions (in TokenServiceHelpers) wrap.
|
|
28
28
|
*
|
|
29
29
|
* **Features:**
|
|
30
30
|
* - Automatic retry with exponential backoff
|
|
31
31
|
* - Configurable timeouts
|
|
32
32
|
* - Type-safe request/response handling
|
|
33
|
-
* - Support for all
|
|
33
|
+
* - Support for all NeoZip Token Service endpoints
|
|
34
34
|
*
|
|
35
35
|
* @example
|
|
36
36
|
* ```typescript
|
|
37
37
|
* // Create client with custom settings
|
|
38
|
-
* const client = new
|
|
39
|
-
* serverUrl: 'https://
|
|
38
|
+
* const client = new TokenServiceClient({
|
|
39
|
+
* serverUrl: 'https://tokens.example.com',
|
|
40
40
|
* timeout: 60000, // 60 seconds
|
|
41
41
|
* retries: 5,
|
|
42
42
|
* retryDelay: 2000 // 2 seconds
|
|
@@ -50,9 +50,9 @@ const servers_1 = require("../constants/servers");
|
|
|
50
50
|
* });
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
53
|
-
class
|
|
53
|
+
class TokenServiceClient {
|
|
54
54
|
constructor(options = {}) {
|
|
55
|
-
this.serverUrl = (0, servers_1.
|
|
55
|
+
this.serverUrl = (0, servers_1.getTokenServiceUrl)({ serverUrl: options.serverUrl });
|
|
56
56
|
this.timeout = options.timeout || 30000; // 30 seconds
|
|
57
57
|
this.retries = options.retries || 3;
|
|
58
58
|
this.retryDelay = options.retryDelay || 1000; // 1 second
|
|
@@ -110,7 +110,7 @@ class ZipstampServerClient {
|
|
|
110
110
|
/**
|
|
111
111
|
* Retrieves calendar server information.
|
|
112
112
|
*
|
|
113
|
-
* Gets metadata about the
|
|
113
|
+
* Gets metadata about the NeoZip Token Service calendar including URI, donation address,
|
|
114
114
|
* version, network, and contract address.
|
|
115
115
|
*
|
|
116
116
|
* @returns Promise resolving to calendar information
|
|
@@ -119,7 +119,7 @@ class ZipstampServerClient {
|
|
|
119
119
|
return this.request('GET', '/calendar/info');
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
122
|
-
* Creates a timestamp by submitting a digest to the
|
|
122
|
+
* Creates a timestamp by submitting a digest to the NeoZip Token Service.
|
|
123
123
|
*
|
|
124
124
|
* Submits a SHA-256 digest (merkle root) to be included in the next batch for
|
|
125
125
|
* blockchain timestamping. The digest is typically the merkle root of a ZIP file.
|
|
@@ -135,7 +135,7 @@ class ZipstampServerClient {
|
|
|
135
135
|
* @throws {Error} If request fails or server returns error
|
|
136
136
|
*/
|
|
137
137
|
async stamp(request) {
|
|
138
|
-
//
|
|
138
|
+
// NeoZip Token Service expects { digest, chainId, email } and rejects unknown fields in strict validators.
|
|
139
139
|
const body = {
|
|
140
140
|
digest: request.digest,
|
|
141
141
|
chainId: request.chainId,
|
|
@@ -146,7 +146,7 @@ class ZipstampServerClient {
|
|
|
146
146
|
/**
|
|
147
147
|
* Gets the status of a pending stamp by digest.
|
|
148
148
|
*
|
|
149
|
-
* Queries the
|
|
149
|
+
* Queries the NeoZip Token Service for the current status of a submitted digest,
|
|
150
150
|
* including batch information and confirmation status.
|
|
151
151
|
*
|
|
152
152
|
* @param digest - SHA-256 digest (64-character hex string) to check
|
|
@@ -160,7 +160,7 @@ class ZipstampServerClient {
|
|
|
160
160
|
return this.request('GET', `/stamp/${digest}`);
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
|
-
* Verifies a timestamp by checking with the
|
|
163
|
+
* Verifies a timestamp by checking with the NeoZip Token Service.
|
|
164
164
|
*
|
|
165
165
|
* Verifies whether a digest has been confirmed on the blockchain. Returns
|
|
166
166
|
* detailed information including transaction hash, block number, and merkle proof
|
|
@@ -177,7 +177,7 @@ class ZipstampServerClient {
|
|
|
177
177
|
* @throws {Error} If request fails or server returns error
|
|
178
178
|
*/
|
|
179
179
|
async verify(request) {
|
|
180
|
-
//
|
|
180
|
+
// NeoZip Token Service expects { digest, chainId, batchId } and rejects unknown fields in strict validators.
|
|
181
181
|
const body = {
|
|
182
182
|
digest: request.digest,
|
|
183
183
|
chainId: request.chainId,
|
|
@@ -186,7 +186,7 @@ class ZipstampServerClient {
|
|
|
186
186
|
return this.request('POST', '/verify', body);
|
|
187
187
|
}
|
|
188
188
|
/**
|
|
189
|
-
* Verifies a Merkle proof directly on-chain via
|
|
189
|
+
* Verifies a Merkle proof directly on-chain via NeoZip Token Service (no database access).
|
|
190
190
|
*
|
|
191
191
|
* Performs on-chain verification of a Merkle proof without requiring database
|
|
192
192
|
* access. Useful for verifying proofs from confirmed timestamps that may have
|
|
@@ -251,7 +251,7 @@ class ZipstampServerClient {
|
|
|
251
251
|
/**
|
|
252
252
|
* Manually triggers batch processing (admin endpoint).
|
|
253
253
|
*
|
|
254
|
-
* Forces the
|
|
254
|
+
* Forces the NeoZip Token Service to process pending batches immediately. This is
|
|
255
255
|
* typically an admin-only operation and may require authentication.
|
|
256
256
|
*
|
|
257
257
|
* @returns Promise resolving to batch status response
|
|
@@ -306,7 +306,7 @@ class ZipstampServerClient {
|
|
|
306
306
|
/**
|
|
307
307
|
* Checks if a digest has been minted as an NFT-proof token.
|
|
308
308
|
*
|
|
309
|
-
* Queries the
|
|
309
|
+
* Queries the NeoZip Token Service to determine if a digest has been minted as an NFT
|
|
310
310
|
* on the TimestampProofNFT contract. Returns token information if minted.
|
|
311
311
|
*
|
|
312
312
|
* Maps to `GET /nft/status` endpoint.
|
|
@@ -348,16 +348,24 @@ class ZipstampServerClient {
|
|
|
348
348
|
/**
|
|
349
349
|
* Request email verification (first step of registration).
|
|
350
350
|
*
|
|
351
|
-
* Sends a verification
|
|
352
|
-
*
|
|
351
|
+
* Sends a verification email to the provided email address. The server may send
|
|
352
|
+
* a web confirmation link and/or a NeoZip deep link depending on `verificationDelivery`
|
|
353
|
+
* (`browser` default, `app` for desktop-only layout). The user completes verification
|
|
354
|
+
* via the link and/or by submitting the 6-digit code to `POST /auth/verify`.
|
|
353
355
|
*
|
|
354
356
|
* PUBLIC: No API key required.
|
|
355
357
|
*
|
|
356
|
-
* @param request - Registration request with email
|
|
358
|
+
* @param request - Registration request with email and optional `verificationDelivery`
|
|
357
359
|
* @returns Promise resolving to registration response
|
|
358
360
|
*/
|
|
359
361
|
async register(request) {
|
|
360
|
-
|
|
362
|
+
const body = {
|
|
363
|
+
email: request.email,
|
|
364
|
+
};
|
|
365
|
+
if (request.verificationDelivery !== undefined) {
|
|
366
|
+
body.verificationDelivery = request.verificationDelivery;
|
|
367
|
+
}
|
|
368
|
+
return this.request('POST', '/auth/register', body);
|
|
361
369
|
}
|
|
362
370
|
/**
|
|
363
371
|
* Verify email with code.
|
|
@@ -429,5 +437,5 @@ class ZipstampServerClient {
|
|
|
429
437
|
return this.request('GET', '/health/full');
|
|
430
438
|
}
|
|
431
439
|
}
|
|
432
|
-
exports.
|
|
433
|
-
//# sourceMappingURL=
|
|
440
|
+
exports.TokenServiceClient = TokenServiceClient;
|
|
441
|
+
//# sourceMappingURL=TokenServiceClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenServiceClient.js","sourceRoot":"","sources":["../../src/token-service/TokenServiceClient.ts"],"names":[],"mappings":"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"}
|