@zksdk/js-private-token-slots-fhe 0.1.2 → 0.1.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAuB;gBAE/B,MAAM,EAAE,YAAY;IAKhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IA2BF;;;;;OAKG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBhF;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QACvE,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB;IAaD;;OAEG;IACG,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9D;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD;;;;OAIG;IACH,aAAa,CAAC,kBAAkB,EAAE,MAAM,GAAG;QACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;KAClB;CAOF"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ /**
3
+ * Client for Private Token Slots
4
+ *
5
+ * Manages vault registration, key storage, and transfer operations.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Client = void 0;
9
+ const core_1 = require("@zksdk/core");
10
+ const vaultHelpers_js_1 = require("./vaultHelpers.js");
11
+ /**
12
+ * Client - Main client for private token slot operations
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { Client } from '@zksdk/private-token-slots';
17
+ *
18
+ * const client = new Client({ workerUrl: 'http://localhost:8000' });
19
+ *
20
+ * // Create a new vault
21
+ * const { vaultKeyId, clientKey } = await client.createVault();
22
+ * // Save clientKey securely - you need it to decrypt!
23
+ *
24
+ * // Encrypt a transfer
25
+ * const encrypted = await client.encryptTransfer(0, 1, 50);
26
+ * ```
27
+ */
28
+ class Client {
29
+ constructor(config) {
30
+ this.vaultKeyId = null;
31
+ this.clientKeyB64 = null;
32
+ this.config = config;
33
+ this.tfheClient = new core_1.TfheClient();
34
+ }
35
+ /**
36
+ * Initialize the client
37
+ */
38
+ async init() {
39
+ await this.tfheClient.init();
40
+ }
41
+ /**
42
+ * Create a new vault with client-side key generation
43
+ *
44
+ * SECURITY: ClientKey stays on your machine!
45
+ */
46
+ async createVault() {
47
+ await this.init();
48
+ // Generate keys client-side
49
+ const keys = await this.tfheClient.generateVaultKeys();
50
+ // Register vault with worker (only server + public keys sent)
51
+ const registration = await (0, vaultHelpers_js_1.registerVault)(this.config.workerUrl, keys.serverKey, keys.publicKey, this.config.apiKey);
52
+ this.vaultKeyId = registration.vault_key_id;
53
+ this.clientKeyB64 = keys.clientKey;
54
+ console.log(`Vault created: ${registration.vault_key_id}`);
55
+ return {
56
+ vaultKeyId: registration.vault_key_id,
57
+ clientKey: keys.clientKey,
58
+ serverKey: keys.serverKey,
59
+ publicKey: keys.publicKey,
60
+ };
61
+ }
62
+ /**
63
+ * Load an existing vault by ID
64
+ *
65
+ * @param vaultKeyId - 64-char hex vault key ID
66
+ * @param clientKeyB64 - Your saved ClientKey (for decryption)
67
+ */
68
+ async loadVault(vaultKeyId, clientKeyB64) {
69
+ await this.init();
70
+ // Verify vault exists
71
+ const params = await (0, vaultHelpers_js_1.getVaultParams)(this.config.workerUrl, vaultKeyId);
72
+ this.vaultKeyId = vaultKeyId;
73
+ if (clientKeyB64) {
74
+ this.clientKeyB64 = clientKeyB64;
75
+ this.tfheClient.loadClientKey(clientKeyB64);
76
+ }
77
+ else {
78
+ // External user - load public key for encryption only
79
+ await this.tfheClient.loadVaultPublicKey(this.config.workerUrl, vaultKeyId);
80
+ }
81
+ return params;
82
+ }
83
+ /**
84
+ * Get current vault key ID
85
+ */
86
+ getVaultKeyId() {
87
+ return this.vaultKeyId;
88
+ }
89
+ /**
90
+ * Encrypt transfer parameters
91
+ *
92
+ * @param senderIdx - Sender's slot index (0-255)
93
+ * @param receiverIdx - Receiver's slot index (0-255)
94
+ * @param amount - Transfer amount (0-255)
95
+ */
96
+ encryptTransfer(senderIdx, receiverIdx, amount) {
97
+ if (!this.vaultKeyId) {
98
+ throw new Error('No vault loaded. Call createVault() or loadVault() first.');
99
+ }
100
+ const { encrypted_data } = this.tfheClient.encryptTransferParams(senderIdx, receiverIdx, amount);
101
+ return {
102
+ encrypted_data,
103
+ vault_key_id: this.vaultKeyId,
104
+ };
105
+ }
106
+ /**
107
+ * Store encrypted balance blob
108
+ */
109
+ async storeBalanceBlob(encryptedBlob) {
110
+ return (0, vaultHelpers_js_1.storeData)(this.config.workerUrl, encryptedBlob, this.config.apiKey);
111
+ }
112
+ /**
113
+ * Fetch encrypted balance blob by CID
114
+ */
115
+ async fetchBalanceBlob(cid) {
116
+ return (0, vaultHelpers_js_1.fetchData)(this.config.workerUrl, cid);
117
+ }
118
+ /**
119
+ * Decrypt CMUX token result
120
+ *
121
+ * Requires ClientKey - only vault owner can call this!
122
+ */
123
+ decryptResult(encryptedResultB64) {
124
+ if (!this.clientKeyB64) {
125
+ throw new Error('No ClientKey loaded. Only vault owner can decrypt.');
126
+ }
127
+ return this.tfheClient.decryptCmuxToken(encryptedResultB64);
128
+ }
129
+ }
130
+ exports.Client = Client;
131
+ //# sourceMappingURL=Client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAE3B,yCAAyC;AACzC,eAAO,MAAM,UAAU,2BAA2B,CAAC;AACnD,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,sBAAsB;AACtB,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * @zksdk/private-token-slots - Vault management for private token transfers
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * import { SlotVaultClient } from '@zksdk/private-token-slots';
8
+ *
9
+ * const client = new SlotVaultClient({ workerUrl: 'http://localhost:8000' });
10
+ *
11
+ * // Create a vault
12
+ * const { vaultKeyId, clientKey } = await client.createVault();
13
+ * // IMPORTANT: Save clientKey securely!
14
+ *
15
+ * // Encrypt a transfer
16
+ * const encrypted = client.encryptTransfer(0, 1, 50);
17
+ * ```
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.VERSION = exports.CIRCUIT_ID_LEGACY = exports.CIRCUIT_ID = exports.fetchData = exports.storeData = exports.vaultExists = exports.getVaultPublicKey = exports.getVaultParams = exports.registerVault = exports.SlotVaultClient = exports.Client = void 0;
21
+ var Client_js_1 = require("./Client.js");
22
+ Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return Client_js_1.Client; } });
23
+ // Export SlotVaultClient as an alias for better developer experience
24
+ var Client_js_2 = require("./Client.js");
25
+ Object.defineProperty(exports, "SlotVaultClient", { enumerable: true, get: function () { return Client_js_2.Client; } });
26
+ var vaultHelpers_js_1 = require("./vaultHelpers.js");
27
+ Object.defineProperty(exports, "registerVault", { enumerable: true, get: function () { return vaultHelpers_js_1.registerVault; } });
28
+ Object.defineProperty(exports, "getVaultParams", { enumerable: true, get: function () { return vaultHelpers_js_1.getVaultParams; } });
29
+ Object.defineProperty(exports, "getVaultPublicKey", { enumerable: true, get: function () { return vaultHelpers_js_1.getVaultPublicKey; } });
30
+ Object.defineProperty(exports, "vaultExists", { enumerable: true, get: function () { return vaultHelpers_js_1.vaultExists; } });
31
+ Object.defineProperty(exports, "storeData", { enumerable: true, get: function () { return vaultHelpers_js_1.storeData; } });
32
+ Object.defineProperty(exports, "fetchData", { enumerable: true, get: function () { return vaultHelpers_js_1.fetchData; } });
33
+ /** Circuit ID for private token slots */
34
+ exports.CIRCUIT_ID = 'private_token_slots_v1';
35
+ /** Legacy circuit ID (deprecated) */
36
+ exports.CIRCUIT_ID_LEGACY = 'cmux_token_v1_linear';
37
+ /** Package version */
38
+ exports.VERSION = '0.1.0';
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,yCAAwD;AAA/C,mGAAA,MAAM,OAAA;AAEf,qEAAqE;AACrE,yCAAwD;AAA/C,4GAAA,MAAM,OAAmB;AAElC,qDAQ2B;AAPzB,gHAAA,aAAa,OAAA;AACb,iHAAA,cAAc,OAAA;AACd,oHAAA,iBAAiB,OAAA;AACjB,8GAAA,WAAW,OAAA;AACX,4GAAA,SAAS,OAAA;AACT,4GAAA,SAAS,OAAA;AAIX,yCAAyC;AAC5B,QAAA,UAAU,GAAG,wBAAwB,CAAC;AACnD,qCAAqC;AACxB,QAAA,iBAAiB,GAAG,sBAAsB,CAAC;AAExD,sBAAsB;AACT,QAAA,OAAO,GAAG,OAAO,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultHelpers.d.ts","sourceRoot":"","sources":["../../src/vaultHelpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/F;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAAC;AA4C9B;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAStB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Vault Helper Functions for Private Token Slots
4
+ *
5
+ * These functions interact with the FHE Worker API to manage vaults.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.registerVault = registerVault;
9
+ exports.getVaultParams = getVaultParams;
10
+ exports.getVaultPublicKey = getVaultPublicKey;
11
+ exports.vaultExists = vaultExists;
12
+ exports.storeData = storeData;
13
+ exports.fetchData = fetchData;
14
+ async function registerVault(optionsOrWorkerUrl, serverKeyB64, publicKeyB64, apiKey) {
15
+ // Normalize to options object
16
+ const options = typeof optionsOrWorkerUrl === 'string'
17
+ ? {
18
+ workerUrl: optionsOrWorkerUrl,
19
+ serverKeyB64: serverKeyB64,
20
+ publicKeyB64: publicKeyB64,
21
+ apiKey,
22
+ }
23
+ : optionsOrWorkerUrl;
24
+ const headers = {
25
+ 'Content-Type': 'application/json',
26
+ };
27
+ if (options.apiKey) {
28
+ headers['X-API-Key'] = options.apiKey;
29
+ }
30
+ const response = await fetch(`${options.workerUrl}/api/v1/vault/register`, {
31
+ method: 'POST',
32
+ headers,
33
+ body: JSON.stringify({
34
+ server_key: options.serverKeyB64,
35
+ public_key: options.publicKeyB64,
36
+ num_slots: options.numSlots,
37
+ }),
38
+ });
39
+ if (!response.ok) {
40
+ const error = await response.text();
41
+ throw new Error(`Failed to register vault: ${error}`);
42
+ }
43
+ return response.json();
44
+ }
45
+ /**
46
+ * Get vault parameters
47
+ */
48
+ async function getVaultParams(workerUrl, vaultKeyId) {
49
+ const response = await fetch(`${workerUrl}/api/v1/vault/${vaultKeyId}`);
50
+ if (!response.ok) {
51
+ const error = await response.text();
52
+ throw new Error(`Failed to get vault params: ${error}`);
53
+ }
54
+ return response.json();
55
+ }
56
+ /**
57
+ * Get vault's public key for encryption
58
+ */
59
+ async function getVaultPublicKey(workerUrl, vaultKeyId) {
60
+ const response = await fetch(`${workerUrl}/api/v1/vault/${vaultKeyId}/public-key`);
61
+ if (!response.ok) {
62
+ const error = await response.text();
63
+ throw new Error(`Failed to get vault public key: ${error}`);
64
+ }
65
+ const data = await response.json();
66
+ return data.public_key;
67
+ }
68
+ /**
69
+ * Check if vault exists
70
+ */
71
+ async function vaultExists(workerUrl, vaultKeyId) {
72
+ try {
73
+ const response = await fetch(`${workerUrl}/api/v1/vault/${vaultKeyId}`);
74
+ return response.ok;
75
+ }
76
+ catch {
77
+ return false;
78
+ }
79
+ }
80
+ /**
81
+ * Store encrypted data in worker storage
82
+ *
83
+ * @returns CID (content identifier) for retrieval
84
+ */
85
+ async function storeData(workerUrl, data, apiKey) {
86
+ const headers = {
87
+ 'Content-Type': 'application/json',
88
+ };
89
+ if (apiKey) {
90
+ headers['X-API-Key'] = apiKey;
91
+ }
92
+ const response = await fetch(`${workerUrl}/api/v1/storage`, {
93
+ method: 'POST',
94
+ headers,
95
+ body: JSON.stringify({ data }),
96
+ });
97
+ if (!response.ok) {
98
+ const error = await response.text();
99
+ throw new Error(`Failed to store data: ${error}`);
100
+ }
101
+ const result = await response.json();
102
+ return result.cid;
103
+ }
104
+ /**
105
+ * Fetch encrypted data by CID
106
+ */
107
+ async function fetchData(workerUrl, cid) {
108
+ const response = await fetch(`${workerUrl}/api/v1/storage/${cid}`);
109
+ if (!response.ok) {
110
+ const error = await response.text();
111
+ throw new Error(`Failed to fetch data: ${error}`);
112
+ }
113
+ const result = await response.json();
114
+ return result.data;
115
+ }
116
+ //# sourceMappingURL=vaultHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultHelpers.js","sourceRoot":"","sources":["../../src/vaultHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Client for Private Token Slots
3
+ *
4
+ * Manages vault registration, key storage, and transfer operations.
5
+ */
6
+ import { type VaultParams } from './vaultHelpers.js';
7
+ /** Client configuration */
8
+ export interface ClientConfig {
9
+ /** FHE Worker URL */
10
+ workerUrl: string;
11
+ /** Optional API key for authentication */
12
+ apiKey?: string;
13
+ }
14
+ /**
15
+ * Client - Main client for private token slot operations
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { Client } from '@zksdk/private-token-slots';
20
+ *
21
+ * const client = new Client({ workerUrl: 'http://localhost:8000' });
22
+ *
23
+ * // Create a new vault
24
+ * const { vaultKeyId, clientKey } = await client.createVault();
25
+ * // Save clientKey securely - you need it to decrypt!
26
+ *
27
+ * // Encrypt a transfer
28
+ * const encrypted = await client.encryptTransfer(0, 1, 50);
29
+ * ```
30
+ */
31
+ export declare class Client {
32
+ private config;
33
+ private tfheClient;
34
+ private vaultKeyId;
35
+ private clientKeyB64;
36
+ constructor(config: ClientConfig);
37
+ /**
38
+ * Initialize the client
39
+ */
40
+ init(): Promise<void>;
41
+ /**
42
+ * Create a new vault with client-side key generation
43
+ *
44
+ * SECURITY: ClientKey stays on your machine!
45
+ */
46
+ createVault(): Promise<{
47
+ vaultKeyId: string;
48
+ clientKey: string;
49
+ serverKey: string;
50
+ publicKey: string;
51
+ }>;
52
+ /**
53
+ * Load an existing vault by ID
54
+ *
55
+ * @param vaultKeyId - 64-char hex vault key ID
56
+ * @param clientKeyB64 - Your saved ClientKey (for decryption)
57
+ */
58
+ loadVault(vaultKeyId: string, clientKeyB64?: string): Promise<VaultParams>;
59
+ /**
60
+ * Get current vault key ID
61
+ */
62
+ getVaultKeyId(): string | null;
63
+ /**
64
+ * Encrypt transfer parameters
65
+ *
66
+ * @param senderIdx - Sender's slot index (0-255)
67
+ * @param receiverIdx - Receiver's slot index (0-255)
68
+ * @param amount - Transfer amount (0-255)
69
+ */
70
+ encryptTransfer(senderIdx: number, receiverIdx: number, amount: number): {
71
+ encrypted_data: string;
72
+ vault_key_id: string;
73
+ };
74
+ /**
75
+ * Store encrypted balance blob
76
+ */
77
+ storeBalanceBlob(encryptedBlob: string): Promise<string>;
78
+ /**
79
+ * Fetch encrypted balance blob by CID
80
+ */
81
+ fetchBalanceBlob(cid: string): Promise<string>;
82
+ /**
83
+ * Decrypt CMUX token result
84
+ *
85
+ * Requires ClientKey - only vault owner can call this!
86
+ */
87
+ decryptResult(encryptedResultB64: string): {
88
+ balances: number[];
89
+ isValid: boolean;
90
+ };
91
+ }
92
+ //# sourceMappingURL=Client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAuB;gBAE/B,MAAM,EAAE,YAAY;IAKhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IA2BF;;;;;OAKG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBhF;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QACvE,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB;IAaD;;OAEG;IACG,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9D;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD;;;;OAIG;IACH,aAAa,CAAC,kBAAkB,EAAE,MAAM,GAAG;QACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;KAClB;CAOF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @zksdk/private-token-slots - Vault management for private token transfers
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { SlotVaultClient } from '@zksdk/private-token-slots';
7
+ *
8
+ * const client = new SlotVaultClient({ workerUrl: 'http://localhost:8000' });
9
+ *
10
+ * // Create a vault
11
+ * const { vaultKeyId, clientKey } = await client.createVault();
12
+ * // IMPORTANT: Save clientKey securely!
13
+ *
14
+ * // Encrypt a transfer
15
+ * const encrypted = client.encryptTransfer(0, 1, 50);
16
+ * ```
17
+ */
18
+ export { Client, type ClientConfig } from './Client.js';
19
+ export { Client as SlotVaultClient } from './Client.js';
20
+ export { registerVault, getVaultParams, getVaultPublicKey, vaultExists, storeData, fetchData, type VaultParams, } from './vaultHelpers.js';
21
+ /** Circuit ID for private token slots */
22
+ export declare const CIRCUIT_ID = "private_token_slots_v1";
23
+ /** Legacy circuit ID (deprecated) */
24
+ export declare const CIRCUIT_ID_LEGACY = "cmux_token_v1_linear";
25
+ /** Package version */
26
+ export declare const VERSION = "0.1.0";
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAE3B,yCAAyC;AACzC,eAAO,MAAM,UAAU,2BAA2B,CAAC;AACnD,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,sBAAsB;AACtB,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAExD,qEAAqE;AACrE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,SAAS,GAEV,MAAM,mBAAmB,CAAC;AAE3B,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAAC;AACnD,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAExD,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Vault Helper Functions for Private Token Slots
3
+ *
4
+ * These functions interact with the FHE Worker API to manage vaults.
5
+ */
6
+ import type { VaultRegistration } from '@zksdk/core';
7
+ /** Vault parameters returned from worker */
8
+ export interface VaultParams {
9
+ vault_key_id: string;
10
+ num_slots: number;
11
+ created_at: string;
12
+ }
13
+ /** Options for vault registration */
14
+ export interface RegisterVaultOptions {
15
+ workerUrl: string;
16
+ serverKeyB64: string;
17
+ publicKeyB64: string;
18
+ numSlots?: number;
19
+ apiKey?: string;
20
+ }
21
+ /**
22
+ * Register a new vault with the FHE worker
23
+ *
24
+ * SECURITY: Only ServerKey and PublicKey are sent.
25
+ * ClientKey stays on your machine!
26
+ *
27
+ * @param options - Registration options
28
+ * @param options.workerUrl - FHE Worker base URL
29
+ * @param options.serverKeyB64 - Base64 encoded ServerKey
30
+ * @param options.publicKeyB64 - Base64 encoded PublicKey
31
+ * @param options.numSlots - Number of balance slots (1-256, default 32)
32
+ * @param options.apiKey - Optional API key for authentication
33
+ */
34
+ export declare function registerVault(options: RegisterVaultOptions): Promise<VaultRegistration>;
35
+ /**
36
+ * Register a new vault with the FHE worker (legacy signature)
37
+ * @deprecated Use options object signature instead
38
+ */
39
+ export declare function registerVault(workerUrl: string, serverKeyB64: string, publicKeyB64: string, apiKey?: string): Promise<VaultRegistration>;
40
+ /**
41
+ * Get vault parameters
42
+ */
43
+ export declare function getVaultParams(workerUrl: string, vaultKeyId: string): Promise<VaultParams>;
44
+ /**
45
+ * Get vault's public key for encryption
46
+ */
47
+ export declare function getVaultPublicKey(workerUrl: string, vaultKeyId: string): Promise<string>;
48
+ /**
49
+ * Check if vault exists
50
+ */
51
+ export declare function vaultExists(workerUrl: string, vaultKeyId: string): Promise<boolean>;
52
+ /**
53
+ * Store encrypted data in worker storage
54
+ *
55
+ * @returns CID (content identifier) for retrieval
56
+ */
57
+ export declare function storeData(workerUrl: string, data: string, apiKey?: string): Promise<string>;
58
+ /**
59
+ * Fetch encrypted data by CID
60
+ */
61
+ export declare function fetchData(workerUrl: string, cid: string): Promise<string>;
62
+ //# sourceMappingURL=vaultHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultHelpers.d.ts","sourceRoot":"","sources":["../../src/vaultHelpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/F;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAAC;AA4C9B;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAStB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultHelpers.js","sourceRoot":"","sources":["../../src/vaultHelpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,30 +1,39 @@
1
1
  {
2
2
  "name": "@zksdk/js-private-token-slots-fhe",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "ZKSDK Private Token Slots (FHE) - FHE-powered vault management for private token transfers",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
6
+ "main": "./dist/cjs/index.js",
7
+ "module": "./dist/esm/index.js",
8
+ "types": "./dist/esm/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
10
- "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
11
+ "import": {
12
+ "types": "./dist/esm/index.d.ts",
13
+ "default": "./dist/esm/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/cjs/index.d.ts",
17
+ "default": "./dist/cjs/index.js"
18
+ }
12
19
  }
13
20
  },
14
21
  "files": [
15
22
  "dist"
16
23
  ],
17
24
  "scripts": {
18
- "build": "tsc",
25
+ "build": "npm run build:esm && npm run build:cjs",
26
+ "build:esm": "tsc",
27
+ "build:cjs": "tsc -p tsconfig.cjs.json",
19
28
  "clean": "rm -rf dist",
20
- "prepublishOnly": "npm run build"
29
+ "prepublishOnly": "npm run clean && npm run build"
21
30
  },
22
31
  "publishConfig": {
23
32
  "access": "public",
24
33
  "registry": "https://registry.npmjs.org/"
25
34
  },
26
35
  "dependencies": {
27
- "@zksdk/core": "^0.1.1"
36
+ "@zksdk/core": "^0.1.2"
28
37
  },
29
38
  "keywords": [
30
39
  "zksdk",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAuB;gBAE/B,MAAM,EAAE,YAAY;IAKhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IA2BF;;;;;OAKG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBhF;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QACvE,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB;IAaD;;OAEG;IACG,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9D;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD;;;;OAIG;IACH,aAAa,CAAC,kBAAkB,EAAE,MAAM,GAAG;QACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;KAClB;CAOF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAE3B,yCAAyC;AACzC,eAAO,MAAM,UAAU,2BAA2B,CAAC;AACnD,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,sBAAsB;AACtB,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAExD,qEAAqE;AACrE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,SAAS,GAEV,MAAM,mBAAmB,CAAC;AAE3B,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAAC;AACnD,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAExD,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vaultHelpers.d.ts","sourceRoot":"","sources":["../src/vaultHelpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/F;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAAC;AA4C9B;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAStB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vaultHelpers.js","sourceRoot":"","sources":["../src/vaultHelpers.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes