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.
- package/README.md +14 -6
- package/WHATS_NEW.md +62 -0
- package/dist/browser/TokenVerifierBrowser.d.ts.map +1 -1
- package/dist/browser/TokenVerifierBrowser.js +14 -10
- package/dist/browser/TokenVerifierBrowser.js.map +1 -1
- package/dist/constants/index.d.ts +2 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +2 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/servers.d.ts +75 -12
- package/dist/constants/servers.d.ts.map +1 -1
- package/dist/constants/servers.js +175 -12
- package/dist/constants/servers.js.map +1 -1
- package/dist/core/contracts.d.ts +5 -0
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +12 -4
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -1
- package/dist/core/index.js.map +1 -1
- package/dist/encryption/AccessMetadata.d.ts +24 -0
- package/dist/encryption/AccessMetadata.d.ts.map +1 -0
- package/dist/encryption/AccessMetadata.js +71 -0
- package/dist/encryption/AccessMetadata.js.map +1 -0
- package/dist/encryption/KeyWrapper.d.ts +40 -0
- package/dist/encryption/KeyWrapper.d.ts.map +1 -0
- package/dist/encryption/KeyWrapper.js +129 -0
- package/dist/encryption/KeyWrapper.js.map +1 -0
- package/dist/encryption/KeyWrapperX25519.d.ts +43 -0
- package/dist/encryption/KeyWrapperX25519.d.ts.map +1 -0
- package/dist/encryption/KeyWrapperX25519.js +136 -0
- package/dist/encryption/KeyWrapperX25519.js.map +1 -0
- package/dist/encryption/RecipientEncryption.d.ts +60 -0
- package/dist/encryption/RecipientEncryption.d.ts.map +1 -0
- package/dist/encryption/RecipientEncryption.js +237 -0
- package/dist/encryption/RecipientEncryption.js.map +1 -0
- package/dist/encryption/index.d.ts +6 -0
- package/dist/encryption/index.d.ts.map +1 -0
- package/dist/encryption/index.js +23 -0
- package/dist/encryption/index.js.map +1 -0
- package/dist/encryption/types.d.ts +60 -0
- package/dist/encryption/types.d.ts.map +1 -0
- package/dist/encryption/types.js +6 -0
- package/dist/encryption/types.js.map +1 -0
- package/dist/identity/ENSResolver.d.ts +30 -0
- package/dist/identity/ENSResolver.d.ts.map +1 -0
- package/dist/identity/ENSResolver.js +85 -0
- package/dist/identity/ENSResolver.js.map +1 -0
- package/dist/identity/IdentityResolverDispatch.d.ts +35 -0
- package/dist/identity/IdentityResolverDispatch.d.ts.map +1 -0
- package/dist/identity/IdentityResolverDispatch.js +55 -0
- package/dist/identity/IdentityResolverDispatch.js.map +1 -0
- package/dist/identity/LitPkpResolver.d.ts +17 -0
- package/dist/identity/LitPkpResolver.d.ts.map +1 -0
- package/dist/identity/LitPkpResolver.js +44 -0
- package/dist/identity/LitPkpResolver.js.map +1 -0
- package/dist/identity/index.d.ts +6 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +18 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/types.d.ts +38 -0
- package/dist/identity/types.d.ts.map +1 -0
- package/dist/identity/types.js +13 -0
- package/dist/identity/types.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/ots/ZipkitOTS.d.ts +8 -1
- package/dist/ots/ZipkitOTS.d.ts.map +1 -1
- package/dist/ots/ZipkitOTS.js +28 -15
- package/dist/ots/ZipkitOTS.js.map +1 -1
- package/dist/token-service/TokenServiceAPI.d.ts +3 -0
- package/dist/token-service/TokenServiceAPI.d.ts.map +1 -1
- package/dist/token-service/TokenServiceAPI.js +20 -22
- package/dist/token-service/TokenServiceAPI.js.map +1 -1
- package/dist/token-service/TokenServiceClient.d.ts +64 -1
- package/dist/token-service/TokenServiceClient.d.ts.map +1 -1
- package/dist/token-service/TokenServiceClient.js +78 -8
- package/dist/token-service/TokenServiceClient.js.map +1 -1
- package/dist/token-service/TokenServiceHelpers.d.ts +9 -1
- package/dist/token-service/TokenServiceHelpers.d.ts.map +1 -1
- package/dist/token-service/TokenServiceHelpers.js +11 -2
- package/dist/token-service/TokenServiceHelpers.js.map +1 -1
- package/dist/token-service/index.d.ts +2 -2
- package/dist/token-service/index.d.ts.map +1 -1
- package/dist/token-service/index.js +10 -3
- package/dist/token-service/index.js.map +1 -1
- package/dist/types/index.d.ts +8 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/docs/CONTRACT_CODE_VERIFICATION_DESIGN.md +525 -0
- package/docs/ENCRYPTION.md +213 -0
- package/docs/MIGRATION.md +175 -0
- package/docs/RATE_LIMITING_DESIGN.md +290 -0
- package/docs/TOKEN_SERVICE_API_UPDATE_PLAN.md +712 -0
- package/docs/security-hardening-plan.html +398 -0
- package/docs/security-hardening-plan.md +316 -0
- 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.
|
|
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
|
|
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;
|
|
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 (
|
|
28
|
-
let tokenEntry =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
tokenEntry
|
|
32
|
-
|
|
33
|
-
|
|
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.
|
|
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":";AAAA,yCAAyC;AACzC,0BAA0B;AAC1B,+EAA+E;AAC/E,yDAAyD;AACzD,yCAAyC;;;
|
|
1
|
+
{"version":3,"file":"TokenVerifierBrowser.js","sourceRoot":"","sources":["../../src/browser/TokenVerifierBrowser.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/dist/constants/index.js
CHANGED
|
@@ -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
|
|
2
|
+
* NeoZip Token Service URL(s), network profiles, and resolvers.
|
|
3
3
|
*
|
|
4
|
-
* Single source of truth for
|
|
5
|
-
*
|
|
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.
|
|
11
|
-
* 4.
|
|
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
|
|
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
|
|
17
|
-
* Extend
|
|
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", "
|
|
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:
|
|
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
|
-
*
|
|
33
|
-
|
|
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
|
|
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
|
|
3
|
+
* NeoZip Token Service URL(s), network profiles, and resolvers.
|
|
4
4
|
*
|
|
5
|
-
* Single source of truth for
|
|
6
|
-
*
|
|
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.
|
|
12
|
-
* 4.
|
|
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
|
|
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
|
|
22
|
-
* Extend
|
|
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:
|
|
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
|
-
*
|
|
46
|
-
|
|
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
|
|
1
|
+
{"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/constants/servers.ts"],"names":[],"mappings":"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"}
|
package/dist/core/contracts.d.ts
CHANGED
|
@@ -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;
|