neozip-blockchain 1.0.2 → 1.5.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 (103) hide show
  1. package/README.md +14 -6
  2. package/WHATS_NEW.md +62 -0
  3. package/dist/browser/TokenVerifierBrowser.d.ts.map +1 -1
  4. package/dist/browser/TokenVerifierBrowser.js +14 -10
  5. package/dist/browser/TokenVerifierBrowser.js.map +1 -1
  6. package/dist/constants/index.d.ts +2 -1
  7. package/dist/constants/index.d.ts.map +1 -1
  8. package/dist/constants/index.js +2 -1
  9. package/dist/constants/index.js.map +1 -1
  10. package/dist/constants/servers.d.ts +75 -12
  11. package/dist/constants/servers.d.ts.map +1 -1
  12. package/dist/constants/servers.js +175 -12
  13. package/dist/constants/servers.js.map +1 -1
  14. package/dist/core/contracts.d.ts +5 -0
  15. package/dist/core/contracts.d.ts.map +1 -1
  16. package/dist/core/contracts.js +12 -4
  17. package/dist/core/contracts.js.map +1 -1
  18. package/dist/core/index.d.ts +1 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +2 -1
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/encryption/AccessMetadata.d.ts +24 -0
  23. package/dist/encryption/AccessMetadata.d.ts.map +1 -0
  24. package/dist/encryption/AccessMetadata.js +71 -0
  25. package/dist/encryption/AccessMetadata.js.map +1 -0
  26. package/dist/encryption/KeyWrapper.d.ts +40 -0
  27. package/dist/encryption/KeyWrapper.d.ts.map +1 -0
  28. package/dist/encryption/KeyWrapper.js +129 -0
  29. package/dist/encryption/KeyWrapper.js.map +1 -0
  30. package/dist/encryption/KeyWrapperX25519.d.ts +43 -0
  31. package/dist/encryption/KeyWrapperX25519.d.ts.map +1 -0
  32. package/dist/encryption/KeyWrapperX25519.js +136 -0
  33. package/dist/encryption/KeyWrapperX25519.js.map +1 -0
  34. package/dist/encryption/RecipientEncryption.d.ts +60 -0
  35. package/dist/encryption/RecipientEncryption.d.ts.map +1 -0
  36. package/dist/encryption/RecipientEncryption.js +237 -0
  37. package/dist/encryption/RecipientEncryption.js.map +1 -0
  38. package/dist/encryption/index.d.ts +6 -0
  39. package/dist/encryption/index.d.ts.map +1 -0
  40. package/dist/encryption/index.js +23 -0
  41. package/dist/encryption/index.js.map +1 -0
  42. package/dist/encryption/types.d.ts +60 -0
  43. package/dist/encryption/types.d.ts.map +1 -0
  44. package/dist/encryption/types.js +6 -0
  45. package/dist/encryption/types.js.map +1 -0
  46. package/dist/identity/ENSResolver.d.ts +30 -0
  47. package/dist/identity/ENSResolver.d.ts.map +1 -0
  48. package/dist/identity/ENSResolver.js +85 -0
  49. package/dist/identity/ENSResolver.js.map +1 -0
  50. package/dist/identity/IdentityResolverDispatch.d.ts +35 -0
  51. package/dist/identity/IdentityResolverDispatch.d.ts.map +1 -0
  52. package/dist/identity/IdentityResolverDispatch.js +55 -0
  53. package/dist/identity/IdentityResolverDispatch.js.map +1 -0
  54. package/dist/identity/LitPkpResolver.d.ts +17 -0
  55. package/dist/identity/LitPkpResolver.d.ts.map +1 -0
  56. package/dist/identity/LitPkpResolver.js +44 -0
  57. package/dist/identity/LitPkpResolver.js.map +1 -0
  58. package/dist/identity/index.d.ts +6 -0
  59. package/dist/identity/index.d.ts.map +1 -0
  60. package/dist/identity/index.js +18 -0
  61. package/dist/identity/index.js.map +1 -0
  62. package/dist/identity/types.d.ts +38 -0
  63. package/dist/identity/types.d.ts.map +1 -0
  64. package/dist/identity/types.js +13 -0
  65. package/dist/identity/types.js.map +1 -0
  66. package/dist/index.d.ts +1 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +2 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/ots/ZipkitOTS.d.ts +8 -1
  71. package/dist/ots/ZipkitOTS.d.ts.map +1 -1
  72. package/dist/ots/ZipkitOTS.js +28 -15
  73. package/dist/ots/ZipkitOTS.js.map +1 -1
  74. package/dist/token-service/TokenServiceAPI.d.ts +3 -0
  75. package/dist/token-service/TokenServiceAPI.d.ts.map +1 -1
  76. package/dist/token-service/TokenServiceAPI.js +20 -22
  77. package/dist/token-service/TokenServiceAPI.js.map +1 -1
  78. package/dist/token-service/TokenServiceClient.d.ts +64 -1
  79. package/dist/token-service/TokenServiceClient.d.ts.map +1 -1
  80. package/dist/token-service/TokenServiceClient.js +78 -8
  81. package/dist/token-service/TokenServiceClient.js.map +1 -1
  82. package/dist/token-service/TokenServiceHelpers.d.ts +9 -1
  83. package/dist/token-service/TokenServiceHelpers.d.ts.map +1 -1
  84. package/dist/token-service/TokenServiceHelpers.js +11 -2
  85. package/dist/token-service/TokenServiceHelpers.js.map +1 -1
  86. package/dist/token-service/index.d.ts +2 -2
  87. package/dist/token-service/index.d.ts.map +1 -1
  88. package/dist/token-service/index.js +10 -3
  89. package/dist/token-service/index.js.map +1 -1
  90. package/dist/types/index.d.ts +8 -1
  91. package/dist/types/index.d.ts.map +1 -1
  92. package/dist/version.d.ts +3 -0
  93. package/dist/version.d.ts.map +1 -0
  94. package/dist/version.js +6 -0
  95. package/dist/version.js.map +1 -0
  96. package/docs/CONTRACT_CODE_VERIFICATION_DESIGN.md +525 -0
  97. package/docs/ENCRYPTION.md +213 -0
  98. package/docs/MIGRATION.md +175 -0
  99. package/docs/RATE_LIMITING_DESIGN.md +290 -0
  100. package/docs/TOKEN_SERVICE_API_UPDATE_PLAN.md +712 -0
  101. package/docs/security-hardening-plan.html +398 -0
  102. package/docs/security-hardening-plan.md +316 -0
  103. package/package.json +24 -5
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Blockchain functionality for NeoZip: **NeoZip Token Service timestamping** (stamp, upgrade, mint, verify), NFT minting, verification, and wallet management. Part of the [neozipkit monorepo](../../README.md).
4
4
 
5
- > **Stable 1.0:** This package **1.0.2** is the first non-beta release. Please report issues on [GitHub](https://github.com/NeoWareInc/neozipkit/issues). This package is part of the [neozipkit monorepo](../../README.md).
5
+ > **Stable 1.5:** This package **1.5.0** (identity-based encryption; pairs with `neozipkit@1.5.0`). Format profile: [NEOZIP_APPNOTE.md](../neozipkit/NEOZIP_APPNOTE.md). See [WHATS_NEW.md](WHATS_NEW.md).
6
6
 
7
7
  See [WHATS_NEW.md](WHATS_NEW.md) for release notes.
8
8
 
@@ -16,6 +16,7 @@ This package provides the client-side API and utilities that work with the sibli
16
16
  - **Wallet Management**: Browser and Node.js wallet integrations
17
17
  - **Multi-Network Support**: Base Mainnet, Base Sepolia, and more
18
18
  - **Examples**: Runnable scripts for stamp, upgrade, mint, verify, and token-create flows (see [`examples/README.md`](examples/README.md), `examples/`, and `package.json` `example:*` scripts)
19
+ - **Identity encryption**: Encrypt `.nzip` archives for ENS / address / Lit PKP recipients (`neozip-blockchain/encryption` + `neozip-blockchain/identity`). See [docs/ENCRYPTION.md](docs/ENCRYPTION.md).
19
20
 
20
21
  ## Installation
21
22
 
@@ -41,7 +42,14 @@ The **NeoZip Token Service** is a **separate application** (not part of this rep
41
42
  - Fetch TIMESTAMP.NZIP and proof data
42
43
  - Support stamp → upgrade → mint workflows
43
44
 
44
- Configure your app with the NeoZip Token Service URL (`TOKEN_SERVICE_URL`) and run the NeoZip Token Service separately when using timestamping features. See `examples/` and `.env.sample` for usage.
45
+ Configure your app with a **network profile** (`TOKEN_SERVICE_NETWORK=base-sepolia` default, or `base` for production) or an explicit `TOKEN_SERVICE_URL`. Library helpers resolve the correct host:
46
+
47
+ | Profile | Chain | Host |
48
+ |---------|-------|------|
49
+ | `base-sepolia` (default) | 84532 | `https://testnet.token-service.neozip.io` |
50
+ | `base` | 8453 | `https://token-service.neozip.io` |
51
+
52
+ See `src/constants/servers.ts` (`resolveNetworkProfile`, `getTokenServiceUrlForNetwork`). Paid mainnet token purchase is stubbed (`isTokenPurchaseAvailable` → `false`). Run the NeoZip Token Service separately for timestamping. See `examples/` and `.env.sample`.
45
53
 
46
54
  ## Quick Start
47
55
 
@@ -95,10 +103,10 @@ Use the NeoZip Token Service to stamp a ZIP (submit digest), upgrade once the ba
95
103
 
96
104
  ## Supported Networks
97
105
 
98
- | Network | Chain ID | Status |
99
- |---------|----------|--------|
100
- | Base Mainnet | 8453 | Production |
101
- | Base Sepolia | 84532 | Testnet |
106
+ | Network | Chain ID | Status | NFT (library default) |
107
+ |---------|----------|--------|------------------------|
108
+ | Base Mainnet | 8453 | Production | v2.51 + TimestampReg v0.90 (legacy v2.10: `LEGACY_BASE_MAINNET_NFT_V210`) |
109
+ | Base Sepolia | 84532 | Testnet (default) | v2.51 + TimestampReg v0.90 |
102
110
 
103
111
  ## API Reference
104
112
 
package/WHATS_NEW.md CHANGED
@@ -2,6 +2,68 @@
2
2
 
3
3
  Release notes for people who install and use **`neozip-blockchain`** from npm (alongside [`neozipkit`](https://www.npmjs.com/package/neozipkit)).
4
4
 
5
+ ## 1.5.0 (2026-10-25)
6
+
7
+ Released with sibling **`neozipkit@1.5.0`** (Zip64, Extra Field `0x014F`, browser/buffer zstd, `forceZip64`).
8
+
9
+ ### Identity-based (recipient) encryption
10
+
11
+ Moved from the former private `@neowareinc/neozipkit-pro` package into this library:
12
+
13
+ - **`neozip-blockchain/encryption`** — ECIES key wrapping (secp256k1 / X25519 + AES-256-GCM), `META-INF/ACCESS.NZIP`, `encryptForRecipients` / `decryptAsRecipient`
14
+ - **`neozip-blockchain/identity`** — ENS / address / Lit PKP resolvers for recipient public keys
15
+
16
+ Inner ZIP entry encryption still uses **neozipkit** NeoEncrypt (`neo-aes256`) by default. See [docs/ENCRYPTION.md](docs/ENCRYPTION.md).
17
+
18
+ HKDF domain-separation strings are unchanged (`neozipkit-pro/ecies/v1`, …) so existing recipient-encrypted archives remain decryptable.
19
+
20
+ ```bash
21
+ npm install neozipkit@^1.5.0 neozip-blockchain@^1.5.0
22
+ ```
23
+
24
+ ```typescript
25
+ import { encryptForRecipients } from 'neozip-blockchain/encryption';
26
+ import { ENSResolver } from 'neozip-blockchain/identity';
27
+ ```
28
+
29
+ ---
30
+
31
+ ## 1.0.5 (2026-08-14)
32
+
33
+ ### Token Service network profiles (Base Sepolia + Base Mainnet)
34
+
35
+ - Dual Token Service hostnames: testnet → `https://testnet.token-service.neozip.io` (Base Sepolia, **default**); production → `https://token-service.neozip.io` (Base Mainnet).
36
+ - Library APIs: `resolveNetworkProfile`, `getTokenServiceUrlForNetwork`, `NETWORK_PROFILES`, `isTokenPurchaseAvailable` (stub; always `false` — purchase coming soon).
37
+ - Prefer env `TOKEN_SERVICE_NETWORK=base-sepolia|base`; `TOKEN_SERVICE_CHAIN_ID` still works; `NEOZIP_CHAIN_ID` is a deprecated alias.
38
+ - Base Mainnet NFT in `CONTRACT_CONFIGS[8453]` is **v2.51** at `0x13C7c45FA99856153AeD9e97d6Db8bDEc5320E42` with TimestampReg v0.90 at `0x07A6a71444A974a7DcfC185966e56fF4809B39f4`. Historic v2.10: `LEGACY_BASE_MAINNET_NFT_V210`.
39
+
40
+ ### Membership helpers (Token Service)
41
+
42
+ `TokenServiceClient` supports membership-gated routes (Bearer access token):
43
+
44
+ - `getMembershipStatus()` — `GET /membership/status`
45
+ - `createMembershipCheckout(...)` — `POST /membership/checkout` (Stripe Checkout URL)
46
+ - `createMembershipPortal()` — `POST /membership/portal` (Stripe Customer Portal)
47
+
48
+ Structured errors can surface `membershipRequired` when a network needs an active membership.
49
+
50
+ ### APPNOTE-aligned META-INF discovery + Merkle §6.3
51
+
52
+ Requires **`neozipkit@^1.0.5`**.
53
+
54
+ - Token, timestamp, and OTS sidecar lookup follows [NEOZIP_APPNOTE.md](https://github.com/NeoWareInc/neozipkit/blob/main/packages/neozipkit/NEOZIP_APPNOTE.md) §2.3 (canonical uppercase writes; **ASCII case-insensitive** discovery).
55
+ - Mint / stamp / verify helpers prefer **`getMerkleRootAsync()`** so digests match APPNOTE **§6.3** (domain-separated content leaves, path-normalized sort; stream leaves when the kit captured them). Sync `getMerkleRoot()` alone is not enough for new v1 roots when only Extra Field digests are present.
56
+
57
+ **Helpers:** `getMerkleRootSafeAsync(zip)` (preferred), `getMerkleRootSafe(zip)` (sync only).
58
+
59
+ Legacy digests can still be checked with digests-based **`{ algorithm: 'v0' }`** roots / fallbacks.
60
+
61
+ ```bash
62
+ npm install neozipkit@^1.0.5 neozip-blockchain@^1.0.5
63
+ ```
64
+
65
+ ---
66
+
5
67
  ## 1.0.2 (2026-07-28)
6
68
 
7
69
  ### First stable release
@@ -1 +1 @@
1
- {"version":3,"file":"TokenVerifierBrowser.d.ts","sourceRoot":"","sources":["../../src/browser/TokenVerifierBrowser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAInE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACG,oBAAoB,CACxB,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC;IA2LnC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;YACW,mBAAmB;IA2GjC;;OAEG;YACW,YAAY;IAS1B;;OAEG;IACH,kBAAkB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM;CAWzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,oBAAoB,CAE5E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAGlC"}
1
+ {"version":3,"file":"TokenVerifierBrowser.d.ts","sourceRoot":"","sources":["../../src/browser/TokenVerifierBrowser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKnE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACG,oBAAoB,CACxB,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC;IAgMnC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;YACW,mBAAmB;IA2GjC;;OAEG;YACW,YAAY;IAS1B;;OAEG;IACH,kBAAkB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM;CAWzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,oBAAoB,CAE5E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAGlC"}
@@ -10,6 +10,7 @@ exports.createTokenVerifier = createTokenVerifier;
10
10
  exports.checkForTokenization = checkForTokenization;
11
11
  const contracts_1 = require("../core/contracts");
12
12
  const ethers_1 = require("ethers");
13
+ const neozipkit_1 = require("neozipkit");
13
14
  // Use the complete contract ABI from constants
14
15
  const CONTRACT_ABI = contracts_1.NZIP_CONTRACT_ABI;
15
16
  /**
@@ -24,14 +25,14 @@ class TokenVerifierBrowser {
24
25
  * Checks if the ZIP file contains NFT token metadata and verifies the merkle root
25
26
  */
26
27
  async checkForTokenization(zipEntries, options = {}) {
27
- // Look for the tokenized metadata file (check new standard first, then legacy)
28
- let tokenEntry = zipEntries.find(entry => entry.filename === contracts_1.TOKENIZED_METADATA);
29
- // Fallback to legacy NZIP.TOKEN for backward compatibility
30
- if (!tokenEntry) {
31
- tokenEntry = zipEntries.find(entry => entry.filename === contracts_1.TOKENIZED_METADATA_LEGACY);
32
- if (tokenEntry && typeof console !== 'undefined' && console.warn) {
33
- console.warn('[TokenVerifierBrowser] Reading legacy NZIP.TOKEN. Write new files as TOKEN.NZIP.');
34
- }
28
+ // Look for the tokenized metadata file (canonical TOKEN.NZIP, then legacy; case-insensitive)
29
+ let tokenEntry = (0, neozipkit_1.findReservedMetaEntry)(zipEntries, [contracts_1.TOKENIZED_METADATA, contracts_1.TOKENIZED_METADATA_LEGACY]);
30
+ if (tokenEntry &&
31
+ tokenEntry.filename &&
32
+ tokenEntry.filename !== contracts_1.TOKENIZED_METADATA &&
33
+ typeof console !== 'undefined' &&
34
+ console.warn) {
35
+ console.warn('[TokenVerifierBrowser] Reading legacy NZIP.TOKEN. Write new files as TOKEN.NZIP.');
35
36
  }
36
37
  if (!tokenEntry) {
37
38
  return {
@@ -129,8 +130,11 @@ class TokenVerifierBrowser {
129
130
  errorMessage: options.skipHash ? 'Hash verification skipped' : 'Token verification skipped'
130
131
  };
131
132
  }
132
- // Calculate merkle root excluding token file
133
- const calculatedMerkleRoot = this.zipkit.getMerkleRoot?.() || null;
133
+ // Calculate merkle root excluding token file (APPNOTE §6.3 prefers async content leaves)
134
+ const calculatedMerkleRoot = (await this.zipkit.getMerkleRootAsync?.()) ||
135
+ this.zipkit.getMerkleRoot?.({ algorithm: 'v0' }) ||
136
+ this.zipkit.getMerkleRoot?.() ||
137
+ null;
134
138
  if (!calculatedMerkleRoot) {
135
139
  return {
136
140
  isTokenized: true,
@@ -1 +1 @@
1
- {"version":3,"file":"TokenVerifierBrowser.js","sourceRoot":"","sources":["../../src/browser/TokenVerifierBrowser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenVerifierBrowser.js","sourceRoot":"","sources":["../../src/browser/TokenVerifierBrowser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Centralized constants (metadata filenames, etc.)
2
+ * Centralized constants (metadata filenames, Token Service servers, etc.)
3
3
  */
4
4
  export * from './metadata';
5
+ export * from './servers';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Centralized constants (metadata filenames, etc.)
3
+ * Centralized constants (metadata filenames, Token Service servers, etc.)
4
4
  */
5
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
6
  if (k2 === undefined) k2 = k;
@@ -18,4 +18,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  __exportStar(require("./metadata"), exports);
21
+ __exportStar(require("./servers"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,4CAA0B"}
@@ -1,36 +1,99 @@
1
1
  /**
2
- * NeoZip Token Service URL(s) and resolver.
2
+ * NeoZip Token Service URL(s), network profiles, and resolvers.
3
3
  *
4
- * Single source of truth for the default token service URL and named server
5
- * lookup. Use getTokenServiceUrl() everywhere instead of hardcoding the default.
4
+ * Single source of truth for Token Service hosts and the mapping of
5
+ * network name / chainId → server URL.
6
6
  *
7
7
  * Resolution order for getTokenServiceUrl():
8
8
  * 1. options.serverUrl (explicit URL)
9
9
  * 2. options.serverKey → TOKEN_SERVICE_URLS[serverKey]
10
- * 3. process.env.TOKEN_SERVICE_URL
11
- * 4. DEFAULT_TOKEN_SERVICE_URL
10
+ * 3. options.network / options.chainId → profile → server key → URL
11
+ * 4. process.env.TOKEN_SERVICE_URL
12
+ * 5. env TOKEN_SERVICE_NETWORK / TOKEN_SERVICE_CHAIN_ID / NEOZIP_CHAIN_ID → profile
13
+ * 6. DEFAULT_TOKEN_SERVICE_URL (testnet / Base Sepolia)
12
14
  */
13
- /** Default NeoZip Token Service URL when no env override is set */
15
+ /** Default NeoZip Token Service URL (Base Sepolia) */
14
16
  export declare const DEFAULT_TOKEN_SERVICE_URL = "https://testnet.token-service.neozip.io";
17
+ /** Production Token Service URL (Base Mainnet) */
18
+ export declare const PRODUCTION_TOKEN_SERVICE_URL = "https://token-service.neozip.io";
15
19
  /**
16
- * Named server URLs for lookup by key (e.g. "default", "dev", "staging", "production").
17
- * Extend this record as more servers are added; env vars still override at runtime.
20
+ * Named server URLs for lookup by key.
21
+ * Extend as more servers are added; env vars can still override at runtime.
18
22
  */
19
23
  export declare const TOKEN_SERVICE_URLS: Record<string, string>;
24
+ /** Known network profile keys */
25
+ export type NetworkProfileKey = 'base-sepolia' | 'base';
26
+ export interface NetworkProfile {
27
+ /** Profile key (stable identifier for env / CLI) */
28
+ key: NetworkProfileKey;
29
+ /** EVM chain ID */
30
+ chainId: number;
31
+ /** Key into TOKEN_SERVICE_URLS */
32
+ serverKey: string;
33
+ /**
34
+ * Whether paid token purchase is available on this network via Token Service.
35
+ * Always false until purchase is implemented.
36
+ */
37
+ purchaseAvailable: boolean;
38
+ /** Human-readable label */
39
+ label: string;
40
+ /** Alternate names accepted by resolveNetworkProfile */
41
+ aliases?: string[];
42
+ }
43
+ /**
44
+ * Client-side network profiles: chain ↔ Token Service host.
45
+ * Library default remains Base Sepolia.
46
+ */
47
+ export declare const NETWORK_PROFILES: Record<NetworkProfileKey, NetworkProfile>;
48
+ /** Default network profile key (safe sandbox) */
49
+ export declare const DEFAULT_NETWORK_PROFILE_KEY: NetworkProfileKey;
20
50
  export interface GetTokenServiceUrlOptions {
21
51
  /** Explicit server URL (highest precedence) */
22
52
  serverUrl?: string;
23
- /** Key into TOKEN_SERVICE_URLS (e.g. "default", "staging") */
53
+ /** Key into TOKEN_SERVICE_URLS (e.g. "default", "production") */
24
54
  serverKey?: string;
55
+ /** Network profile name (e.g. "base-sepolia", "base") */
56
+ network?: string;
57
+ /** Chain ID; selects profile when no serverUrl/serverKey */
58
+ chainId?: number;
25
59
  }
60
+ export interface ResolveNetworkProfileOptions {
61
+ /** Profile name (prefer TOKEN_SERVICE_NETWORK) */
62
+ network?: string;
63
+ /** Numeric chain (TOKEN_SERVICE_CHAIN_ID / NEOZIP_CHAIN_ID) */
64
+ chainId?: number | string;
65
+ /**
66
+ * When true (default), also read process.env for TOKEN_SERVICE_NETWORK,
67
+ * TOKEN_SERVICE_CHAIN_ID, then NEOZIP_CHAIN_ID (deprecated alias).
68
+ */
69
+ useEnv?: boolean;
70
+ }
71
+ /** Normalize a network name for matching. */
72
+ export declare function normalizeNetworkProfileName(name: string): string;
73
+ /**
74
+ * Resolve a network profile from options and/or environment.
75
+ *
76
+ * Precedence: options.network → options.chainId → TOKEN_SERVICE_NETWORK →
77
+ * TOKEN_SERVICE_CHAIN_ID → NEOZIP_CHAIN_ID (deprecated) → base-sepolia.
78
+ */
79
+ export declare function resolveNetworkProfile(input?: string | number | ResolveNetworkProfileOptions): NetworkProfile;
26
80
  /**
27
81
  * Resolve the NeoZip Token Service base URL.
28
- * Order: options.serverUrl → options.serverKey → TOKEN_SERVICE_URL → default.
82
+ * Order: serverUrl → serverKey → network/chainId profile →
83
+ * TOKEN_SERVICE_URL → profile from env → default (testnet).
29
84
  */
30
85
  export declare function getTokenServiceUrl(options?: GetTokenServiceUrlOptions): string;
31
86
  /**
32
- * Return the default server URL as a single-element array for multi-calendar use.
33
- * Later can return multiple URLs from TOKEN_SERVICE_URLS or env.
87
+ * Resolve Token Service URL for a network name or chain ID.
88
+ */
89
+ export declare function getTokenServiceUrlForNetwork(networkOrChainId?: string | number, options?: Omit<GetTokenServiceUrlOptions, 'network' | 'chainId'>): string;
90
+ /**
91
+ * Whether paid token purchase is available for a network.
92
+ * Stub: always false until purchase is implemented.
93
+ */
94
+ export declare function isTokenPurchaseAvailable(networkOrChainId?: string | number): boolean;
95
+ /**
96
+ * Default server URL as a single-element array (multi-calendar ready).
34
97
  */
35
98
  export declare function getDefaultTokenServiceUrls(): string[];
36
99
  //# sourceMappingURL=servers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../src/constants/servers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,4CAA4C,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAErD,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAa9E;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD"}
1
+ {"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../src/constants/servers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,sDAAsD;AACtD,eAAO,MAAM,yBAAyB,4CAA4C,CAAC;AAEnF,kDAAkD;AAClD,eAAO,MAAM,4BAA4B,oCAAoC,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKrD,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,GAAG,EAAE,iBAAiB,CAAC;IACvB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAiBtE,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,2BAA2B,EAAE,iBAAkC,CAAC;AAE7E,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,6CAA6C;AAC7C,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE;AAqBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,4BAA4B,GACrD,cAAc,CAwDhB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAqC9E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAClC,OAAO,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,SAAS,CAAC,GAC/D,MAAM,CAWR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GACjC,OAAO,CAST;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD"}
@@ -1,32 +1,145 @@
1
1
  "use strict";
2
2
  /**
3
- * NeoZip Token Service URL(s) and resolver.
3
+ * NeoZip Token Service URL(s), network profiles, and resolvers.
4
4
  *
5
- * Single source of truth for the default token service URL and named server
6
- * lookup. Use getTokenServiceUrl() everywhere instead of hardcoding the default.
5
+ * Single source of truth for Token Service hosts and the mapping of
6
+ * network name / chainId → server URL.
7
7
  *
8
8
  * Resolution order for getTokenServiceUrl():
9
9
  * 1. options.serverUrl (explicit URL)
10
10
  * 2. options.serverKey → TOKEN_SERVICE_URLS[serverKey]
11
- * 3. process.env.TOKEN_SERVICE_URL
12
- * 4. DEFAULT_TOKEN_SERVICE_URL
11
+ * 3. options.network / options.chainId → profile → server key → URL
12
+ * 4. process.env.TOKEN_SERVICE_URL
13
+ * 5. env TOKEN_SERVICE_NETWORK / TOKEN_SERVICE_CHAIN_ID / NEOZIP_CHAIN_ID → profile
14
+ * 6. DEFAULT_TOKEN_SERVICE_URL (testnet / Base Sepolia)
13
15
  */
14
16
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TOKEN_SERVICE_URLS = exports.DEFAULT_TOKEN_SERVICE_URL = void 0;
17
+ exports.DEFAULT_NETWORK_PROFILE_KEY = exports.NETWORK_PROFILES = exports.TOKEN_SERVICE_URLS = exports.PRODUCTION_TOKEN_SERVICE_URL = exports.DEFAULT_TOKEN_SERVICE_URL = void 0;
18
+ exports.normalizeNetworkProfileName = normalizeNetworkProfileName;
19
+ exports.resolveNetworkProfile = resolveNetworkProfile;
16
20
  exports.getTokenServiceUrl = getTokenServiceUrl;
21
+ exports.getTokenServiceUrlForNetwork = getTokenServiceUrlForNetwork;
22
+ exports.isTokenPurchaseAvailable = isTokenPurchaseAvailable;
17
23
  exports.getDefaultTokenServiceUrls = getDefaultTokenServiceUrls;
18
- /** Default NeoZip Token Service URL when no env override is set */
24
+ /** Default NeoZip Token Service URL (Base Sepolia) */
19
25
  exports.DEFAULT_TOKEN_SERVICE_URL = 'https://testnet.token-service.neozip.io';
26
+ /** Production Token Service URL (Base Mainnet) */
27
+ exports.PRODUCTION_TOKEN_SERVICE_URL = 'https://token-service.neozip.io';
20
28
  /**
21
- * Named server URLs for lookup by key (e.g. "default", "dev", "staging", "production").
22
- * Extend this record as more servers are added; env vars still override at runtime.
29
+ * Named server URLs for lookup by key.
30
+ * Extend as more servers are added; env vars can still override at runtime.
23
31
  */
24
32
  exports.TOKEN_SERVICE_URLS = {
25
33
  default: exports.DEFAULT_TOKEN_SERVICE_URL,
34
+ testnet: exports.DEFAULT_TOKEN_SERVICE_URL,
35
+ production: exports.PRODUCTION_TOKEN_SERVICE_URL,
36
+ mainnet: exports.PRODUCTION_TOKEN_SERVICE_URL,
26
37
  };
38
+ /**
39
+ * Client-side network profiles: chain ↔ Token Service host.
40
+ * Library default remains Base Sepolia.
41
+ */
42
+ exports.NETWORK_PROFILES = {
43
+ 'base-sepolia': {
44
+ key: 'base-sepolia',
45
+ chainId: 84532,
46
+ serverKey: 'default',
47
+ purchaseAvailable: false,
48
+ label: 'Base Sepolia',
49
+ aliases: ['base sepolia', 'basesepolia', 'base-sepolia-testnet'],
50
+ },
51
+ base: {
52
+ key: 'base',
53
+ chainId: 8453,
54
+ serverKey: 'production',
55
+ purchaseAvailable: false,
56
+ label: 'Base Mainnet',
57
+ aliases: ['base-mainnet', 'base mainnet', 'basemainnet'],
58
+ },
59
+ };
60
+ /** Default network profile key (safe sandbox) */
61
+ exports.DEFAULT_NETWORK_PROFILE_KEY = 'base-sepolia';
62
+ /** Normalize a network name for matching. */
63
+ function normalizeNetworkProfileName(name) {
64
+ return name.toLowerCase().trim().replace(/\s+/g, '-').replace(/_/g, '-');
65
+ }
66
+ function findProfileByName(name) {
67
+ const normalized = normalizeNetworkProfileName(name);
68
+ for (const profile of Object.values(exports.NETWORK_PROFILES)) {
69
+ if (profile.key === normalized)
70
+ return profile;
71
+ if (normalizeNetworkProfileName(profile.label) === normalized)
72
+ return profile;
73
+ if (profile.aliases?.some((a) => normalizeNetworkProfileName(a) === normalized)) {
74
+ return profile;
75
+ }
76
+ }
77
+ return null;
78
+ }
79
+ function findProfileByChainId(chainId) {
80
+ for (const profile of Object.values(exports.NETWORK_PROFILES)) {
81
+ if (profile.chainId === chainId)
82
+ return profile;
83
+ }
84
+ return null;
85
+ }
86
+ /**
87
+ * Resolve a network profile from options and/or environment.
88
+ *
89
+ * Precedence: options.network → options.chainId → TOKEN_SERVICE_NETWORK →
90
+ * TOKEN_SERVICE_CHAIN_ID → NEOZIP_CHAIN_ID (deprecated) → base-sepolia.
91
+ */
92
+ function resolveNetworkProfile(input) {
93
+ let network;
94
+ let chainId;
95
+ let useEnv = true;
96
+ if (typeof input === 'string') {
97
+ network = input;
98
+ }
99
+ else if (typeof input === 'number') {
100
+ chainId = input;
101
+ }
102
+ else if (input && typeof input === 'object') {
103
+ network = input.network;
104
+ chainId = input.chainId;
105
+ useEnv = input.useEnv !== false;
106
+ }
107
+ if (network && network.trim()) {
108
+ const byName = findProfileByName(network);
109
+ if (!byName) {
110
+ throw new Error(`Unknown Token Service network: "${network}". Use "base-sepolia" or "base".`);
111
+ }
112
+ return byName;
113
+ }
114
+ const parsedChain = chainId === undefined || chainId === null || chainId === ''
115
+ ? undefined
116
+ : typeof chainId === 'number'
117
+ ? chainId
118
+ : parseInt(String(chainId), 10);
119
+ if (parsedChain !== undefined && !Number.isNaN(parsedChain)) {
120
+ const byChain = findProfileByChainId(parsedChain);
121
+ if (!byChain) {
122
+ throw new Error(`No Token Service network profile for chainId ${parsedChain}. Supported: 84532 (base-sepolia), 8453 (base).`);
123
+ }
124
+ return byChain;
125
+ }
126
+ if (useEnv && typeof process !== 'undefined') {
127
+ const envNetwork = process.env?.TOKEN_SERVICE_NETWORK?.trim();
128
+ if (envNetwork) {
129
+ return resolveNetworkProfile({ network: envNetwork, useEnv: false });
130
+ }
131
+ const envChain = process.env?.TOKEN_SERVICE_CHAIN_ID?.trim() ||
132
+ process.env?.NEOZIP_CHAIN_ID?.trim();
133
+ if (envChain) {
134
+ return resolveNetworkProfile({ chainId: envChain, useEnv: false });
135
+ }
136
+ }
137
+ return exports.NETWORK_PROFILES[exports.DEFAULT_NETWORK_PROFILE_KEY];
138
+ }
27
139
  /**
28
140
  * Resolve the NeoZip Token Service base URL.
29
- * Order: options.serverUrl → options.serverKey → TOKEN_SERVICE_URL → default.
141
+ * Order: serverUrl → serverKey → network/chainId profile →
142
+ * TOKEN_SERVICE_URL → profile from env → default (testnet).
30
143
  */
31
144
  function getTokenServiceUrl(options) {
32
145
  if (options?.serverUrl && options.serverUrl.trim()) {
@@ -35,15 +148,65 @@ function getTokenServiceUrl(options) {
35
148
  if (options?.serverKey && exports.TOKEN_SERVICE_URLS[options.serverKey]) {
36
149
  return exports.TOKEN_SERVICE_URLS[options.serverKey];
37
150
  }
151
+ if (options?.network || options?.chainId !== undefined) {
152
+ const profile = resolveNetworkProfile({
153
+ network: options.network,
154
+ chainId: options.chainId,
155
+ useEnv: false,
156
+ });
157
+ const fromKey = exports.TOKEN_SERVICE_URLS[profile.serverKey];
158
+ if (fromKey)
159
+ return fromKey;
160
+ }
38
161
  const fromEnv = typeof process !== 'undefined' && process.env?.TOKEN_SERVICE_URL?.trim();
39
162
  if (fromEnv) {
40
163
  return fromEnv;
41
164
  }
165
+ if (typeof process !== 'undefined') {
166
+ const hasNetworkEnv = !!process.env?.TOKEN_SERVICE_NETWORK?.trim() ||
167
+ !!process.env?.TOKEN_SERVICE_CHAIN_ID?.trim() ||
168
+ !!process.env?.NEOZIP_CHAIN_ID?.trim();
169
+ if (hasNetworkEnv) {
170
+ const profile = resolveNetworkProfile();
171
+ const fromKey = exports.TOKEN_SERVICE_URLS[profile.serverKey];
172
+ if (fromKey)
173
+ return fromKey;
174
+ }
175
+ }
42
176
  return exports.DEFAULT_TOKEN_SERVICE_URL;
43
177
  }
44
178
  /**
45
- * Return the default server URL as a single-element array for multi-calendar use.
46
- * Later can return multiple URLs from TOKEN_SERVICE_URLS or env.
179
+ * Resolve Token Service URL for a network name or chain ID.
180
+ */
181
+ function getTokenServiceUrlForNetwork(networkOrChainId, options) {
182
+ if (typeof networkOrChainId === 'number') {
183
+ return getTokenServiceUrl({ ...options, chainId: networkOrChainId });
184
+ }
185
+ if (typeof networkOrChainId === 'string' && networkOrChainId.trim()) {
186
+ if (/^https?:\/\//i.test(networkOrChainId.trim())) {
187
+ return getTokenServiceUrl({ ...options, serverUrl: networkOrChainId });
188
+ }
189
+ return getTokenServiceUrl({ ...options, network: networkOrChainId });
190
+ }
191
+ return getTokenServiceUrl(options);
192
+ }
193
+ /**
194
+ * Whether paid token purchase is available for a network.
195
+ * Stub: always false until purchase is implemented.
196
+ */
197
+ function isTokenPurchaseAvailable(networkOrChainId) {
198
+ try {
199
+ if (networkOrChainId === undefined) {
200
+ return resolveNetworkProfile().purchaseAvailable;
201
+ }
202
+ return resolveNetworkProfile(networkOrChainId).purchaseAvailable;
203
+ }
204
+ catch {
205
+ return false;
206
+ }
207
+ }
208
+ /**
209
+ * Default server URL as a single-element array (multi-calendar ready).
47
210
  */
48
211
  function getDefaultTokenServiceUrls() {
49
212
  return [getTokenServiceUrl()];
@@ -1 +1 @@
1
- {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/constants/servers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAwBH,gDAaC;AAMD,gEAEC;AA3CD,mEAAmE;AACtD,QAAA,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF;;;GAGG;AACU,QAAA,kBAAkB,GAA2B;IACxD,OAAO,EAAE,iCAAyB;CACnC,CAAC;AASF;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,OAAmC;IACpE,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,EAAE,SAAS,IAAI,0BAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAChE,OAAO,0BAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,OAAO,GACX,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC3E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,iCAAyB,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAgB,0BAA0B;IACxC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/constants/servers.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,11 @@ export declare const DEFAULT_NETWORK = 84532;
64
64
  export declare const CURRENT_DEPLOYMENT: ContractConfig;
65
65
  /** Default contract version used when version is unspecified (e.g. legacy metadata). Prefer v2.50. */
66
66
  export declare const DEFAULT_CONTRACT_VERSION = "2.50";
67
+ /**
68
+ * Legacy Base Mainnet NFT (v2.10). Tokens minted before the v2.51 deploy still
69
+ * live at this address. Primary config for 8453 points at v2.51 + registry when deployed.
70
+ */
71
+ export declare const LEGACY_BASE_MAINNET_NFT_V210: "0xd871Fba59F85108aF29299786DD8243B38dD9686";
67
72
  export declare const getContractConfig: (chainId: number) => ContractConfig;
68
73
  export declare const getSupportedNetworks: () => number[];
69
74
  export declare const isNetworkSupported: (chainId: number) => boolean;