@provablehq/sdk 0.10.2 → 0.10.4
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/dist/dynamic/browser.cjs +12 -0
- package/dist/dynamic/browser.d.cts +8 -0
- package/dist/dynamic/browser.d.ts +2 -2
- package/dist/dynamic/node.cjs +12 -0
- package/dist/dynamic/node.d.cts +8 -0
- package/dist/dynamic/node.d.ts +2 -2
- package/dist/mainnet/account.d.cts +347 -0
- package/dist/mainnet/browser.cjs +8530 -0
- package/dist/mainnet/browser.cjs.map +1 -0
- package/dist/mainnet/browser.d.cts +72 -0
- package/dist/mainnet/browser.d.ts +3 -3
- package/dist/mainnet/browser.js +78 -32
- package/dist/mainnet/browser.js.map +1 -1
- package/dist/mainnet/constants.d.cts +40 -0
- package/dist/mainnet/external-signing.d.cts +76 -0
- package/dist/mainnet/integrations/sealance/merkle-tree.d.cts +192 -0
- package/dist/mainnet/keys/keystore/error.d.cts +24 -0
- package/dist/mainnet/keys/keystore/file.d.cts +177 -0
- package/dist/mainnet/keys/keystore/interface.d.cts +161 -0
- package/dist/mainnet/keys/provider/interface.d.cts +170 -0
- package/dist/mainnet/keys/provider/memory.d.cts +213 -0
- package/dist/mainnet/keys/provider/memory.d.ts +6 -2
- package/dist/mainnet/keys/provider/offline.d.cts +365 -0
- package/dist/mainnet/keys/verifier/interface.d.cts +70 -0
- package/dist/mainnet/keys/verifier/memory.d.cts +37 -0
- package/dist/mainnet/keys/verifier/memory.d.ts +1 -1
- package/dist/mainnet/models/authorization.d.cts +6 -0
- package/dist/mainnet/models/authorization.d.ts +2 -2
- package/dist/mainnet/models/blockJSON.d.cts +33 -0
- package/dist/mainnet/models/confirmed_transaction.d.cts +9 -0
- package/dist/mainnet/models/cryptoBoxPubkey.d.cts +4 -0
- package/dist/mainnet/models/deployment/deploymentJSON.d.cts +6 -0
- package/dist/mainnet/models/deployment/deploymentObject.d.cts +6 -0
- package/dist/mainnet/models/encryptedProvingRequest.d.cts +4 -0
- package/dist/mainnet/models/execution/executionJSON.d.cts +11 -0
- package/dist/mainnet/models/execution/executionObject.d.cts +11 -0
- package/dist/mainnet/models/external-signing.d.cts +123 -0
- package/dist/mainnet/models/finalizeJSON.d.cts +6 -0
- package/dist/mainnet/models/functionInput.d.cts +7 -0
- package/dist/mainnet/models/functionObject.d.cts +8 -0
- package/dist/mainnet/models/imports.d.cts +7 -0
- package/dist/mainnet/models/input/inputJSON.d.cts +10 -0
- package/dist/mainnet/models/input/inputObject.d.cts +15 -0
- package/dist/mainnet/models/inputID.d.cts +4 -0
- package/dist/mainnet/models/keyPair.d.cts +4 -0
- package/dist/mainnet/models/output/outputJSON.d.cts +7 -0
- package/dist/mainnet/models/output/outputObject.d.cts +18 -0
- package/dist/mainnet/models/owner/ownerJSON.d.cts +4 -0
- package/dist/mainnet/models/owner/ownerObject.d.cts +5 -0
- package/dist/mainnet/models/plaintext/array.d.cts +3 -0
- package/dist/mainnet/models/plaintext/literal.d.cts +1 -0
- package/dist/mainnet/models/plaintext/plaintext.d.cts +5 -0
- package/dist/mainnet/models/plaintext/struct.d.cts +5 -0
- package/dist/mainnet/models/provingRequest.d.cts +6 -0
- package/dist/mainnet/models/provingRequest.d.ts +1 -1
- package/dist/mainnet/models/provingResponse.d.cts +51 -0
- package/dist/mainnet/models/ratification.d.cts +4 -0
- package/dist/mainnet/models/record-provider/encryptedRecord.d.cts +58 -0
- package/dist/mainnet/models/record-provider/ownedRecord.d.cts +60 -0
- package/dist/mainnet/models/record-provider/recordSearchParams.d.cts +19 -0
- package/dist/mainnet/models/record-scanner/encryptedRecordsResult.d.cts +7 -0
- package/dist/mainnet/models/record-scanner/encryptedRegistrationRequest.d.cts +8 -0
- package/dist/mainnet/models/record-scanner/error.d.cts +47 -0
- package/dist/mainnet/models/record-scanner/error.d.ts +1 -1
- package/dist/mainnet/models/record-scanner/ownedFilter.d.cts +22 -0
- package/dist/mainnet/models/record-scanner/ownedFilter.d.ts +3 -3
- package/dist/mainnet/models/record-scanner/ownedRecordsResponseFilter.d.cts +42 -0
- package/dist/mainnet/models/record-scanner/ownedRecordsResult.d.cts +13 -0
- package/dist/mainnet/models/record-scanner/recordsFilter.d.cts +35 -0
- package/dist/mainnet/models/record-scanner/recordsFilter.d.ts +2 -2
- package/dist/mainnet/models/record-scanner/recordsResponseFilter.d.cts +42 -0
- package/dist/mainnet/models/record-scanner/registrationRequest.d.cts +13 -0
- package/dist/mainnet/models/record-scanner/registrationResponse.d.cts +13 -0
- package/dist/mainnet/models/record-scanner/registrationResult.d.cts +9 -0
- package/dist/mainnet/models/record-scanner/revokeResult.d.cts +17 -0
- package/dist/mainnet/models/record-scanner/serialNumbersResult.d.cts +15 -0
- package/dist/mainnet/models/record-scanner/statusResponse.d.cts +13 -0
- package/dist/mainnet/models/record-scanner/statusResult.d.cts +13 -0
- package/dist/mainnet/models/record-scanner/tagsResult.d.cts +12 -0
- package/dist/mainnet/models/request.d.cts +14 -0
- package/dist/mainnet/models/request.d.ts +1 -1
- package/dist/mainnet/models/solution.d.cts +14 -0
- package/dist/mainnet/models/transaction/transactionJSON.d.cts +11 -0
- package/dist/mainnet/models/transaction/transactionObject.d.cts +14 -0
- package/dist/mainnet/models/transition/transitionJSON.d.cts +13 -0
- package/dist/mainnet/models/transition/transitionObject.d.cts +15 -0
- package/dist/mainnet/network-client.d.cts +850 -0
- package/dist/mainnet/network-client.d.ts +3 -0
- package/dist/mainnet/node-polyfill.cjs +238 -0
- package/dist/mainnet/node-polyfill.cjs.map +1 -0
- package/dist/mainnet/node-polyfill.d.cts +5 -0
- package/dist/mainnet/node-polyfill.js +1 -1
- package/dist/mainnet/node-polyfill.js.map +1 -1
- package/dist/mainnet/node.cjs +686 -0
- package/dist/mainnet/node.cjs.map +1 -0
- package/dist/mainnet/node.d.cts +3 -0
- package/dist/mainnet/node.js +2 -2
- package/dist/mainnet/polyfill/crypto.d.cts +1 -0
- package/dist/mainnet/polyfill/fetch.d.cts +1 -0
- package/dist/mainnet/polyfill/shared.d.cts +1 -0
- package/dist/mainnet/polyfill/worker.d.cts +1 -0
- package/dist/mainnet/polyfill/xmlhttprequest.d.cts +1 -0
- package/dist/mainnet/program-manager.d.cts +1600 -0
- package/dist/mainnet/program-manager.d.ts +13 -1
- package/dist/mainnet/record-provider.d.cts +274 -0
- package/dist/mainnet/record-scanner.d.cts +371 -0
- package/dist/mainnet/record-scanner.d.ts +9 -6
- package/dist/mainnet/security.d.cts +62 -0
- package/dist/mainnet/security.d.ts +5 -5
- package/dist/mainnet/utils.d.cts +23 -0
- package/dist/mainnet/utils.d.ts +10 -2
- package/dist/mainnet/wasm.d.cts +1 -0
- package/dist/testnet/account.d.cts +347 -0
- package/dist/testnet/browser.cjs +8530 -0
- package/dist/testnet/browser.cjs.map +1 -0
- package/dist/testnet/browser.d.cts +72 -0
- package/dist/testnet/browser.d.ts +3 -3
- package/dist/testnet/browser.js +78 -32
- package/dist/testnet/browser.js.map +1 -1
- package/dist/testnet/constants.d.cts +40 -0
- package/dist/testnet/external-signing.d.cts +76 -0
- package/dist/testnet/integrations/sealance/merkle-tree.d.cts +192 -0
- package/dist/testnet/keys/keystore/error.d.cts +24 -0
- package/dist/testnet/keys/keystore/file.d.cts +177 -0
- package/dist/testnet/keys/keystore/interface.d.cts +161 -0
- package/dist/testnet/keys/provider/interface.d.cts +170 -0
- package/dist/testnet/keys/provider/memory.d.cts +213 -0
- package/dist/testnet/keys/provider/memory.d.ts +6 -2
- package/dist/testnet/keys/provider/offline.d.cts +365 -0
- package/dist/testnet/keys/verifier/interface.d.cts +70 -0
- package/dist/testnet/keys/verifier/memory.d.cts +37 -0
- package/dist/testnet/keys/verifier/memory.d.ts +1 -1
- package/dist/testnet/models/authorization.d.cts +6 -0
- package/dist/testnet/models/authorization.d.ts +2 -2
- package/dist/testnet/models/blockJSON.d.cts +33 -0
- package/dist/testnet/models/confirmed_transaction.d.cts +9 -0
- package/dist/testnet/models/cryptoBoxPubkey.d.cts +4 -0
- package/dist/testnet/models/deployment/deploymentJSON.d.cts +6 -0
- package/dist/testnet/models/deployment/deploymentObject.d.cts +6 -0
- package/dist/testnet/models/encryptedProvingRequest.d.cts +4 -0
- package/dist/testnet/models/execution/executionJSON.d.cts +11 -0
- package/dist/testnet/models/execution/executionObject.d.cts +11 -0
- package/dist/testnet/models/external-signing.d.cts +123 -0
- package/dist/testnet/models/finalizeJSON.d.cts +6 -0
- package/dist/testnet/models/functionInput.d.cts +7 -0
- package/dist/testnet/models/functionObject.d.cts +8 -0
- package/dist/testnet/models/imports.d.cts +7 -0
- package/dist/testnet/models/input/inputJSON.d.cts +10 -0
- package/dist/testnet/models/input/inputObject.d.cts +15 -0
- package/dist/testnet/models/inputID.d.cts +4 -0
- package/dist/testnet/models/keyPair.d.cts +4 -0
- package/dist/testnet/models/output/outputJSON.d.cts +7 -0
- package/dist/testnet/models/output/outputObject.d.cts +18 -0
- package/dist/testnet/models/owner/ownerJSON.d.cts +4 -0
- package/dist/testnet/models/owner/ownerObject.d.cts +5 -0
- package/dist/testnet/models/plaintext/array.d.cts +3 -0
- package/dist/testnet/models/plaintext/literal.d.cts +1 -0
- package/dist/testnet/models/plaintext/plaintext.d.cts +5 -0
- package/dist/testnet/models/plaintext/struct.d.cts +5 -0
- package/dist/testnet/models/provingRequest.d.cts +6 -0
- package/dist/testnet/models/provingRequest.d.ts +1 -1
- package/dist/testnet/models/provingResponse.d.cts +51 -0
- package/dist/testnet/models/ratification.d.cts +4 -0
- package/dist/testnet/models/record-provider/encryptedRecord.d.cts +58 -0
- package/dist/testnet/models/record-provider/ownedRecord.d.cts +60 -0
- package/dist/testnet/models/record-provider/recordSearchParams.d.cts +19 -0
- package/dist/testnet/models/record-scanner/encryptedRecordsResult.d.cts +7 -0
- package/dist/testnet/models/record-scanner/encryptedRegistrationRequest.d.cts +8 -0
- package/dist/testnet/models/record-scanner/error.d.cts +47 -0
- package/dist/testnet/models/record-scanner/error.d.ts +1 -1
- package/dist/testnet/models/record-scanner/ownedFilter.d.cts +22 -0
- package/dist/testnet/models/record-scanner/ownedFilter.d.ts +3 -3
- package/dist/testnet/models/record-scanner/ownedRecordsResponseFilter.d.cts +42 -0
- package/dist/testnet/models/record-scanner/ownedRecordsResult.d.cts +13 -0
- package/dist/testnet/models/record-scanner/recordsFilter.d.cts +35 -0
- package/dist/testnet/models/record-scanner/recordsFilter.d.ts +2 -2
- package/dist/testnet/models/record-scanner/recordsResponseFilter.d.cts +42 -0
- package/dist/testnet/models/record-scanner/registrationRequest.d.cts +13 -0
- package/dist/testnet/models/record-scanner/registrationResponse.d.cts +13 -0
- package/dist/testnet/models/record-scanner/registrationResult.d.cts +9 -0
- package/dist/testnet/models/record-scanner/revokeResult.d.cts +17 -0
- package/dist/testnet/models/record-scanner/serialNumbersResult.d.cts +15 -0
- package/dist/testnet/models/record-scanner/statusResponse.d.cts +13 -0
- package/dist/testnet/models/record-scanner/statusResult.d.cts +13 -0
- package/dist/testnet/models/record-scanner/tagsResult.d.cts +12 -0
- package/dist/testnet/models/request.d.cts +14 -0
- package/dist/testnet/models/request.d.ts +1 -1
- package/dist/testnet/models/solution.d.cts +14 -0
- package/dist/testnet/models/transaction/transactionJSON.d.cts +11 -0
- package/dist/testnet/models/transaction/transactionObject.d.cts +14 -0
- package/dist/testnet/models/transition/transitionJSON.d.cts +13 -0
- package/dist/testnet/models/transition/transitionObject.d.cts +15 -0
- package/dist/testnet/network-client.d.cts +850 -0
- package/dist/testnet/network-client.d.ts +3 -0
- package/dist/testnet/node-polyfill.cjs +238 -0
- package/dist/testnet/node-polyfill.cjs.map +1 -0
- package/dist/testnet/node-polyfill.d.cts +5 -0
- package/dist/testnet/node-polyfill.js +1 -1
- package/dist/testnet/node-polyfill.js.map +1 -1
- package/dist/testnet/node.cjs +686 -0
- package/dist/testnet/node.cjs.map +1 -0
- package/dist/testnet/node.d.cts +3 -0
- package/dist/testnet/node.js +2 -2
- package/dist/testnet/polyfill/crypto.d.cts +1 -0
- package/dist/testnet/polyfill/fetch.d.cts +1 -0
- package/dist/testnet/polyfill/shared.d.cts +1 -0
- package/dist/testnet/polyfill/worker.d.cts +1 -0
- package/dist/testnet/polyfill/xmlhttprequest.d.cts +1 -0
- package/dist/testnet/program-manager.d.cts +1600 -0
- package/dist/testnet/program-manager.d.ts +13 -1
- package/dist/testnet/record-provider.d.cts +274 -0
- package/dist/testnet/record-scanner.d.cts +371 -0
- package/dist/testnet/record-scanner.d.ts +9 -6
- package/dist/testnet/security.d.cts +62 -0
- package/dist/testnet/security.d.ts +5 -5
- package/dist/testnet/utils.d.cts +23 -0
- package/dist/testnet/utils.d.ts +10 -2
- package/dist/testnet/wasm.d.cts +1 -0
- package/package.json +51 -9
|
@@ -0,0 +1,686 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./node-polyfill.cjs');
|
|
4
|
+
var fs = require('node:fs/promises');
|
|
5
|
+
var $fs = require('node:fs');
|
|
6
|
+
var path = require('path');
|
|
7
|
+
var browser = require('./browser.cjs');
|
|
8
|
+
var mainnet_js = require('@provablehq/wasm/mainnet.js');
|
|
9
|
+
require('core-js/proposals/json-parse-with-source.js');
|
|
10
|
+
require('node:crypto');
|
|
11
|
+
require('mime/lite');
|
|
12
|
+
require('xmlhttprequest-ssl');
|
|
13
|
+
require('node:worker_threads');
|
|
14
|
+
require('node:os');
|
|
15
|
+
require('@serenity-kit/noble-sodium');
|
|
16
|
+
require('@scure/base');
|
|
17
|
+
|
|
18
|
+
function _interopNamespaceDefault(e) {
|
|
19
|
+
var n = Object.create(null);
|
|
20
|
+
if (e) {
|
|
21
|
+
Object.keys(e).forEach(function (k) {
|
|
22
|
+
if (k !== 'default') {
|
|
23
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
24
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () { return e[k]; }
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
n.default = e;
|
|
32
|
+
return Object.freeze(n);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
36
|
+
var $fs__namespace = /*#__PURE__*/_interopNamespaceDefault($fs);
|
|
37
|
+
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
38
|
+
|
|
39
|
+
class LocalFileKeyStore {
|
|
40
|
+
directory;
|
|
41
|
+
keyVerifier = new browser.MemKeyVerifier();
|
|
42
|
+
/**
|
|
43
|
+
* Creates a new directory at the given path or CURRENTDIR/.aleo if none is provided to store keys.
|
|
44
|
+
* If a custom directory is passed and its last path segment is not ".aleo", ".aleo" is appended
|
|
45
|
+
* so keys are stored under that subdirectory (e.g. /home/project → /home/project/.aleo).
|
|
46
|
+
*
|
|
47
|
+
* @param {string} [directory] - Optional custom directory path for key storage. Defaults to ".aleo" in current working directory.
|
|
48
|
+
* @throws {Error} If directory creation fails.
|
|
49
|
+
*/
|
|
50
|
+
constructor(directory) {
|
|
51
|
+
this.directory = directory ?? path__namespace.join(process.cwd(), ".aleo");
|
|
52
|
+
if (directory !== undefined && path__namespace.basename(this.directory) !== ".aleo") {
|
|
53
|
+
this.directory = path__namespace.join(this.directory, ".aleo");
|
|
54
|
+
}
|
|
55
|
+
$fs__namespace.mkdirSync(this.directory, { recursive: true });
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Validates a single locator component for unsafe filesystem characters.
|
|
59
|
+
*
|
|
60
|
+
* @private
|
|
61
|
+
* @param {string} value - The component value to validate.
|
|
62
|
+
* @param {string} label - Label for error messages (e.g. "program", "functionName").
|
|
63
|
+
* @throws {InvalidLocatorError} If the value is empty, contains traversal sequences, path separators, or null bytes.
|
|
64
|
+
*/
|
|
65
|
+
validateComponent(value, label) {
|
|
66
|
+
if (value === "" || value === ".") {
|
|
67
|
+
throw new browser.InvalidLocatorError(`KeyLocator ${label} must not be empty or "." (got "${value}")`, value, "reserved_name");
|
|
68
|
+
}
|
|
69
|
+
if (value.includes("..")) {
|
|
70
|
+
throw new browser.InvalidLocatorError(`KeyLocator ${label} must not contain ".." (got "${value}")`, value, "path_traversal");
|
|
71
|
+
}
|
|
72
|
+
if (value.includes("/") || value.includes("\\") || value.includes("\0")) {
|
|
73
|
+
throw new browser.InvalidLocatorError(`KeyLocator ${label} must not contain path separators or null bytes (got "${value}")`, value, "path_separator");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Validates that a numeric locator field is not negative.
|
|
78
|
+
*
|
|
79
|
+
* @private
|
|
80
|
+
* @param {number} value - The numeric value to validate.
|
|
81
|
+
* @param {string} label - Label for error messages (e.g. "edition", "amendment").
|
|
82
|
+
* @throws {InvalidLocatorError} If the value is negative.
|
|
83
|
+
*/
|
|
84
|
+
validateNonNegative(value, label) {
|
|
85
|
+
if (!Number.isInteger(value) || value < 0) {
|
|
86
|
+
throw new browser.InvalidLocatorError(`KeyLocator ${label} must be a non-negative integer (got ${value})`, String(value), "negative_value");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Serializes a {@link KeyLocator} to a filesystem-safe flat string, validating components first.
|
|
91
|
+
*
|
|
92
|
+
* For prover/verifier keys: `{program}.{functionName}.e{edition}.a{amendment}.{network}.{keyType}`
|
|
93
|
+
* For translation keys: `{program}.{functionName}.e{edition}.a{amendment}.{network}.translation.{recordName}.{recordInputPosition}`
|
|
94
|
+
*
|
|
95
|
+
* Note: The optional `checksum` field is excluded — it is used for integrity verification only
|
|
96
|
+
* (via {@link checksumToFingerprint}) and is not part of the key identity.
|
|
97
|
+
*
|
|
98
|
+
* @private
|
|
99
|
+
* @param {KeyLocator} locator - The key locator.
|
|
100
|
+
* @returns {string} A dot-delimited string safe for use as a filename.
|
|
101
|
+
* @throws {InvalidLocatorError} If any component contains unsafe characters.
|
|
102
|
+
*/
|
|
103
|
+
serializeLocator(locator) {
|
|
104
|
+
this.validateComponent(locator.program, "program");
|
|
105
|
+
this.validateComponent(locator.functionName, "functionName");
|
|
106
|
+
this.validateComponent(locator.network, "network");
|
|
107
|
+
this.validateNonNegative(locator.edition, "edition");
|
|
108
|
+
this.validateNonNegative(locator.amendment, "amendment");
|
|
109
|
+
const base = `${locator.program}.${locator.functionName}.e${locator.edition}.a${locator.amendment}.${locator.network}.${locator.keyType}`;
|
|
110
|
+
if (locator.keyType === "translation") {
|
|
111
|
+
this.validateComponent(locator.recordName, "recordName");
|
|
112
|
+
this.validateNonNegative(locator.recordInputPosition, "recordInputPosition");
|
|
113
|
+
return `${base}.${locator.recordName}.${locator.recordInputPosition}`;
|
|
114
|
+
}
|
|
115
|
+
return base;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Converts an optional checksum string from a locator into a KeyFingerprint
|
|
119
|
+
* suitable for the key verifier, using the actual key byte length for size.
|
|
120
|
+
*
|
|
121
|
+
* @private
|
|
122
|
+
*/
|
|
123
|
+
checksumToFingerprint(checksum, keyBytes) {
|
|
124
|
+
if (!checksum)
|
|
125
|
+
return undefined;
|
|
126
|
+
return { checksum, size: keyBytes.length };
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Generates the path for a key metadata file based on the locator.
|
|
130
|
+
*
|
|
131
|
+
* @private
|
|
132
|
+
* @param {string} locator - Unique identifier for the key.
|
|
133
|
+
* @returns {string} Full filesystem path to the metadata file.
|
|
134
|
+
*/
|
|
135
|
+
metadataPath(locator) {
|
|
136
|
+
return path__namespace.join(this.directory, `${locator}.metadata`);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Reads and parses the key fingerprint metadata from storage.
|
|
140
|
+
*
|
|
141
|
+
* @private
|
|
142
|
+
* @param {string} locator - Unique identifier for the key.
|
|
143
|
+
* @returns {Promise<KeyFingerprint | null>} The key fingerprint if found, null if file doesn't exist.
|
|
144
|
+
* @throws {Error} If file read fails for any reason other than not found.
|
|
145
|
+
*/
|
|
146
|
+
async readKeyMetadata(locator) {
|
|
147
|
+
try {
|
|
148
|
+
const data = await fs__namespace.readFile(this.metadataPath(locator), "utf-8");
|
|
149
|
+
return JSON.parse(data);
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
if (err &&
|
|
153
|
+
typeof err === "object" &&
|
|
154
|
+
"code" in err &&
|
|
155
|
+
err.code === "ENOENT")
|
|
156
|
+
return null;
|
|
157
|
+
throw err;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Writes key fingerprint metadata to storage.
|
|
162
|
+
*
|
|
163
|
+
* @private
|
|
164
|
+
* @param {string} locator - Unique identifier for the key.
|
|
165
|
+
* @param {KeyFingerprint} metadata - Key fingerprint metadata to store.
|
|
166
|
+
* @returns {Promise<void>}
|
|
167
|
+
* @throws {Error} If directory creation or file write fails.
|
|
168
|
+
*/
|
|
169
|
+
async writeKeyMetadata(locator, metadata) {
|
|
170
|
+
await fs__namespace.mkdir(path__namespace.dirname(this.metadataPath(locator)), {
|
|
171
|
+
recursive: true,
|
|
172
|
+
});
|
|
173
|
+
await fs__namespace.writeFile(this.metadataPath(locator), JSON.stringify(metadata, null, 0), "utf-8");
|
|
174
|
+
}
|
|
175
|
+
async readFileOptional(filepath) {
|
|
176
|
+
try {
|
|
177
|
+
const data = await fs__namespace.readFile(filepath);
|
|
178
|
+
return new Uint8Array(data);
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
if (err.code === "ENOENT")
|
|
182
|
+
return null;
|
|
183
|
+
throw err;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Atomically writes data to a file, ensuring the parent directories exist.
|
|
188
|
+
*
|
|
189
|
+
* @private
|
|
190
|
+
* @param {string} filepath - Full path to the file to write
|
|
191
|
+
* @param {Uint8Array} data - Binary data to write to the file
|
|
192
|
+
* @returns {Promise<void>} Resolves when write is complete
|
|
193
|
+
* @throws {Error} If directory creation or file write fails
|
|
194
|
+
*/
|
|
195
|
+
async writeFileAtomic(filepath, data) {
|
|
196
|
+
const dir = path__namespace.dirname(filepath);
|
|
197
|
+
await fs__namespace.mkdir(dir, { recursive: true });
|
|
198
|
+
const tempPath = path__namespace.join(dir, `.${path__namespace.basename(filepath)}.${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}.tmp`);
|
|
199
|
+
await fs__namespace.writeFile(tempPath, data);
|
|
200
|
+
try {
|
|
201
|
+
await fs__namespace.rename(tempPath, filepath);
|
|
202
|
+
}
|
|
203
|
+
catch (err) {
|
|
204
|
+
const code = err && typeof err === "object" && "code" in err ? err.code : undefined;
|
|
205
|
+
// Windows often throws EEXIST when target exists; EPERM/EACCES happen with locks/AV.
|
|
206
|
+
if (code === "EEXIST" || code === "EPERM" || code === "EACCES") {
|
|
207
|
+
await fs__namespace.unlink(filepath).catch(() => { });
|
|
208
|
+
try {
|
|
209
|
+
await fs__namespace.rename(tempPath, filepath);
|
|
210
|
+
}
|
|
211
|
+
catch (err2) {
|
|
212
|
+
await fs__namespace.unlink(tempPath).catch(() => { });
|
|
213
|
+
throw err2;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
await fs__namespace.unlink(tempPath).catch(() => { });
|
|
218
|
+
throw err;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Recursively removes all files and subdirectories under the given directory, then removes the directory itself.
|
|
224
|
+
* Uses fs.rm with recursive: true and force: true so that symbolic links are removed without following them,
|
|
225
|
+
* avoiding deletion of content outside the keystore.
|
|
226
|
+
*
|
|
227
|
+
* @private
|
|
228
|
+
* @param {string} dir - Directory path to clear
|
|
229
|
+
* @returns {Promise<void>} Resolves when clearing is complete
|
|
230
|
+
* @throws {Error} If directory removal fails for reasons other than non-existence
|
|
231
|
+
*/
|
|
232
|
+
async clearDirectory(dir) {
|
|
233
|
+
try {
|
|
234
|
+
await fs__namespace.rm(dir, { recursive: true, force: true });
|
|
235
|
+
}
|
|
236
|
+
catch (err) {
|
|
237
|
+
const code = err && typeof err === "object" && "code" in err ? err.code : undefined;
|
|
238
|
+
if (code === "ENOENT") {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
throw err;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// -------------------------------------------------------
|
|
245
|
+
// KEYSTORE INTERFACE
|
|
246
|
+
// -------------------------------------------------------
|
|
247
|
+
/**
|
|
248
|
+
* Retrieves the key bytes from storage and optionally verifies them.
|
|
249
|
+
*
|
|
250
|
+
* @param {KeyLocator} locator - The key locator with optional checksum for verification.
|
|
251
|
+
* @returns {Promise<Uint8Array | null>} The key bytes if found and verified, null if not found.
|
|
252
|
+
* @throws {KeyVerificationError} If verification fails.
|
|
253
|
+
*/
|
|
254
|
+
async getKeyBytes(locator) {
|
|
255
|
+
const fileKey = this.serializeLocator(locator);
|
|
256
|
+
// Attempt to read key bytes from storage (under this.directory).
|
|
257
|
+
const keyBytes = await this.readFileOptional(path__namespace.join(this.directory, fileKey));
|
|
258
|
+
// If no key bytes were found, return null.
|
|
259
|
+
if (!keyBytes)
|
|
260
|
+
return null;
|
|
261
|
+
// Use caller-provided checksum or metadata stored on disk for verification.
|
|
262
|
+
const fingerprint = this.checksumToFingerprint(locator.checksum, keyBytes) ?? (await this.getKeyMetadata(locator));
|
|
263
|
+
if (fingerprint) {
|
|
264
|
+
await this.keyVerifier.verifyKeyBytes({
|
|
265
|
+
keyBytes,
|
|
266
|
+
locator: fileKey,
|
|
267
|
+
fingerprint,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
// Return the verified key bytes.
|
|
271
|
+
return keyBytes;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Retrieves and verifies a proving key from storage.
|
|
275
|
+
*
|
|
276
|
+
* @param {ProvingKeyLocator} locator - The proving key locator.
|
|
277
|
+
* @returns {Promise<ProvingKey | null>} The proving key if found and verified, null if not found.
|
|
278
|
+
* @throws {KeyVerificationError} If verification fails.
|
|
279
|
+
* @throws {Error} If key bytes cannot be parsed into a valid ProvingKey.
|
|
280
|
+
*/
|
|
281
|
+
async getProvingKey(locator) {
|
|
282
|
+
const proverBytes = await this.getKeyBytes(locator);
|
|
283
|
+
if (!proverBytes)
|
|
284
|
+
return null;
|
|
285
|
+
return mainnet_js.ProvingKey.fromBytes(proverBytes);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Retrieves and verifies a verifying key from storage.
|
|
289
|
+
*
|
|
290
|
+
* @param {VerifyingKeyLocator} locator - The verifying key locator.
|
|
291
|
+
* @returns {Promise<VerifyingKey | null>} The verifying key if found and verified, null if not found.
|
|
292
|
+
* @throws {KeyVerificationError} If verification fails.
|
|
293
|
+
* @throws {Error} If key bytes cannot be parsed into a valid VerifyingKey.
|
|
294
|
+
*/
|
|
295
|
+
async getVerifyingKey(locator) {
|
|
296
|
+
const verifierBytes = await this.getKeyBytes(locator);
|
|
297
|
+
if (!verifierBytes)
|
|
298
|
+
return null;
|
|
299
|
+
return mainnet_js.VerifyingKey.fromBytes(verifierBytes);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Stores proving and verifying keys in key storage.
|
|
303
|
+
*
|
|
304
|
+
* @param {ProvingKeyLocator} proverLocator The locator for the proving key.
|
|
305
|
+
* @param {VerifyingKeyLocator} verifierLocator The locator for the verifying key.
|
|
306
|
+
* @param {FunctionKeyPair} keys The proving and verifying keys.
|
|
307
|
+
*/
|
|
308
|
+
async setKeys(proverLocator, verifierLocator, keys) {
|
|
309
|
+
const proverKey = this.serializeLocator(proverLocator);
|
|
310
|
+
const verifierKey = this.serializeLocator(verifierLocator);
|
|
311
|
+
// Convert the WASM keys to raw bytes.
|
|
312
|
+
const [provingKey, verifyingKey] = keys;
|
|
313
|
+
const [provingKeyBytes, verifyingKeyBytes] = [
|
|
314
|
+
provingKey.toBytes(),
|
|
315
|
+
verifyingKey.toBytes(),
|
|
316
|
+
];
|
|
317
|
+
// Compute the fingerprints for the proving and verifying keys, verify against expected checksums if provided.
|
|
318
|
+
const [proverFingerPrint, verifierFingerPrint] = await Promise.all([
|
|
319
|
+
this.keyVerifier.computeKeyMetadata({
|
|
320
|
+
keyBytes: provingKeyBytes,
|
|
321
|
+
locator: proverKey,
|
|
322
|
+
fingerprint: this.checksumToFingerprint(proverLocator.checksum, provingKeyBytes),
|
|
323
|
+
}),
|
|
324
|
+
this.keyVerifier.computeKeyMetadata({
|
|
325
|
+
keyBytes: verifyingKeyBytes,
|
|
326
|
+
locator: verifierKey,
|
|
327
|
+
fingerprint: this.checksumToFingerprint(verifierLocator.checksum, verifyingKeyBytes),
|
|
328
|
+
}),
|
|
329
|
+
]);
|
|
330
|
+
// Write the proving and verifying key bytes and their metadata to storage (under this.directory).
|
|
331
|
+
await this.writeFileAtomic(path__namespace.join(this.directory, proverKey), provingKeyBytes);
|
|
332
|
+
await this.writeFileAtomic(path__namespace.join(this.directory, verifierKey), verifyingKeyBytes);
|
|
333
|
+
await this.writeKeyMetadata(proverKey, proverFingerPrint);
|
|
334
|
+
await this.writeKeyMetadata(verifierKey, verifierFingerPrint);
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Store a raw key in storage along with its fingerprint metadata for future verification.
|
|
338
|
+
*
|
|
339
|
+
* @param {Uint8Array} keyBytes The raw key bytes.
|
|
340
|
+
* @param {KeyLocator} locator The unique locator for the key.
|
|
341
|
+
* @returns {Promise<void>}
|
|
342
|
+
* @throws {Error} If computing key metadata or writing to storage fails
|
|
343
|
+
*/
|
|
344
|
+
async setKeyBytes(keyBytes, locator) {
|
|
345
|
+
const fileKey = this.serializeLocator(locator);
|
|
346
|
+
// Compute the key metadata including fingerprint
|
|
347
|
+
const computedMetadata = await this.keyVerifier.computeKeyMetadata({
|
|
348
|
+
keyBytes: keyBytes,
|
|
349
|
+
locator: fileKey,
|
|
350
|
+
fingerprint: this.checksumToFingerprint(locator.checksum, keyBytes),
|
|
351
|
+
});
|
|
352
|
+
// Write the key bytes and metadata atomically (key file under this.directory).
|
|
353
|
+
await this.writeFileAtomic(path__namespace.join(this.directory, fileKey), keyBytes);
|
|
354
|
+
await this.writeKeyMetadata(fileKey, computedMetadata);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Returns stored metadata for a key, if any.
|
|
358
|
+
*
|
|
359
|
+
* @param {KeyLocator} locator The unique locator for the key.
|
|
360
|
+
* @returns {Promise<KeyFingerprint | null>} The stored fingerprint metadata, or null if none exists.
|
|
361
|
+
*/
|
|
362
|
+
async getKeyMetadata(locator) {
|
|
363
|
+
const fileKey = this.serializeLocator(locator);
|
|
364
|
+
return this.readKeyMetadata(fileKey);
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Checks if a key exists for the given locator.
|
|
368
|
+
*
|
|
369
|
+
* @param {KeyLocator} locator - The unique key locator.
|
|
370
|
+
* @returns {Promise<boolean>} True if key exists, false otherwise.
|
|
371
|
+
*/
|
|
372
|
+
async has(locator) {
|
|
373
|
+
const fileKey = this.serializeLocator(locator);
|
|
374
|
+
const keyPath = path__namespace.join(this.directory, fileKey);
|
|
375
|
+
return await fs__namespace
|
|
376
|
+
.access(keyPath)
|
|
377
|
+
.then(() => true)
|
|
378
|
+
.catch(() => false);
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Deletes a key and its associated metadata from storage. Silently ignores errors if files don't exist.
|
|
382
|
+
*
|
|
383
|
+
* @param {KeyLocator} locator - The unique key locator.
|
|
384
|
+
* @returns {Promise<void>}
|
|
385
|
+
*/
|
|
386
|
+
async delete(locator) {
|
|
387
|
+
const fileKey = this.serializeLocator(locator);
|
|
388
|
+
const p = path__namespace.join(this.directory, fileKey);
|
|
389
|
+
const m = this.metadataPath(fileKey);
|
|
390
|
+
await fs__namespace.unlink(p).catch(() => { });
|
|
391
|
+
await fs__namespace.unlink(m).catch(() => { });
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Clears the key storage directory by recursively removing all files and subdirectories under it, then removes the keystore directory itself.
|
|
395
|
+
*
|
|
396
|
+
* @returns {Promise<void>}
|
|
397
|
+
* @throws {Error} If directory listing fails for reasons other than non-existence.
|
|
398
|
+
*/
|
|
399
|
+
async clear() {
|
|
400
|
+
await this.clearDirectory(this.directory);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
exports.Account = browser.Account;
|
|
405
|
+
exports.AleoKeyProvider = browser.AleoKeyProvider;
|
|
406
|
+
exports.AleoKeyProviderParams = browser.AleoKeyProviderParams;
|
|
407
|
+
exports.AleoNetworkClient = browser.AleoNetworkClient;
|
|
408
|
+
exports.BlockHeightSearch = browser.BlockHeightSearch;
|
|
409
|
+
exports.CREDITS_PROGRAM_KEYS = browser.CREDITS_PROGRAM_KEYS;
|
|
410
|
+
exports.ChecksumMismatchError = browser.ChecksumMismatchError;
|
|
411
|
+
exports.DecryptionNotEnabledError = browser.DecryptionNotEnabledError;
|
|
412
|
+
exports.InvalidLocatorError = browser.InvalidLocatorError;
|
|
413
|
+
exports.KEY_STORE = browser.KEY_STORE;
|
|
414
|
+
exports.KeyVerificationError = browser.ChecksumMismatchError;
|
|
415
|
+
exports.MemKeyVerifier = browser.MemKeyVerifier;
|
|
416
|
+
exports.NetworkRecordProvider = browser.NetworkRecordProvider;
|
|
417
|
+
exports.OfflineKeyProvider = browser.OfflineKeyProvider;
|
|
418
|
+
exports.OfflineSearchParams = browser.OfflineSearchParams;
|
|
419
|
+
exports.PRIVATE_TO_PUBLIC_TRANSFER = browser.PRIVATE_TO_PUBLIC_TRANSFER;
|
|
420
|
+
exports.PRIVATE_TRANSFER = browser.PRIVATE_TRANSFER;
|
|
421
|
+
exports.PRIVATE_TRANSFER_TYPES = browser.PRIVATE_TRANSFER_TYPES;
|
|
422
|
+
exports.PUBLIC_TO_PRIVATE_TRANSFER = browser.PUBLIC_TO_PRIVATE_TRANSFER;
|
|
423
|
+
exports.PUBLIC_TRANSFER = browser.PUBLIC_TRANSFER;
|
|
424
|
+
exports.PUBLIC_TRANSFER_AS_SIGNER = browser.PUBLIC_TRANSFER_AS_SIGNER;
|
|
425
|
+
exports.ProgramManager = browser.ProgramManager;
|
|
426
|
+
exports.RECORD_DOMAIN = browser.RECORD_DOMAIN;
|
|
427
|
+
exports.RecordNotFoundError = browser.RecordNotFoundError;
|
|
428
|
+
exports.RecordScanner = browser.RecordScanner;
|
|
429
|
+
exports.RecordScannerRequestError = browser.RecordScannerRequestError;
|
|
430
|
+
exports.SealanceMerkleTree = browser.SealanceMerkleTree;
|
|
431
|
+
exports.UUIDError = browser.UUIDError;
|
|
432
|
+
exports.VALID_TRANSFER_TYPES = browser.VALID_TRANSFER_TYPES;
|
|
433
|
+
exports.ViewKeyNotStoredError = browser.ViewKeyNotStoredError;
|
|
434
|
+
exports.buildExecutionRequestFromExternallySignedData = browser.buildExecutionRequestFromExternallySignedData;
|
|
435
|
+
exports.computeExternalSigningInputs = browser.computeExternalSigningInputs;
|
|
436
|
+
exports.encryptAuthorization = browser.encryptAuthorization;
|
|
437
|
+
exports.encryptProvingRequest = browser.encryptProvingRequest;
|
|
438
|
+
exports.encryptRegistrationRequest = browser.encryptRegistrationRequest;
|
|
439
|
+
exports.encryptViewKey = browser.encryptViewKey;
|
|
440
|
+
exports.initializeWasm = browser.initializeWasm;
|
|
441
|
+
exports.inputsToFields = browser.inputsToFields;
|
|
442
|
+
exports.isInputIdStrategy = browser.isInputIdStrategy;
|
|
443
|
+
exports.isProveApiErrorBody = browser.isProveApiErrorBody;
|
|
444
|
+
exports.isProvingResponse = browser.isProvingResponse;
|
|
445
|
+
exports.isRecordViewKeyStrategy = browser.isRecordViewKeyStrategy;
|
|
446
|
+
exports.isViewKeyStrategy = browser.isViewKeyStrategy;
|
|
447
|
+
exports.logAndThrow = browser.logAndThrow;
|
|
448
|
+
exports.programChecksum = browser.programChecksum;
|
|
449
|
+
exports.provingKeyLocator = browser.provingKeyLocator;
|
|
450
|
+
exports.sha256Hex = browser.sha256Hex;
|
|
451
|
+
exports.toAddress = browser.toAddress;
|
|
452
|
+
exports.toField = browser.toField;
|
|
453
|
+
exports.toGroup = browser.toGroup;
|
|
454
|
+
exports.toSignature = browser.toSignature;
|
|
455
|
+
exports.toViewKey = browser.toViewKey;
|
|
456
|
+
exports.translationKeyLocator = browser.translationKeyLocator;
|
|
457
|
+
exports.verifyBatchProof = browser.verifyBatchProof;
|
|
458
|
+
exports.verifyProof = browser.verifyProof;
|
|
459
|
+
exports.verifyingKeyLocator = browser.verifyingKeyLocator;
|
|
460
|
+
exports.zeroizeBytes = browser.zeroizeBytes;
|
|
461
|
+
Object.defineProperty(exports, "Address", {
|
|
462
|
+
enumerable: true,
|
|
463
|
+
get: function () { return mainnet_js.Address; }
|
|
464
|
+
});
|
|
465
|
+
Object.defineProperty(exports, "Authorization", {
|
|
466
|
+
enumerable: true,
|
|
467
|
+
get: function () { return mainnet_js.Authorization; }
|
|
468
|
+
});
|
|
469
|
+
Object.defineProperty(exports, "BHP1024", {
|
|
470
|
+
enumerable: true,
|
|
471
|
+
get: function () { return mainnet_js.BHP1024; }
|
|
472
|
+
});
|
|
473
|
+
Object.defineProperty(exports, "BHP256", {
|
|
474
|
+
enumerable: true,
|
|
475
|
+
get: function () { return mainnet_js.BHP256; }
|
|
476
|
+
});
|
|
477
|
+
Object.defineProperty(exports, "BHP512", {
|
|
478
|
+
enumerable: true,
|
|
479
|
+
get: function () { return mainnet_js.BHP512; }
|
|
480
|
+
});
|
|
481
|
+
Object.defineProperty(exports, "BHP768", {
|
|
482
|
+
enumerable: true,
|
|
483
|
+
get: function () { return mainnet_js.BHP768; }
|
|
484
|
+
});
|
|
485
|
+
Object.defineProperty(exports, "Boolean", {
|
|
486
|
+
enumerable: true,
|
|
487
|
+
get: function () { return mainnet_js.Boolean; }
|
|
488
|
+
});
|
|
489
|
+
Object.defineProperty(exports, "Ciphertext", {
|
|
490
|
+
enumerable: true,
|
|
491
|
+
get: function () { return mainnet_js.Ciphertext; }
|
|
492
|
+
});
|
|
493
|
+
Object.defineProperty(exports, "ComputeKey", {
|
|
494
|
+
enumerable: true,
|
|
495
|
+
get: function () { return mainnet_js.ComputeKey; }
|
|
496
|
+
});
|
|
497
|
+
Object.defineProperty(exports, "DynamicRecord", {
|
|
498
|
+
enumerable: true,
|
|
499
|
+
get: function () { return mainnet_js.DynamicRecord; }
|
|
500
|
+
});
|
|
501
|
+
Object.defineProperty(exports, "EncryptionToolkit", {
|
|
502
|
+
enumerable: true,
|
|
503
|
+
get: function () { return mainnet_js.EncryptionToolkit; }
|
|
504
|
+
});
|
|
505
|
+
Object.defineProperty(exports, "ExecutionRequest", {
|
|
506
|
+
enumerable: true,
|
|
507
|
+
get: function () { return mainnet_js.ExecutionRequest; }
|
|
508
|
+
});
|
|
509
|
+
Object.defineProperty(exports, "ExecutionResponse", {
|
|
510
|
+
enumerable: true,
|
|
511
|
+
get: function () { return mainnet_js.ExecutionResponse; }
|
|
512
|
+
});
|
|
513
|
+
Object.defineProperty(exports, "Field", {
|
|
514
|
+
enumerable: true,
|
|
515
|
+
get: function () { return mainnet_js.Field; }
|
|
516
|
+
});
|
|
517
|
+
Object.defineProperty(exports, "FunctionExecution", {
|
|
518
|
+
enumerable: true,
|
|
519
|
+
get: function () { return mainnet_js.Execution; }
|
|
520
|
+
});
|
|
521
|
+
Object.defineProperty(exports, "GraphKey", {
|
|
522
|
+
enumerable: true,
|
|
523
|
+
get: function () { return mainnet_js.GraphKey; }
|
|
524
|
+
});
|
|
525
|
+
Object.defineProperty(exports, "Group", {
|
|
526
|
+
enumerable: true,
|
|
527
|
+
get: function () { return mainnet_js.Group; }
|
|
528
|
+
});
|
|
529
|
+
Object.defineProperty(exports, "I128", {
|
|
530
|
+
enumerable: true,
|
|
531
|
+
get: function () { return mainnet_js.I128; }
|
|
532
|
+
});
|
|
533
|
+
Object.defineProperty(exports, "I16", {
|
|
534
|
+
enumerable: true,
|
|
535
|
+
get: function () { return mainnet_js.I16; }
|
|
536
|
+
});
|
|
537
|
+
Object.defineProperty(exports, "I32", {
|
|
538
|
+
enumerable: true,
|
|
539
|
+
get: function () { return mainnet_js.I32; }
|
|
540
|
+
});
|
|
541
|
+
Object.defineProperty(exports, "I64", {
|
|
542
|
+
enumerable: true,
|
|
543
|
+
get: function () { return mainnet_js.I64; }
|
|
544
|
+
});
|
|
545
|
+
Object.defineProperty(exports, "I8", {
|
|
546
|
+
enumerable: true,
|
|
547
|
+
get: function () { return mainnet_js.I8; }
|
|
548
|
+
});
|
|
549
|
+
Object.defineProperty(exports, "OfflineQuery", {
|
|
550
|
+
enumerable: true,
|
|
551
|
+
get: function () { return mainnet_js.OfflineQuery; }
|
|
552
|
+
});
|
|
553
|
+
Object.defineProperty(exports, "Pedersen128", {
|
|
554
|
+
enumerable: true,
|
|
555
|
+
get: function () { return mainnet_js.Pedersen128; }
|
|
556
|
+
});
|
|
557
|
+
Object.defineProperty(exports, "Pedersen64", {
|
|
558
|
+
enumerable: true,
|
|
559
|
+
get: function () { return mainnet_js.Pedersen64; }
|
|
560
|
+
});
|
|
561
|
+
Object.defineProperty(exports, "Plaintext", {
|
|
562
|
+
enumerable: true,
|
|
563
|
+
get: function () { return mainnet_js.Plaintext; }
|
|
564
|
+
});
|
|
565
|
+
Object.defineProperty(exports, "Poseidon2", {
|
|
566
|
+
enumerable: true,
|
|
567
|
+
get: function () { return mainnet_js.Poseidon2; }
|
|
568
|
+
});
|
|
569
|
+
Object.defineProperty(exports, "Poseidon4", {
|
|
570
|
+
enumerable: true,
|
|
571
|
+
get: function () { return mainnet_js.Poseidon4; }
|
|
572
|
+
});
|
|
573
|
+
Object.defineProperty(exports, "Poseidon8", {
|
|
574
|
+
enumerable: true,
|
|
575
|
+
get: function () { return mainnet_js.Poseidon8; }
|
|
576
|
+
});
|
|
577
|
+
Object.defineProperty(exports, "PrivateKey", {
|
|
578
|
+
enumerable: true,
|
|
579
|
+
get: function () { return mainnet_js.PrivateKey; }
|
|
580
|
+
});
|
|
581
|
+
Object.defineProperty(exports, "PrivateKeyCiphertext", {
|
|
582
|
+
enumerable: true,
|
|
583
|
+
get: function () { return mainnet_js.PrivateKeyCiphertext; }
|
|
584
|
+
});
|
|
585
|
+
Object.defineProperty(exports, "Program", {
|
|
586
|
+
enumerable: true,
|
|
587
|
+
get: function () { return mainnet_js.Program; }
|
|
588
|
+
});
|
|
589
|
+
Object.defineProperty(exports, "ProgramManagerBase", {
|
|
590
|
+
enumerable: true,
|
|
591
|
+
get: function () { return mainnet_js.ProgramManager; }
|
|
592
|
+
});
|
|
593
|
+
Object.defineProperty(exports, "Proof", {
|
|
594
|
+
enumerable: true,
|
|
595
|
+
get: function () { return mainnet_js.Proof; }
|
|
596
|
+
});
|
|
597
|
+
Object.defineProperty(exports, "ProvingKey", {
|
|
598
|
+
enumerable: true,
|
|
599
|
+
get: function () { return mainnet_js.ProvingKey; }
|
|
600
|
+
});
|
|
601
|
+
Object.defineProperty(exports, "ProvingRequest", {
|
|
602
|
+
enumerable: true,
|
|
603
|
+
get: function () { return mainnet_js.ProvingRequest; }
|
|
604
|
+
});
|
|
605
|
+
Object.defineProperty(exports, "RecordCiphertext", {
|
|
606
|
+
enumerable: true,
|
|
607
|
+
get: function () { return mainnet_js.RecordCiphertext; }
|
|
608
|
+
});
|
|
609
|
+
Object.defineProperty(exports, "RecordPlaintext", {
|
|
610
|
+
enumerable: true,
|
|
611
|
+
get: function () { return mainnet_js.RecordPlaintext; }
|
|
612
|
+
});
|
|
613
|
+
Object.defineProperty(exports, "Scalar", {
|
|
614
|
+
enumerable: true,
|
|
615
|
+
get: function () { return mainnet_js.Scalar; }
|
|
616
|
+
});
|
|
617
|
+
Object.defineProperty(exports, "Signature", {
|
|
618
|
+
enumerable: true,
|
|
619
|
+
get: function () { return mainnet_js.Signature; }
|
|
620
|
+
});
|
|
621
|
+
Object.defineProperty(exports, "Transaction", {
|
|
622
|
+
enumerable: true,
|
|
623
|
+
get: function () { return mainnet_js.Transaction; }
|
|
624
|
+
});
|
|
625
|
+
Object.defineProperty(exports, "Transition", {
|
|
626
|
+
enumerable: true,
|
|
627
|
+
get: function () { return mainnet_js.Transition; }
|
|
628
|
+
});
|
|
629
|
+
Object.defineProperty(exports, "U128", {
|
|
630
|
+
enumerable: true,
|
|
631
|
+
get: function () { return mainnet_js.U128; }
|
|
632
|
+
});
|
|
633
|
+
Object.defineProperty(exports, "U16", {
|
|
634
|
+
enumerable: true,
|
|
635
|
+
get: function () { return mainnet_js.U16; }
|
|
636
|
+
});
|
|
637
|
+
Object.defineProperty(exports, "U32", {
|
|
638
|
+
enumerable: true,
|
|
639
|
+
get: function () { return mainnet_js.U32; }
|
|
640
|
+
});
|
|
641
|
+
Object.defineProperty(exports, "U64", {
|
|
642
|
+
enumerable: true,
|
|
643
|
+
get: function () { return mainnet_js.U64; }
|
|
644
|
+
});
|
|
645
|
+
Object.defineProperty(exports, "U8", {
|
|
646
|
+
enumerable: true,
|
|
647
|
+
get: function () { return mainnet_js.U8; }
|
|
648
|
+
});
|
|
649
|
+
Object.defineProperty(exports, "Value", {
|
|
650
|
+
enumerable: true,
|
|
651
|
+
get: function () { return mainnet_js.Value; }
|
|
652
|
+
});
|
|
653
|
+
Object.defineProperty(exports, "VerifyingKey", {
|
|
654
|
+
enumerable: true,
|
|
655
|
+
get: function () { return mainnet_js.VerifyingKey; }
|
|
656
|
+
});
|
|
657
|
+
Object.defineProperty(exports, "ViewKey", {
|
|
658
|
+
enumerable: true,
|
|
659
|
+
get: function () { return mainnet_js.ViewKey; }
|
|
660
|
+
});
|
|
661
|
+
Object.defineProperty(exports, "getOrInitConsensusVersionTestHeights", {
|
|
662
|
+
enumerable: true,
|
|
663
|
+
get: function () { return mainnet_js.getOrInitConsensusVersionTestHeights; }
|
|
664
|
+
});
|
|
665
|
+
Object.defineProperty(exports, "initThreadPool", {
|
|
666
|
+
enumerable: true,
|
|
667
|
+
get: function () { return mainnet_js.initThreadPool; }
|
|
668
|
+
});
|
|
669
|
+
Object.defineProperty(exports, "snarkVerify", {
|
|
670
|
+
enumerable: true,
|
|
671
|
+
get: function () { return mainnet_js.snarkVerify; }
|
|
672
|
+
});
|
|
673
|
+
Object.defineProperty(exports, "snarkVerifyBatch", {
|
|
674
|
+
enumerable: true,
|
|
675
|
+
get: function () { return mainnet_js.snarkVerifyBatch; }
|
|
676
|
+
});
|
|
677
|
+
Object.defineProperty(exports, "stringToField", {
|
|
678
|
+
enumerable: true,
|
|
679
|
+
get: function () { return mainnet_js.stringToField; }
|
|
680
|
+
});
|
|
681
|
+
Object.defineProperty(exports, "verifyFunctionExecution", {
|
|
682
|
+
enumerable: true,
|
|
683
|
+
get: function () { return mainnet_js.verifyFunctionExecution; }
|
|
684
|
+
});
|
|
685
|
+
exports.LocalFileKeyStore = LocalFileKeyStore;
|
|
686
|
+
//# sourceMappingURL=node.cjs.map
|