@metamask-previews/java-tron-up 1.0.0-preview-3e34650c2 → 1.0.0-preview-4f4c98e

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/CHANGELOG.md CHANGED
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Changed
11
+
12
+ - **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168))
13
+
10
14
  ## [1.0.0]
11
15
 
12
16
  ### Added
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=java-tron-up.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java-tron-up.d.ts","sourceRoot":"","sources":["../../src/bin/java-tron-up.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /* eslint-disable no-restricted-globals */
3
- import { cleanJavaTronCache, installJavaTron, parseJavaTronInstallCliOptions, readJavaTronInstallOptionsFromPackageJson } from "../install.mjs";
3
+ import { cleanJavaTronCache, installJavaTron, parseJavaTronInstallCliOptions, readJavaTronInstallOptionsFromPackageJson, } from '../install.js';
4
4
  async function main() {
5
5
  const [command, ...args] = process.argv.slice(2);
6
6
  if (command === '--help' || command === 'help') {
@@ -47,4 +47,4 @@ Options:
47
47
  --platform <platform> Override platform key, e.g. linux-x64.
48
48
  --help Show this help text.`);
49
49
  }
50
- //# sourceMappingURL=java-tron-up.mjs.map
50
+ //# sourceMappingURL=java-tron-up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java-tron-up.js","sourceRoot":"","sources":["../../src/bin/java-tron-up.ts"],"names":[],"mappings":";AACA,0CAA0C;AAC1C,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,yCAAyC,GAC1C,MAAM,eAAe,CAAC;AAEvB,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/C,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAC/C,MAAM,kBAAkB,CAAC;YACvB,GAAG,yCAAyC,EAAE;YAC9C,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjD,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,GAAG,yCAAyC,EAAE;QAC9C,GAAG,8BAA8B,CAAC,WAAW,CAAC;KAC/C,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,4BACE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WACvC,OAAO,MAAM,CAAC,WAAW,EAAE,CAC5B,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,4CAA4C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;sDAgBwC,CAAC,CAAC;AACxD,CAAC","sourcesContent":["#!/usr/bin/env node\n/* eslint-disable no-restricted-globals */\nimport {\n cleanJavaTronCache,\n installJavaTron,\n parseJavaTronInstallCliOptions,\n readJavaTronInstallOptionsFromPackageJson,\n} from '../install.js';\n\nasync function main(): Promise<void> {\n const [command, ...args] = process.argv.slice(2);\n\n if (command === '--help' || command === 'help') {\n printHelp();\n return;\n }\n\n if (command === 'cache' && args[0] === 'clean') {\n await cleanJavaTronCache({\n ...readJavaTronInstallOptionsFromPackageJson(),\n ...parseJavaTronInstallCliOptions(args.slice(1)),\n });\n console.log('[java-tron-up] cache cleaned');\n return;\n }\n\n const installArgs = command === 'install' ? args : process.argv.slice(2);\n const result = await installJavaTron({\n ...readJavaTronInstallOptionsFromPackageJson(),\n ...parseJavaTronInstallCliOptions(installArgs),\n });\n\n console.log(\n `[java-tron-up] java-tron ${\n result.cacheHit ? 'found in cache' : 'installed'\n } at ${result.fullNodeJar}`,\n );\n console.log(`[java-tron-up] Java runtime installed at ${result.javaBinary}`);\n console.log(`[java-tron-up] binary installed at ${result.binaryPath}`);\n}\n\nmain().catch((error) => {\n console.error(error);\n process.exit(1);\n});\n\nfunction printHelp(): void {\n console.log(`Usage: java-tron-up [install] [options]\n java-tron-up cache clean [options]\n\nCommands:\n install Install java-tron and the managed Java runtime. Default command.\n cache clean Remove cached java-tron-up artifacts.\n\nOptions:\n --bin-directory <path> Directory for the java-tron executable.\n Defaults to node_modules/.bin.\n --cache-directory <path> Cache directory. Defaults to .metamask/cache.\n --full-node-url <url> FullNode.jar URL for the current platform.\n --full-node-checksum <hash> Expected FullNode.jar SHA-256 checksum.\n --java-runtime-url <url> Java runtime archive URL for the current platform.\n --java-runtime-checksum <hash> Expected Java runtime SHA-256 checksum.\n --platform <platform> Override platform key, e.g. linux-x64.\n --help Show this help text.`);\n}\n"]}
@@ -1,3 +1,3 @@
1
- export { JAVA_TRON_DEFAULT_FULL_NODE, JAVA_TRON_DEFAULT_JAVA_RUNTIME, cleanJavaTronCache, getJavaTronCacheDirectory, installJavaRuntime, installJavaTron, parseJavaTronInstallCliOptions, readJavaTronInstallOptionsFromPackageJson, } from "./install.cjs";
2
- export type { JavaTronArtifactConfig, JavaTronArtifactPlatformConfig, JavaTronInstallDependencies, JavaTronInstallOptions, JavaTronInstallResult, JavaTronJavaRuntimeConfig, } from "./install.cjs";
3
- //# sourceMappingURL=index.d.cts.map
1
+ export { JAVA_TRON_DEFAULT_FULL_NODE, JAVA_TRON_DEFAULT_JAVA_RUNTIME, cleanJavaTronCache, getJavaTronCacheDirectory, installJavaRuntime, installJavaTron, parseJavaTronInstallCliOptions, readJavaTronInstallOptionsFromPackageJson, } from './install.js';
2
+ export type { JavaTronArtifactConfig, JavaTronArtifactPlatformConfig, JavaTronInstallDependencies, JavaTronInstallOptions, JavaTronInstallResult, JavaTronJavaRuntimeConfig, } from './install.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,yCAAyC,GAC1C,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,cAAc,CAAC"}
@@ -1,2 +1,2 @@
1
- export { JAVA_TRON_DEFAULT_FULL_NODE, JAVA_TRON_DEFAULT_JAVA_RUNTIME, cleanJavaTronCache, getJavaTronCacheDirectory, installJavaRuntime, installJavaTron, parseJavaTronInstallCliOptions, readJavaTronInstallOptionsFromPackageJson } from "./install.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export { JAVA_TRON_DEFAULT_FULL_NODE, JAVA_TRON_DEFAULT_JAVA_RUNTIME, cleanJavaTronCache, getJavaTronCacheDirectory, installJavaRuntime, installJavaTron, parseJavaTronInstallCliOptions, readJavaTronInstallOptionsFromPackageJson, } from './install.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,yCAAyC,GAC1C,MAAM,cAAc,CAAC","sourcesContent":["export {\n JAVA_TRON_DEFAULT_FULL_NODE,\n JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n cleanJavaTronCache,\n getJavaTronCacheDirectory,\n installJavaRuntime,\n installJavaTron,\n parseJavaTronInstallCliOptions,\n readJavaTronInstallOptionsFromPackageJson,\n} from './install.js';\nexport type {\n JavaTronArtifactConfig,\n JavaTronArtifactPlatformConfig,\n JavaTronInstallDependencies,\n JavaTronInstallOptions,\n JavaTronInstallResult,\n JavaTronJavaRuntimeConfig,\n} from './install.js';\n"]}
@@ -1,4 +1,4 @@
1
- import type { ArtifactConfig, ArtifactPlatformConfig, InstallDependencies } from "@metamask/local-node-utils";
1
+ import type { ArtifactConfig, ArtifactPlatformConfig, InstallDependencies } from '@metamask/local-node-utils';
2
2
  export type JavaTronArtifactConfig = ArtifactConfig;
3
3
  export type JavaTronArtifactPlatformConfig = ArtifactPlatformConfig;
4
4
  export type JavaTronJavaRuntimeConfig = JavaTronArtifactConfig;
@@ -38,4 +38,4 @@ export declare function installJavaRuntime({ cacheDirectory, javaRuntime, platfo
38
38
  javaRuntime?: JavaTronJavaRuntimeConfig;
39
39
  platform?: string;
40
40
  }, dependencies?: JavaTronInstallDependencies): Promise<string>;
41
- //# sourceMappingURL=install.d.mts.map
41
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAUpC,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAEpD,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAEpE,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAE9D,eAAO,MAAM,2BAA2B,EAAE,sBA4BzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,yBA4B5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACxC,GAAmB,EACnB,aAAyB,GAC1B,GAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAMd;AAED,wBAAgB,yCAAyC,CAAC,EACxD,GAAmB,EACnB,eAAe,GAChB,GAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,sBAAsB,CAsB9B;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EAAE,GACb,sBAAsB,CAkExB;AAED,wBAAsB,eAAe,CACnC,OAAO,GAAE,sBAA2B,EACpC,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,CAqDhC;AAED,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,GAAG,KAAK,CAAM,GACnE,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,kBAAkB,CACtC,EACE,cAA4C,EAC5C,WAA4C,EAC5C,QAA2B,GAC5B,GAAE;IACD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,EACN,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,MAAM,CAAC,CA8DjB"}
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable import-x/no-nodejs-modules, no-restricted-globals */
2
- import { cleanInstallerCache, downloadFileFromUrl, extractTarGzArchive, getCacheKey, getMetamaskCacheDirectory, getPlatformKey, installExecutableWrapper, isDirectory, isFile, mergeArtifactConfig, readCliValue, readPackageJsonToolConfig, requireCompletePlatformConfig, resolvePlatformConfig, verifyFileChecksum } from "@metamask/local-node-utils";
3
- import { existsSync, readdirSync, readFileSync } from "node:fs";
4
- import { mkdir, rename, rm, writeFile } from "node:fs/promises";
5
- import { homedir } from "node:os";
6
- import { dirname, join } from "node:path";
2
+ import { cleanInstallerCache, downloadFileFromUrl, extractTarGzArchive, getCacheKey, getMetamaskCacheDirectory, getPlatformKey, installExecutableWrapper, isDirectory, isFile, mergeArtifactConfig, readCliValue, readPackageJsonToolConfig, requireCompletePlatformConfig, resolvePlatformConfig, verifyFileChecksum, } from '@metamask/local-node-utils';
3
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
4
+ import { mkdir, rename, rm, writeFile } from 'node:fs/promises';
5
+ import { homedir } from 'node:os';
6
+ import { dirname, join } from 'node:path';
7
7
  const JAVA_TRON_CACHE_NAMESPACE = 'java-tron-up';
8
8
  const FULL_NODE_CACHE_NAMESPACE = 'fullnode';
9
9
  const JAVA_CACHE_NAMESPACE = 'java';
@@ -267,4 +267,4 @@ function findJavaBinary(root) {
267
267
  }
268
268
  return undefined;
269
269
  }
270
- //# sourceMappingURL=install.mjs.map
270
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import-x/no-nodejs-modules, no-restricted-globals */\nimport {\n cleanInstallerCache,\n downloadFileFromUrl,\n extractTarGzArchive,\n getCacheKey,\n getMetamaskCacheDirectory,\n getPlatformKey,\n installExecutableWrapper,\n isDirectory,\n isFile,\n mergeArtifactConfig,\n readCliValue,\n readPackageJsonToolConfig,\n requireCompletePlatformConfig,\n resolvePlatformConfig,\n verifyFileChecksum,\n} from '@metamask/local-node-utils';\nimport type {\n ArtifactConfig,\n ArtifactPlatformConfig,\n InstallDependencies,\n} from '@metamask/local-node-utils';\nimport { existsSync, readdirSync, readFileSync } from 'node:fs';\nimport { mkdir, rename, rm, writeFile } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { dirname, join } from 'node:path';\n\nconst JAVA_TRON_CACHE_NAMESPACE = 'java-tron-up';\nconst FULL_NODE_CACHE_NAMESPACE = 'fullnode';\nconst JAVA_CACHE_NAMESPACE = 'java';\n\nexport type JavaTronArtifactConfig = ArtifactConfig;\n\nexport type JavaTronArtifactPlatformConfig = ArtifactPlatformConfig;\n\nexport type JavaTronJavaRuntimeConfig = JavaTronArtifactConfig;\n\nexport type JavaTronInstallOptions = {\n binDirectory?: string;\n cacheDirectory?: string;\n cwd?: string;\n fullNode?: JavaTronArtifactConfig;\n javaBinary?: string;\n javaRuntime?: JavaTronJavaRuntimeConfig;\n platform?: string;\n};\n\nexport type JavaTronInstallResult = {\n binaryPath: string;\n cacheHit: boolean;\n checksum: string;\n fullNodeJar: string;\n javaBinary: string;\n version?: string;\n};\n\nexport type JavaTronInstallDependencies = InstallDependencies;\n\nexport const JAVA_TRON_DEFAULT_FULL_NODE: JavaTronArtifactConfig = {\n version: 'GreatVoyage-v4.8.1',\n platforms: {\n 'darwin-arm64': {\n checksum:\n '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',\n size: 202_460_186,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',\n },\n 'darwin-x64': {\n checksum:\n '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',\n size: 145_863_030,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',\n },\n 'linux-arm64': {\n checksum:\n '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',\n size: 202_460_186,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',\n },\n 'linux-x64': {\n checksum:\n '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',\n size: 145_863_030,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',\n },\n },\n};\n\nexport const JAVA_TRON_DEFAULT_JAVA_RUNTIME: JavaTronJavaRuntimeConfig = {\n version: 'zulu-java8-x64-java17-arm64',\n platforms: {\n 'darwin-arm64': {\n checksum:\n 'f2bd5afaaaa4c23eb4bf2c78913c7eb7d3d228e44209ffec652fb72388a2f25c',\n size: 192_646_000,\n url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-macosx_aarch64.tar.gz',\n },\n 'darwin-x64': {\n checksum:\n '4ac2efcae5d49afe1f2419ceb09bd3fb4af9df8411ab80184795960fc18fb5f6',\n size: 41_346_500,\n url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-macosx_x64.tar.gz',\n },\n 'linux-arm64': {\n checksum:\n 'c17d5657a673c0cfc099e9d803ed30498495894d7359fd1064d463093ed9850b',\n size: 199_156_000,\n url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-linux_aarch64.tar.gz',\n },\n 'linux-x64': {\n checksum:\n '39abf1dc6798b5f6b8e9dca4e78994da316a3f990e444c2c483ea04f7f882cf2',\n size: 42_504_400,\n url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-linux_x64.tar.gz',\n },\n },\n};\n\nexport function getJavaTronCacheDirectory({\n cwd = process.cwd(),\n homeDirectory = homedir(),\n}: {\n cwd?: string;\n homeDirectory?: string;\n} = {}): string {\n return getMetamaskCacheDirectory({\n cwd,\n homeDirectory,\n toolName: JAVA_TRON_CACHE_NAMESPACE,\n });\n}\n\nexport function readJavaTronInstallOptionsFromPackageJson({\n cwd = process.cwd(),\n packageJsonPath,\n}: {\n cwd?: string;\n packageJsonPath?: string;\n} = {}): JavaTronInstallOptions {\n const config = readPackageJsonToolConfig({\n cwd,\n packageJsonPath,\n configKeys: ['javaTronUp', 'javatronup', 'java-tron-up'],\n });\n const options: JavaTronInstallOptions = {};\n\n if (typeof config.binDirectory === 'string') {\n options.binDirectory = config.binDirectory;\n }\n if (typeof config.cacheDirectory === 'string') {\n options.cacheDirectory = config.cacheDirectory;\n }\n if (config.fullNode && typeof config.fullNode === 'object') {\n options.fullNode = config.fullNode as JavaTronArtifactConfig;\n }\n if (config.javaRuntime && typeof config.javaRuntime === 'object') {\n options.javaRuntime = config.javaRuntime as JavaTronJavaRuntimeConfig;\n }\n\n return options;\n}\n\nexport function parseJavaTronInstallCliOptions(\n args: string[],\n): JavaTronInstallOptions {\n const options: JavaTronInstallOptions = {};\n const fullNode: Partial<JavaTronArtifactPlatformConfig> = {};\n const javaRuntime: Partial<JavaTronArtifactPlatformConfig> = {};\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index];\n const value = args[index + 1];\n\n switch (arg) {\n case '--bin-directory':\n options.binDirectory = readCliValue(arg, value);\n index += 1;\n break;\n case '--cache-directory':\n options.cacheDirectory = readCliValue(arg, value);\n index += 1;\n break;\n case '--full-node-checksum':\n fullNode.checksum = readCliValue(arg, value);\n index += 1;\n break;\n case '--full-node-url':\n fullNode.url = readCliValue(arg, value);\n index += 1;\n break;\n case '--java-runtime-checksum':\n javaRuntime.checksum = readCliValue(arg, value);\n index += 1;\n break;\n case '--java-runtime-url':\n javaRuntime.url = readCliValue(arg, value);\n index += 1;\n break;\n case '--platform':\n options.platform = readCliValue(arg, value);\n index += 1;\n break;\n default:\n throw new Error(`Unknown java-tron-up install option: ${arg}`);\n }\n }\n\n if (fullNode.url || fullNode.checksum) {\n options.fullNode = {\n platforms: {\n current: requireCompletePlatformConfig(\n fullNode,\n 'FullNode CLI options',\n ),\n },\n };\n }\n\n if (javaRuntime.url || javaRuntime.checksum) {\n options.javaRuntime = {\n platforms: {\n current: requireCompletePlatformConfig(\n javaRuntime,\n 'Java runtime CLI options',\n ),\n },\n };\n }\n\n return options;\n}\n\nexport async function installJavaTron(\n options: JavaTronInstallOptions = {},\n dependencies: JavaTronInstallDependencies = {},\n): Promise<JavaTronInstallResult> {\n const cwd = options.cwd ?? process.cwd();\n const cacheDirectory =\n options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });\n const binDirectory =\n options.binDirectory ?? join(cwd, 'node_modules', '.bin');\n const platformKey = options.platform ?? getPlatformKey();\n const fullNode = mergeArtifactConfig(\n JAVA_TRON_DEFAULT_FULL_NODE,\n options.fullNode,\n );\n const javaRuntime = mergeArtifactConfig(\n JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n options.javaRuntime,\n );\n const fullNodeConfig = resolvePlatformConfig(\n fullNode,\n platformKey,\n 'java-tron FullNode',\n );\n const javaBinary =\n options.javaBinary ??\n (await installJavaRuntime(\n {\n cacheDirectory,\n javaRuntime,\n platform: platformKey,\n },\n dependencies,\n ));\n const fullNodeResult = await installFullNodeJar(\n {\n cacheDirectory,\n config: fullNodeConfig,\n },\n dependencies,\n );\n const binaryPath = await installExecutableWrapper({\n binDirectory,\n commandName: 'java-tron',\n executableArgs: ['-jar', fullNodeResult.fullNodeJar],\n executablePath: javaBinary,\n pathResolution: 'absolute',\n });\n\n return {\n binaryPath,\n cacheHit: fullNodeResult.cacheHit,\n checksum: fullNodeConfig.checksum,\n fullNodeJar: fullNodeResult.fullNodeJar,\n javaBinary,\n version: fullNode.version,\n };\n}\n\nexport async function cleanJavaTronCache(\n options: Pick<JavaTronInstallOptions, 'cacheDirectory' | 'cwd'> = {},\n): Promise<void> {\n const cwd = options.cwd ?? process.cwd();\n const cacheDirectory =\n options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });\n\n await cleanInstallerCache({\n cacheDirectory,\n namespace: JAVA_TRON_CACHE_NAMESPACE,\n });\n}\n\nexport async function installJavaRuntime(\n {\n cacheDirectory = getJavaTronCacheDirectory(),\n javaRuntime = JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n platform = getPlatformKey(),\n }: {\n cacheDirectory?: string;\n javaRuntime?: JavaTronJavaRuntimeConfig;\n platform?: string;\n } = {},\n dependencies: JavaTronInstallDependencies = {},\n): Promise<string> {\n const platformConfig = resolvePlatformConfig(\n javaRuntime,\n platform,\n 'java-tron Java runtime',\n );\n const cacheKey = getCacheKey(platformConfig);\n const cacheRoot = join(\n cacheDirectory,\n JAVA_TRON_CACHE_NAMESPACE,\n JAVA_CACHE_NAMESPACE,\n cacheKey,\n );\n const sourceChecksumPath = join(cacheRoot, '.source-checksum');\n const existingJavaBinary = findJavaBinary(cacheRoot);\n\n if (\n existingJavaBinary &&\n existsSync(sourceChecksumPath) &&\n readFileSync(sourceChecksumPath, 'utf8') === platformConfig.checksum\n ) {\n return existingJavaBinary;\n }\n\n const tempRoot = `${cacheRoot}.downloading`;\n const archivePath = join(tempRoot, 'java-runtime.tar.gz');\n const downloadFile = dependencies.downloadFile ?? downloadFileFromUrl;\n const extractArchive = dependencies.extractArchive ?? extractTarGzArchive;\n\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n await mkdir(tempRoot, { recursive: true });\n\n try {\n await downloadFile(platformConfig.url, archivePath);\n await verifyFileChecksum(\n archivePath,\n platformConfig.checksum,\n 'Downloaded Java runtime',\n );\n await extractArchive(archivePath, tempRoot);\n\n const javaBinary = findJavaBinary(tempRoot);\n if (!javaBinary) {\n throw new Error(\n `Java runtime archive for ${platform} did not contain bin/java.`,\n );\n }\n\n await writeFile(\n join(tempRoot, '.source-checksum'),\n platformConfig.checksum,\n );\n await mkdir(dirname(cacheRoot), { recursive: true });\n await rename(tempRoot, cacheRoot);\n\n return javaBinary.replace(tempRoot, cacheRoot);\n } catch (error) {\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n throw error;\n }\n}\n\nasync function installFullNodeJar(\n {\n cacheDirectory,\n config,\n }: {\n cacheDirectory: string;\n config: JavaTronArtifactPlatformConfig;\n },\n dependencies: JavaTronInstallDependencies,\n): Promise<{ cacheHit: boolean; fullNodeJar: string }> {\n const cacheKey = getCacheKey(config);\n const cacheRoot = join(\n cacheDirectory,\n JAVA_TRON_CACHE_NAMESPACE,\n FULL_NODE_CACHE_NAMESPACE,\n cacheKey,\n );\n const fullNodeJar = join(cacheRoot, 'FullNode.jar');\n\n if (existsSync(fullNodeJar)) {\n await verifyFileChecksum(\n fullNodeJar,\n config.checksum,\n 'Cached java-tron FullNode',\n );\n return { cacheHit: true, fullNodeJar };\n }\n\n const tempRoot = `${cacheRoot}.downloading`;\n const tempFullNodeJar = join(tempRoot, 'FullNode.jar');\n const downloadFile = dependencies.downloadFile ?? downloadFileFromUrl;\n\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n await mkdir(tempRoot, { recursive: true });\n\n try {\n await downloadFile(config.url, tempFullNodeJar);\n await verifyFileChecksum(\n tempFullNodeJar,\n config.checksum,\n 'Downloaded java-tron FullNode',\n );\n await mkdir(dirname(cacheRoot), { recursive: true });\n await rename(tempRoot, cacheRoot);\n\n return { cacheHit: false, fullNodeJar };\n } catch (error) {\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n throw error;\n }\n}\n\nfunction findJavaBinary(root: string): string | undefined {\n if (!isDirectory(root)) {\n return undefined;\n }\n\n const candidate = join(root, 'bin', 'java');\n if (isFile(candidate)) {\n return candidate;\n }\n\n for (const entry of readdirSync(root)) {\n const child = join(root, entry);\n if (!isDirectory(child)) {\n continue;\n }\n\n const found = findJavaBinary(child);\n if (found) {\n return found;\n }\n }\n\n return undefined;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/java-tron-up",
3
- "version": "1.0.0-preview-3e34650c2",
3
+ "version": "1.0.0-preview-4f4c98e",
4
4
  "description": "java-tron runtime installer for MetaMask E2E tests",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -15,23 +15,16 @@
15
15
  "type": "git",
16
16
  "url": "https://github.com/MetaMask/core.git"
17
17
  },
18
- "bin": "./dist/bin/java-tron-up.mjs",
18
+ "bin": "./dist/bin/java-tron-up.js",
19
19
  "files": [
20
20
  "dist/"
21
21
  ],
22
+ "type": "module",
22
23
  "sideEffects": false,
23
- "main": "./dist/index.cjs",
24
- "types": "./dist/index.d.cts",
25
24
  "exports": {
26
25
  ".": {
27
- "import": {
28
- "types": "./dist/index.d.mts",
29
- "default": "./dist/index.mjs"
30
- },
31
- "require": {
32
- "types": "./dist/index.d.cts",
33
- "default": "./dist/index.cjs"
34
- }
26
+ "types": "./dist/index.d.ts",
27
+ "default": "./dist/index.js"
35
28
  },
36
29
  "./package.json": "./package.json"
37
30
  },
@@ -40,9 +33,11 @@
40
33
  "registry": "https://registry.npmjs.org/"
41
34
  },
42
35
  "scripts": {
43
- "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",
44
- "build:all": "ts-bridge --project tsconfig.build.json --verbose --clean",
36
+ "build": "tsc --project tsconfig.build.json",
37
+ "build:all": "tsc --build tsconfig.build.json --verbose",
38
+ "build:clean": "yarn build:only-clean && yarn build",
45
39
  "build:docs": "typedoc",
40
+ "build:only-clean": "rimraf './dist' './tsconfig.build.tsbuildinfo'",
46
41
  "changelog:update": "../../scripts/update-changelog.sh @metamask/java-tron-up",
47
42
  "changelog:validate": "../../scripts/validate-changelog.sh @metamask/java-tron-up",
48
43
  "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.mts",
@@ -60,17 +55,18 @@
60
55
  },
61
56
  "devDependencies": {
62
57
  "@metamask/auto-changelog": "^6.1.0",
63
- "@ts-bridge/cli": "^0.6.4",
64
58
  "@types/jest": "^30.0.0",
59
+ "@typescript/native": "npm:typescript@^7.0.2",
65
60
  "deepmerge": "^4.2.2",
66
61
  "jest": "^30.4.2",
62
+ "rimraf": "^5.0.5",
67
63
  "ts-jest": "^29.4.11",
68
64
  "tsx": "^4.20.5",
69
65
  "typedoc": "^0.25.13",
70
66
  "typedoc-plugin-missing-exports": "^2.0.0",
71
- "typescript": "~5.3.3"
67
+ "typescript": "npm:@typescript/typescript6@^6.0.2"
72
68
  },
73
69
  "engines": {
74
- "node": "^18.18 || >=20"
70
+ "node": "^22.14.0 || ^24"
75
71
  }
76
72
  }
@@ -1,52 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- /* eslint-disable no-restricted-globals */
5
- const install_js_1 = require("../install.cjs");
6
- async function main() {
7
- const [command, ...args] = process.argv.slice(2);
8
- if (command === '--help' || command === 'help') {
9
- printHelp();
10
- return;
11
- }
12
- if (command === 'cache' && args[0] === 'clean') {
13
- await (0, install_js_1.cleanJavaTronCache)({
14
- ...(0, install_js_1.readJavaTronInstallOptionsFromPackageJson)(),
15
- ...(0, install_js_1.parseJavaTronInstallCliOptions)(args.slice(1)),
16
- });
17
- console.log('[java-tron-up] cache cleaned');
18
- return;
19
- }
20
- const installArgs = command === 'install' ? args : process.argv.slice(2);
21
- const result = await (0, install_js_1.installJavaTron)({
22
- ...(0, install_js_1.readJavaTronInstallOptionsFromPackageJson)(),
23
- ...(0, install_js_1.parseJavaTronInstallCliOptions)(installArgs),
24
- });
25
- console.log(`[java-tron-up] java-tron ${result.cacheHit ? 'found in cache' : 'installed'} at ${result.fullNodeJar}`);
26
- console.log(`[java-tron-up] Java runtime installed at ${result.javaBinary}`);
27
- console.log(`[java-tron-up] binary installed at ${result.binaryPath}`);
28
- }
29
- main().catch((error) => {
30
- console.error(error);
31
- process.exit(1);
32
- });
33
- function printHelp() {
34
- console.log(`Usage: java-tron-up [install] [options]
35
- java-tron-up cache clean [options]
36
-
37
- Commands:
38
- install Install java-tron and the managed Java runtime. Default command.
39
- cache clean Remove cached java-tron-up artifacts.
40
-
41
- Options:
42
- --bin-directory <path> Directory for the java-tron executable.
43
- Defaults to node_modules/.bin.
44
- --cache-directory <path> Cache directory. Defaults to .metamask/cache.
45
- --full-node-url <url> FullNode.jar URL for the current platform.
46
- --full-node-checksum <hash> Expected FullNode.jar SHA-256 checksum.
47
- --java-runtime-url <url> Java runtime archive URL for the current platform.
48
- --java-runtime-checksum <hash> Expected Java runtime SHA-256 checksum.
49
- --platform <platform> Override platform key, e.g. linux-x64.
50
- --help Show this help text.`);
51
- }
52
- //# sourceMappingURL=java-tron-up.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"java-tron-up.cjs","sourceRoot":"","sources":["../../src/bin/java-tron-up.ts"],"names":[],"mappings":";;;AACA,0CAA0C;AAC1C,+CAKuB;AAEvB,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/C,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAA,+BAAkB,EAAC;YACvB,GAAG,IAAA,sDAAyC,GAAE;YAC9C,GAAG,IAAA,2CAA8B,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjD,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAe,EAAC;QACnC,GAAG,IAAA,sDAAyC,GAAE;QAC9C,GAAG,IAAA,2CAA8B,EAAC,WAAW,CAAC;KAC/C,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,4BACE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WACvC,OAAO,MAAM,CAAC,WAAW,EAAE,CAC5B,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,4CAA4C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;sDAgBwC,CAAC,CAAC;AACxD,CAAC","sourcesContent":["#!/usr/bin/env node\n/* eslint-disable no-restricted-globals */\nimport {\n cleanJavaTronCache,\n installJavaTron,\n parseJavaTronInstallCliOptions,\n readJavaTronInstallOptionsFromPackageJson,\n} from '../install.js';\n\nasync function main(): Promise<void> {\n const [command, ...args] = process.argv.slice(2);\n\n if (command === '--help' || command === 'help') {\n printHelp();\n return;\n }\n\n if (command === 'cache' && args[0] === 'clean') {\n await cleanJavaTronCache({\n ...readJavaTronInstallOptionsFromPackageJson(),\n ...parseJavaTronInstallCliOptions(args.slice(1)),\n });\n console.log('[java-tron-up] cache cleaned');\n return;\n }\n\n const installArgs = command === 'install' ? args : process.argv.slice(2);\n const result = await installJavaTron({\n ...readJavaTronInstallOptionsFromPackageJson(),\n ...parseJavaTronInstallCliOptions(installArgs),\n });\n\n console.log(\n `[java-tron-up] java-tron ${\n result.cacheHit ? 'found in cache' : 'installed'\n } at ${result.fullNodeJar}`,\n );\n console.log(`[java-tron-up] Java runtime installed at ${result.javaBinary}`);\n console.log(`[java-tron-up] binary installed at ${result.binaryPath}`);\n}\n\nmain().catch((error) => {\n console.error(error);\n process.exit(1);\n});\n\nfunction printHelp(): void {\n console.log(`Usage: java-tron-up [install] [options]\n java-tron-up cache clean [options]\n\nCommands:\n install Install java-tron and the managed Java runtime. Default command.\n cache clean Remove cached java-tron-up artifacts.\n\nOptions:\n --bin-directory <path> Directory for the java-tron executable.\n Defaults to node_modules/.bin.\n --cache-directory <path> Cache directory. Defaults to .metamask/cache.\n --full-node-url <url> FullNode.jar URL for the current platform.\n --full-node-checksum <hash> Expected FullNode.jar SHA-256 checksum.\n --java-runtime-url <url> Java runtime archive URL for the current platform.\n --java-runtime-checksum <hash> Expected Java runtime SHA-256 checksum.\n --platform <platform> Override platform key, e.g. linux-x64.\n --help Show this help text.`);\n}\n"]}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=java-tron-up.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"java-tron-up.d.cts","sourceRoot":"","sources":["../../src/bin/java-tron-up.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=java-tron-up.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"java-tron-up.d.mts","sourceRoot":"","sources":["../../src/bin/java-tron-up.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"java-tron-up.mjs","sourceRoot":"","sources":["../../src/bin/java-tron-up.ts"],"names":[],"mappings":";AACA,0CAA0C;AAC1C,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,yCAAyC,EAC1C,uBAAsB;AAEvB,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/C,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAC/C,MAAM,kBAAkB,CAAC;YACvB,GAAG,yCAAyC,EAAE;YAC9C,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjD,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,GAAG,yCAAyC,EAAE;QAC9C,GAAG,8BAA8B,CAAC,WAAW,CAAC;KAC/C,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,4BACE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WACvC,OAAO,MAAM,CAAC,WAAW,EAAE,CAC5B,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,4CAA4C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;sDAgBwC,CAAC,CAAC;AACxD,CAAC","sourcesContent":["#!/usr/bin/env node\n/* eslint-disable no-restricted-globals */\nimport {\n cleanJavaTronCache,\n installJavaTron,\n parseJavaTronInstallCliOptions,\n readJavaTronInstallOptionsFromPackageJson,\n} from '../install.js';\n\nasync function main(): Promise<void> {\n const [command, ...args] = process.argv.slice(2);\n\n if (command === '--help' || command === 'help') {\n printHelp();\n return;\n }\n\n if (command === 'cache' && args[0] === 'clean') {\n await cleanJavaTronCache({\n ...readJavaTronInstallOptionsFromPackageJson(),\n ...parseJavaTronInstallCliOptions(args.slice(1)),\n });\n console.log('[java-tron-up] cache cleaned');\n return;\n }\n\n const installArgs = command === 'install' ? args : process.argv.slice(2);\n const result = await installJavaTron({\n ...readJavaTronInstallOptionsFromPackageJson(),\n ...parseJavaTronInstallCliOptions(installArgs),\n });\n\n console.log(\n `[java-tron-up] java-tron ${\n result.cacheHit ? 'found in cache' : 'installed'\n } at ${result.fullNodeJar}`,\n );\n console.log(`[java-tron-up] Java runtime installed at ${result.javaBinary}`);\n console.log(`[java-tron-up] binary installed at ${result.binaryPath}`);\n}\n\nmain().catch((error) => {\n console.error(error);\n process.exit(1);\n});\n\nfunction printHelp(): void {\n console.log(`Usage: java-tron-up [install] [options]\n java-tron-up cache clean [options]\n\nCommands:\n install Install java-tron and the managed Java runtime. Default command.\n cache clean Remove cached java-tron-up artifacts.\n\nOptions:\n --bin-directory <path> Directory for the java-tron executable.\n Defaults to node_modules/.bin.\n --cache-directory <path> Cache directory. Defaults to .metamask/cache.\n --full-node-url <url> FullNode.jar URL for the current platform.\n --full-node-checksum <hash> Expected FullNode.jar SHA-256 checksum.\n --java-runtime-url <url> Java runtime archive URL for the current platform.\n --java-runtime-checksum <hash> Expected Java runtime SHA-256 checksum.\n --platform <platform> Override platform key, e.g. linux-x64.\n --help Show this help text.`);\n}\n"]}
package/dist/index.cjs DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readJavaTronInstallOptionsFromPackageJson = exports.parseJavaTronInstallCliOptions = exports.installJavaTron = exports.installJavaRuntime = exports.getJavaTronCacheDirectory = exports.cleanJavaTronCache = exports.JAVA_TRON_DEFAULT_JAVA_RUNTIME = exports.JAVA_TRON_DEFAULT_FULL_NODE = void 0;
4
- var install_js_1 = require("./install.cjs");
5
- Object.defineProperty(exports, "JAVA_TRON_DEFAULT_FULL_NODE", { enumerable: true, get: function () { return install_js_1.JAVA_TRON_DEFAULT_FULL_NODE; } });
6
- Object.defineProperty(exports, "JAVA_TRON_DEFAULT_JAVA_RUNTIME", { enumerable: true, get: function () { return install_js_1.JAVA_TRON_DEFAULT_JAVA_RUNTIME; } });
7
- Object.defineProperty(exports, "cleanJavaTronCache", { enumerable: true, get: function () { return install_js_1.cleanJavaTronCache; } });
8
- Object.defineProperty(exports, "getJavaTronCacheDirectory", { enumerable: true, get: function () { return install_js_1.getJavaTronCacheDirectory; } });
9
- Object.defineProperty(exports, "installJavaRuntime", { enumerable: true, get: function () { return install_js_1.installJavaRuntime; } });
10
- Object.defineProperty(exports, "installJavaTron", { enumerable: true, get: function () { return install_js_1.installJavaTron; } });
11
- Object.defineProperty(exports, "parseJavaTronInstallCliOptions", { enumerable: true, get: function () { return install_js_1.parseJavaTronInstallCliOptions; } });
12
- Object.defineProperty(exports, "readJavaTronInstallOptionsFromPackageJson", { enumerable: true, get: function () { return install_js_1.readJavaTronInstallOptionsFromPackageJson; } });
13
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4CASsB;AARpB,yHAAA,2BAA2B,OAAA;AAC3B,4HAAA,8BAA8B,OAAA;AAC9B,gHAAA,kBAAkB,OAAA;AAClB,uHAAA,yBAAyB,OAAA;AACzB,gHAAA,kBAAkB,OAAA;AAClB,6GAAA,eAAe,OAAA;AACf,4HAAA,8BAA8B,OAAA;AAC9B,uIAAA,yCAAyC,OAAA","sourcesContent":["export {\n JAVA_TRON_DEFAULT_FULL_NODE,\n JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n cleanJavaTronCache,\n getJavaTronCacheDirectory,\n installJavaRuntime,\n installJavaTron,\n parseJavaTronInstallCliOptions,\n readJavaTronInstallOptionsFromPackageJson,\n} from './install.js';\nexport type {\n JavaTronArtifactConfig,\n JavaTronArtifactPlatformConfig,\n JavaTronInstallDependencies,\n JavaTronInstallOptions,\n JavaTronInstallResult,\n JavaTronJavaRuntimeConfig,\n} from './install.js';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,yCAAyC,GAC1C,sBAAqB;AACtB,YAAY,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,sBAAqB"}
package/dist/index.d.mts DELETED
@@ -1,3 +0,0 @@
1
- export { JAVA_TRON_DEFAULT_FULL_NODE, JAVA_TRON_DEFAULT_JAVA_RUNTIME, cleanJavaTronCache, getJavaTronCacheDirectory, installJavaRuntime, installJavaTron, parseJavaTronInstallCliOptions, readJavaTronInstallOptionsFromPackageJson, } from "./install.mjs";
2
- export type { JavaTronArtifactConfig, JavaTronArtifactPlatformConfig, JavaTronInstallDependencies, JavaTronInstallOptions, JavaTronInstallResult, JavaTronJavaRuntimeConfig, } from "./install.mjs";
3
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,yCAAyC,GAC1C,sBAAqB;AACtB,YAAY,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,sBAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,yCAAyC,EAC1C,sBAAqB","sourcesContent":["export {\n JAVA_TRON_DEFAULT_FULL_NODE,\n JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n cleanJavaTronCache,\n getJavaTronCacheDirectory,\n installJavaRuntime,\n installJavaTron,\n parseJavaTronInstallCliOptions,\n readJavaTronInstallOptionsFromPackageJson,\n} from './install.js';\nexport type {\n JavaTronArtifactConfig,\n JavaTronArtifactPlatformConfig,\n JavaTronInstallDependencies,\n JavaTronInstallOptions,\n JavaTronInstallResult,\n JavaTronJavaRuntimeConfig,\n} from './install.js';\n"]}
package/dist/install.cjs DELETED
@@ -1,279 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.installJavaRuntime = exports.cleanJavaTronCache = exports.installJavaTron = exports.parseJavaTronInstallCliOptions = exports.readJavaTronInstallOptionsFromPackageJson = exports.getJavaTronCacheDirectory = exports.JAVA_TRON_DEFAULT_JAVA_RUNTIME = exports.JAVA_TRON_DEFAULT_FULL_NODE = void 0;
4
- /* eslint-disable import-x/no-nodejs-modules, no-restricted-globals */
5
- const local_node_utils_1 = require("@metamask/local-node-utils");
6
- const node_fs_1 = require("node:fs");
7
- const promises_1 = require("node:fs/promises");
8
- const node_os_1 = require("node:os");
9
- const node_path_1 = require("node:path");
10
- const JAVA_TRON_CACHE_NAMESPACE = 'java-tron-up';
11
- const FULL_NODE_CACHE_NAMESPACE = 'fullnode';
12
- const JAVA_CACHE_NAMESPACE = 'java';
13
- exports.JAVA_TRON_DEFAULT_FULL_NODE = {
14
- version: 'GreatVoyage-v4.8.1',
15
- platforms: {
16
- 'darwin-arm64': {
17
- checksum: '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',
18
- size: 202460186,
19
- url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',
20
- },
21
- 'darwin-x64': {
22
- checksum: '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',
23
- size: 145863030,
24
- url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',
25
- },
26
- 'linux-arm64': {
27
- checksum: '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',
28
- size: 202460186,
29
- url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',
30
- },
31
- 'linux-x64': {
32
- checksum: '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',
33
- size: 145863030,
34
- url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',
35
- },
36
- },
37
- };
38
- exports.JAVA_TRON_DEFAULT_JAVA_RUNTIME = {
39
- version: 'zulu-java8-x64-java17-arm64',
40
- platforms: {
41
- 'darwin-arm64': {
42
- checksum: 'f2bd5afaaaa4c23eb4bf2c78913c7eb7d3d228e44209ffec652fb72388a2f25c',
43
- size: 192646000,
44
- url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-macosx_aarch64.tar.gz',
45
- },
46
- 'darwin-x64': {
47
- checksum: '4ac2efcae5d49afe1f2419ceb09bd3fb4af9df8411ab80184795960fc18fb5f6',
48
- size: 41346500,
49
- url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-macosx_x64.tar.gz',
50
- },
51
- 'linux-arm64': {
52
- checksum: 'c17d5657a673c0cfc099e9d803ed30498495894d7359fd1064d463093ed9850b',
53
- size: 199156000,
54
- url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-linux_aarch64.tar.gz',
55
- },
56
- 'linux-x64': {
57
- checksum: '39abf1dc6798b5f6b8e9dca4e78994da316a3f990e444c2c483ea04f7f882cf2',
58
- size: 42504400,
59
- url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-linux_x64.tar.gz',
60
- },
61
- },
62
- };
63
- function getJavaTronCacheDirectory({ cwd = process.cwd(), homeDirectory = (0, node_os_1.homedir)(), } = {}) {
64
- return (0, local_node_utils_1.getMetamaskCacheDirectory)({
65
- cwd,
66
- homeDirectory,
67
- toolName: JAVA_TRON_CACHE_NAMESPACE,
68
- });
69
- }
70
- exports.getJavaTronCacheDirectory = getJavaTronCacheDirectory;
71
- function readJavaTronInstallOptionsFromPackageJson({ cwd = process.cwd(), packageJsonPath, } = {}) {
72
- const config = (0, local_node_utils_1.readPackageJsonToolConfig)({
73
- cwd,
74
- packageJsonPath,
75
- configKeys: ['javaTronUp', 'javatronup', 'java-tron-up'],
76
- });
77
- const options = {};
78
- if (typeof config.binDirectory === 'string') {
79
- options.binDirectory = config.binDirectory;
80
- }
81
- if (typeof config.cacheDirectory === 'string') {
82
- options.cacheDirectory = config.cacheDirectory;
83
- }
84
- if (config.fullNode && typeof config.fullNode === 'object') {
85
- options.fullNode = config.fullNode;
86
- }
87
- if (config.javaRuntime && typeof config.javaRuntime === 'object') {
88
- options.javaRuntime = config.javaRuntime;
89
- }
90
- return options;
91
- }
92
- exports.readJavaTronInstallOptionsFromPackageJson = readJavaTronInstallOptionsFromPackageJson;
93
- function parseJavaTronInstallCliOptions(args) {
94
- const options = {};
95
- const fullNode = {};
96
- const javaRuntime = {};
97
- for (let index = 0; index < args.length; index += 1) {
98
- const arg = args[index];
99
- const value = args[index + 1];
100
- switch (arg) {
101
- case '--bin-directory':
102
- options.binDirectory = (0, local_node_utils_1.readCliValue)(arg, value);
103
- index += 1;
104
- break;
105
- case '--cache-directory':
106
- options.cacheDirectory = (0, local_node_utils_1.readCliValue)(arg, value);
107
- index += 1;
108
- break;
109
- case '--full-node-checksum':
110
- fullNode.checksum = (0, local_node_utils_1.readCliValue)(arg, value);
111
- index += 1;
112
- break;
113
- case '--full-node-url':
114
- fullNode.url = (0, local_node_utils_1.readCliValue)(arg, value);
115
- index += 1;
116
- break;
117
- case '--java-runtime-checksum':
118
- javaRuntime.checksum = (0, local_node_utils_1.readCliValue)(arg, value);
119
- index += 1;
120
- break;
121
- case '--java-runtime-url':
122
- javaRuntime.url = (0, local_node_utils_1.readCliValue)(arg, value);
123
- index += 1;
124
- break;
125
- case '--platform':
126
- options.platform = (0, local_node_utils_1.readCliValue)(arg, value);
127
- index += 1;
128
- break;
129
- default:
130
- throw new Error(`Unknown java-tron-up install option: ${arg}`);
131
- }
132
- }
133
- if (fullNode.url || fullNode.checksum) {
134
- options.fullNode = {
135
- platforms: {
136
- current: (0, local_node_utils_1.requireCompletePlatformConfig)(fullNode, 'FullNode CLI options'),
137
- },
138
- };
139
- }
140
- if (javaRuntime.url || javaRuntime.checksum) {
141
- options.javaRuntime = {
142
- platforms: {
143
- current: (0, local_node_utils_1.requireCompletePlatformConfig)(javaRuntime, 'Java runtime CLI options'),
144
- },
145
- };
146
- }
147
- return options;
148
- }
149
- exports.parseJavaTronInstallCliOptions = parseJavaTronInstallCliOptions;
150
- async function installJavaTron(options = {}, dependencies = {}) {
151
- const cwd = options.cwd ?? process.cwd();
152
- const cacheDirectory = options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });
153
- const binDirectory = options.binDirectory ?? (0, node_path_1.join)(cwd, 'node_modules', '.bin');
154
- const platformKey = options.platform ?? (0, local_node_utils_1.getPlatformKey)();
155
- const fullNode = (0, local_node_utils_1.mergeArtifactConfig)(exports.JAVA_TRON_DEFAULT_FULL_NODE, options.fullNode);
156
- const javaRuntime = (0, local_node_utils_1.mergeArtifactConfig)(exports.JAVA_TRON_DEFAULT_JAVA_RUNTIME, options.javaRuntime);
157
- const fullNodeConfig = (0, local_node_utils_1.resolvePlatformConfig)(fullNode, platformKey, 'java-tron FullNode');
158
- const javaBinary = options.javaBinary ??
159
- (await installJavaRuntime({
160
- cacheDirectory,
161
- javaRuntime,
162
- platform: platformKey,
163
- }, dependencies));
164
- const fullNodeResult = await installFullNodeJar({
165
- cacheDirectory,
166
- config: fullNodeConfig,
167
- }, dependencies);
168
- const binaryPath = await (0, local_node_utils_1.installExecutableWrapper)({
169
- binDirectory,
170
- commandName: 'java-tron',
171
- executableArgs: ['-jar', fullNodeResult.fullNodeJar],
172
- executablePath: javaBinary,
173
- pathResolution: 'absolute',
174
- });
175
- return {
176
- binaryPath,
177
- cacheHit: fullNodeResult.cacheHit,
178
- checksum: fullNodeConfig.checksum,
179
- fullNodeJar: fullNodeResult.fullNodeJar,
180
- javaBinary,
181
- version: fullNode.version,
182
- };
183
- }
184
- exports.installJavaTron = installJavaTron;
185
- async function cleanJavaTronCache(options = {}) {
186
- const cwd = options.cwd ?? process.cwd();
187
- const cacheDirectory = options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });
188
- await (0, local_node_utils_1.cleanInstallerCache)({
189
- cacheDirectory,
190
- namespace: JAVA_TRON_CACHE_NAMESPACE,
191
- });
192
- }
193
- exports.cleanJavaTronCache = cleanJavaTronCache;
194
- async function installJavaRuntime({ cacheDirectory = getJavaTronCacheDirectory(), javaRuntime = exports.JAVA_TRON_DEFAULT_JAVA_RUNTIME, platform = (0, local_node_utils_1.getPlatformKey)(), } = {}, dependencies = {}) {
195
- const platformConfig = (0, local_node_utils_1.resolvePlatformConfig)(javaRuntime, platform, 'java-tron Java runtime');
196
- const cacheKey = (0, local_node_utils_1.getCacheKey)(platformConfig);
197
- const cacheRoot = (0, node_path_1.join)(cacheDirectory, JAVA_TRON_CACHE_NAMESPACE, JAVA_CACHE_NAMESPACE, cacheKey);
198
- const sourceChecksumPath = (0, node_path_1.join)(cacheRoot, '.source-checksum');
199
- const existingJavaBinary = findJavaBinary(cacheRoot);
200
- if (existingJavaBinary &&
201
- (0, node_fs_1.existsSync)(sourceChecksumPath) &&
202
- (0, node_fs_1.readFileSync)(sourceChecksumPath, 'utf8') === platformConfig.checksum) {
203
- return existingJavaBinary;
204
- }
205
- const tempRoot = `${cacheRoot}.downloading`;
206
- const archivePath = (0, node_path_1.join)(tempRoot, 'java-runtime.tar.gz');
207
- const downloadFile = dependencies.downloadFile ?? local_node_utils_1.downloadFileFromUrl;
208
- const extractArchive = dependencies.extractArchive ?? local_node_utils_1.extractTarGzArchive;
209
- await (0, promises_1.rm)(tempRoot, { force: true, recursive: true });
210
- await (0, promises_1.rm)(cacheRoot, { force: true, recursive: true });
211
- await (0, promises_1.mkdir)(tempRoot, { recursive: true });
212
- try {
213
- await downloadFile(platformConfig.url, archivePath);
214
- await (0, local_node_utils_1.verifyFileChecksum)(archivePath, platformConfig.checksum, 'Downloaded Java runtime');
215
- await extractArchive(archivePath, tempRoot);
216
- const javaBinary = findJavaBinary(tempRoot);
217
- if (!javaBinary) {
218
- throw new Error(`Java runtime archive for ${platform} did not contain bin/java.`);
219
- }
220
- await (0, promises_1.writeFile)((0, node_path_1.join)(tempRoot, '.source-checksum'), platformConfig.checksum);
221
- await (0, promises_1.mkdir)((0, node_path_1.dirname)(cacheRoot), { recursive: true });
222
- await (0, promises_1.rename)(tempRoot, cacheRoot);
223
- return javaBinary.replace(tempRoot, cacheRoot);
224
- }
225
- catch (error) {
226
- await (0, promises_1.rm)(tempRoot, { force: true, recursive: true });
227
- await (0, promises_1.rm)(cacheRoot, { force: true, recursive: true });
228
- throw error;
229
- }
230
- }
231
- exports.installJavaRuntime = installJavaRuntime;
232
- async function installFullNodeJar({ cacheDirectory, config, }, dependencies) {
233
- const cacheKey = (0, local_node_utils_1.getCacheKey)(config);
234
- const cacheRoot = (0, node_path_1.join)(cacheDirectory, JAVA_TRON_CACHE_NAMESPACE, FULL_NODE_CACHE_NAMESPACE, cacheKey);
235
- const fullNodeJar = (0, node_path_1.join)(cacheRoot, 'FullNode.jar');
236
- if ((0, node_fs_1.existsSync)(fullNodeJar)) {
237
- await (0, local_node_utils_1.verifyFileChecksum)(fullNodeJar, config.checksum, 'Cached java-tron FullNode');
238
- return { cacheHit: true, fullNodeJar };
239
- }
240
- const tempRoot = `${cacheRoot}.downloading`;
241
- const tempFullNodeJar = (0, node_path_1.join)(tempRoot, 'FullNode.jar');
242
- const downloadFile = dependencies.downloadFile ?? local_node_utils_1.downloadFileFromUrl;
243
- await (0, promises_1.rm)(tempRoot, { force: true, recursive: true });
244
- await (0, promises_1.rm)(cacheRoot, { force: true, recursive: true });
245
- await (0, promises_1.mkdir)(tempRoot, { recursive: true });
246
- try {
247
- await downloadFile(config.url, tempFullNodeJar);
248
- await (0, local_node_utils_1.verifyFileChecksum)(tempFullNodeJar, config.checksum, 'Downloaded java-tron FullNode');
249
- await (0, promises_1.mkdir)((0, node_path_1.dirname)(cacheRoot), { recursive: true });
250
- await (0, promises_1.rename)(tempRoot, cacheRoot);
251
- return { cacheHit: false, fullNodeJar };
252
- }
253
- catch (error) {
254
- await (0, promises_1.rm)(tempRoot, { force: true, recursive: true });
255
- await (0, promises_1.rm)(cacheRoot, { force: true, recursive: true });
256
- throw error;
257
- }
258
- }
259
- function findJavaBinary(root) {
260
- if (!(0, local_node_utils_1.isDirectory)(root)) {
261
- return undefined;
262
- }
263
- const candidate = (0, node_path_1.join)(root, 'bin', 'java');
264
- if ((0, local_node_utils_1.isFile)(candidate)) {
265
- return candidate;
266
- }
267
- for (const entry of (0, node_fs_1.readdirSync)(root)) {
268
- const child = (0, node_path_1.join)(root, entry);
269
- if (!(0, local_node_utils_1.isDirectory)(child)) {
270
- continue;
271
- }
272
- const found = findJavaBinary(child);
273
- if (found) {
274
- return found;
275
- }
276
- }
277
- return undefined;
278
- }
279
- //# sourceMappingURL=install.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.cjs","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,iEAgBoC;AAMpC,qCAAgE;AAChE,+CAAgE;AAChE,qCAAkC;AAClC,yCAA0C;AAE1C,MAAM,yBAAyB,GAAG,cAAc,CAAC;AACjD,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAC7C,MAAM,oBAAoB,GAAG,MAAM,CAAC;AA6BvB,QAAA,2BAA2B,GAA2B;IACjE,OAAO,EAAE,oBAAoB;IAC7B,SAAS,EAAE;QACT,cAAc,EAAE;YACd,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,SAAW;YACjB,GAAG,EAAE,qGAAqG;SAC3G;QACD,YAAY,EAAE;YACZ,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,SAAW;YACjB,GAAG,EAAE,6FAA6F;SACnG;QACD,aAAa,EAAE;YACb,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,SAAW;YACjB,GAAG,EAAE,qGAAqG;SAC3G;QACD,WAAW,EAAE;YACX,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,SAAW;YACjB,GAAG,EAAE,6FAA6F;SACnG;KACF;CACF,CAAC;AAEW,QAAA,8BAA8B,GAA8B;IACvE,OAAO,EAAE,6BAA6B;IACtC,SAAS,EAAE;QACT,cAAc,EAAE;YACd,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,SAAW;YACjB,GAAG,EAAE,gFAAgF;SACtF;QACD,YAAY,EAAE;YACZ,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,QAAU;YAChB,GAAG,EAAE,6EAA6E;SACnF;QACD,aAAa,EAAE;YACb,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,SAAW;YACjB,GAAG,EAAE,+EAA+E;SACrF;QACD,WAAW,EAAE;YACX,QAAQ,EACN,kEAAkE;YACpE,IAAI,EAAE,QAAU;YAChB,GAAG,EAAE,4EAA4E;SAClF;KACF;CACF,CAAC;AAEF,SAAgB,yBAAyB,CAAC,EACxC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,aAAa,GAAG,IAAA,iBAAO,GAAE,MAIvB,EAAE;IACJ,OAAO,IAAA,4CAAyB,EAAC;QAC/B,GAAG;QACH,aAAa;QACb,QAAQ,EAAE,yBAAyB;KACpC,CAAC,CAAC;AACL,CAAC;AAZD,8DAYC;AAED,SAAgB,yCAAyC,CAAC,EACxD,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,eAAe,MAIb,EAAE;IACJ,MAAM,MAAM,GAAG,IAAA,4CAAyB,EAAC;QACvC,GAAG;QACH,eAAe;QACf,UAAU,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC;KACzD,CAAC,CAAC;IACH,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAkC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAwC,CAAC;IACxE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AA5BD,8FA4BC;AAED,SAAgB,8BAA8B,CAC5C,IAAc;IAEd,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAA4C,EAAE,CAAC;IAC7D,MAAM,WAAW,GAA4C,EAAE,CAAC;IAEhE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE9B,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,iBAAiB;gBACpB,OAAO,CAAC,YAAY,GAAG,IAAA,+BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChD,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,cAAc,GAAG,IAAA,+BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClD,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR,KAAK,sBAAsB;gBACzB,QAAQ,CAAC,QAAQ,GAAG,IAAA,+BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7C,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR,KAAK,iBAAiB;gBACpB,QAAQ,CAAC,GAAG,GAAG,IAAA,+BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxC,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR,KAAK,yBAAyB;gBAC5B,WAAW,CAAC,QAAQ,GAAG,IAAA,+BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChD,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR,KAAK,oBAAoB;gBACvB,WAAW,CAAC,GAAG,GAAG,IAAA,+BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3C,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,QAAQ,GAAG,IAAA,+BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC5C,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG;YACjB,SAAS,EAAE;gBACT,OAAO,EAAE,IAAA,gDAA6B,EACpC,QAAQ,EACR,sBAAsB,CACvB;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,WAAW,GAAG;YACpB,SAAS,EAAE;gBACT,OAAO,EAAE,IAAA,gDAA6B,EACpC,WAAW,EACX,0BAA0B,CAC3B;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AApED,wEAoEC;AAEM,KAAK,UAAU,eAAe,CACnC,UAAkC,EAAE,EACpC,eAA4C,EAAE;IAE9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,IAAI,yBAAyB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,IAAI,IAAA,gBAAI,EAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAA,iCAAc,GAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAA,sCAAmB,EAClC,mCAA2B,EAC3B,OAAO,CAAC,QAAQ,CACjB,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,sCAAmB,EACrC,sCAA8B,EAC9B,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,wCAAqB,EAC1C,QAAQ,EACR,WAAW,EACX,oBAAoB,CACrB,CAAC;IACF,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;QAClB,CAAC,MAAM,kBAAkB,CACvB;YACE,cAAc;YACd,WAAW;YACX,QAAQ,EAAE,WAAW;SACtB,EACD,YAAY,CACb,CAAC,CAAC;IACL,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAC7C;QACE,cAAc;QACd,MAAM,EAAE,cAAc;KACvB,EACD,YAAY,CACb,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,IAAA,2CAAwB,EAAC;QAChD,YAAY;QACZ,WAAW,EAAE,WAAW;QACxB,cAAc,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC;QACpD,cAAc,EAAE,UAAU;QAC1B,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,UAAU;QACV,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC;AAxDD,0CAwDC;AAEM,KAAK,UAAU,kBAAkB,CACtC,UAAkE,EAAE;IAEpE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,IAAI,yBAAyB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE/D,MAAM,IAAA,sCAAmB,EAAC;QACxB,cAAc;QACd,SAAS,EAAE,yBAAyB;KACrC,CAAC,CAAC;AACL,CAAC;AAXD,gDAWC;AAEM,KAAK,UAAU,kBAAkB,CACtC,EACE,cAAc,GAAG,yBAAyB,EAAE,EAC5C,WAAW,GAAG,sCAA8B,EAC5C,QAAQ,GAAG,IAAA,iCAAc,GAAE,MAKzB,EAAE,EACN,eAA4C,EAAE;IAE9C,MAAM,cAAc,GAAG,IAAA,wCAAqB,EAC1C,WAAW,EACX,QAAQ,EACR,wBAAwB,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAA,8BAAW,EAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,gBAAI,EACpB,cAAc,EACd,yBAAyB,EACzB,oBAAoB,EACpB,QAAQ,CACT,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAErD,IACE,kBAAkB;QAClB,IAAA,oBAAU,EAAC,kBAAkB,CAAC;QAC9B,IAAA,sBAAY,EAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,cAAc,CAAC,QAAQ,EACpE,CAAC;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,SAAS,cAAc,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,IAAI,sCAAmB,CAAC;IACtE,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,sCAAmB,CAAC;IAE1E,MAAM,IAAA,aAAE,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,IAAA,aAAE,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAA,gBAAK,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,IAAA,qCAAkB,EACtB,WAAW,EACX,cAAc,CAAC,QAAQ,EACvB,yBAAyB,CAC1B,CAAC;QACF,MAAM,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,4BAA4B,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,IAAA,oBAAS,EACb,IAAA,gBAAI,EAAC,QAAQ,EAAE,kBAAkB,CAAC,EAClC,cAAc,CAAC,QAAQ,CACxB,CAAC;QACF,MAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,IAAA,iBAAM,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAElC,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,aAAE,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,IAAA,aAAE,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAzED,gDAyEC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EACE,cAAc,EACd,MAAM,GAIP,EACD,YAAyC;IAEzC,MAAM,QAAQ,GAAG,IAAA,8BAAW,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAA,gBAAI,EACpB,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,QAAQ,CACT,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEpD,IAAI,IAAA,oBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAA,qCAAkB,EACtB,WAAW,EACX,MAAM,CAAC,QAAQ,EACf,2BAA2B,CAC5B,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,SAAS,cAAc,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,IAAI,sCAAmB,CAAC;IAEtE,MAAM,IAAA,aAAE,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,IAAA,aAAE,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAA,gBAAK,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAChD,MAAM,IAAA,qCAAkB,EACtB,eAAe,EACf,MAAM,CAAC,QAAQ,EACf,+BAA+B,CAChC,CAAC;QACF,MAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,IAAA,iBAAM,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAElC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,aAAE,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,IAAA,aAAE,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAA,yBAAM,EAAC,SAAS,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAA,8BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["/* eslint-disable import-x/no-nodejs-modules, no-restricted-globals */\nimport {\n cleanInstallerCache,\n downloadFileFromUrl,\n extractTarGzArchive,\n getCacheKey,\n getMetamaskCacheDirectory,\n getPlatformKey,\n installExecutableWrapper,\n isDirectory,\n isFile,\n mergeArtifactConfig,\n readCliValue,\n readPackageJsonToolConfig,\n requireCompletePlatformConfig,\n resolvePlatformConfig,\n verifyFileChecksum,\n} from '@metamask/local-node-utils';\nimport type {\n ArtifactConfig,\n ArtifactPlatformConfig,\n InstallDependencies,\n} from '@metamask/local-node-utils';\nimport { existsSync, readdirSync, readFileSync } from 'node:fs';\nimport { mkdir, rename, rm, writeFile } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { dirname, join } from 'node:path';\n\nconst JAVA_TRON_CACHE_NAMESPACE = 'java-tron-up';\nconst FULL_NODE_CACHE_NAMESPACE = 'fullnode';\nconst JAVA_CACHE_NAMESPACE = 'java';\n\nexport type JavaTronArtifactConfig = ArtifactConfig;\n\nexport type JavaTronArtifactPlatformConfig = ArtifactPlatformConfig;\n\nexport type JavaTronJavaRuntimeConfig = JavaTronArtifactConfig;\n\nexport type JavaTronInstallOptions = {\n binDirectory?: string;\n cacheDirectory?: string;\n cwd?: string;\n fullNode?: JavaTronArtifactConfig;\n javaBinary?: string;\n javaRuntime?: JavaTronJavaRuntimeConfig;\n platform?: string;\n};\n\nexport type JavaTronInstallResult = {\n binaryPath: string;\n cacheHit: boolean;\n checksum: string;\n fullNodeJar: string;\n javaBinary: string;\n version?: string;\n};\n\nexport type JavaTronInstallDependencies = InstallDependencies;\n\nexport const JAVA_TRON_DEFAULT_FULL_NODE: JavaTronArtifactConfig = {\n version: 'GreatVoyage-v4.8.1',\n platforms: {\n 'darwin-arm64': {\n checksum:\n '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',\n size: 202_460_186,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',\n },\n 'darwin-x64': {\n checksum:\n '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',\n size: 145_863_030,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',\n },\n 'linux-arm64': {\n checksum:\n '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',\n size: 202_460_186,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',\n },\n 'linux-x64': {\n checksum:\n '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',\n size: 145_863_030,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',\n },\n },\n};\n\nexport const JAVA_TRON_DEFAULT_JAVA_RUNTIME: JavaTronJavaRuntimeConfig = {\n version: 'zulu-java8-x64-java17-arm64',\n platforms: {\n 'darwin-arm64': {\n checksum:\n 'f2bd5afaaaa4c23eb4bf2c78913c7eb7d3d228e44209ffec652fb72388a2f25c',\n size: 192_646_000,\n url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-macosx_aarch64.tar.gz',\n },\n 'darwin-x64': {\n checksum:\n '4ac2efcae5d49afe1f2419ceb09bd3fb4af9df8411ab80184795960fc18fb5f6',\n size: 41_346_500,\n url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-macosx_x64.tar.gz',\n },\n 'linux-arm64': {\n checksum:\n 'c17d5657a673c0cfc099e9d803ed30498495894d7359fd1064d463093ed9850b',\n size: 199_156_000,\n url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-linux_aarch64.tar.gz',\n },\n 'linux-x64': {\n checksum:\n '39abf1dc6798b5f6b8e9dca4e78994da316a3f990e444c2c483ea04f7f882cf2',\n size: 42_504_400,\n url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-linux_x64.tar.gz',\n },\n },\n};\n\nexport function getJavaTronCacheDirectory({\n cwd = process.cwd(),\n homeDirectory = homedir(),\n}: {\n cwd?: string;\n homeDirectory?: string;\n} = {}): string {\n return getMetamaskCacheDirectory({\n cwd,\n homeDirectory,\n toolName: JAVA_TRON_CACHE_NAMESPACE,\n });\n}\n\nexport function readJavaTronInstallOptionsFromPackageJson({\n cwd = process.cwd(),\n packageJsonPath,\n}: {\n cwd?: string;\n packageJsonPath?: string;\n} = {}): JavaTronInstallOptions {\n const config = readPackageJsonToolConfig({\n cwd,\n packageJsonPath,\n configKeys: ['javaTronUp', 'javatronup', 'java-tron-up'],\n });\n const options: JavaTronInstallOptions = {};\n\n if (typeof config.binDirectory === 'string') {\n options.binDirectory = config.binDirectory;\n }\n if (typeof config.cacheDirectory === 'string') {\n options.cacheDirectory = config.cacheDirectory;\n }\n if (config.fullNode && typeof config.fullNode === 'object') {\n options.fullNode = config.fullNode as JavaTronArtifactConfig;\n }\n if (config.javaRuntime && typeof config.javaRuntime === 'object') {\n options.javaRuntime = config.javaRuntime as JavaTronJavaRuntimeConfig;\n }\n\n return options;\n}\n\nexport function parseJavaTronInstallCliOptions(\n args: string[],\n): JavaTronInstallOptions {\n const options: JavaTronInstallOptions = {};\n const fullNode: Partial<JavaTronArtifactPlatformConfig> = {};\n const javaRuntime: Partial<JavaTronArtifactPlatformConfig> = {};\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index];\n const value = args[index + 1];\n\n switch (arg) {\n case '--bin-directory':\n options.binDirectory = readCliValue(arg, value);\n index += 1;\n break;\n case '--cache-directory':\n options.cacheDirectory = readCliValue(arg, value);\n index += 1;\n break;\n case '--full-node-checksum':\n fullNode.checksum = readCliValue(arg, value);\n index += 1;\n break;\n case '--full-node-url':\n fullNode.url = readCliValue(arg, value);\n index += 1;\n break;\n case '--java-runtime-checksum':\n javaRuntime.checksum = readCliValue(arg, value);\n index += 1;\n break;\n case '--java-runtime-url':\n javaRuntime.url = readCliValue(arg, value);\n index += 1;\n break;\n case '--platform':\n options.platform = readCliValue(arg, value);\n index += 1;\n break;\n default:\n throw new Error(`Unknown java-tron-up install option: ${arg}`);\n }\n }\n\n if (fullNode.url || fullNode.checksum) {\n options.fullNode = {\n platforms: {\n current: requireCompletePlatformConfig(\n fullNode,\n 'FullNode CLI options',\n ),\n },\n };\n }\n\n if (javaRuntime.url || javaRuntime.checksum) {\n options.javaRuntime = {\n platforms: {\n current: requireCompletePlatformConfig(\n javaRuntime,\n 'Java runtime CLI options',\n ),\n },\n };\n }\n\n return options;\n}\n\nexport async function installJavaTron(\n options: JavaTronInstallOptions = {},\n dependencies: JavaTronInstallDependencies = {},\n): Promise<JavaTronInstallResult> {\n const cwd = options.cwd ?? process.cwd();\n const cacheDirectory =\n options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });\n const binDirectory =\n options.binDirectory ?? join(cwd, 'node_modules', '.bin');\n const platformKey = options.platform ?? getPlatformKey();\n const fullNode = mergeArtifactConfig(\n JAVA_TRON_DEFAULT_FULL_NODE,\n options.fullNode,\n );\n const javaRuntime = mergeArtifactConfig(\n JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n options.javaRuntime,\n );\n const fullNodeConfig = resolvePlatformConfig(\n fullNode,\n platformKey,\n 'java-tron FullNode',\n );\n const javaBinary =\n options.javaBinary ??\n (await installJavaRuntime(\n {\n cacheDirectory,\n javaRuntime,\n platform: platformKey,\n },\n dependencies,\n ));\n const fullNodeResult = await installFullNodeJar(\n {\n cacheDirectory,\n config: fullNodeConfig,\n },\n dependencies,\n );\n const binaryPath = await installExecutableWrapper({\n binDirectory,\n commandName: 'java-tron',\n executableArgs: ['-jar', fullNodeResult.fullNodeJar],\n executablePath: javaBinary,\n pathResolution: 'absolute',\n });\n\n return {\n binaryPath,\n cacheHit: fullNodeResult.cacheHit,\n checksum: fullNodeConfig.checksum,\n fullNodeJar: fullNodeResult.fullNodeJar,\n javaBinary,\n version: fullNode.version,\n };\n}\n\nexport async function cleanJavaTronCache(\n options: Pick<JavaTronInstallOptions, 'cacheDirectory' | 'cwd'> = {},\n): Promise<void> {\n const cwd = options.cwd ?? process.cwd();\n const cacheDirectory =\n options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });\n\n await cleanInstallerCache({\n cacheDirectory,\n namespace: JAVA_TRON_CACHE_NAMESPACE,\n });\n}\n\nexport async function installJavaRuntime(\n {\n cacheDirectory = getJavaTronCacheDirectory(),\n javaRuntime = JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n platform = getPlatformKey(),\n }: {\n cacheDirectory?: string;\n javaRuntime?: JavaTronJavaRuntimeConfig;\n platform?: string;\n } = {},\n dependencies: JavaTronInstallDependencies = {},\n): Promise<string> {\n const platformConfig = resolvePlatformConfig(\n javaRuntime,\n platform,\n 'java-tron Java runtime',\n );\n const cacheKey = getCacheKey(platformConfig);\n const cacheRoot = join(\n cacheDirectory,\n JAVA_TRON_CACHE_NAMESPACE,\n JAVA_CACHE_NAMESPACE,\n cacheKey,\n );\n const sourceChecksumPath = join(cacheRoot, '.source-checksum');\n const existingJavaBinary = findJavaBinary(cacheRoot);\n\n if (\n existingJavaBinary &&\n existsSync(sourceChecksumPath) &&\n readFileSync(sourceChecksumPath, 'utf8') === platformConfig.checksum\n ) {\n return existingJavaBinary;\n }\n\n const tempRoot = `${cacheRoot}.downloading`;\n const archivePath = join(tempRoot, 'java-runtime.tar.gz');\n const downloadFile = dependencies.downloadFile ?? downloadFileFromUrl;\n const extractArchive = dependencies.extractArchive ?? extractTarGzArchive;\n\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n await mkdir(tempRoot, { recursive: true });\n\n try {\n await downloadFile(platformConfig.url, archivePath);\n await verifyFileChecksum(\n archivePath,\n platformConfig.checksum,\n 'Downloaded Java runtime',\n );\n await extractArchive(archivePath, tempRoot);\n\n const javaBinary = findJavaBinary(tempRoot);\n if (!javaBinary) {\n throw new Error(\n `Java runtime archive for ${platform} did not contain bin/java.`,\n );\n }\n\n await writeFile(\n join(tempRoot, '.source-checksum'),\n platformConfig.checksum,\n );\n await mkdir(dirname(cacheRoot), { recursive: true });\n await rename(tempRoot, cacheRoot);\n\n return javaBinary.replace(tempRoot, cacheRoot);\n } catch (error) {\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n throw error;\n }\n}\n\nasync function installFullNodeJar(\n {\n cacheDirectory,\n config,\n }: {\n cacheDirectory: string;\n config: JavaTronArtifactPlatformConfig;\n },\n dependencies: JavaTronInstallDependencies,\n): Promise<{ cacheHit: boolean; fullNodeJar: string }> {\n const cacheKey = getCacheKey(config);\n const cacheRoot = join(\n cacheDirectory,\n JAVA_TRON_CACHE_NAMESPACE,\n FULL_NODE_CACHE_NAMESPACE,\n cacheKey,\n );\n const fullNodeJar = join(cacheRoot, 'FullNode.jar');\n\n if (existsSync(fullNodeJar)) {\n await verifyFileChecksum(\n fullNodeJar,\n config.checksum,\n 'Cached java-tron FullNode',\n );\n return { cacheHit: true, fullNodeJar };\n }\n\n const tempRoot = `${cacheRoot}.downloading`;\n const tempFullNodeJar = join(tempRoot, 'FullNode.jar');\n const downloadFile = dependencies.downloadFile ?? downloadFileFromUrl;\n\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n await mkdir(tempRoot, { recursive: true });\n\n try {\n await downloadFile(config.url, tempFullNodeJar);\n await verifyFileChecksum(\n tempFullNodeJar,\n config.checksum,\n 'Downloaded java-tron FullNode',\n );\n await mkdir(dirname(cacheRoot), { recursive: true });\n await rename(tempRoot, cacheRoot);\n\n return { cacheHit: false, fullNodeJar };\n } catch (error) {\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n throw error;\n }\n}\n\nfunction findJavaBinary(root: string): string | undefined {\n if (!isDirectory(root)) {\n return undefined;\n }\n\n const candidate = join(root, 'bin', 'java');\n if (isFile(candidate)) {\n return candidate;\n }\n\n for (const entry of readdirSync(root)) {\n const child = join(root, entry);\n if (!isDirectory(child)) {\n continue;\n }\n\n const found = findJavaBinary(child);\n if (found) {\n return found;\n }\n }\n\n return undefined;\n}\n"]}
@@ -1,41 +0,0 @@
1
- import type { ArtifactConfig, ArtifactPlatformConfig, InstallDependencies } from "@metamask/local-node-utils";
2
- export type JavaTronArtifactConfig = ArtifactConfig;
3
- export type JavaTronArtifactPlatformConfig = ArtifactPlatformConfig;
4
- export type JavaTronJavaRuntimeConfig = JavaTronArtifactConfig;
5
- export type JavaTronInstallOptions = {
6
- binDirectory?: string;
7
- cacheDirectory?: string;
8
- cwd?: string;
9
- fullNode?: JavaTronArtifactConfig;
10
- javaBinary?: string;
11
- javaRuntime?: JavaTronJavaRuntimeConfig;
12
- platform?: string;
13
- };
14
- export type JavaTronInstallResult = {
15
- binaryPath: string;
16
- cacheHit: boolean;
17
- checksum: string;
18
- fullNodeJar: string;
19
- javaBinary: string;
20
- version?: string;
21
- };
22
- export type JavaTronInstallDependencies = InstallDependencies;
23
- export declare const JAVA_TRON_DEFAULT_FULL_NODE: JavaTronArtifactConfig;
24
- export declare const JAVA_TRON_DEFAULT_JAVA_RUNTIME: JavaTronJavaRuntimeConfig;
25
- export declare function getJavaTronCacheDirectory({ cwd, homeDirectory, }?: {
26
- cwd?: string;
27
- homeDirectory?: string;
28
- }): string;
29
- export declare function readJavaTronInstallOptionsFromPackageJson({ cwd, packageJsonPath, }?: {
30
- cwd?: string;
31
- packageJsonPath?: string;
32
- }): JavaTronInstallOptions;
33
- export declare function parseJavaTronInstallCliOptions(args: string[]): JavaTronInstallOptions;
34
- export declare function installJavaTron(options?: JavaTronInstallOptions, dependencies?: JavaTronInstallDependencies): Promise<JavaTronInstallResult>;
35
- export declare function cleanJavaTronCache(options?: Pick<JavaTronInstallOptions, 'cacheDirectory' | 'cwd'>): Promise<void>;
36
- export declare function installJavaRuntime({ cacheDirectory, javaRuntime, platform, }?: {
37
- cacheDirectory?: string;
38
- javaRuntime?: JavaTronJavaRuntimeConfig;
39
- platform?: string;
40
- }, dependencies?: JavaTronInstallDependencies): Promise<string>;
41
- //# sourceMappingURL=install.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.d.cts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,mCAAmC;AAUpC,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAEpD,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAEpE,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAE9D,eAAO,MAAM,2BAA2B,EAAE,sBA4BzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,yBA4B5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACxC,GAAmB,EACnB,aAAyB,GAC1B,GAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAMd;AAED,wBAAgB,yCAAyC,CAAC,EACxD,GAAmB,EACnB,eAAe,GAChB,GAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,sBAAsB,CAsB9B;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EAAE,GACb,sBAAsB,CAkExB;AAED,wBAAsB,eAAe,CACnC,OAAO,GAAE,sBAA2B,EACpC,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,CAqDhC;AAED,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,GAAG,KAAK,CAAM,GACnE,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,kBAAkB,CACtC,EACE,cAA4C,EAC5C,WAA4C,EAC5C,QAA2B,GAC5B,GAAE;IACD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,EACN,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,MAAM,CAAC,CA8DjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.d.mts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,mCAAmC;AAUpC,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAEpD,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAEpE,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAE9D,eAAO,MAAM,2BAA2B,EAAE,sBA4BzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,yBA4B5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACxC,GAAmB,EACnB,aAAyB,GAC1B,GAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAMd;AAED,wBAAgB,yCAAyC,CAAC,EACxD,GAAmB,EACnB,eAAe,GAChB,GAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,sBAAsB,CAsB9B;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EAAE,GACb,sBAAsB,CAkExB;AAED,wBAAsB,eAAe,CACnC,OAAO,GAAE,sBAA2B,EACpC,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,CAqDhC;AAED,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,GAAG,KAAK,CAAM,GACnE,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,kBAAkB,CACtC,EACE,cAA4C,EAC5C,WAA4C,EAC5C,QAA2B,GAC5B,GAAE;IACD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,EACN,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,MAAM,CAAC,CA8DjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.mjs","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import-x/no-nodejs-modules, no-restricted-globals */\nimport {\n cleanInstallerCache,\n downloadFileFromUrl,\n extractTarGzArchive,\n getCacheKey,\n getMetamaskCacheDirectory,\n getPlatformKey,\n installExecutableWrapper,\n isDirectory,\n isFile,\n mergeArtifactConfig,\n readCliValue,\n readPackageJsonToolConfig,\n requireCompletePlatformConfig,\n resolvePlatformConfig,\n verifyFileChecksum,\n} from '@metamask/local-node-utils';\nimport type {\n ArtifactConfig,\n ArtifactPlatformConfig,\n InstallDependencies,\n} from '@metamask/local-node-utils';\nimport { existsSync, readdirSync, readFileSync } from 'node:fs';\nimport { mkdir, rename, rm, writeFile } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { dirname, join } from 'node:path';\n\nconst JAVA_TRON_CACHE_NAMESPACE = 'java-tron-up';\nconst FULL_NODE_CACHE_NAMESPACE = 'fullnode';\nconst JAVA_CACHE_NAMESPACE = 'java';\n\nexport type JavaTronArtifactConfig = ArtifactConfig;\n\nexport type JavaTronArtifactPlatformConfig = ArtifactPlatformConfig;\n\nexport type JavaTronJavaRuntimeConfig = JavaTronArtifactConfig;\n\nexport type JavaTronInstallOptions = {\n binDirectory?: string;\n cacheDirectory?: string;\n cwd?: string;\n fullNode?: JavaTronArtifactConfig;\n javaBinary?: string;\n javaRuntime?: JavaTronJavaRuntimeConfig;\n platform?: string;\n};\n\nexport type JavaTronInstallResult = {\n binaryPath: string;\n cacheHit: boolean;\n checksum: string;\n fullNodeJar: string;\n javaBinary: string;\n version?: string;\n};\n\nexport type JavaTronInstallDependencies = InstallDependencies;\n\nexport const JAVA_TRON_DEFAULT_FULL_NODE: JavaTronArtifactConfig = {\n version: 'GreatVoyage-v4.8.1',\n platforms: {\n 'darwin-arm64': {\n checksum:\n '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',\n size: 202_460_186,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',\n },\n 'darwin-x64': {\n checksum:\n '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',\n size: 145_863_030,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',\n },\n 'linux-arm64': {\n checksum:\n '694431860ee76fc986ed495f9ec19f29ed3bd752a394386e7b3b9886b2292f59',\n size: 202_460_186,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode-aarch64.jar',\n },\n 'linux-x64': {\n checksum:\n '0e67b2fe75d7077750e73c4fa20725c6e9824657275d96be256ae5da681f9945',\n size: 145_863_030,\n url: 'https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.8.1/FullNode.jar',\n },\n },\n};\n\nexport const JAVA_TRON_DEFAULT_JAVA_RUNTIME: JavaTronJavaRuntimeConfig = {\n version: 'zulu-java8-x64-java17-arm64',\n platforms: {\n 'darwin-arm64': {\n checksum:\n 'f2bd5afaaaa4c23eb4bf2c78913c7eb7d3d228e44209ffec652fb72388a2f25c',\n size: 192_646_000,\n url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-macosx_aarch64.tar.gz',\n },\n 'darwin-x64': {\n checksum:\n '4ac2efcae5d49afe1f2419ceb09bd3fb4af9df8411ab80184795960fc18fb5f6',\n size: 41_346_500,\n url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-macosx_x64.tar.gz',\n },\n 'linux-arm64': {\n checksum:\n 'c17d5657a673c0cfc099e9d803ed30498495894d7359fd1064d463093ed9850b',\n size: 199_156_000,\n url: 'https://cdn.azul.com/zulu/bin/zulu17.66.19-ca-jdk17.0.19-linux_aarch64.tar.gz',\n },\n 'linux-x64': {\n checksum:\n '39abf1dc6798b5f6b8e9dca4e78994da316a3f990e444c2c483ea04f7f882cf2',\n size: 42_504_400,\n url: 'https://cdn.azul.com/zulu/bin/zulu8.94.0.17-ca-jre8.0.492-linux_x64.tar.gz',\n },\n },\n};\n\nexport function getJavaTronCacheDirectory({\n cwd = process.cwd(),\n homeDirectory = homedir(),\n}: {\n cwd?: string;\n homeDirectory?: string;\n} = {}): string {\n return getMetamaskCacheDirectory({\n cwd,\n homeDirectory,\n toolName: JAVA_TRON_CACHE_NAMESPACE,\n });\n}\n\nexport function readJavaTronInstallOptionsFromPackageJson({\n cwd = process.cwd(),\n packageJsonPath,\n}: {\n cwd?: string;\n packageJsonPath?: string;\n} = {}): JavaTronInstallOptions {\n const config = readPackageJsonToolConfig({\n cwd,\n packageJsonPath,\n configKeys: ['javaTronUp', 'javatronup', 'java-tron-up'],\n });\n const options: JavaTronInstallOptions = {};\n\n if (typeof config.binDirectory === 'string') {\n options.binDirectory = config.binDirectory;\n }\n if (typeof config.cacheDirectory === 'string') {\n options.cacheDirectory = config.cacheDirectory;\n }\n if (config.fullNode && typeof config.fullNode === 'object') {\n options.fullNode = config.fullNode as JavaTronArtifactConfig;\n }\n if (config.javaRuntime && typeof config.javaRuntime === 'object') {\n options.javaRuntime = config.javaRuntime as JavaTronJavaRuntimeConfig;\n }\n\n return options;\n}\n\nexport function parseJavaTronInstallCliOptions(\n args: string[],\n): JavaTronInstallOptions {\n const options: JavaTronInstallOptions = {};\n const fullNode: Partial<JavaTronArtifactPlatformConfig> = {};\n const javaRuntime: Partial<JavaTronArtifactPlatformConfig> = {};\n\n for (let index = 0; index < args.length; index += 1) {\n const arg = args[index];\n const value = args[index + 1];\n\n switch (arg) {\n case '--bin-directory':\n options.binDirectory = readCliValue(arg, value);\n index += 1;\n break;\n case '--cache-directory':\n options.cacheDirectory = readCliValue(arg, value);\n index += 1;\n break;\n case '--full-node-checksum':\n fullNode.checksum = readCliValue(arg, value);\n index += 1;\n break;\n case '--full-node-url':\n fullNode.url = readCliValue(arg, value);\n index += 1;\n break;\n case '--java-runtime-checksum':\n javaRuntime.checksum = readCliValue(arg, value);\n index += 1;\n break;\n case '--java-runtime-url':\n javaRuntime.url = readCliValue(arg, value);\n index += 1;\n break;\n case '--platform':\n options.platform = readCliValue(arg, value);\n index += 1;\n break;\n default:\n throw new Error(`Unknown java-tron-up install option: ${arg}`);\n }\n }\n\n if (fullNode.url || fullNode.checksum) {\n options.fullNode = {\n platforms: {\n current: requireCompletePlatformConfig(\n fullNode,\n 'FullNode CLI options',\n ),\n },\n };\n }\n\n if (javaRuntime.url || javaRuntime.checksum) {\n options.javaRuntime = {\n platforms: {\n current: requireCompletePlatformConfig(\n javaRuntime,\n 'Java runtime CLI options',\n ),\n },\n };\n }\n\n return options;\n}\n\nexport async function installJavaTron(\n options: JavaTronInstallOptions = {},\n dependencies: JavaTronInstallDependencies = {},\n): Promise<JavaTronInstallResult> {\n const cwd = options.cwd ?? process.cwd();\n const cacheDirectory =\n options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });\n const binDirectory =\n options.binDirectory ?? join(cwd, 'node_modules', '.bin');\n const platformKey = options.platform ?? getPlatformKey();\n const fullNode = mergeArtifactConfig(\n JAVA_TRON_DEFAULT_FULL_NODE,\n options.fullNode,\n );\n const javaRuntime = mergeArtifactConfig(\n JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n options.javaRuntime,\n );\n const fullNodeConfig = resolvePlatformConfig(\n fullNode,\n platformKey,\n 'java-tron FullNode',\n );\n const javaBinary =\n options.javaBinary ??\n (await installJavaRuntime(\n {\n cacheDirectory,\n javaRuntime,\n platform: platformKey,\n },\n dependencies,\n ));\n const fullNodeResult = await installFullNodeJar(\n {\n cacheDirectory,\n config: fullNodeConfig,\n },\n dependencies,\n );\n const binaryPath = await installExecutableWrapper({\n binDirectory,\n commandName: 'java-tron',\n executableArgs: ['-jar', fullNodeResult.fullNodeJar],\n executablePath: javaBinary,\n pathResolution: 'absolute',\n });\n\n return {\n binaryPath,\n cacheHit: fullNodeResult.cacheHit,\n checksum: fullNodeConfig.checksum,\n fullNodeJar: fullNodeResult.fullNodeJar,\n javaBinary,\n version: fullNode.version,\n };\n}\n\nexport async function cleanJavaTronCache(\n options: Pick<JavaTronInstallOptions, 'cacheDirectory' | 'cwd'> = {},\n): Promise<void> {\n const cwd = options.cwd ?? process.cwd();\n const cacheDirectory =\n options.cacheDirectory ?? getJavaTronCacheDirectory({ cwd });\n\n await cleanInstallerCache({\n cacheDirectory,\n namespace: JAVA_TRON_CACHE_NAMESPACE,\n });\n}\n\nexport async function installJavaRuntime(\n {\n cacheDirectory = getJavaTronCacheDirectory(),\n javaRuntime = JAVA_TRON_DEFAULT_JAVA_RUNTIME,\n platform = getPlatformKey(),\n }: {\n cacheDirectory?: string;\n javaRuntime?: JavaTronJavaRuntimeConfig;\n platform?: string;\n } = {},\n dependencies: JavaTronInstallDependencies = {},\n): Promise<string> {\n const platformConfig = resolvePlatformConfig(\n javaRuntime,\n platform,\n 'java-tron Java runtime',\n );\n const cacheKey = getCacheKey(platformConfig);\n const cacheRoot = join(\n cacheDirectory,\n JAVA_TRON_CACHE_NAMESPACE,\n JAVA_CACHE_NAMESPACE,\n cacheKey,\n );\n const sourceChecksumPath = join(cacheRoot, '.source-checksum');\n const existingJavaBinary = findJavaBinary(cacheRoot);\n\n if (\n existingJavaBinary &&\n existsSync(sourceChecksumPath) &&\n readFileSync(sourceChecksumPath, 'utf8') === platformConfig.checksum\n ) {\n return existingJavaBinary;\n }\n\n const tempRoot = `${cacheRoot}.downloading`;\n const archivePath = join(tempRoot, 'java-runtime.tar.gz');\n const downloadFile = dependencies.downloadFile ?? downloadFileFromUrl;\n const extractArchive = dependencies.extractArchive ?? extractTarGzArchive;\n\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n await mkdir(tempRoot, { recursive: true });\n\n try {\n await downloadFile(platformConfig.url, archivePath);\n await verifyFileChecksum(\n archivePath,\n platformConfig.checksum,\n 'Downloaded Java runtime',\n );\n await extractArchive(archivePath, tempRoot);\n\n const javaBinary = findJavaBinary(tempRoot);\n if (!javaBinary) {\n throw new Error(\n `Java runtime archive for ${platform} did not contain bin/java.`,\n );\n }\n\n await writeFile(\n join(tempRoot, '.source-checksum'),\n platformConfig.checksum,\n );\n await mkdir(dirname(cacheRoot), { recursive: true });\n await rename(tempRoot, cacheRoot);\n\n return javaBinary.replace(tempRoot, cacheRoot);\n } catch (error) {\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n throw error;\n }\n}\n\nasync function installFullNodeJar(\n {\n cacheDirectory,\n config,\n }: {\n cacheDirectory: string;\n config: JavaTronArtifactPlatformConfig;\n },\n dependencies: JavaTronInstallDependencies,\n): Promise<{ cacheHit: boolean; fullNodeJar: string }> {\n const cacheKey = getCacheKey(config);\n const cacheRoot = join(\n cacheDirectory,\n JAVA_TRON_CACHE_NAMESPACE,\n FULL_NODE_CACHE_NAMESPACE,\n cacheKey,\n );\n const fullNodeJar = join(cacheRoot, 'FullNode.jar');\n\n if (existsSync(fullNodeJar)) {\n await verifyFileChecksum(\n fullNodeJar,\n config.checksum,\n 'Cached java-tron FullNode',\n );\n return { cacheHit: true, fullNodeJar };\n }\n\n const tempRoot = `${cacheRoot}.downloading`;\n const tempFullNodeJar = join(tempRoot, 'FullNode.jar');\n const downloadFile = dependencies.downloadFile ?? downloadFileFromUrl;\n\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n await mkdir(tempRoot, { recursive: true });\n\n try {\n await downloadFile(config.url, tempFullNodeJar);\n await verifyFileChecksum(\n tempFullNodeJar,\n config.checksum,\n 'Downloaded java-tron FullNode',\n );\n await mkdir(dirname(cacheRoot), { recursive: true });\n await rename(tempRoot, cacheRoot);\n\n return { cacheHit: false, fullNodeJar };\n } catch (error) {\n await rm(tempRoot, { force: true, recursive: true });\n await rm(cacheRoot, { force: true, recursive: true });\n throw error;\n }\n}\n\nfunction findJavaBinary(root: string): string | undefined {\n if (!isDirectory(root)) {\n return undefined;\n }\n\n const candidate = join(root, 'bin', 'java');\n if (isFile(candidate)) {\n return candidate;\n }\n\n for (const entry of readdirSync(root)) {\n const child = join(root, entry);\n if (!isDirectory(child)) {\n continue;\n }\n\n const found = findJavaBinary(child);\n if (found) {\n return found;\n }\n }\n\n return undefined;\n}\n"]}