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.
Files changed (47) hide show
  1. package/README.md +22 -15
  2. package/dist/constants/metadata.d.ts +2 -2
  3. package/dist/constants/metadata.js +4 -4
  4. package/dist/constants/metadata.js.map +1 -1
  5. package/dist/constants/servers.d.ts +17 -19
  6. package/dist/constants/servers.d.ts.map +1 -1
  7. package/dist/constants/servers.js +24 -27
  8. package/dist/constants/servers.js.map +1 -1
  9. package/dist/core/ZipkitMinter.js +4 -4
  10. package/dist/core/ZipkitMinter.js.map +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/{zipstamp-server → token-service}/CalendarManager.d.ts +6 -6
  16. package/dist/token-service/CalendarManager.d.ts.map +1 -0
  17. package/dist/{zipstamp-server → token-service}/CalendarManager.js +8 -8
  18. package/dist/token-service/CalendarManager.js.map +1 -0
  19. package/dist/{zipstamp-server/ZipstampServerAPI.d.ts → token-service/TokenServiceAPI.d.ts} +19 -19
  20. package/dist/token-service/TokenServiceAPI.d.ts.map +1 -0
  21. package/dist/{zipstamp-server/ZipstampServerAPI.js → token-service/TokenServiceAPI.js} +56 -56
  22. package/dist/token-service/TokenServiceAPI.js.map +1 -0
  23. package/dist/{zipstamp-server/ZipstampServerClient.d.ts → token-service/TokenServiceClient.d.ts} +41 -28
  24. package/dist/token-service/TokenServiceClient.d.ts.map +1 -0
  25. package/dist/{zipstamp-server/ZipstampServerClient.js → token-service/TokenServiceClient.js} +35 -27
  26. package/dist/token-service/TokenServiceClient.js.map +1 -0
  27. package/dist/{zipstamp-server/ZipstampServerHelpers.d.ts → token-service/TokenServiceHelpers.d.ts} +60 -47
  28. package/dist/token-service/TokenServiceHelpers.d.ts.map +1 -0
  29. package/dist/{zipstamp-server/ZipstampServerHelpers.js → token-service/TokenServiceHelpers.js} +71 -46
  30. package/dist/token-service/TokenServiceHelpers.js.map +1 -0
  31. package/dist/token-service/index.d.ts +24 -0
  32. package/dist/token-service/index.d.ts.map +1 -0
  33. package/dist/token-service/index.js +68 -0
  34. package/dist/token-service/index.js.map +1 -0
  35. package/package.json +25 -23
  36. package/dist/zipstamp-server/CalendarManager.d.ts.map +0 -1
  37. package/dist/zipstamp-server/CalendarManager.js.map +0 -1
  38. package/dist/zipstamp-server/ZipstampServerAPI.d.ts.map +0 -1
  39. package/dist/zipstamp-server/ZipstampServerAPI.js.map +0 -1
  40. package/dist/zipstamp-server/ZipstampServerClient.d.ts.map +0 -1
  41. package/dist/zipstamp-server/ZipstampServerClient.js.map +0 -1
  42. package/dist/zipstamp-server/ZipstampServerHelpers.d.ts.map +0 -1
  43. package/dist/zipstamp-server/ZipstampServerHelpers.js.map +0 -1
  44. package/dist/zipstamp-server/index.d.ts +0 -24
  45. package/dist/zipstamp-server/index.d.ts.map +0 -1
  46. package/dist/zipstamp-server/index.js +0 -67
  47. package/dist/zipstamp-server/index.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Zipstamp Server API Client
2
+ * NeoZip Token Service HTTP client
3
3
  *
4
- * Client for interacting with the Zipstamp server API endpoints.
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 ZipstampServerClient({ serverUrl: 'https://calendar.neozip.io' });
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 ZipstampServerOptions {
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 Zipstamp server deployments accept this to select network.
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
- * (Zipstamp server API expects `email`.)
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 Zipstamp server API ignores these, but we MUST NOT send unknown keys
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 Zipstamp server deployments accept this to select network.
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
- * Zipstamp server API does not accept this field on POST /verify.
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 Zipstamp server API.
296
+ * Client for interacting with the NeoZip Token Service API.
286
297
  *
287
- * Provides low-level methods for all Zipstamp server endpoints including timestamping,
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 ZipstampServerHelpers) wrap.
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 Zipstamp server endpoints
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 ZipstampServerClient({
301
- * serverUrl: 'https://Zipstamp server.example.com',
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 ZipstampServerClient {
326
+ export declare class TokenServiceClient {
316
327
  private serverUrl;
317
328
  private timeout;
318
329
  private retries;
319
330
  private retryDelay;
320
- constructor(options?: ZipstampServerOptions);
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 Zipstamp server calendar including URI, donation address,
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 Zipstamp server.
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 Zipstamp server for the current status of a submitted digest,
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 Zipstamp server.
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 Zipstamp server (no database access).
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 Zipstamp server to process pending batches immediately. This is
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 Zipstamp server to determine if a digest has been minted as an NFT
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 code to the provided email address. The user must
525
- * then call `verifyEmail` with the code to complete registration.
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 address
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=ZipstampServerClient.d.ts.map
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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"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * Zipstamp Server API Client
3
+ * NeoZip Token Service HTTP client
4
4
  *
5
- * Client for interacting with the Zipstamp server API endpoints.
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 ZipstampServerClient({ serverUrl: 'https://calendar.neozip.io' });
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.ZipstampServerClient = void 0;
20
+ exports.TokenServiceClient = void 0;
21
21
  const servers_1 = require("../constants/servers");
22
22
  /**
23
- * Client for interacting with the Zipstamp server API.
23
+ * Client for interacting with the NeoZip Token Service API.
24
24
  *
25
- * Provides low-level methods for all Zipstamp server endpoints including timestamping,
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 ZipstampServerHelpers) wrap.
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 Zipstamp server endpoints
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 ZipstampServerClient({
39
- * serverUrl: 'https://Zipstamp server.example.com',
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 ZipstampServerClient {
53
+ class TokenServiceClient {
54
54
  constructor(options = {}) {
55
- this.serverUrl = (0, servers_1.getZipStampServerUrl)({ serverUrl: options.serverUrl });
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 Zipstamp server calendar including URI, donation address,
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 Zipstamp server.
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
- // Zipstamp server expects { digest, chainId, email } and rejects unknown fields in strict validators.
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 Zipstamp server for the current status of a submitted digest,
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 Zipstamp server.
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
- // Zipstamp server expects { digest, chainId, batchId } and rejects unknown fields in strict validators.
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 Zipstamp server (no database access).
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 Zipstamp server to process pending batches immediately. This is
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 Zipstamp server to determine if a digest has been minted as an NFT
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 code to the provided email address. The user must
352
- * then call `verifyEmail` with the code to complete registration.
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 address
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
- return this.request('POST', '/auth/register', request);
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.ZipstampServerClient = ZipstampServerClient;
433
- //# sourceMappingURL=ZipstampServerClient.js.map
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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"}