@lightprotocol/zk-compression-cli 0.19.0 → 0.19.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/bin/account_compression.so +0 -0
- package/bin/light_compressed_token.so +0 -0
- package/bin/light_registry.so +0 -0
- package/bin/light_system_program.so +0 -0
- package/bin/prover-darwin-arm64 +0 -0
- package/bin/prover-darwin-x64 +0 -0
- package/bin/prover-linux-arm64 +0 -0
- package/bin/prover-linux-x64 +0 -0
- package/bin/prover-windows-arm64.exe +0 -0
- package/bin/prover-windows-x64.exe +0 -0
- package/dist/commands/start-prover/index.d.ts +2 -2
- package/dist/commands/start-prover/index.js +26 -11
- package/dist/commands/test-validator/index.d.ts +2 -2
- package/dist/commands/test-validator/index.js +29 -12
- package/dist/utils/constants.d.ts +3 -3
- package/dist/utils/constants.js +3 -3
- package/dist/utils/initTestEnv.d.ts +3 -3
- package/dist/utils/initTestEnv.js +2 -13
- package/dist/utils/process.js +21 -7
- package/dist/utils/processProverServer.d.ts +1 -1
- package/dist/utils/processProverServer.js +20 -10
- package/oclif.manifest.json +169 -129
- package/package.json +12 -6
- package/bin/cargo-generate +0 -0
|
Binary file
|
|
Binary file
|
package/bin/light_registry.so
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/prover-darwin-arm64
CHANGED
|
Binary file
|
package/bin/prover-darwin-x64
CHANGED
|
Binary file
|
package/bin/prover-linux-arm64
CHANGED
|
Binary file
|
package/bin/prover-linux-x64
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -3,9 +3,9 @@ declare class StartProver extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
protected finally(_: Error | undefined): Promise<any>;
|
|
5
5
|
static flags: {
|
|
6
|
-
"skip-prove-compressed-accounts": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
-
"skip-prove-new-addresses": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
6
|
"prover-port": import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
"run-mode": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
circuit: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
};
|
|
10
10
|
run(): Promise<void>;
|
|
11
11
|
}
|
|
@@ -10,26 +10,41 @@ class StartProver extends core_1.Command {
|
|
|
10
10
|
const { flags } = await this.parse(StartProver);
|
|
11
11
|
const loader = new index_1.CustomLoader("Performing setup tasks...\n");
|
|
12
12
|
loader.start();
|
|
13
|
-
|
|
13
|
+
if (!flags["run-mode"] && !flags["circuit"]) {
|
|
14
|
+
this.log("Please specify --run-mode or --circuit.");
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
await (0, index_1.startProver)(flags["prover-port"], flags["run-mode"], flags["circuit"]);
|
|
14
18
|
this.log("\nSetup tasks completed successfully \x1b[32m✔\x1b[0m");
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
21
|
StartProver.description = "Start gnark prover";
|
|
18
22
|
StartProver.flags = {
|
|
19
|
-
"skip-prove-compressed-accounts": core_1.Flags.boolean({
|
|
20
|
-
description: "Skip proving of compressed accounts.",
|
|
21
|
-
default: false,
|
|
22
|
-
char: "c",
|
|
23
|
-
}),
|
|
24
|
-
"skip-prove-new-addresses": core_1.Flags.boolean({
|
|
25
|
-
description: "Skip proving of new addresses.",
|
|
26
|
-
default: false,
|
|
27
|
-
char: "n",
|
|
28
|
-
}),
|
|
29
23
|
"prover-port": core_1.Flags.integer({
|
|
30
24
|
description: "Enable Light Prover server on this port.",
|
|
31
25
|
required: false,
|
|
32
26
|
default: 3001,
|
|
33
27
|
}),
|
|
28
|
+
"run-mode": core_1.Flags.string({
|
|
29
|
+
description: "Specify the running mode (forester, forester-test, rpc, full, or full-test)",
|
|
30
|
+
options: ["rpc", "forester", "forester-test", "full", "full-test"],
|
|
31
|
+
required: false,
|
|
32
|
+
}),
|
|
33
|
+
circuit: core_1.Flags.string({
|
|
34
|
+
description: "Specify individual circuits to enable.",
|
|
35
|
+
options: [
|
|
36
|
+
"inclusion",
|
|
37
|
+
"non-inclusion",
|
|
38
|
+
"combined",
|
|
39
|
+
"append-with-proofs",
|
|
40
|
+
"append-with-subtrees",
|
|
41
|
+
"update",
|
|
42
|
+
"append-with-proofs-test",
|
|
43
|
+
"append-with-subtrees-test",
|
|
44
|
+
"update-test",
|
|
45
|
+
],
|
|
46
|
+
multiple: true,
|
|
47
|
+
required: false,
|
|
48
|
+
}),
|
|
34
49
|
};
|
|
35
50
|
exports.default = StartProver;
|
|
@@ -6,13 +6,13 @@ declare class SetupCommand extends Command {
|
|
|
6
6
|
"skip-indexer": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
7
|
"skip-prover": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
8
|
"skip-system-accounts": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
-
"prove-compressed-accounts": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
"prove-new-addresses": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
9
|
"relax-indexer-version-constraint": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
10
|
"indexer-db-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
11
|
"rpc-port": import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
12
|
"indexer-port": import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
13
|
"prover-port": import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
"prover-run-mode": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
circuit: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
16
|
"limit-ledger-size": import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
17
|
"gossip-host": import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
18
|
stop: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -28,10 +28,10 @@ class SetupCommand extends core_1.Command {
|
|
|
28
28
|
gossipHost: flags["gossip-host"],
|
|
29
29
|
indexerPort: flags["indexer-port"],
|
|
30
30
|
proverPort: flags["prover-port"],
|
|
31
|
-
proveCompressedAccounts: flags["prove-compressed-accounts"],
|
|
32
|
-
proveNewAddresses: flags["prove-new-addresses"],
|
|
33
31
|
prover: !flags["skip-prover"],
|
|
34
32
|
skipSystemAccounts: flags["skip-system-accounts"],
|
|
33
|
+
proverRunMode: flags["prover-run-mode"],
|
|
34
|
+
circuits: flags["circuit"],
|
|
35
35
|
});
|
|
36
36
|
this.log("\nSetup tasks completed successfully \x1b[32m✔\x1b[0m");
|
|
37
37
|
}
|
|
@@ -51,16 +51,6 @@ SetupCommand.flags = {
|
|
|
51
51
|
description: "Runs a test validator without initialized light system accounts.",
|
|
52
52
|
default: false,
|
|
53
53
|
}),
|
|
54
|
-
"prove-compressed-accounts": core_1.Flags.boolean({
|
|
55
|
-
description: "Enable proving of compressed accounts.",
|
|
56
|
-
default: true,
|
|
57
|
-
exclusive: ["skip-prover"],
|
|
58
|
-
}),
|
|
59
|
-
"prove-new-addresses": core_1.Flags.boolean({
|
|
60
|
-
description: "Enable proving of new addresses.",
|
|
61
|
-
default: true,
|
|
62
|
-
exclusive: ["skip-prover"],
|
|
63
|
-
}),
|
|
64
54
|
"relax-indexer-version-constraint": core_1.Flags.boolean({
|
|
65
55
|
description: "Disables indexer version check. Only use if you know what you are doing.",
|
|
66
56
|
default: false,
|
|
@@ -88,6 +78,33 @@ SetupCommand.flags = {
|
|
|
88
78
|
default: 3001,
|
|
89
79
|
exclusive: ["skip-prover"],
|
|
90
80
|
}),
|
|
81
|
+
"prover-run-mode": core_1.Flags.string({
|
|
82
|
+
description: "Specify the running mode for the prover (forester, forester-test, rpc, or full)",
|
|
83
|
+
options: [
|
|
84
|
+
"rpc",
|
|
85
|
+
"forester",
|
|
86
|
+
"forester-test",
|
|
87
|
+
"full",
|
|
88
|
+
"full-test",
|
|
89
|
+
],
|
|
90
|
+
required: false,
|
|
91
|
+
exclusive: ["skip-prover"],
|
|
92
|
+
}),
|
|
93
|
+
circuit: core_1.Flags.string({
|
|
94
|
+
description: "Specify individual circuits to enable.",
|
|
95
|
+
options: [
|
|
96
|
+
"inclusion",
|
|
97
|
+
"non-inclusion",
|
|
98
|
+
"combined",
|
|
99
|
+
"append",
|
|
100
|
+
"update",
|
|
101
|
+
"append-test",
|
|
102
|
+
"update-test",
|
|
103
|
+
],
|
|
104
|
+
multiple: true,
|
|
105
|
+
required: false,
|
|
106
|
+
exclusive: ["skip-prover"],
|
|
107
|
+
}),
|
|
91
108
|
"limit-ledger-size": core_1.Flags.integer({
|
|
92
109
|
description: "Keep this amount of shreds in root slots.",
|
|
93
110
|
required: false,
|
|
@@ -12,7 +12,7 @@ export declare const CARGO_GENERATE_TAG = "v0.18.4";
|
|
|
12
12
|
export declare const SOLANA_VALIDATOR_PROCESS_NAME = "solana-test-validator";
|
|
13
13
|
export declare const LIGHT_PROVER_PROCESS_NAME = "light-prover";
|
|
14
14
|
export declare const INDEXER_PROCESS_NAME = "photon";
|
|
15
|
-
export declare const PHOTON_VERSION = "0.
|
|
15
|
+
export declare const PHOTON_VERSION = "0.46.0";
|
|
16
16
|
export declare const LIGHT_PROTOCOL_PROGRAMS_DIR_ENV = "LIGHT_PROTOCOL_PROGRAMS_DIR";
|
|
17
17
|
export declare const BASE_PATH = "../../bin/";
|
|
18
18
|
export declare const PROGRAM_ID = "Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS";
|
|
@@ -20,8 +20,8 @@ export declare const ANCHOR_VERSION = "0.29.0";
|
|
|
20
20
|
export declare const BORSH_VERSION = "0.9.2";
|
|
21
21
|
export declare const LIGHT_HASHER_VERSION = "1.1.0";
|
|
22
22
|
export declare const LIGHT_MACROS_VERSION = "1.1.0";
|
|
23
|
-
export declare const LIGHT_SDK_VERSION = "0.
|
|
24
|
-
export declare const LIGHT_SDK_MACROS_VERSION = "0.
|
|
23
|
+
export declare const LIGHT_SDK_VERSION = "0.10.0";
|
|
24
|
+
export declare const LIGHT_SDK_MACROS_VERSION = "0.3.0";
|
|
25
25
|
export declare const LIGHT_UTILS_VERSION = "1.1.0";
|
|
26
26
|
export declare const LIGHT_VERIFIER_VERSION = "1.1.0";
|
|
27
27
|
export declare const SOLANA_SDK_VERSION = "1.18.22";
|
package/dist/utils/constants.js
CHANGED
|
@@ -17,7 +17,7 @@ exports.CARGO_GENERATE_TAG = "v0.18.4";
|
|
|
17
17
|
exports.SOLANA_VALIDATOR_PROCESS_NAME = "solana-test-validator";
|
|
18
18
|
exports.LIGHT_PROVER_PROCESS_NAME = "light-prover";
|
|
19
19
|
exports.INDEXER_PROCESS_NAME = "photon";
|
|
20
|
-
exports.PHOTON_VERSION = "0.
|
|
20
|
+
exports.PHOTON_VERSION = "0.46.0";
|
|
21
21
|
exports.LIGHT_PROTOCOL_PROGRAMS_DIR_ENV = "LIGHT_PROTOCOL_PROGRAMS_DIR";
|
|
22
22
|
exports.BASE_PATH = "../../bin/";
|
|
23
23
|
exports.PROGRAM_ID = "Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS";
|
|
@@ -25,8 +25,8 @@ exports.ANCHOR_VERSION = "0.29.0";
|
|
|
25
25
|
exports.BORSH_VERSION = "0.9.2";
|
|
26
26
|
exports.LIGHT_HASHER_VERSION = "1.1.0";
|
|
27
27
|
exports.LIGHT_MACROS_VERSION = "1.1.0";
|
|
28
|
-
exports.LIGHT_SDK_VERSION = "0.
|
|
29
|
-
exports.LIGHT_SDK_MACROS_VERSION = "0.
|
|
28
|
+
exports.LIGHT_SDK_VERSION = "0.10.0";
|
|
29
|
+
exports.LIGHT_SDK_MACROS_VERSION = "0.3.0";
|
|
30
30
|
exports.LIGHT_UTILS_VERSION = "1.1.0";
|
|
31
31
|
exports.LIGHT_VERIFIER_VERSION = "1.1.0";
|
|
32
32
|
exports.SOLANA_SDK_VERSION = "1.18.22";
|
|
@@ -2,7 +2,7 @@ export declare function stopTestEnv(options: {
|
|
|
2
2
|
indexer: boolean;
|
|
3
3
|
prover: boolean;
|
|
4
4
|
}): Promise<void>;
|
|
5
|
-
export declare function initTestEnv({ additionalPrograms, skipSystemAccounts, indexer, prover, rpcPort, indexerPort, proverPort, gossipHost,
|
|
5
|
+
export declare function initTestEnv({ additionalPrograms, skipSystemAccounts, indexer, prover, rpcPort, indexerPort, proverPort, gossipHost, checkPhotonVersion, photonDatabaseUrl, limitLedgerSize, proverRunMode, circuits, }: {
|
|
6
6
|
additionalPrograms?: {
|
|
7
7
|
address: string;
|
|
8
8
|
path: string;
|
|
@@ -14,11 +14,11 @@ export declare function initTestEnv({ additionalPrograms, skipSystemAccounts, in
|
|
|
14
14
|
indexerPort?: number;
|
|
15
15
|
proverPort?: number;
|
|
16
16
|
gossipHost?: string;
|
|
17
|
-
proveCompressedAccounts?: boolean;
|
|
18
|
-
proveNewAddresses?: boolean;
|
|
19
17
|
checkPhotonVersion?: boolean;
|
|
20
18
|
photonDatabaseUrl?: string;
|
|
21
19
|
limitLedgerSize?: number;
|
|
20
|
+
proverRunMode?: "inclusion" | "non-inclusion" | "forester" | "forester-test" | "rpc" | "full" | "full-test";
|
|
21
|
+
circuits?: string[];
|
|
22
22
|
}): Promise<void>;
|
|
23
23
|
export declare function initTestEnvIfNeeded({ additionalPrograms, skipSystemAccounts, indexer, prover, }?: {
|
|
24
24
|
additionalPrograms?: {
|
|
@@ -9,7 +9,6 @@ exports.getSolanaArgs = getSolanaArgs;
|
|
|
9
9
|
exports.startTestValidator = startTestValidator;
|
|
10
10
|
exports.killTestValidator = killTestValidator;
|
|
11
11
|
const tslib_1 = require("tslib");
|
|
12
|
-
const stateless_js_1 = require("@lightprotocol/stateless.js");
|
|
13
12
|
const utils_1 = require("./utils");
|
|
14
13
|
const constants_1 = require("./constants");
|
|
15
14
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
@@ -43,16 +42,7 @@ async function stopTestEnv(options) {
|
|
|
43
42
|
await Promise.all(killPromises);
|
|
44
43
|
console.log("All specified processes and validator stopped.");
|
|
45
44
|
}
|
|
46
|
-
async function initTestEnv({ additionalPrograms, skipSystemAccounts, indexer = true, prover = true, rpcPort = 8899, indexerPort = 8784, proverPort = 3001, gossipHost = "127.0.0.1",
|
|
47
|
-
const initAccounts = async () => {
|
|
48
|
-
const anchorProvider = await (0, utils_1.setAnchorProvider)();
|
|
49
|
-
const payer = await (0, utils_1.getPayer)();
|
|
50
|
-
await (0, stateless_js_1.airdropSol)({
|
|
51
|
-
connection: anchorProvider.connection,
|
|
52
|
-
lamports: 100e9,
|
|
53
|
-
recipientPublicKey: payer.publicKey,
|
|
54
|
-
});
|
|
55
|
-
};
|
|
45
|
+
async function initTestEnv({ additionalPrograms, skipSystemAccounts, indexer = true, prover = true, rpcPort = 8899, indexerPort = 8784, proverPort = 3001, gossipHost = "127.0.0.1", checkPhotonVersion = true, photonDatabaseUrl, limitLedgerSize, proverRunMode, circuits, }) {
|
|
56
46
|
// We cannot await this promise directly because it will hang the process
|
|
57
47
|
startTestValidator({
|
|
58
48
|
additionalPrograms,
|
|
@@ -63,7 +53,6 @@ async function initTestEnv({ additionalPrograms, skipSystemAccounts, indexer = t
|
|
|
63
53
|
});
|
|
64
54
|
await (0, process_1.waitForServers)([{ port: rpcPort, path: "/health" }]);
|
|
65
55
|
await (0, process_1.confirmServerStability)(`http://127.0.0.1:${rpcPort}/health`);
|
|
66
|
-
await initAccounts();
|
|
67
56
|
if (indexer) {
|
|
68
57
|
const config = (0, utils_1.getConfig)();
|
|
69
58
|
config.indexerUrl = `http://127.0.0.1:${indexerPort}`;
|
|
@@ -74,7 +63,7 @@ async function initTestEnv({ additionalPrograms, skipSystemAccounts, indexer = t
|
|
|
74
63
|
const config = (0, utils_1.getConfig)();
|
|
75
64
|
config.proverUrl = `http://127.0.0.1:${proverPort}`;
|
|
76
65
|
(0, utils_1.setConfig)(config);
|
|
77
|
-
await (0, processProverServer_1.startProver)(proverPort,
|
|
66
|
+
await (0, processProverServer_1.startProver)(proverPort, proverRunMode, circuits);
|
|
78
67
|
}
|
|
79
68
|
}
|
|
80
69
|
async function initTestEnvIfNeeded({ additionalPrograms, skipSystemAccounts, indexer = false, prover = false, } = {}) {
|
package/dist/utils/process.js
CHANGED
|
@@ -15,18 +15,32 @@ const find_process_1 = tslib_1.__importDefault(require("find-process"));
|
|
|
15
15
|
const node_child_process_1 = require("node:child_process");
|
|
16
16
|
const util_1 = require("util");
|
|
17
17
|
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
18
|
-
const shellQuote = tslib_1.__importStar(require("shell-quote"));
|
|
19
18
|
const waitOn = require("wait-on");
|
|
20
19
|
async function killProcess(processName) {
|
|
21
20
|
const processList = await (0, find_process_1.default)("name", processName);
|
|
22
|
-
const targetProcesses = processList.filter((proc) => proc.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
const targetProcesses = processList.filter((proc) => proc.name.includes(processName) || proc.cmd.includes(processName));
|
|
22
|
+
for (const proc of targetProcesses) {
|
|
23
|
+
try {
|
|
24
|
+
process.kill(proc.pid, "SIGKILL");
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.error(`Failed to kill process ${proc.pid}: ${error}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Double-check if processes are still running
|
|
31
|
+
const remainingProcesses = await (0, find_process_1.default)("name", processName);
|
|
32
|
+
if (remainingProcesses.length > 0) {
|
|
33
|
+
console.warn(`Warning: ${remainingProcesses.length} processes still running after kill attempt`);
|
|
34
|
+
}
|
|
26
35
|
}
|
|
27
36
|
async function killProcessByPort(port) {
|
|
28
|
-
|
|
29
|
-
|
|
37
|
+
if (port < 0) {
|
|
38
|
+
throw new Error("Value must be non-negative");
|
|
39
|
+
}
|
|
40
|
+
// NOTE(vadorovsky): The lint error in this case doesn't make sense. `port`
|
|
41
|
+
// is a harmless number.
|
|
42
|
+
// codeql [js/shell-command-constructed-from-input]: warning
|
|
43
|
+
await execute(`lsof -t -i:${port} | while read line; do kill -9 $line; done`);
|
|
30
44
|
}
|
|
31
45
|
/**
|
|
32
46
|
* Executes a command and logs the output to the console.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function killProver(): Promise<void>;
|
|
2
|
-
export declare function startProver(proverPort: number,
|
|
2
|
+
export declare function startProver(proverPort: number, runMode: string | undefined, circuits?: string[] | undefined): Promise<void>;
|
|
3
3
|
export declare function getProverNameByArch(): string;
|
|
4
4
|
export declare function getProverPathByArch(): string;
|
|
@@ -11,27 +11,37 @@ const constants_1 = require("./constants");
|
|
|
11
11
|
const KEYS_DIR = "proving-keys/";
|
|
12
12
|
async function killProver() {
|
|
13
13
|
await (0, process_1.killProcess)(getProverNameByArch());
|
|
14
|
-
// Temporary fix for the case when prover is instantiated via prover.sh:
|
|
15
14
|
await (0, process_1.killProcess)(constants_1.LIGHT_PROVER_PROCESS_NAME);
|
|
16
15
|
}
|
|
17
|
-
async function startProver(proverPort,
|
|
18
|
-
if (!proveCompressedAccounts && !proveNewAddresses) {
|
|
19
|
-
console.log("No flags provided. Please provide at least one flag to start the prover.");
|
|
20
|
-
process.exit(1);
|
|
21
|
-
}
|
|
16
|
+
async function startProver(proverPort, runMode, circuits = []) {
|
|
22
17
|
console.log("Kill existing prover process...");
|
|
23
18
|
await killProver();
|
|
24
19
|
await (0, process_1.killProcessByPort)(proverPort);
|
|
25
20
|
const keysDir = path_1.default.join(__dirname, "../..", "bin", KEYS_DIR);
|
|
26
21
|
const args = ["start"];
|
|
27
|
-
args.push(`--inclusion=${proveCompressedAccounts ? "true" : "false"}`);
|
|
28
|
-
args.push(`--non-inclusion=${proveNewAddresses ? "true" : "false"}`);
|
|
29
22
|
args.push("--keys-dir", keysDir);
|
|
30
23
|
args.push("--prover-address", `0.0.0.0:${proverPort}`);
|
|
31
|
-
|
|
24
|
+
if (runMode != null) {
|
|
25
|
+
args.push("--run-mode", runMode);
|
|
26
|
+
}
|
|
27
|
+
for (const circuit of circuits) {
|
|
28
|
+
console.log(`Adding circuit: ${circuit}`);
|
|
29
|
+
args.push("--circuit", circuit);
|
|
30
|
+
}
|
|
31
|
+
if (runMode != null) {
|
|
32
|
+
console.log(`Starting prover in ${runMode} mode...`);
|
|
33
|
+
}
|
|
34
|
+
else if (circuits && circuits.length > 0) {
|
|
35
|
+
console.log(`Starting prover with circuits: ${circuits.join(", ")}...`);
|
|
36
|
+
}
|
|
37
|
+
if ((!circuits || circuits.length === 0) && runMode == null) {
|
|
38
|
+
runMode = "rpc";
|
|
39
|
+
args.push("--run-mode", runMode);
|
|
40
|
+
console.log(`Starting prover with fallback ${runMode} mode...`);
|
|
41
|
+
}
|
|
32
42
|
(0, process_1.spawnBinary)(getProverPathByArch(), args);
|
|
33
43
|
await (0, process_1.waitForServers)([{ port: proverPort, path: "/" }]);
|
|
34
|
-
console.log(
|
|
44
|
+
console.log(`Prover started successfully!`);
|
|
35
45
|
}
|
|
36
46
|
function getProverNameByArch() {
|
|
37
47
|
const platform = process.platform;
|
package/oclif.manifest.json
CHANGED
|
@@ -57,24 +57,24 @@
|
|
|
57
57
|
"index.js"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
|
-
"
|
|
60
|
+
"balance": {
|
|
61
61
|
"aliases": [],
|
|
62
62
|
"args": {},
|
|
63
63
|
"examples": [
|
|
64
|
-
"$ light
|
|
64
|
+
"$ light balance --mint=<ADDRESS> --owner=<ADDRESS>"
|
|
65
65
|
],
|
|
66
66
|
"flags": {
|
|
67
|
-
"
|
|
68
|
-
"description": "
|
|
69
|
-
"name": "
|
|
67
|
+
"owner": {
|
|
68
|
+
"description": "Address of the compressed token owner.",
|
|
69
|
+
"name": "owner",
|
|
70
70
|
"required": true,
|
|
71
71
|
"hasDynamicHelp": false,
|
|
72
72
|
"multiple": false,
|
|
73
73
|
"type": "option"
|
|
74
74
|
},
|
|
75
|
-
"
|
|
76
|
-
"description": "
|
|
77
|
-
"name": "
|
|
75
|
+
"mint": {
|
|
76
|
+
"description": "Mint address of the compressed token account.",
|
|
77
|
+
"name": "mint",
|
|
78
78
|
"required": true,
|
|
79
79
|
"hasDynamicHelp": false,
|
|
80
80
|
"multiple": false,
|
|
@@ -83,39 +83,39 @@
|
|
|
83
83
|
},
|
|
84
84
|
"hasDynamicHelp": false,
|
|
85
85
|
"hiddenAliases": [],
|
|
86
|
-
"id": "
|
|
86
|
+
"id": "balance",
|
|
87
87
|
"pluginAlias": "@lightprotocol/zk-compression-cli",
|
|
88
88
|
"pluginName": "@lightprotocol/zk-compression-cli",
|
|
89
89
|
"pluginType": "core",
|
|
90
90
|
"strict": true,
|
|
91
|
-
"summary": "
|
|
91
|
+
"summary": "Get balance",
|
|
92
92
|
"enableJsonFlag": false,
|
|
93
93
|
"isESM": false,
|
|
94
94
|
"relativePath": [
|
|
95
95
|
"dist",
|
|
96
96
|
"commands",
|
|
97
|
-
"
|
|
97
|
+
"balance",
|
|
98
98
|
"index.js"
|
|
99
99
|
]
|
|
100
100
|
},
|
|
101
|
-
"
|
|
101
|
+
"compress-sol": {
|
|
102
102
|
"aliases": [],
|
|
103
103
|
"args": {},
|
|
104
104
|
"examples": [
|
|
105
|
-
"$ light
|
|
105
|
+
"$ light compress-sol --to PublicKey --amount 10"
|
|
106
106
|
],
|
|
107
107
|
"flags": {
|
|
108
|
-
"
|
|
109
|
-
"description": "
|
|
110
|
-
"name": "
|
|
108
|
+
"to": {
|
|
109
|
+
"description": "Specify the recipient address.",
|
|
110
|
+
"name": "to",
|
|
111
111
|
"required": true,
|
|
112
112
|
"hasDynamicHelp": false,
|
|
113
113
|
"multiple": false,
|
|
114
114
|
"type": "option"
|
|
115
115
|
},
|
|
116
|
-
"
|
|
117
|
-
"description": "
|
|
118
|
-
"name": "
|
|
116
|
+
"amount": {
|
|
117
|
+
"description": "Amount to compress, in lamports.",
|
|
118
|
+
"name": "amount",
|
|
119
119
|
"required": true,
|
|
120
120
|
"hasDynamicHelp": false,
|
|
121
121
|
"multiple": false,
|
|
@@ -124,18 +124,18 @@
|
|
|
124
124
|
},
|
|
125
125
|
"hasDynamicHelp": false,
|
|
126
126
|
"hiddenAliases": [],
|
|
127
|
-
"id": "
|
|
127
|
+
"id": "compress-sol",
|
|
128
128
|
"pluginAlias": "@lightprotocol/zk-compression-cli",
|
|
129
129
|
"pluginName": "@lightprotocol/zk-compression-cli",
|
|
130
130
|
"pluginType": "core",
|
|
131
131
|
"strict": true,
|
|
132
|
-
"summary": "
|
|
132
|
+
"summary": "Compress SOL.",
|
|
133
133
|
"enableJsonFlag": false,
|
|
134
134
|
"isESM": false,
|
|
135
135
|
"relativePath": [
|
|
136
136
|
"dist",
|
|
137
137
|
"commands",
|
|
138
|
-
"
|
|
138
|
+
"compress-sol",
|
|
139
139
|
"index.js"
|
|
140
140
|
]
|
|
141
141
|
},
|
|
@@ -188,90 +188,60 @@
|
|
|
188
188
|
"index.js"
|
|
189
189
|
]
|
|
190
190
|
},
|
|
191
|
-
"
|
|
191
|
+
"config:config": {
|
|
192
192
|
"aliases": [],
|
|
193
193
|
"args": {},
|
|
194
|
+
"description": "Initialize or update the configuration values. The default config path is ~/.config/light/config.json you can set up a custom path with an environment variable export LIGHT_PROTOCOL_CONFIG=path/to/config.json",
|
|
194
195
|
"examples": [
|
|
195
|
-
"$ light
|
|
196
|
+
"$ light config --solanaRpcUrl https://solana-api.example.com"
|
|
196
197
|
],
|
|
197
198
|
"flags": {
|
|
198
|
-
"
|
|
199
|
-
"description": "
|
|
200
|
-
"name": "
|
|
201
|
-
"required": false,
|
|
199
|
+
"solanaRpcUrl": {
|
|
200
|
+
"description": "Solana RPC url",
|
|
201
|
+
"name": "solanaRpcUrl",
|
|
202
202
|
"hasDynamicHelp": false,
|
|
203
203
|
"multiple": false,
|
|
204
204
|
"type": "option"
|
|
205
205
|
},
|
|
206
|
-
"
|
|
207
|
-
"description": "
|
|
208
|
-
"name": "
|
|
209
|
-
"required": false,
|
|
206
|
+
"indexerUrl": {
|
|
207
|
+
"description": "Indexer url",
|
|
208
|
+
"name": "indexerUrl",
|
|
210
209
|
"hasDynamicHelp": false,
|
|
211
210
|
"multiple": false,
|
|
212
211
|
"type": "option"
|
|
213
212
|
},
|
|
214
|
-
"
|
|
215
|
-
"description": "
|
|
216
|
-
"name": "
|
|
217
|
-
"required": false,
|
|
218
|
-
"default": 9,
|
|
219
|
-
"hasDynamicHelp": false,
|
|
220
|
-
"multiple": false,
|
|
221
|
-
"type": "option"
|
|
222
|
-
}
|
|
223
|
-
},
|
|
224
|
-
"hasDynamicHelp": false,
|
|
225
|
-
"hiddenAliases": [],
|
|
226
|
-
"id": "create-mint",
|
|
227
|
-
"pluginAlias": "@lightprotocol/zk-compression-cli",
|
|
228
|
-
"pluginName": "@lightprotocol/zk-compression-cli",
|
|
229
|
-
"pluginType": "core",
|
|
230
|
-
"strict": true,
|
|
231
|
-
"summary": "Create a new compressed token mint",
|
|
232
|
-
"enableJsonFlag": false,
|
|
233
|
-
"isESM": false,
|
|
234
|
-
"relativePath": [
|
|
235
|
-
"dist",
|
|
236
|
-
"commands",
|
|
237
|
-
"create-mint",
|
|
238
|
-
"index.js"
|
|
239
|
-
]
|
|
240
|
-
},
|
|
241
|
-
"create-token-pool": {
|
|
242
|
-
"aliases": [],
|
|
243
|
-
"args": {},
|
|
244
|
-
"examples": [
|
|
245
|
-
"$ light create-token-pool --mint-decimals 5"
|
|
246
|
-
],
|
|
247
|
-
"flags": {
|
|
248
|
-
"mint": {
|
|
249
|
-
"description": "Provide a base58 encoded mint address to register",
|
|
250
|
-
"name": "mint",
|
|
251
|
-
"required": true,
|
|
213
|
+
"proverUrl": {
|
|
214
|
+
"description": "Prover url",
|
|
215
|
+
"name": "proverUrl",
|
|
252
216
|
"hasDynamicHelp": false,
|
|
253
217
|
"multiple": false,
|
|
254
218
|
"type": "option"
|
|
219
|
+
},
|
|
220
|
+
"get": {
|
|
221
|
+
"description": "Gets the current config values",
|
|
222
|
+
"name": "get",
|
|
223
|
+
"required": false,
|
|
224
|
+
"allowNo": false,
|
|
225
|
+
"type": "boolean"
|
|
255
226
|
}
|
|
256
227
|
},
|
|
257
228
|
"hasDynamicHelp": false,
|
|
258
229
|
"hiddenAliases": [],
|
|
259
|
-
"id": "
|
|
230
|
+
"id": "config:config",
|
|
260
231
|
"pluginAlias": "@lightprotocol/zk-compression-cli",
|
|
261
232
|
"pluginName": "@lightprotocol/zk-compression-cli",
|
|
262
233
|
"pluginType": "core",
|
|
263
234
|
"strict": true,
|
|
264
|
-
"summary": "Register an existing mint with the CompressedToken program",
|
|
265
235
|
"enableJsonFlag": false,
|
|
266
236
|
"isESM": false,
|
|
267
237
|
"relativePath": [
|
|
268
238
|
"dist",
|
|
269
239
|
"commands",
|
|
270
|
-
"
|
|
240
|
+
"config",
|
|
271
241
|
"index.js"
|
|
272
242
|
]
|
|
273
243
|
},
|
|
274
|
-
"config
|
|
244
|
+
"config": {
|
|
275
245
|
"aliases": [],
|
|
276
246
|
"args": {},
|
|
277
247
|
"description": "Initialize or update the configuration values. The default config path is ~/.config/light/config.json you can set up a custom path with an environment variable export LIGHT_PROTOCOL_CONFIG=path/to/config.json",
|
|
@@ -310,7 +280,7 @@
|
|
|
310
280
|
},
|
|
311
281
|
"hasDynamicHelp": false,
|
|
312
282
|
"hiddenAliases": [],
|
|
313
|
-
"id": "config
|
|
283
|
+
"id": "config",
|
|
314
284
|
"pluginAlias": "@lightprotocol/zk-compression-cli",
|
|
315
285
|
"pluginName": "@lightprotocol/zk-compression-cli",
|
|
316
286
|
"pluginType": "core",
|
|
@@ -324,56 +294,86 @@
|
|
|
324
294
|
"index.js"
|
|
325
295
|
]
|
|
326
296
|
},
|
|
327
|
-
"
|
|
297
|
+
"create-mint": {
|
|
328
298
|
"aliases": [],
|
|
329
299
|
"args": {},
|
|
330
|
-
"description": "Initialize or update the configuration values. The default config path is ~/.config/light/config.json you can set up a custom path with an environment variable export LIGHT_PROTOCOL_CONFIG=path/to/config.json",
|
|
331
300
|
"examples": [
|
|
332
|
-
"$ light
|
|
301
|
+
"$ light create-mint --mint-decimals 5"
|
|
333
302
|
],
|
|
334
303
|
"flags": {
|
|
335
|
-
"
|
|
336
|
-
"description": "
|
|
337
|
-
"name": "
|
|
304
|
+
"mint-keypair": {
|
|
305
|
+
"description": "Provide a path to a mint keypair file. Defaults to a random keypair",
|
|
306
|
+
"name": "mint-keypair",
|
|
307
|
+
"required": false,
|
|
338
308
|
"hasDynamicHelp": false,
|
|
339
309
|
"multiple": false,
|
|
340
310
|
"type": "option"
|
|
341
311
|
},
|
|
342
|
-
"
|
|
343
|
-
"description": "
|
|
344
|
-
"name": "
|
|
312
|
+
"mint-authority": {
|
|
313
|
+
"description": "Address of the mint authority. Defaults to the fee payer",
|
|
314
|
+
"name": "mint-authority",
|
|
315
|
+
"required": false,
|
|
345
316
|
"hasDynamicHelp": false,
|
|
346
317
|
"multiple": false,
|
|
347
318
|
"type": "option"
|
|
348
319
|
},
|
|
349
|
-
"
|
|
350
|
-
"description": "
|
|
351
|
-
"name": "
|
|
320
|
+
"mint-decimals": {
|
|
321
|
+
"description": "Number of base 10 digits to the right of the decimal place [default: 9]",
|
|
322
|
+
"name": "mint-decimals",
|
|
323
|
+
"required": false,
|
|
324
|
+
"default": 9,
|
|
352
325
|
"hasDynamicHelp": false,
|
|
353
326
|
"multiple": false,
|
|
354
327
|
"type": "option"
|
|
355
|
-
},
|
|
356
|
-
"get": {
|
|
357
|
-
"description": "Gets the current config values",
|
|
358
|
-
"name": "get",
|
|
359
|
-
"required": false,
|
|
360
|
-
"allowNo": false,
|
|
361
|
-
"type": "boolean"
|
|
362
328
|
}
|
|
363
329
|
},
|
|
364
330
|
"hasDynamicHelp": false,
|
|
365
331
|
"hiddenAliases": [],
|
|
366
|
-
"id": "
|
|
332
|
+
"id": "create-mint",
|
|
367
333
|
"pluginAlias": "@lightprotocol/zk-compression-cli",
|
|
368
334
|
"pluginName": "@lightprotocol/zk-compression-cli",
|
|
369
335
|
"pluginType": "core",
|
|
370
336
|
"strict": true,
|
|
337
|
+
"summary": "Create a new compressed token mint",
|
|
371
338
|
"enableJsonFlag": false,
|
|
372
339
|
"isESM": false,
|
|
373
340
|
"relativePath": [
|
|
374
341
|
"dist",
|
|
375
342
|
"commands",
|
|
376
|
-
"
|
|
343
|
+
"create-mint",
|
|
344
|
+
"index.js"
|
|
345
|
+
]
|
|
346
|
+
},
|
|
347
|
+
"create-token-pool": {
|
|
348
|
+
"aliases": [],
|
|
349
|
+
"args": {},
|
|
350
|
+
"examples": [
|
|
351
|
+
"$ light create-token-pool --mint-decimals 5"
|
|
352
|
+
],
|
|
353
|
+
"flags": {
|
|
354
|
+
"mint": {
|
|
355
|
+
"description": "Provide a base58 encoded mint address to register",
|
|
356
|
+
"name": "mint",
|
|
357
|
+
"required": true,
|
|
358
|
+
"hasDynamicHelp": false,
|
|
359
|
+
"multiple": false,
|
|
360
|
+
"type": "option"
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
"hasDynamicHelp": false,
|
|
364
|
+
"hiddenAliases": [],
|
|
365
|
+
"id": "create-token-pool",
|
|
366
|
+
"pluginAlias": "@lightprotocol/zk-compression-cli",
|
|
367
|
+
"pluginName": "@lightprotocol/zk-compression-cli",
|
|
368
|
+
"pluginType": "core",
|
|
369
|
+
"strict": true,
|
|
370
|
+
"summary": "Register an existing mint with the CompressedToken program",
|
|
371
|
+
"enableJsonFlag": false,
|
|
372
|
+
"isESM": false,
|
|
373
|
+
"relativePath": [
|
|
374
|
+
"dist",
|
|
375
|
+
"commands",
|
|
376
|
+
"create-token-pool",
|
|
377
377
|
"index.js"
|
|
378
378
|
]
|
|
379
379
|
},
|
|
@@ -597,20 +597,6 @@
|
|
|
597
597
|
"args": {},
|
|
598
598
|
"description": "Start gnark prover",
|
|
599
599
|
"flags": {
|
|
600
|
-
"skip-prove-compressed-accounts": {
|
|
601
|
-
"char": "c",
|
|
602
|
-
"description": "Skip proving of compressed accounts.",
|
|
603
|
-
"name": "skip-prove-compressed-accounts",
|
|
604
|
-
"allowNo": false,
|
|
605
|
-
"type": "boolean"
|
|
606
|
-
},
|
|
607
|
-
"skip-prove-new-addresses": {
|
|
608
|
-
"char": "n",
|
|
609
|
-
"description": "Skip proving of new addresses.",
|
|
610
|
-
"name": "skip-prove-new-addresses",
|
|
611
|
-
"allowNo": false,
|
|
612
|
-
"type": "boolean"
|
|
613
|
-
},
|
|
614
600
|
"prover-port": {
|
|
615
601
|
"description": "Enable Light Prover server on this port.",
|
|
616
602
|
"name": "prover-port",
|
|
@@ -619,6 +605,40 @@
|
|
|
619
605
|
"hasDynamicHelp": false,
|
|
620
606
|
"multiple": false,
|
|
621
607
|
"type": "option"
|
|
608
|
+
},
|
|
609
|
+
"run-mode": {
|
|
610
|
+
"description": "Specify the running mode (forester, forester-test, rpc, full, or full-test)",
|
|
611
|
+
"name": "run-mode",
|
|
612
|
+
"required": false,
|
|
613
|
+
"hasDynamicHelp": false,
|
|
614
|
+
"multiple": false,
|
|
615
|
+
"options": [
|
|
616
|
+
"rpc",
|
|
617
|
+
"forester",
|
|
618
|
+
"forester-test",
|
|
619
|
+
"full",
|
|
620
|
+
"full-test"
|
|
621
|
+
],
|
|
622
|
+
"type": "option"
|
|
623
|
+
},
|
|
624
|
+
"circuit": {
|
|
625
|
+
"description": "Specify individual circuits to enable.",
|
|
626
|
+
"name": "circuit",
|
|
627
|
+
"required": false,
|
|
628
|
+
"hasDynamicHelp": false,
|
|
629
|
+
"multiple": true,
|
|
630
|
+
"options": [
|
|
631
|
+
"inclusion",
|
|
632
|
+
"non-inclusion",
|
|
633
|
+
"combined",
|
|
634
|
+
"append-with-proofs",
|
|
635
|
+
"append-with-subtrees",
|
|
636
|
+
"update",
|
|
637
|
+
"append-with-proofs-test",
|
|
638
|
+
"append-with-subtrees-test",
|
|
639
|
+
"update-test"
|
|
640
|
+
],
|
|
641
|
+
"type": "option"
|
|
622
642
|
}
|
|
623
643
|
},
|
|
624
644
|
"hasDynamicHelp": false,
|
|
@@ -660,24 +680,6 @@
|
|
|
660
680
|
"allowNo": false,
|
|
661
681
|
"type": "boolean"
|
|
662
682
|
},
|
|
663
|
-
"prove-compressed-accounts": {
|
|
664
|
-
"description": "Enable proving of compressed accounts.",
|
|
665
|
-
"exclusive": [
|
|
666
|
-
"skip-prover"
|
|
667
|
-
],
|
|
668
|
-
"name": "prove-compressed-accounts",
|
|
669
|
-
"allowNo": false,
|
|
670
|
-
"type": "boolean"
|
|
671
|
-
},
|
|
672
|
-
"prove-new-addresses": {
|
|
673
|
-
"description": "Enable proving of new addresses.",
|
|
674
|
-
"exclusive": [
|
|
675
|
-
"skip-prover"
|
|
676
|
-
],
|
|
677
|
-
"name": "prove-new-addresses",
|
|
678
|
-
"allowNo": false,
|
|
679
|
-
"type": "boolean"
|
|
680
|
-
},
|
|
681
683
|
"relax-indexer-version-constraint": {
|
|
682
684
|
"description": "Disables indexer version check. Only use if you know what you are doing.",
|
|
683
685
|
"exclusive": [
|
|
@@ -731,6 +733,44 @@
|
|
|
731
733
|
"multiple": false,
|
|
732
734
|
"type": "option"
|
|
733
735
|
},
|
|
736
|
+
"prover-run-mode": {
|
|
737
|
+
"description": "Specify the running mode for the prover (forester, forester-test, rpc, or full)",
|
|
738
|
+
"exclusive": [
|
|
739
|
+
"skip-prover"
|
|
740
|
+
],
|
|
741
|
+
"name": "prover-run-mode",
|
|
742
|
+
"required": false,
|
|
743
|
+
"hasDynamicHelp": false,
|
|
744
|
+
"multiple": false,
|
|
745
|
+
"options": [
|
|
746
|
+
"rpc",
|
|
747
|
+
"forester",
|
|
748
|
+
"forester-test",
|
|
749
|
+
"full",
|
|
750
|
+
"full-test"
|
|
751
|
+
],
|
|
752
|
+
"type": "option"
|
|
753
|
+
},
|
|
754
|
+
"circuit": {
|
|
755
|
+
"description": "Specify individual circuits to enable.",
|
|
756
|
+
"exclusive": [
|
|
757
|
+
"skip-prover"
|
|
758
|
+
],
|
|
759
|
+
"name": "circuit",
|
|
760
|
+
"required": false,
|
|
761
|
+
"hasDynamicHelp": false,
|
|
762
|
+
"multiple": true,
|
|
763
|
+
"options": [
|
|
764
|
+
"inclusion",
|
|
765
|
+
"non-inclusion",
|
|
766
|
+
"combined",
|
|
767
|
+
"append",
|
|
768
|
+
"update",
|
|
769
|
+
"append-test",
|
|
770
|
+
"update-test"
|
|
771
|
+
],
|
|
772
|
+
"type": "option"
|
|
773
|
+
},
|
|
734
774
|
"limit-ledger-size": {
|
|
735
775
|
"description": "Keep this amount of shreds in root slots.",
|
|
736
776
|
"name": "limit-ledger-size",
|
|
@@ -831,5 +871,5 @@
|
|
|
831
871
|
]
|
|
832
872
|
}
|
|
833
873
|
},
|
|
834
|
-
"version": "0.19.
|
|
874
|
+
"version": "0.19.2"
|
|
835
875
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lightprotocol/zk-compression-cli",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.2",
|
|
4
4
|
"description": "ZK Compression: Secure Scaling on Solana",
|
|
5
5
|
"maintainers": [
|
|
6
6
|
{
|
|
@@ -20,7 +20,14 @@
|
|
|
20
20
|
"/test_bin",
|
|
21
21
|
"./config.json",
|
|
22
22
|
"/npm-shrinkwrap.json",
|
|
23
|
-
"/oclif.manifest.json"
|
|
23
|
+
"/oclif.manifest.json",
|
|
24
|
+
"!bin/proving-keys/append-with-proofs_26_10.key",
|
|
25
|
+
"!bin/proving-keys/append-with-proofs_26_10.vkey",
|
|
26
|
+
"!bin/proving-keys/append-with-subtrees_26_10.key",
|
|
27
|
+
"!bin/proving-keys/append-with-subtrees_26_10.vkey",
|
|
28
|
+
"!bin/proving-keys/update_26_10.key",
|
|
29
|
+
"!bin/proving-keys/update_26_10.vkey",
|
|
30
|
+
"!bin/cargo-generate"
|
|
24
31
|
],
|
|
25
32
|
"dependencies": {
|
|
26
33
|
"@coral-xyz/anchor": "0.29.0",
|
|
@@ -31,7 +38,6 @@
|
|
|
31
38
|
"@oclif/plugin-plugins": "^5.0.7",
|
|
32
39
|
"@solana-developers/helpers": "^1.5.1",
|
|
33
40
|
"@solana/web3.js": "^1.95.3",
|
|
34
|
-
"@types/shell-quote": "^1.7.5",
|
|
35
41
|
"axios": "^1.6.8",
|
|
36
42
|
"case-anything": "^2.1.13",
|
|
37
43
|
"cli-progress": "^3.12.0",
|
|
@@ -45,9 +51,9 @@
|
|
|
45
51
|
"tweetnacl": "^1.0.3",
|
|
46
52
|
"wait-on": "^7.2.0",
|
|
47
53
|
"which": "^4.0.0",
|
|
48
|
-
"@lightprotocol/compressed-token": "0.14.
|
|
49
|
-
"@lightprotocol/
|
|
50
|
-
"@lightprotocol/
|
|
54
|
+
"@lightprotocol/compressed-token": "0.14.2",
|
|
55
|
+
"@lightprotocol/stateless.js": "0.14.3",
|
|
56
|
+
"@lightprotocol/hasher.rs": "0.2.0"
|
|
51
57
|
},
|
|
52
58
|
"devDependencies": {
|
|
53
59
|
"@oclif/test": "2.3.9",
|
package/bin/cargo-generate
DELETED
|
Binary file
|