@layerzerolabs/vm-tooling-stellar 1.2.12 → 1.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{YKDO3PL4.js → PY5UWW6H.js} +6 -3
- package/dist/PY5UWW6H.js.map +1 -0
- package/dist/Z66N4WL7.js +43 -0
- package/dist/Z66N4WL7.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/scoped-workspace-pruner.d.ts +3 -0
- package/dist/scoped-workspace-pruner.d.ts.map +1 -0
- package/dist/scoped-workspace-pruner.js +4 -0
- package/dist/scoped-workspace-pruner.js.map +1 -0
- package/dist/scripts/generate-github-matrix.js +2 -1
- package/dist/scripts/generate-github-matrix.js.map +1 -1
- package/package.json +9 -7
- package/dist/YKDO3PL4.js.map +0 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { createStellarScopedWorkspacePruner } from './Z66N4WL7.js';
|
|
1
2
|
import { syncToolchain } from './PFRVJTS7.js';
|
|
2
3
|
import { DockerRegistryMirror } from '@layerzerolabs/vm-tooling';
|
|
3
4
|
|
|
5
|
+
var scopedWorkspacePruner = createStellarScopedWorkspacePruner();
|
|
4
6
|
var tools = [
|
|
5
7
|
{
|
|
6
8
|
name: "stellar",
|
|
7
9
|
preExecute: syncToolchain,
|
|
8
10
|
dockerPlatform: "linux/amd64",
|
|
11
|
+
scopedWorkspacePruner,
|
|
9
12
|
defaultVolumes: [
|
|
10
13
|
// NOTE: for configuration commands, you should never put it in your package.json#build or #test, since the config is locked for parallel builds
|
|
11
14
|
// while common commands like contract build and binding generation are allowed since they are not writing to the config files
|
|
@@ -30,7 +33,7 @@ var tools = [
|
|
|
30
33
|
name: "stellar-rustup",
|
|
31
34
|
shared: true
|
|
32
35
|
},
|
|
33
|
-
// safe as the
|
|
36
|
+
// safe as the worst case of corruption is cache miss, since it is key-based cache, concurrent writes will produce identical content
|
|
34
37
|
{
|
|
35
38
|
type: "host",
|
|
36
39
|
containerPath: "/cache/sccache",
|
|
@@ -106,5 +109,5 @@ var versionCombinations = [
|
|
|
106
109
|
];
|
|
107
110
|
|
|
108
111
|
export { images, tools, versionCombinations };
|
|
109
|
-
//# sourceMappingURL=
|
|
110
|
-
//# sourceMappingURL=
|
|
112
|
+
//# sourceMappingURL=PY5UWW6H.js.map
|
|
113
|
+
//# sourceMappingURL=PY5UWW6H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config.ts"],"names":["scopedWorkspacePruner","createStellarScopedWorkspacePruner","tools","name","preExecute","syncToolchain","dockerPlatform","defaultVolumes","type","containerPath","shared","hostPath","defaultEnv","value","images","versions","stellar","patch","mirrorRegistries","DockerRegistryMirror","PUBLIC_GAR","dependencies","rust","versionCombinations","description","stable"],"mappings":";;;;AAUA,IAAMA,wBAAwBC,kCAAAA,EAAAA;AAEvB,IAAMC,KAAAA,GAAoC;AAC7C,EAAA;IACIC,IAAAA,EAAM,SAAA;IACNC,UAAAA,EAAYC,aAAAA;IACZC,cAAAA,EAAgB,aAAA;AAChBN,IAAAA,qBAAAA;IACAO,cAAAA,EAAgB;;;AAGZ,MAAA;QACIC,IAAAA,EAAM,SAAA;QACNC,aAAAA,EAAe,gBAAA;QACfN,IAAAA,EAAM,gBAAA;QACNO,MAAAA,EAAQ;AACZ,OAAA;;AAEA,MAAA;QACIF,IAAAA,EAAM,SAAA;QACNC,aAAAA,EAAe,cAAA;QACfN,IAAAA,EAAM,eAAA;QACNO,MAAAA,EAAQ;AACZ,OAAA;;;AAGA,MAAA;QACIF,IAAAA,EAAM,SAAA;QACNC,aAAAA,EAAe,eAAA;QACfN,IAAAA,EAAM,gBAAA;QACNO,MAAAA,EAAQ;AACZ,OAAA;;AAEA,MAAA;QACIF,IAAAA,EAAM,MAAA;QACNC,aAAAA,EAAe,gBAAA;QACfE,QAAAA,EAAU;AACd;;IAEJC,UAAAA,EAAY;;AAER,MAAA;QAAET,IAAAA,EAAM,eAAA;QAAiBU,KAAAA,EAAO;AAAyB,OAAA;;AAEzD,MAAA;QAAEV,IAAAA,EAAM,8CAAA;QAAgDU,KAAAA,EAAO;AAAQ,OAAA;AACvE,MAAA;QAAEV,IAAAA,EAAM,+CAAA;QAAiDU,KAAAA,EAAO;AAAQ,OAAA;AACxE,MAAA;QACIV,IAAAA,EAAM,iDAAA;QACNU,KAAAA,EAAO;AACX,OAAA;AACA,MAAA;QACIV,IAAAA,EAAM,kDAAA;QACNU,KAAAA,EAAO;AACX;;AAER;;AAGG,IAAMC,MAAAA,GAAS;AAClB,EAAA,CAAC,gCAAA,GAAmC;IAChCX,IAAAA,EAAM,SAAA;IACNY,QAAAA,EAAU;MACNC,OAAAA,EAAS;AACb,KAAA;IACAC,KAAAA,EAAO,CAAA;IACPC,gBAAAA,EAAkB;MAACC,oBAAAA,CAAqBC;;AAC5C,GAAA;AACA,EAAA,CAAC,gCAAA,GAAmC;IAChCjB,IAAAA,EAAM,SAAA;IACNY,QAAAA,EAAU;MACNC,OAAAA,EAAS;AACb,KAAA;IACAC,KAAAA,EAAO,CAAA;IACPI,YAAAA,EAAc;MACVC,IAAAA,EAAM;AACV,KAAA;IACAJ,gBAAAA,EAAkB;MAACC,oBAAAA,CAAqBC;;AAC5C;AACJ;AAIO,IAAMG,mBAAAA,GACT;AACI,EAAA;IACIT,MAAAA,EAAQ;MACJE,OAAAA,EAAS;AACb,KAAA;IACAQ,WAAAA,EAAa,uBAAA;IACbC,MAAAA,EAAQ;AACZ,GAAA;AACA,EAAA;IACIX,MAAAA,EAAQ;MACJE,OAAAA,EAAS;AACb,KAAA;IACAQ,WAAAA,EAAa,gBAAA;IACbC,MAAAA,EAAQ;AACZ","file":"PY5UWW6H.js","sourcesContent":["import {\n DockerRegistryMirror,\n type Image,\n type Tool,\n type VersionCombination,\n} from '@layerzerolabs/vm-tooling';\n\nimport { syncToolchain } from './commands/sync-toolchain';\nimport { createStellarScopedWorkspacePruner } from './scoped-workspace-pruner';\n\nconst scopedWorkspacePruner = createStellarScopedWorkspacePruner();\n\nexport const tools: readonly [Tool, ...Tool[]] = [\n {\n name: 'stellar',\n preExecute: syncToolchain,\n dockerPlatform: 'linux/amd64',\n scopedWorkspacePruner,\n defaultVolumes: [\n // NOTE: for configuration commands, you should never put it in your package.json#build or #test, since the config is locked for parallel builds\n // while common commands like contract build and binding generation are allowed since they are not writing to the config files\n {\n type: 'isolate',\n containerPath: '/cache/stellar',\n name: 'stellar-config',\n shared: true,\n },\n // safe to be unlocked as it is POSIX lock guarded\n {\n type: 'isolate',\n containerPath: '/cache/cargo',\n name: 'stellar-cargo',\n shared: true,\n },\n // shared across packages — toolchain is pre-synced via `sync-toolchain` (locked)\n // so concurrent reads from build/test/lint are safe\n {\n type: 'isolate',\n containerPath: '/cache/rustup',\n name: 'stellar-rustup',\n shared: true,\n },\n // safe as the worst case of corruption is cache miss, since it is key-based cache, concurrent writes will produce identical content\n {\n type: 'host',\n containerPath: '/cache/sccache',\n hostPath: '~/.sccache',\n },\n ],\n defaultEnv: [\n // sccache configuration\n { name: 'RUSTC_WRAPPER', value: '/usr/local/bin/sccache' },\n // mold linker for faster linking\n { name: 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER', value: 'clang' },\n { name: 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER', value: 'clang' },\n {\n name: 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS',\n value: '-C link-arg=-fuse-ld=mold',\n },\n {\n name: 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS',\n value: '-C link-arg=-fuse-ld=mold',\n },\n ],\n },\n];\n\nexport const images = {\n ['stellar:stellar-25.1.0-patch-2']: {\n name: 'stellar',\n versions: {\n stellar: '25.1.0',\n },\n patch: 2,\n mirrorRegistries: [DockerRegistryMirror.PUBLIC_GAR],\n },\n ['stellar:stellar-25.2.0-patch-1']: {\n name: 'stellar',\n versions: {\n stellar: '25.2.0',\n },\n patch: 1,\n dependencies: {\n rust: '1.91.0',\n },\n mirrorRegistries: [DockerRegistryMirror.PUBLIC_GAR],\n },\n} satisfies Record<string, Image>;\n\nexport type ImageId = keyof typeof images;\n\nexport const versionCombinations: [VersionCombination<ImageId>, ...VersionCombination<ImageId>[]] =\n [\n {\n images: {\n stellar: 'stellar:stellar-25.1.0-patch-2',\n },\n description: 'Latest stable release',\n stable: true,\n },\n {\n images: {\n stellar: 'stellar:stellar-25.2.0-patch-1',\n },\n description: 'Stellar 25.2.0',\n stable: true,\n },\n ];\n"]}
|
package/dist/Z66N4WL7.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { __name } from './VUOMXK5T.js';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import pLimit from 'p-limit';
|
|
4
|
+
import { pathExists } from '@layerzerolabs/common-node-utils';
|
|
5
|
+
import { DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS } from '@layerzerolabs/vm-tooling';
|
|
6
|
+
|
|
7
|
+
var createStellarScopedWorkspacePruner = /* @__PURE__ */ __name(() => ({
|
|
8
|
+
name: "stellar",
|
|
9
|
+
createPrunePlan: /* @__PURE__ */ __name(async ({ dependencyGraph }) => {
|
|
10
|
+
const packagePatterns = {};
|
|
11
|
+
const limit = pLimit(10);
|
|
12
|
+
await Promise.all(dependencyGraph.includedWorkspaceDependencies.map((dependency) => limit(async () => {
|
|
13
|
+
if (dependency.name === "@layerzerolabs/stellar-ts-bindings-gen") {
|
|
14
|
+
packagePatterns[dependency.relativePath] = [
|
|
15
|
+
"**/*",
|
|
16
|
+
...DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS
|
|
17
|
+
];
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (await pathExists(join(dependency.absolutePath, "Cargo.toml"))) {
|
|
21
|
+
packagePatterns[dependency.relativePath] = [
|
|
22
|
+
"target/wasm32v1-none/release/*.d",
|
|
23
|
+
"target/wasm32v1-none/release/*.wasm",
|
|
24
|
+
".artifacts/**/*.wasm"
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
})));
|
|
28
|
+
const includedPackageCount = Object.keys(packagePatterns).length;
|
|
29
|
+
return {
|
|
30
|
+
patterns: [
|
|
31
|
+
"!**/**"
|
|
32
|
+
],
|
|
33
|
+
packagePatterns,
|
|
34
|
+
diagnostics: [
|
|
35
|
+
`Stellar scoped-workspace pruner selected files from ${includedPackageCount} workspace dependency package(s).`
|
|
36
|
+
]
|
|
37
|
+
};
|
|
38
|
+
}, "createPrunePlan")
|
|
39
|
+
}), "createStellarScopedWorkspacePruner");
|
|
40
|
+
|
|
41
|
+
export { createStellarScopedWorkspacePruner };
|
|
42
|
+
//# sourceMappingURL=Z66N4WL7.js.map
|
|
43
|
+
//# sourceMappingURL=Z66N4WL7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/scoped-workspace-pruner.ts"],"names":["createStellarScopedWorkspacePruner","name","createPrunePlan","dependencyGraph","packagePatterns","limit","pLimit","Promise","all","includedWorkspaceDependencies","map","dependency","relativePath","DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS","pathExists","join","absolutePath","includedPackageCount","Object","keys","length","patterns","diagnostics"],"mappings":";;;;;;AASO,IAAMA,qDAAqC,MAAA,CAAA,OAA8B;EAC5EC,IAAAA,EAAM,SAAA;EACNC,eAAAA,kBAAiB,MAAA,CAAA,OAAO,EAAEC,eAAAA,EAAe,KAAE;AACvC,IAAA,MAAMC,kBAAqD,EAAC;AAC5D,IAAA,MAAMC,KAAAA,GAAQC,OAAO,EAAA,CAAA;AAErB,IAAA,MAAMC,OAAAA,CAAQC,IACVL,eAAAA,CAAgBM,6BAAAA,CAA8BC,IAAI,CAACC,UAAAA,KAC/CN,MAAM,YAAA;AACF,MAAA,IAAIM,UAAAA,CAAWV,SAAS,wCAAA,EAA0C;AAC9DG,QAAAA,eAAAA,CAAgBO,UAAAA,CAAWC,YAAY,CAAA,GAAI;AACvC,UAAA,MAAA;AACGC,UAAAA,GAAAA;;AAEP,QAAA;AACJ,MAAA;AAOA,MAAA,IAAI,MAAMC,UAAAA,CAAWC,IAAAA,CAAKJ,WAAWK,YAAAA,EAAc,YAAA,CAAA,CAAA,EAAgB;AAC/DZ,QAAAA,eAAAA,CAAgBO,UAAAA,CAAWC,YAAY,CAAA,GAAI;AACvC,UAAA,kCAAA;AACA,UAAA,qCAAA;AACA,UAAA;;AAER,MAAA;AACJ,IAAA,CAAA,CAAA,CAAA,CAAA;AAIR,IAAA,MAAMK,oBAAAA,GAAuBC,MAAAA,CAAOC,IAAAA,CAAKf,eAAAA,CAAAA,CAAiBgB,MAAAA;AAE1D,IAAA,OAAO;MACHC,QAAAA,EAAU;AAAC,QAAA;;AACXjB,MAAAA,eAAAA;MACAkB,WAAAA,EAAa;AACT,QAAA,CAAA,oDAAA,EAAuDL,oBAAAA,CAAAA,iCAAAA;;AAE/D,KAAA;EACJ,CAAA,EAxCiB,iBAAA;AAyCrB,CAAA,CAAA,EA3CkD,oCAAA","file":"Z66N4WL7.js","sourcesContent":["import { join } from 'node:path';\nimport pLimit from 'p-limit';\n\nimport { pathExists } from '@layerzerolabs/common-node-utils';\nimport {\n DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS,\n type ScopedWorkspacePruner,\n} from '@layerzerolabs/vm-tooling';\n\nexport const createStellarScopedWorkspacePruner = (): ScopedWorkspacePruner => ({\n name: 'stellar',\n createPrunePlan: async ({ dependencyGraph }) => {\n const packagePatterns: Record<string, readonly string[]> = {};\n const limit = pLimit(10);\n\n await Promise.all(\n dependencyGraph.includedWorkspaceDependencies.map((dependency) =>\n limit(async () => {\n if (dependency.name === '@layerzerolabs/stellar-ts-bindings-gen') {\n packagePatterns[dependency.relativePath] = [\n '**/*',\n ...DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS,\n ];\n return;\n }\n\n // Stellar Rust sources are vendored into the current package's dependencies/\n // directory by build-utils-rust before lz-tool runs. Workspace dependency\n // packages only need their wasm outputs for TS bindings generation:\n // - target/.../release: cargo/stellar-cli release builds\n // - .artifacts: SEP-58 verifiable builds (e.g. onesig / protocol stellar SDKs)\n if (await pathExists(join(dependency.absolutePath, 'Cargo.toml'))) {\n packagePatterns[dependency.relativePath] = [\n 'target/wasm32v1-none/release/*.d',\n 'target/wasm32v1-none/release/*.wasm',\n '.artifacts/**/*.wasm',\n ];\n }\n }),\n ),\n );\n\n const includedPackageCount = Object.keys(packagePatterns).length;\n\n return {\n patterns: ['!**/**'],\n packagePatterns,\n diagnostics: [\n `Stellar scoped-workspace pruner selected files from ${includedPackageCount} workspace dependency package(s).`,\n ],\n };\n },\n});\n"]}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EAEpB,KAAK,IAAI,EACT,KAAK,kBAAkB,EAC1B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EAEpB,KAAK,IAAI,EACT,KAAK,kBAAkB,EAC1B,MAAM,2BAA2B,CAAC;AAOnC,eAAO,MAAM,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAqD5C,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;CAoBc,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,MAAM,CAAC;AAE1C,eAAO,MAAM,mBAAmB,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAgB3F,CAAC"}
|
package/dist/config.js
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAM/E,eAAO,MAAM,IAAI,QAAO,OAAO,CAAC,IAAI,CA4G9B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { packageSource } from './LCHYL2IQ.js';
|
|
2
2
|
import { runVerifiableBuildFromArchive, parsePackageSpec } from './D25LP26W.js';
|
|
3
|
-
import { versionCombinations, images, tools } from './
|
|
3
|
+
import { versionCombinations, images, tools } from './PY5UWW6H.js';
|
|
4
|
+
export { createStellarScopedWorkspacePruner } from './Z66N4WL7.js';
|
|
4
5
|
import { syncToolchain } from './PFRVJTS7.js';
|
|
5
6
|
import { __name } from './VUOMXK5T.js';
|
|
6
7
|
import path from 'path';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["DEFAULT_OUTPUT_DIR","context","tools","images","versionCombinations","collectPackageSpecs","value","previous","main","runCli","program","parseGlobalOptions","command","description","action","syncToolchain","extra","stellar","requiredOption","option","stellarVersion","rustVersion","archive","package","packageSpecs","outputDir","options","runVerifiableBuildFromArchive","path","resolve","cwd","packages","map","parsePackageSpec","output","include","exclude","packageSource"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["DEFAULT_OUTPUT_DIR","context","tools","images","versionCombinations","collectPackageSpecs","value","previous","main","runCli","program","parseGlobalOptions","command","description","action","syncToolchain","extra","stellar","requiredOption","option","stellarVersion","rustVersion","archive","package","packageSpecs","outputDir","options","runVerifiableBuildFromArchive","path","resolve","cwd","packages","map","parsePackageSpec","output","include","exclude","packageSource"],"mappings":";;;;;;;;;AAUA,IAAMA,kBAAAA,GAAqB,YAAA;AAI3B,IAAMC,OAAAA,GAAiC;AAAEC,EAAAA,KAAAA;AAAOC,EAAAA,MAAAA;AAAQC,EAAAA;AAAoB,CAAA;AAE5E,IAAMC,mBAAAA,mBAAsB,MAAA,CAAA,CAACC,KAAAA,EAAeC,QAAAA,KAAiC;AAAIA,EAAAA,GAAAA,QAAAA;AAAUD,EAAAA;AAA/D,CAAA,EAAA,qBAAA,CAAA;AAErB,IAAME,uBAAO,MAAA,CAAA,MAChBC,MAAAA,CAAOR,OAAAA,EAAS,CAACS,SAASC,kBAAAA,KAAAA;AACtBD,EAAAA,OAAAA,CACKE,OAAAA,CAAQ,gBAAA,CAAA,CACRC,WAAAA,CACG,+EAAA,CAAA,CAEHC,MAAAA,CAAO,YAAYC,aAAAA,CAAcd,OAAAA,EAAS,MAAMU,kBAAAA,CAAmBD,OAAAA,CAAAA,CAAAA,CAAAA;AAIxE,EAAA,MAAMM,QAAQN,OAAAA,CAAQE,OAAAA,CAAQ,OAAA,CAAA,CAASC,YAAY,+BAAA,CAAA;AACnD,EAAA,MAAMI,OAAAA,GAAUD,KAAAA,CAAMJ,OAAAA,CAAQ,SAAA,CAAA;AAE9BK,EAAAA,OAAAA,CACKL,QAAQ,kBAAA,CAAA,CACRC,WAAAA,CACG,8NAEI,EAEPK,cAAAA,CACG,6BAAA,EACA,sEAAA,CAAA,CAEHC,OACG,0BAAA,EACA,sHACI,EAEPD,cAAAA,CACG,kBAAA,EACA,4DAAA,CAAA,CAEHC,MAAAA,CACG,2BAAA,EACA,iFAAA,EACAd,qBACA,EAAE,EAELc,MAAAA,CACG,qBAAA,EACA,iDACAnB,kBAAAA,CAAAA,CAEHc,MAAAA,CACG,OAAO,EACHM,cAAAA,EACAC,WAAAA,EACAC,SACAC,OAAAA,EAASC,YAAAA,EACTC,WAAS,KAOZ;AACG,IAAA,MAAMC,OAAAA,GAAU,MAAMf,kBAAAA,CAAmBD,OAAAA,CAAAA;AACzC,IAAA,MAAMiB,6BAAAA,CACF;AACIL,MAAAA,OAAAA,EAASM,IAAAA,CAAKC,OAAAA,CAAQH,OAAAA,CAAQI,GAAAA,EAAKR,OAAAA,CAAAA;MACnCS,QAAAA,EAAUP,YAAAA,CAAaQ,IAAIC,gBAAAA,CAAAA;AAC3BR,MAAAA,SAAAA,EAAWG,IAAAA,CAAKC,OAAAA,CAAQH,OAAAA,CAAQI,GAAAA,EAAKL,SAAAA,CAAAA;AACrCL,MAAAA,cAAAA;AACAC,MAAAA;KACJ,EACA;AAAES,MAAAA,GAAAA,EAAKJ,OAAAA,CAAQI;KAAI,CAAA;EAE3B,CAAA,CAAA;AAGRb,EAAAA,OAAAA,CACKL,OAAAA,CAAQ,gBAAA,CAAA,CACRC,WAAAA,CACG,gYAII,CAAA,CAEPM,MAAAA,CACG,iBAAA,EACA,oEAAA,CAAA,CAEHA,MAAAA,CACG,wBAAA,EACA,2EAAA,EACA,EAAE,CAAA,CAELA,MAAAA,CACG,wBAAA,EACA,sFAAA,EACA,EAAE,CAAA,CAELL,MAAAA,CACG,OAAO,EACHoB,MAAAA,EACAC,OAAAA,EACAC,OAAAA,OAMAC,aAAAA,CAAc;AAAEH,IAAAA,MAAAA;AAAQC,IAAAA,OAAAA;AAASC,IAAAA;AAAQ,GAAA,EAAG,MAAMzB,kBAAAA,CAAmBD,OAAAA,CAAAA,CAAAA,CAAAA;AAErF,CAAA,CAAA,EA5GgB,MAAA","file":"index.js","sourcesContent":["import path from 'node:path';\n\nimport type { ChainContext } from '@layerzerolabs/vm-tooling';\nimport { runCli } from '@layerzerolabs/vm-tooling';\n\nimport { packageSource } from './commands/package-source';\nimport { syncToolchain } from './commands/sync-toolchain';\nimport { parsePackageSpec, runVerifiableBuildFromArchive } from './commands/verifiable-build';\nimport { type ImageId, images, tools, versionCombinations } from './config';\n\nconst DEFAULT_OUTPUT_DIR = '.artifacts';\n\nexport { createStellarScopedWorkspacePruner } from './scoped-workspace-pruner';\n\nconst context: ChainContext<ImageId> = { tools, images, versionCombinations };\n\nconst collectPackageSpecs = (value: string, previous: string[]): string[] => [...previous, value];\n\nexport const main = (): Promise<void> =>\n runCli(context, (program, parseGlobalOptions) => {\n program\n .command('sync-toolchain')\n .description(\n 'Pre-download the Rust toolchain specified in rust-toolchain.toml under a lock',\n )\n .action(async () => syncToolchain(context, await parseGlobalOptions(program)));\n\n // Extra (non-passthrough) commands, namespaced under `extra <tool>` like vm-tooling-sui:\n // lz-tool extra stellar verifiable-build [options]\n const extra = program.command('extra').description('Extra commands for VM tooling');\n const stellar = extra.command('stellar');\n\n stellar\n .command('verifiable-build')\n .description(\n 'Build one or more Stellar contracts reproducibly from a source archive: ' +\n 'extract → hash → build each --package in the official stellar/stellar-cli ' +\n 'image → atomically publish contracts-source.zip and *.wasm.',\n )\n .requiredOption(\n '--stellar-version <version>',\n 'Stellar CLI version of the official reproducible image (e.g. 25.1.0)',\n )\n .option(\n '--rust-version <version>',\n 'Rust version of the official reproducible image (e.g. 1.90.0); defaults to ' +\n \"the archive's rust-toolchain.toml channel\",\n )\n .requiredOption(\n '--archive <path>',\n 'Self-contained source .zip for the SEP-58 verifiable build',\n )\n .option(\n '--package <name:manifest>',\n 'Package to build as <name>:<manifest-path> (repeatable; required at least once)',\n collectPackageSpecs,\n [] as string[],\n )\n .option(\n '--output-dir <path>',\n 'Directory for contracts-source.zip and *.wasm',\n DEFAULT_OUTPUT_DIR,\n )\n .action(\n async ({\n stellarVersion,\n rustVersion,\n archive,\n package: packageSpecs,\n outputDir,\n }: {\n stellarVersion: string;\n rustVersion?: string;\n archive: string;\n package: string[];\n outputDir: string;\n }) => {\n const options = await parseGlobalOptions(program);\n await runVerifiableBuildFromArchive(\n {\n archive: path.resolve(options.cwd, archive),\n packages: packageSpecs.map(parsePackageSpec),\n outputDir: path.resolve(options.cwd, outputDir),\n stellarVersion,\n rustVersion,\n },\n { cwd: options.cwd },\n );\n },\n );\n\n stellar\n .command('package-source')\n .description(\n 'Package the self-contained crate in the cwd into a byte-deterministic source ' +\n '.zip under .artifacts/ (for the SEP-58 verifiable build) and print its ' +\n 'source_sha256. Include-only: packages source files (.rs/.lock, Cargo.toml, ' +\n 'rust-toolchain.toml, rustfmt.toml, clippy.toml) plus any --include entries; ' +\n '--exclude always wins. Skips non-source directories (target, node_modules, …).',\n )\n .option(\n '--output <path>',\n 'Output .zip path (default: <cwd>/.artifacts/<basename>-source.zip)',\n )\n .option(\n '--include <pattern...>',\n 'Native Node glob patterns to include beyond the default source extensions',\n [],\n )\n .option(\n '--exclude <pattern...>',\n 'Native Node glob patterns to exclude (always wins over the allow-list and --include)',\n [],\n )\n .action(\n async ({\n output,\n include,\n exclude,\n }: {\n output?: string;\n include?: string[];\n exclude?: string[];\n }) =>\n packageSource({ output, include, exclude }, await parseGlobalOptions(program)),\n );\n });\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoped-workspace-pruner.d.ts","sourceRoot":"","sources":["../src/scoped-workspace-pruner.ts"],"names":[],"mappings":"AAIA,OAAO,EAEH,KAAK,qBAAqB,EAC7B,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,kCAAkC,QAAO,qBA2CpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"scoped-workspace-pruner.js"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { images, versionCombinations } from '../
|
|
1
|
+
import { images, versionCombinations } from '../PY5UWW6H.js';
|
|
2
|
+
import '../Z66N4WL7.js';
|
|
2
3
|
import '../PFRVJTS7.js';
|
|
3
4
|
import '../VUOMXK5T.js';
|
|
4
5
|
import { runGithubMatrixGenerator } from '@layerzerolabs/vm-tooling';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/scripts/generate-github-matrix.ts"],"names":["runGithubMatrixGenerator","images","versionCombinations","catch","error","console","process","exit"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/scripts/generate-github-matrix.ts"],"names":["runGithubMatrixGenerator","images","versionCombinations","catch","error","console","process","exit"],"mappings":";;;;;;AAIAA,wBAAAA,CAAyBC,QAAQ,qCAAA,EAAuCC,mBAAAA,CAAAA,CAAqBC,KAAAA,CACzF,CAACC,KAAAA,KAAAA;AACGC,EAAAA,OAAAA,CAAQD,MAAMA,KAAAA,CAAAA;AACdE,EAAAA,OAAAA,CAAQC,KAAK,CAAA,CAAA;AACjB,CAAA,CAAA","file":"generate-github-matrix.js","sourcesContent":["import { runGithubMatrixGenerator } from '@layerzerolabs/vm-tooling';\n\nimport { images, versionCombinations } from '../config';\n\nrunGithubMatrixGenerator(images, 'tools/vm-tooling/vm-tooling-stellar', versionCombinations).catch(\n (error: unknown) => {\n console.error(error);\n process.exit(1);\n },\n);\n"]}
|
package/package.json
CHANGED
|
@@ -20,18 +20,20 @@
|
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"fflate": "^0.8.3",
|
|
23
|
+
"p-limit": "^6.1.0",
|
|
23
24
|
"toml": "^3.0.0",
|
|
24
|
-
"@layerzerolabs/
|
|
25
|
-
"@layerzerolabs/
|
|
25
|
+
"@layerzerolabs/common-node-utils": "1.2.14",
|
|
26
|
+
"@layerzerolabs/deterministic-zip": "1.2.14",
|
|
27
|
+
"@layerzerolabs/vm-tooling": "1.2.14"
|
|
26
28
|
},
|
|
27
29
|
"devDependencies": {
|
|
28
30
|
"tsup": "^8.4.0",
|
|
29
31
|
"tsx": "^4.21.0",
|
|
30
|
-
"typescript": "^
|
|
32
|
+
"typescript": "^6.0.3",
|
|
31
33
|
"vitest": "^3.2.6",
|
|
32
|
-
"@layerzerolabs/tsup-configuration": "1.2.
|
|
33
|
-
"@layerzerolabs/typescript-configuration": "1.2.
|
|
34
|
-
"@layerzerolabs/vitest-configuration": "1.2.
|
|
34
|
+
"@layerzerolabs/tsup-configuration": "1.2.14",
|
|
35
|
+
"@layerzerolabs/typescript-configuration": "1.2.14",
|
|
36
|
+
"@layerzerolabs/vitest-configuration": "1.2.14"
|
|
35
37
|
},
|
|
36
38
|
"publishConfig": {
|
|
37
39
|
"access": "public",
|
|
@@ -45,7 +47,7 @@
|
|
|
45
47
|
"onesig-client"
|
|
46
48
|
]
|
|
47
49
|
},
|
|
48
|
-
"version": "1.2.
|
|
50
|
+
"version": "1.2.14",
|
|
49
51
|
"scripts": {
|
|
50
52
|
"build": "tsup",
|
|
51
53
|
"generate-github-matrix": "tsx src/scripts/generate-github-matrix.ts",
|
package/dist/YKDO3PL4.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config.ts"],"names":["tools","name","preExecute","syncToolchain","dockerPlatform","defaultVolumes","type","containerPath","shared","hostPath","defaultEnv","value","images","versions","stellar","patch","mirrorRegistries","DockerRegistryMirror","PUBLIC_GAR","dependencies","rust","versionCombinations","description","stable"],"mappings":";;;AASO,IAAMA,KAAAA,GAAoC;AAC7C,EAAA;IACIC,IAAAA,EAAM,SAAA;IACNC,UAAAA,EAAYC,aAAAA;IACZC,cAAAA,EAAgB,aAAA;IAChBC,cAAAA,EAAgB;;;AAGZ,MAAA;QACIC,IAAAA,EAAM,SAAA;QACNC,aAAAA,EAAe,gBAAA;QACfN,IAAAA,EAAM,gBAAA;QACNO,MAAAA,EAAQ;AACZ,OAAA;;AAEA,MAAA;QACIF,IAAAA,EAAM,SAAA;QACNC,aAAAA,EAAe,cAAA;QACfN,IAAAA,EAAM,eAAA;QACNO,MAAAA,EAAQ;AACZ,OAAA;;;AAGA,MAAA;QACIF,IAAAA,EAAM,SAAA;QACNC,aAAAA,EAAe,eAAA;QACfN,IAAAA,EAAM,gBAAA;QACNO,MAAAA,EAAQ;AACZ,OAAA;;AAEA,MAAA;QACIF,IAAAA,EAAM,MAAA;QACNC,aAAAA,EAAe,gBAAA;QACfE,QAAAA,EAAU;AACd;;IAEJC,UAAAA,EAAY;;AAER,MAAA;QAAET,IAAAA,EAAM,eAAA;QAAiBU,KAAAA,EAAO;AAAyB,OAAA;;AAEzD,MAAA;QAAEV,IAAAA,EAAM,8CAAA;QAAgDU,KAAAA,EAAO;AAAQ,OAAA;AACvE,MAAA;QAAEV,IAAAA,EAAM,+CAAA;QAAiDU,KAAAA,EAAO;AAAQ,OAAA;AACxE,MAAA;QACIV,IAAAA,EAAM,iDAAA;QACNU,KAAAA,EAAO;AACX,OAAA;AACA,MAAA;QACIV,IAAAA,EAAM,kDAAA;QACNU,KAAAA,EAAO;AACX;;AAER;;AAGG,IAAMC,MAAAA,GAAS;AAClB,EAAA,CAAC,gCAAA,GAAmC;IAChCX,IAAAA,EAAM,SAAA;IACNY,QAAAA,EAAU;MACNC,OAAAA,EAAS;AACb,KAAA;IACAC,KAAAA,EAAO,CAAA;IACPC,gBAAAA,EAAkB;MAACC,oBAAAA,CAAqBC;;AAC5C,GAAA;AACA,EAAA,CAAC,gCAAA,GAAmC;IAChCjB,IAAAA,EAAM,SAAA;IACNY,QAAAA,EAAU;MACNC,OAAAA,EAAS;AACb,KAAA;IACAC,KAAAA,EAAO,CAAA;IACPI,YAAAA,EAAc;MACVC,IAAAA,EAAM;AACV,KAAA;IACAJ,gBAAAA,EAAkB;MAACC,oBAAAA,CAAqBC;;AAC5C;AACJ;AAIO,IAAMG,mBAAAA,GACT;AACI,EAAA;IACIT,MAAAA,EAAQ;MACJE,OAAAA,EAAS;AACb,KAAA;IACAQ,WAAAA,EAAa,uBAAA;IACbC,MAAAA,EAAQ;AACZ,GAAA;AACA,EAAA;IACIX,MAAAA,EAAQ;MACJE,OAAAA,EAAS;AACb,KAAA;IACAQ,WAAAA,EAAa,gBAAA;IACbC,MAAAA,EAAQ;AACZ","file":"YKDO3PL4.js","sourcesContent":["import {\n DockerRegistryMirror,\n type Image,\n type Tool,\n type VersionCombination,\n} from '@layerzerolabs/vm-tooling';\n\nimport { syncToolchain } from './commands/sync-toolchain';\n\nexport const tools: readonly [Tool, ...Tool[]] = [\n {\n name: 'stellar',\n preExecute: syncToolchain,\n dockerPlatform: 'linux/amd64',\n defaultVolumes: [\n // NOTE: for configuration commands, you should never put it in your package.json#build or #test, since the config is locked for parallel builds\n // while common commands like contract build and binding generation are allowed since they are not writing to the config files\n {\n type: 'isolate',\n containerPath: '/cache/stellar',\n name: 'stellar-config',\n shared: true,\n },\n // safe to be unlocked as it is POSIX lock guarded\n {\n type: 'isolate',\n containerPath: '/cache/cargo',\n name: 'stellar-cargo',\n shared: true,\n },\n // shared across packages — toolchain is pre-synced via `sync-toolchain` (locked)\n // so concurrent reads from build/test/lint are safe\n {\n type: 'isolate',\n containerPath: '/cache/rustup',\n name: 'stellar-rustup',\n shared: true,\n },\n // safe as the wort case of corruption is cache miss, since it is key-based cache, concurrent writes will produce identical content\n {\n type: 'host',\n containerPath: '/cache/sccache',\n hostPath: '~/.sccache',\n },\n ],\n defaultEnv: [\n // sccache configuration\n { name: 'RUSTC_WRAPPER', value: '/usr/local/bin/sccache' },\n // mold linker for faster linking\n { name: 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER', value: 'clang' },\n { name: 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER', value: 'clang' },\n {\n name: 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS',\n value: '-C link-arg=-fuse-ld=mold',\n },\n {\n name: 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS',\n value: '-C link-arg=-fuse-ld=mold',\n },\n ],\n },\n];\n\nexport const images = {\n ['stellar:stellar-25.1.0-patch-2']: {\n name: 'stellar',\n versions: {\n stellar: '25.1.0',\n },\n patch: 2,\n mirrorRegistries: [DockerRegistryMirror.PUBLIC_GAR],\n },\n ['stellar:stellar-25.2.0-patch-1']: {\n name: 'stellar',\n versions: {\n stellar: '25.2.0',\n },\n patch: 1,\n dependencies: {\n rust: '1.91.0',\n },\n mirrorRegistries: [DockerRegistryMirror.PUBLIC_GAR],\n },\n} satisfies Record<string, Image>;\n\nexport type ImageId = keyof typeof images;\n\nexport const versionCombinations: [VersionCombination<ImageId>, ...VersionCombination<ImageId>[]] =\n [\n {\n images: {\n stellar: 'stellar:stellar-25.1.0-patch-2',\n },\n description: 'Latest stable release',\n stable: true,\n },\n {\n images: {\n stellar: 'stellar:stellar-25.2.0-patch-1',\n },\n description: 'Stellar 25.2.0',\n stable: true,\n },\n ];\n"]}
|