neozip-blockchain 0.7.2 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -14
- package/WHATS_NEW.md +68 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/token-service/TokenServiceAccountAuth.d.ts +97 -0
- package/dist/token-service/TokenServiceAccountAuth.d.ts.map +1 -0
- package/dist/token-service/TokenServiceAccountAuth.js +286 -0
- package/dist/token-service/TokenServiceAccountAuth.js.map +1 -0
- package/dist/token-service/TokenServiceFunding.d.ts +87 -0
- package/dist/token-service/TokenServiceFunding.d.ts.map +1 -0
- package/dist/token-service/TokenServiceFunding.js +143 -0
- package/dist/token-service/TokenServiceFunding.js.map +1 -0
- package/dist/token-service/TokenServiceIdentity.d.ts +96 -0
- package/dist/token-service/TokenServiceIdentity.d.ts.map +1 -0
- package/dist/token-service/TokenServiceIdentity.js +240 -0
- package/dist/token-service/TokenServiceIdentity.js.map +1 -0
- package/dist/token-service/http.d.ts +46 -0
- package/dist/token-service/http.d.ts.map +1 -0
- package/dist/token-service/http.js +119 -0
- package/dist/token-service/http.js.map +1 -0
- package/dist/token-service/index.d.ts +4 -0
- package/dist/token-service/index.d.ts.map +1 -1
- package/dist/token-service/index.js +42 -1
- package/dist/token-service/index.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared low-level HTTP utilities for the NeoZip Token Service account, funding,
|
|
4
|
+
* and identity client modules.
|
|
5
|
+
*
|
|
6
|
+
* These helpers are intentionally persistence-free and product-agnostic: they
|
|
7
|
+
* speak raw HTTP to the Token Service and surface **generic** errors. Higher
|
|
8
|
+
* layers (CLI / MCP / Desktop) own token storage and may map authentication
|
|
9
|
+
* failures (401/403) to product-specific recovery guidance.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.normalizeServerUrl = normalizeServerUrl;
|
|
13
|
+
exports.safeJson = safeJson;
|
|
14
|
+
exports.pickString = pickString;
|
|
15
|
+
exports.genericAuthErrorMessage = genericAuthErrorMessage;
|
|
16
|
+
exports.extractError = extractError;
|
|
17
|
+
exports.parseAccessTokenExpiry = parseAccessTokenExpiry;
|
|
18
|
+
exports.formatTokenServiceFetchError = formatTokenServiceFetchError;
|
|
19
|
+
const servers_1 = require("../constants/servers");
|
|
20
|
+
/**
|
|
21
|
+
* Resolve and normalize a Token Service base URL.
|
|
22
|
+
*
|
|
23
|
+
* Resolution follows {@link getTokenServiceUrl} (explicit URL → env → default),
|
|
24
|
+
* then trailing slashes are stripped so callers can safely append `/path`.
|
|
25
|
+
*/
|
|
26
|
+
function normalizeServerUrl(serverUrl) {
|
|
27
|
+
return (0, servers_1.getTokenServiceUrl)({ serverUrl }).replace(/\/+$/, '');
|
|
28
|
+
}
|
|
29
|
+
/** Parse a JSON body, returning `null` for non-JSON or malformed responses. */
|
|
30
|
+
async function safeJson(response) {
|
|
31
|
+
const ct = response.headers.get('content-type') || '';
|
|
32
|
+
if (!ct.includes('json'))
|
|
33
|
+
return null;
|
|
34
|
+
try {
|
|
35
|
+
return (await response.json());
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** Return the first non-empty string value among `keys`, else `null`. */
|
|
42
|
+
function pickString(obj, ...keys) {
|
|
43
|
+
for (const k of keys) {
|
|
44
|
+
const v = obj[k];
|
|
45
|
+
if (typeof v === 'string' && v.length > 0)
|
|
46
|
+
return v;
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Generic authentication-failure message for 401/403 responses. Returns `null`
|
|
52
|
+
* for any other status. Intentionally free of product-specific recovery
|
|
53
|
+
* commands — application layers should add their own guidance.
|
|
54
|
+
*/
|
|
55
|
+
function genericAuthErrorMessage(status) {
|
|
56
|
+
if (status !== 401 && status !== 403)
|
|
57
|
+
return null;
|
|
58
|
+
return `Token Service authentication failed (HTTP ${status}). The access token may be expired or invalid.`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Extract a human-readable error from a parsed JSON body, preferring `error`
|
|
62
|
+
* then `message`. For 401/403 (when `options.status` is provided) a generic
|
|
63
|
+
* auth message is returned instead.
|
|
64
|
+
*/
|
|
65
|
+
function extractError(parsed, fallback, options) {
|
|
66
|
+
const authHint = options?.status != null ? genericAuthErrorMessage(options.status) : null;
|
|
67
|
+
if (authHint)
|
|
68
|
+
return authHint;
|
|
69
|
+
if (parsed && typeof parsed === 'object') {
|
|
70
|
+
const p = parsed;
|
|
71
|
+
if (typeof p.error === 'string')
|
|
72
|
+
return p.error;
|
|
73
|
+
if (typeof p.message === 'string')
|
|
74
|
+
return p.message;
|
|
75
|
+
}
|
|
76
|
+
return fallback;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Derive an access-token expiry (epoch milliseconds) from a verify/login
|
|
80
|
+
* response body. Supports both absolute `expiresAt` (seconds or ms) and
|
|
81
|
+
* relative `expiresIn` (seconds). Returns `null` when neither is present.
|
|
82
|
+
*/
|
|
83
|
+
function parseAccessTokenExpiry(parsed) {
|
|
84
|
+
const expiresAt = parsed.expiresAt;
|
|
85
|
+
if (typeof expiresAt === 'number' && Number.isFinite(expiresAt)) {
|
|
86
|
+
return expiresAt > 1e12 ? expiresAt : expiresAt * 1000;
|
|
87
|
+
}
|
|
88
|
+
const expiresIn = parsed.expiresIn;
|
|
89
|
+
if (typeof expiresIn === 'number' && Number.isFinite(expiresIn)) {
|
|
90
|
+
return Date.now() + expiresIn * 1000;
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
function fetchCauseCode(err) {
|
|
95
|
+
if (err == null || typeof err !== 'object')
|
|
96
|
+
return null;
|
|
97
|
+
const cause = err.cause;
|
|
98
|
+
if (cause == null || typeof cause !== 'object')
|
|
99
|
+
return null;
|
|
100
|
+
const code = cause.code;
|
|
101
|
+
return typeof code === 'string' ? code : null;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Turn a thrown `fetch` error into a friendly, actionable message. Network-level
|
|
105
|
+
* failures point at the unreachable base URL; everything else is passed through.
|
|
106
|
+
*/
|
|
107
|
+
function formatTokenServiceFetchError(baseUrl, err) {
|
|
108
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
109
|
+
const causeCode = fetchCauseCode(err);
|
|
110
|
+
if (message === 'fetch failed' ||
|
|
111
|
+
causeCode === 'ECONNREFUSED' ||
|
|
112
|
+
causeCode === 'ENOTFOUND' ||
|
|
113
|
+
causeCode === 'ECONNRESET' ||
|
|
114
|
+
causeCode === 'EHOSTUNREACH') {
|
|
115
|
+
return `Token Service unreachable at ${baseUrl}. Is it running?`;
|
|
116
|
+
}
|
|
117
|
+
return `Token Service request failed (${baseUrl}): ${message}`;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/token-service/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,8 @@ export { TokenServiceClient, type TokenServiceClientOptions, type StampRequest,
|
|
|
21
21
|
export { submitDigest, verifyDigest, pollForConfirmation, prepareMint, checkNFTStatus, getNFTContractInfo, getTokenServiceUrl, registerEmail, verifyEmailCode, parseVerificationDeliveryInput, getCalendarIdentity, checkCalendarHealth, type SubmitDigestResponse, type VerifyDigestResponse, type TimestampMetadata, type ExtendedTokenMetadata, type TokenServiceHelperOptions, } from './TokenServiceHelpers';
|
|
22
22
|
export { DEFAULT_TOKEN_SERVICE_URL, TOKEN_SERVICE_URLS, getDefaultTokenServiceUrls, type GetTokenServiceUrlOptions, } from '../constants/servers';
|
|
23
23
|
export { CalendarManager, type CalendarConfig, type CalendarStatus, type SubmitResult, type MultiSubmitResult, type VerifyResult, type MultiCalendarOptions, } from './CalendarManager';
|
|
24
|
+
export { normalizeServerUrl, safeJson, pickString, genericAuthErrorMessage, extractError, parseAccessTokenExpiry, formatTokenServiceFetchError, } from './http';
|
|
25
|
+
export { registerEmailWithDelivery, registerEmailApp, registerEmailCli, verifyEmailAndExtractToken, exchangeMagicLinkToken, WalletLoginUnavailableError, requestWalletLoginChallenge, walletLogin, requestPhoneOtp, verifyPhoneOtp, type AccountVerificationDelivery, type RegisterEmailResult, type AccessTokenResult, } from './TokenServiceAccountAuth';
|
|
26
|
+
export { FundingUnavailableError, getFundingPolicy, getFundingStatus, requestFundingGrant, type FundingPolicy, type FundingPolicyResult, type FundingGrantSummary, type FundingStatusResult, type FundingRequestResult, } from './TokenServiceFunding';
|
|
27
|
+
export { DEFAULT_RECIPIENT_SUITE, IdentityKeyConflictError, fetchCoordinatorConfig, requestWalletEnsureChallenge, completeWalletEnsure, requestWalletAttachChallenge, completeWalletAttach, getIdentityKeyBundle, requestIdentityKeyInitChallenge, completeIdentityKeyInit, type WrapBundle, type IdentityKeyBundleBody, } from './TokenServiceIdentity';
|
|
24
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/token-service/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,eAAO,MAAM,eAAe,4BAAiB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,4BAAiB,CAAC;AACjD,eAAO,MAAM,YAAY,wBAAa,CAAC;AACvC,eAAO,MAAM,mBAAmB,wBAAoB,CAAC;AAErD,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE3B,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAExB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAE5B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAElB,aAAa,EACb,eAAe,EACf,8BAA8B,EAE9B,mBAAmB,EACnB,mBAAmB,EAEnB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/token-service/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
* - Similar to OpenTimestamps' approach of using multiple calendar servers
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.CalendarManager = exports.getDefaultTokenServiceUrls = exports.TOKEN_SERVICE_URLS = exports.DEFAULT_TOKEN_SERVICE_URL = exports.checkCalendarHealth = exports.getCalendarIdentity = exports.parseVerificationDeliveryInput = exports.verifyEmailCode = exports.registerEmail = exports.getTokenServiceUrl = exports.getNFTContractInfo = exports.checkNFTStatus = exports.prepareMint = exports.pollForConfirmation = exports.verifyDigest = exports.submitDigest = exports.TokenServiceClient = exports.verifyMerkleProofLocal = exports.getMetadataFileNames = exports.shouldUpgrade = exports.getMetadataType = exports.findMetadataEntry = exports.extractTimestampData = exports.getEthTimestampEntry = exports.createTimestampMetadataEntry = exports.createTimestampedZip = exports.verifyTimestampedZip = exports.verifyTimestamp = exports.createTimestamp = exports.CMP_METHOD = exports.NFT_METADATA_LEGACY = exports.NFT_METADATA = exports.TIMESTAMP_METADATA = exports.SUBMIT_METADATA = void 0;
|
|
17
|
+
exports.requestPhoneOtp = exports.walletLogin = exports.requestWalletLoginChallenge = exports.WalletLoginUnavailableError = exports.exchangeMagicLinkToken = exports.verifyEmailAndExtractToken = exports.registerEmailCli = exports.registerEmailApp = exports.registerEmailWithDelivery = exports.formatTokenServiceFetchError = exports.parseAccessTokenExpiry = exports.extractError = exports.genericAuthErrorMessage = exports.pickString = exports.safeJson = exports.normalizeServerUrl = exports.CalendarManager = exports.getDefaultTokenServiceUrls = exports.TOKEN_SERVICE_URLS = exports.DEFAULT_TOKEN_SERVICE_URL = exports.checkCalendarHealth = exports.getCalendarIdentity = exports.parseVerificationDeliveryInput = exports.verifyEmailCode = exports.registerEmail = exports.getTokenServiceUrl = exports.getNFTContractInfo = exports.checkNFTStatus = exports.prepareMint = exports.pollForConfirmation = exports.verifyDigest = exports.submitDigest = exports.TokenServiceClient = exports.verifyMerkleProofLocal = exports.getMetadataFileNames = exports.shouldUpgrade = exports.getMetadataType = exports.findMetadataEntry = exports.extractTimestampData = exports.getEthTimestampEntry = exports.createTimestampMetadataEntry = exports.createTimestampedZip = exports.verifyTimestampedZip = exports.verifyTimestamp = exports.createTimestamp = exports.CMP_METHOD = exports.NFT_METADATA_LEGACY = exports.NFT_METADATA = exports.TIMESTAMP_METADATA = exports.SUBMIT_METADATA = void 0;
|
|
18
|
+
exports.completeIdentityKeyInit = exports.requestIdentityKeyInitChallenge = exports.getIdentityKeyBundle = exports.completeWalletAttach = exports.requestWalletAttachChallenge = exports.completeWalletEnsure = exports.requestWalletEnsureChallenge = exports.fetchCoordinatorConfig = exports.IdentityKeyConflictError = exports.DEFAULT_RECIPIENT_SUITE = exports.requestFundingGrant = exports.getFundingStatus = exports.getFundingPolicy = exports.FundingUnavailableError = exports.verifyPhoneOtp = void 0;
|
|
18
19
|
const metadata_1 = require("../constants/metadata");
|
|
19
20
|
// Re-export metadata filenames (single source: src/constants/metadata.ts)
|
|
20
21
|
exports.SUBMIT_METADATA = metadata_1.TS_SUBMIT_NZIP;
|
|
@@ -65,4 +66,44 @@ Object.defineProperty(exports, "getDefaultTokenServiceUrls", { enumerable: true,
|
|
|
65
66
|
// Multi-calendar support
|
|
66
67
|
var CalendarManager_1 = require("./CalendarManager");
|
|
67
68
|
Object.defineProperty(exports, "CalendarManager", { enumerable: true, get: function () { return CalendarManager_1.CalendarManager; } });
|
|
69
|
+
// Low-level HTTP utilities shared by the account/funding/identity clients.
|
|
70
|
+
// Applications own token storage and may map auth failures to their own guidance.
|
|
71
|
+
var http_1 = require("./http");
|
|
72
|
+
Object.defineProperty(exports, "normalizeServerUrl", { enumerable: true, get: function () { return http_1.normalizeServerUrl; } });
|
|
73
|
+
Object.defineProperty(exports, "safeJson", { enumerable: true, get: function () { return http_1.safeJson; } });
|
|
74
|
+
Object.defineProperty(exports, "pickString", { enumerable: true, get: function () { return http_1.pickString; } });
|
|
75
|
+
Object.defineProperty(exports, "genericAuthErrorMessage", { enumerable: true, get: function () { return http_1.genericAuthErrorMessage; } });
|
|
76
|
+
Object.defineProperty(exports, "extractError", { enumerable: true, get: function () { return http_1.extractError; } });
|
|
77
|
+
Object.defineProperty(exports, "parseAccessTokenExpiry", { enumerable: true, get: function () { return http_1.parseAccessTokenExpiry; } });
|
|
78
|
+
Object.defineProperty(exports, "formatTokenServiceFetchError", { enumerable: true, get: function () { return http_1.formatTokenServiceFetchError; } });
|
|
79
|
+
// Account authentication: email/code, magic link, silent wallet-login, phone OTP.
|
|
80
|
+
var TokenServiceAccountAuth_1 = require("./TokenServiceAccountAuth");
|
|
81
|
+
Object.defineProperty(exports, "registerEmailWithDelivery", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.registerEmailWithDelivery; } });
|
|
82
|
+
Object.defineProperty(exports, "registerEmailApp", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.registerEmailApp; } });
|
|
83
|
+
Object.defineProperty(exports, "registerEmailCli", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.registerEmailCli; } });
|
|
84
|
+
Object.defineProperty(exports, "verifyEmailAndExtractToken", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.verifyEmailAndExtractToken; } });
|
|
85
|
+
Object.defineProperty(exports, "exchangeMagicLinkToken", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.exchangeMagicLinkToken; } });
|
|
86
|
+
Object.defineProperty(exports, "WalletLoginUnavailableError", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.WalletLoginUnavailableError; } });
|
|
87
|
+
Object.defineProperty(exports, "requestWalletLoginChallenge", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.requestWalletLoginChallenge; } });
|
|
88
|
+
Object.defineProperty(exports, "walletLogin", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.walletLogin; } });
|
|
89
|
+
Object.defineProperty(exports, "requestPhoneOtp", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.requestPhoneOtp; } });
|
|
90
|
+
Object.defineProperty(exports, "verifyPhoneOtp", { enumerable: true, get: function () { return TokenServiceAccountAuth_1.verifyPhoneOtp; } });
|
|
91
|
+
// Native-gas funding for the user's primary Data Wallet.
|
|
92
|
+
var TokenServiceFunding_1 = require("./TokenServiceFunding");
|
|
93
|
+
Object.defineProperty(exports, "FundingUnavailableError", { enumerable: true, get: function () { return TokenServiceFunding_1.FundingUnavailableError; } });
|
|
94
|
+
Object.defineProperty(exports, "getFundingPolicy", { enumerable: true, get: function () { return TokenServiceFunding_1.getFundingPolicy; } });
|
|
95
|
+
Object.defineProperty(exports, "getFundingStatus", { enumerable: true, get: function () { return TokenServiceFunding_1.getFundingStatus; } });
|
|
96
|
+
Object.defineProperty(exports, "requestFundingGrant", { enumerable: true, get: function () { return TokenServiceFunding_1.requestFundingGrant; } });
|
|
97
|
+
// Wallet linking and encrypted identity-key registration (HTTP primitives).
|
|
98
|
+
var TokenServiceIdentity_1 = require("./TokenServiceIdentity");
|
|
99
|
+
Object.defineProperty(exports, "DEFAULT_RECIPIENT_SUITE", { enumerable: true, get: function () { return TokenServiceIdentity_1.DEFAULT_RECIPIENT_SUITE; } });
|
|
100
|
+
Object.defineProperty(exports, "IdentityKeyConflictError", { enumerable: true, get: function () { return TokenServiceIdentity_1.IdentityKeyConflictError; } });
|
|
101
|
+
Object.defineProperty(exports, "fetchCoordinatorConfig", { enumerable: true, get: function () { return TokenServiceIdentity_1.fetchCoordinatorConfig; } });
|
|
102
|
+
Object.defineProperty(exports, "requestWalletEnsureChallenge", { enumerable: true, get: function () { return TokenServiceIdentity_1.requestWalletEnsureChallenge; } });
|
|
103
|
+
Object.defineProperty(exports, "completeWalletEnsure", { enumerable: true, get: function () { return TokenServiceIdentity_1.completeWalletEnsure; } });
|
|
104
|
+
Object.defineProperty(exports, "requestWalletAttachChallenge", { enumerable: true, get: function () { return TokenServiceIdentity_1.requestWalletAttachChallenge; } });
|
|
105
|
+
Object.defineProperty(exports, "completeWalletAttach", { enumerable: true, get: function () { return TokenServiceIdentity_1.completeWalletAttach; } });
|
|
106
|
+
Object.defineProperty(exports, "getIdentityKeyBundle", { enumerable: true, get: function () { return TokenServiceIdentity_1.getIdentityKeyBundle; } });
|
|
107
|
+
Object.defineProperty(exports, "requestIdentityKeyInitChallenge", { enumerable: true, get: function () { return TokenServiceIdentity_1.requestIdentityKeyInitChallenge; } });
|
|
108
|
+
Object.defineProperty(exports, "completeIdentityKeyInit", { enumerable: true, get: function () { return TokenServiceIdentity_1.completeIdentityKeyInit; } });
|
|
68
109
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/token-service/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/token-service/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;AAEH,oDAK+B;AAE/B,0EAA0E;AAC7D,QAAA,eAAe,GAAG,yBAAc,CAAC;AACjC,QAAA,kBAAkB,GAAG,yBAAc,CAAC;AACpC,QAAA,YAAY,GAAG,qBAAU,CAAC;AAC1B,QAAA,mBAAmB,GAAG,4BAAiB,CAAC;AAErD,qDAsB2B;AArBzB,6GAAA,UAAU,OAAA;AACV,kHAAA,eAAe,OAAA;AACf,kHAAA,eAAe,OAAA;AACf,uHAAA,oBAAoB,OAAA;AACpB,uHAAA,oBAAoB,OAAA;AACpB,+HAAA,4BAA4B,OAAA;AAC5B,uHAAA,oBAAoB,OAAA;AACpB,uHAAA,oBAAoB,OAAA;AAIpB,qBAAqB;AACrB,oHAAA,iBAAiB,OAAA;AACjB,kHAAA,eAAe,OAAA;AACf,gHAAA,aAAa,OAAA;AACb,uHAAA,oBAAoB,OAAA;AAIpB,+BAA+B;AAC/B,yHAAA,sBAAsB,OAAA;AAGxB,oCAAoC;AACpC,2DA4B8B;AA3B5B,wHAAA,kBAAkB,OAAA;AA6BpB,uEAAuE;AACvE,6DAsB+B;AArB7B,kBAAkB;AAClB,mHAAA,YAAY,OAAA;AACZ,mHAAA,YAAY,OAAA;AACZ,0HAAA,mBAAmB,OAAA;AACnB,kHAAA,WAAW,OAAA;AACX,qHAAA,cAAc,OAAA;AACd,yHAAA,kBAAkB,OAAA;AAClB,yHAAA,kBAAkB,OAAA;AAClB,yBAAyB;AACzB,oHAAA,aAAa,OAAA;AACb,sHAAA,eAAe,OAAA;AACf,qIAAA,8BAA8B,OAAA;AAC9B,6BAA6B;AAC7B,0HAAA,mBAAmB,OAAA;AACnB,0HAAA,mBAAmB,OAAA;AASrB,iEAAiE;AACjE,gDAK8B;AAJ5B,oHAAA,yBAAyB,OAAA;AACzB,6GAAA,kBAAkB,OAAA;AAClB,qHAAA,0BAA0B,OAAA;AAI5B,yBAAyB;AACzB,qDAQ2B;AAPzB,kHAAA,eAAe,OAAA;AASjB,2EAA2E;AAC3E,kFAAkF;AAClF,+BAQgB;AAPd,0GAAA,kBAAkB,OAAA;AAClB,gGAAA,QAAQ,OAAA;AACR,kGAAA,UAAU,OAAA;AACV,+GAAA,uBAAuB,OAAA;AACvB,oGAAA,YAAY,OAAA;AACZ,8GAAA,sBAAsB,OAAA;AACtB,oHAAA,4BAA4B,OAAA;AAG9B,kFAAkF;AAClF,qEAcmC;AAbjC,oIAAA,yBAAyB,OAAA;AACzB,2HAAA,gBAAgB,OAAA;AAChB,2HAAA,gBAAgB,OAAA;AAChB,qIAAA,0BAA0B,OAAA;AAC1B,iIAAA,sBAAsB,OAAA;AACtB,sIAAA,2BAA2B,OAAA;AAC3B,sIAAA,2BAA2B,OAAA;AAC3B,sHAAA,WAAW,OAAA;AACX,0HAAA,eAAe,OAAA;AACf,yHAAA,cAAc,OAAA;AAMhB,yDAAyD;AACzD,6DAU+B;AAT7B,8HAAA,uBAAuB,OAAA;AACvB,uHAAA,gBAAgB,OAAA;AAChB,uHAAA,gBAAgB,OAAA;AAChB,0HAAA,mBAAmB,OAAA;AAQrB,4EAA4E;AAC5E,+DAagC;AAZ9B,+HAAA,uBAAuB,OAAA;AACvB,gIAAA,wBAAwB,OAAA;AACxB,8HAAA,sBAAsB,OAAA;AACtB,oIAAA,4BAA4B,OAAA;AAC5B,4HAAA,oBAAoB,OAAA;AACpB,oIAAA,4BAA4B,OAAA;AAC5B,4HAAA,oBAAoB,OAAA;AACpB,4HAAA,oBAAoB,OAAA;AACpB,uIAAA,+BAA+B,OAAA;AAC/B,+HAAA,uBAAuB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neozip-blockchain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Blockchain functionality for NeoZip and companion to neozipkit — NFT minting, verification, wallet management, OpenTimestamps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"files": [
|
|
38
38
|
"dist",
|
|
39
39
|
"README.md",
|
|
40
|
+
"WHATS_NEW.md",
|
|
40
41
|
"LICENSE"
|
|
41
42
|
],
|
|
42
43
|
"publishConfig": {
|
|
@@ -102,14 +103,14 @@
|
|
|
102
103
|
"dotenv-cli": "^7.4.2",
|
|
103
104
|
"jest": "^29.7.0",
|
|
104
105
|
"jest-util": "^30.2.0",
|
|
105
|
-
"neozipkit": "^0.
|
|
106
|
+
"neozipkit": "^1.0.2",
|
|
106
107
|
"ts-jest": "^29.1.2",
|
|
107
108
|
"ts-node": "^10.9.2",
|
|
108
109
|
"tsconfig-paths": "^4.2.0",
|
|
109
110
|
"typescript": "^5.0.0"
|
|
110
111
|
},
|
|
111
112
|
"peerDependencies": {
|
|
112
|
-
"neozipkit": "^0.
|
|
113
|
+
"neozipkit": "^1.0.2"
|
|
113
114
|
},
|
|
114
115
|
"peerDependenciesMeta": {
|
|
115
116
|
"neozipkit": {
|