starskiff 0.6.0 → 0.6.1

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/README.md CHANGED
@@ -50,6 +50,35 @@ Any instance also accepts a `binary` (local executable) or `image` (custom tag)
50
50
 
51
51
  See the [CI guide](./../docs/src/pages/docs/guides/ci.mdx) for provisioning binaries on GitHub Actions.
52
52
 
53
+ ### maroo Privacy ZK artifacts
54
+
55
+ maroo v0.8+ validates external Privacy ZK artifacts during genesis and node
56
+ startup. Point `Instance.marood()` at an existing absolute host directory and
57
+ starskiff applies the matching read-only mount and environment to every
58
+ lifecycle command:
59
+
60
+ ```ts
61
+ const maroo = Instance.marood({
62
+ image: 'maroo:local',
63
+ privacyZkArtifacts: {
64
+ kind: 'generated-test',
65
+ directory: '/absolute/path/to/privacy-zk-test-artifacts',
66
+ },
67
+ });
68
+ ```
69
+
70
+ Use `kind: 'release'` with an approved release bundle. That mode forces
71
+ production/strict preflight and removes the test-only circuit identity opt-in.
72
+ Generated artifacts require a marood binary or image built with the `test`
73
+ build tag. The option also works with `binary: 'marood'`; starskiff passes the
74
+ host path directly instead of mounting it.
75
+
76
+ Starskiff checks only that the path is absolute and names an existing
77
+ directory. It does not generate, download, or approve artifacts, and leaves
78
+ manifest, checksum, VK, and circuit-identity validation to marood. Omit the
79
+ option when using a self-contained image that already carries and configures
80
+ its artifacts.
81
+
53
82
  ## Usage
54
83
 
55
84
  ### Basic (simd)
package/dist/cosmos.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as Instance from './Instance.js';
2
+ import { executionDependency, type ExecutionDependency } from './execution.js';
2
3
  export type CosmosAccount = {
3
4
  /** BIP39 mnemonic for key derivation. */
4
5
  mnemonic: string;
@@ -190,6 +191,8 @@ export type CosmosBaseParameters = CosmosChainParameters & {
190
191
  * JSON-RPC (EVM) endpoint to come up.
191
192
  */
192
193
  extraReadinessCheck?: () => Promise<boolean>;
194
+ /** @internal Chain wrappers translate domain options into this dependency. */
195
+ [executionDependency]?: ExecutionDependency;
193
196
  };
194
197
  /**
195
198
  * Shared setup for any Cosmos SDK chain binary.
@@ -270,6 +273,8 @@ export type CosmosEvmBaseParameters = CosmosEvmChainParameters & {
270
273
  extraConfigToml?: Record<string, string>;
271
274
  /** Extra `start` command args, forwarded to cosmosBase. */
272
275
  extraStartArgs?: string[];
276
+ /** @internal Chain wrappers translate domain options into this dependency. */
277
+ [executionDependency]?: ExecutionDependency;
273
278
  };
274
279
  /**
275
280
  * Normalizes an `active_static_precompiles` list to the form cosmos-evm
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../src/cosmos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../src/cosmos.ts"],"names":[],"mappings":"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"}
package/dist/cosmos.js CHANGED
@@ -7,6 +7,7 @@ import * as Instance from './Instance.js';
7
7
  import { createProcess } from './process.js';
8
8
  import { sortCoins, toChecksumAddress } from './utils.js';
9
9
  import { assertDockerAvailable, CONTAINER_HOME, ensureImage, removeContainer, runArgs as dockerRunArgs, startArgs as dockerStartArgs, } from './docker.js';
10
+ import { applyExecutionEnvironment, executionDependency, } from './execution.js';
10
11
  /** Default pk proto URL for ethermint-derivation chains (cosmos-evm module). */
11
12
  export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k1.PubKey';
12
13
  /**
@@ -19,7 +20,7 @@ export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k
19
20
  * For custom chains, provide a `patchGenesis` hook for chain-specific genesis modifications.
20
21
  */
21
22
  export function cosmosBase(parameters) {
22
- const { binary, name, chainId = 'starskiff-1', denom = 'stake', prefix = 'cosmos', accounts = [], minimumGasPrices, validatorBalance = '100000000000', validatorStake = '10000000', extraValidators = 0, rpcPort = 26657, grpcPort = 9090, apiPort = 1317, p2pPort = 26656, grpcWebPort = 9091, pprofPort = 6060, patchGenesis, finalizeGenesis, extraAppToml, extraConfigToml, extraStartArgs, extraPorts, extraReadinessCheck, relayerHints, image, } = parameters;
23
+ const { binary, name, chainId = 'starskiff-1', denom = 'stake', prefix = 'cosmos', accounts = [], minimumGasPrices, validatorBalance = '100000000000', validatorStake = '10000000', extraValidators = 0, rpcPort = 26657, grpcPort = 9090, apiPort = 1317, p2pPort = 26656, grpcWebPort = 9091, pprofPort = 6060, patchGenesis, finalizeGenesis, extraAppToml, extraConfigToml, extraStartArgs, extraPorts, extraReadinessCheck, relayerHints, image, [executionDependency]: dependency, } = parameters;
23
24
  const process = createProcess(name);
24
25
  const host = 'localhost';
25
26
  let homeDir;
@@ -71,18 +72,24 @@ export function cosmosBase(parameters) {
71
72
  await assertDockerAvailable(image);
72
73
  await ensureImage(image, (message) => emitter.emit('message', message));
73
74
  }
75
+ const childEnvironment = applyExecutionEnvironment(globalThis.process.env, dependency);
76
+ const dockerOptions = (commandHome) => ({
77
+ image: image,
78
+ homeDir: commandHome,
79
+ executionDependency: dependency,
80
+ });
74
81
  // Both runtimes execute the same chain CLI against the same home dir —
75
82
  // docker just runs it inside a disposable container with that dir bind
76
83
  // mounted, so every step below (and the host-side genesis/config
77
84
  // patching) is runtime-agnostic.
78
85
  const run = (args) => image
79
- ? x('docker', dockerRunArgs({ image, homeDir: homeDir }, binary, args), {
86
+ ? x('docker', dockerRunArgs(dockerOptions(homeDir), binary, args), {
80
87
  throwOnError: true,
81
- nodeOptions: { stdio: 'pipe' },
88
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
82
89
  })
83
90
  : x(binary, [...args, '--home', homeDir], {
84
91
  throwOnError: true,
85
- nodeOptions: { stdio: 'pipe' },
92
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
86
93
  });
87
94
  // 1. Init chain
88
95
  await run(['init', 'validator', '--chain-id', chainId]);
@@ -107,11 +114,12 @@ export function cosmosBase(parameters) {
107
114
  // (docker gets `-i` to keep the pipe open into the container).
108
115
  const recoverArgs = ['keys', 'add', keyName, '--recover', '--keyring-backend', 'test'];
109
116
  const [recoverCmd, recoverArgv] = image
110
- ? ['docker', dockerRunArgs({ image, homeDir: homeDir }, binary, recoverArgs, { interactive: true })]
117
+ ? ['docker', dockerRunArgs(dockerOptions(homeDir), binary, recoverArgs, { interactive: true })]
111
118
  : [binary, [...recoverArgs, '--home', homeDir]];
112
119
  const result = spawnSync(recoverCmd, recoverArgv, {
113
120
  input: account.mnemonic + '\n',
114
121
  stdio: ['pipe', 'pipe', 'pipe'],
122
+ env: childEnvironment,
115
123
  });
116
124
  if (result.status !== 0) {
117
125
  throw new Error(`Failed to recover key "${keyName}": ${result.stderr?.toString()}`);
@@ -141,13 +149,13 @@ export function cosmosBase(parameters) {
141
149
  // The throwaway home is a *different* directory, so under docker it
142
150
  // needs its own bind mount rather than the instance's.
143
151
  const runInConsHome = (args) => image
144
- ? x('docker', dockerRunArgs({ image, homeDir: consHome }, binary, args), {
152
+ ? x('docker', dockerRunArgs(dockerOptions(consHome), binary, args), {
145
153
  throwOnError: true,
146
- nodeOptions: { stdio: 'pipe' },
154
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
147
155
  })
148
156
  : x(binary, [...args, '--home', consHome], {
149
157
  throwOnError: true,
150
- nodeOptions: { stdio: 'pipe' },
158
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
151
159
  });
152
160
  try {
153
161
  await runInConsHome(['init', valName, '--chain-id', chainId]);
@@ -208,7 +216,7 @@ export function cosmosBase(parameters) {
208
216
  const [startCmd, startArgv] = image
209
217
  ? [
210
218
  'docker',
211
- dockerStartArgs({ image, homeDir }, binary, startCliArgs, {
219
+ dockerStartArgs(dockerOptions(homeDir), binary, startCliArgs, {
212
220
  name: containerName,
213
221
  ports: [port, p2pPort, apiPort, grpcPort, grpcWebPort, ...(extraPorts ?? [])],
214
222
  }),
@@ -216,6 +224,7 @@ export function cosmosBase(parameters) {
216
224
  : [binary, ['start', '--home', homeDir, ...(extraStartArgs ?? [])]];
217
225
  return await process.start(startCmd, startArgv, {
218
226
  emitter,
227
+ environment: childEnvironment,
219
228
  resolver({ process: proc, resolve, reject }) {
220
229
  const rpcUrl = `http://localhost:${port}`;
221
230
  // Tail recent output so an exit-during-startup rejection carries
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../src/cosmos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../src/cosmos.ts"],"names":[],"mappings":"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"}
package/dist/docker.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { ExecutionDependency } from './execution.js';
1
2
  /**
2
3
  * Home directory *inside* the container. The host's temp home dir is bind
3
4
  * mounted here, so genesis/config patching stays plain host-side file I/O —
@@ -30,6 +31,8 @@ export type DockerOptions = {
30
31
  image: string;
31
32
  /** Host directory bind mounted at {@link CONTAINER_HOME}. */
32
33
  homeDir: string;
34
+ /** Internal files and environment shared by every chain CLI invocation. */
35
+ executionDependency?: ExecutionDependency;
33
36
  };
34
37
  /**
35
38
  * Builds `docker run` args for a one-shot chain command (init, keys, gentx, …).
@@ -1 +1 @@
1
- {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3C,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CA8BpB;AAED,kDAAkD;AAClD,MAAM,MAAM,aAAa,GAAG;IAC1B,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,MAAM,EAAE,CAcV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACtC,MAAM,EAAE,CAYV;AAED,+EAA+E;AAC/E,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrG;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE"}
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEzD;;;;GAIG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3C,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CA8BpB;AAED,kDAAkD;AAClD,MAAM,MAAM,aAAa,GAAG;IAC1B,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C,CAAA;AA2CD;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,MAAM,EAAE,CAcV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACtC,MAAM,EAAE,CAYV;AAED,+EAA+E;AAC/E,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrG;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE"}
package/dist/docker.js CHANGED
@@ -61,7 +61,7 @@ function userArgs() {
61
61
  return [];
62
62
  return ['--user', `${process.getuid?.()}:${process.getgid?.()}`];
63
63
  }
64
- function mountArgs({ homeDir }) {
64
+ function mountArgs({ homeDir, executionDependency }) {
65
65
  // -w pins the working dir to the mounted home. Some chain binaries (e.g. evmd)
66
66
  // instantiate the app at command-construction time and create a `data/` dir
67
67
  // relative to CWD *before* reading --home; if CWD is the image's default
@@ -74,8 +74,17 @@ function mountArgs({ homeDir }) {
74
74
  // guaranteed-writable, and they're deleted with the home dir on stop().
75
75
  return [
76
76
  '-v', `${homeDir}:${CONTAINER_HOME}`,
77
+ ...(executionDependency?.mounts ?? []).flatMap(({ source, target, readOnly }) => [
78
+ '-v', `${source}:${target}${readOnly ? ':ro' : ''}`,
79
+ ]),
77
80
  '-e', `HOME=${CONTAINER_HOME}`,
78
81
  '-e', `TMPDIR=${CONTAINER_HOME}`,
82
+ ...Object.entries(executionDependency?.environment ?? {}).flatMap(([name, value]) => [
83
+ '-e', `${name}=${value}`,
84
+ ]),
85
+ // Docker cannot remove an ENV baked into an image, but overriding it with
86
+ // an empty value has the same os.Getenv semantics for chain binaries.
87
+ ...(executionDependency?.unsetEnvironment ?? []).flatMap((name) => ['-e', `${name}=`]),
79
88
  '-w', CONTAINER_HOME,
80
89
  ];
81
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Files and environment required by every invocation of a chain binary.
3
+ *
4
+ * This is an internal seam between cosmosBase and its Docker/local-process
5
+ * adapters. Chain instance interfaces should expose domain-specific options
6
+ * and translate them into this shape themselves.
7
+ */
8
+ export type ExecutionDependency = {
9
+ environment: Record<string, string>;
10
+ unsetEnvironment?: readonly string[];
11
+ mounts?: readonly {
12
+ source: string;
13
+ target: string;
14
+ readOnly: true;
15
+ }[];
16
+ };
17
+ /** Symbol-keyed so generic execution settings do not become public chain options. */
18
+ export declare const executionDependency: unique symbol;
19
+ /** Builds an isolated child environment without mutating the parent process. */
20
+ export declare function applyExecutionEnvironment(parent: NodeJS.ProcessEnv, dependency?: ExecutionDependency): NodeJS.ProcessEnv;
21
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,MAAM,CAAC,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,IAAI,CAAA;KACf,EAAE,CAAA;CACJ,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,eAA0C,CAAA;AAE1E,gFAAgF;AAChF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,UAAU,CAAC,EAAE,mBAAmB,GAC/B,MAAM,CAAC,UAAU,CAOnB"}
@@ -0,0 +1,13 @@
1
+ /** Symbol-keyed so generic execution settings do not become public chain options. */
2
+ export const executionDependency = Symbol('starskiff.executionDependency');
3
+ /** Builds an isolated child environment without mutating the parent process. */
4
+ export function applyExecutionEnvironment(parent, dependency) {
5
+ if (!dependency)
6
+ return parent;
7
+ const environment = { ...parent };
8
+ for (const name of dependency.unsetEnvironment ?? [])
9
+ delete environment[name];
10
+ Object.assign(environment, dependency.environment);
11
+ return environment;
12
+ }
13
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAiBA,qFAAqF;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAA;AAE1E,gFAAgF;AAChF,MAAM,UAAU,yBAAyB,CACvC,MAAyB,EACzB,UAAgC;IAEhC,IAAI,CAAC,UAAU;QAAE,OAAO,MAAM,CAAA;IAE9B,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,gBAAgB,IAAI,EAAE;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9E,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAClD,OAAO,WAAW,CAAA;AACpB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { XPLA_DEFAULT_PRECOMPILES, XPLA_DEFAULT_IMAGE, type XpladParameters } fr
7
7
  export { XRPLEVM_DEFAULT_PRECOMPILES, XRPLEVM_DEFAULT_IMAGE, type XrplevmParameters } from './instances/xrplevm.js';
8
8
  export { MANTRA_DEFAULT_PRECOMPILES, MANTRA_DEFAULT_IMAGE, type MantraParameters } from './instances/mantra.js';
9
9
  export { EVMD_DEFAULT_PRECOMPILES, EVMD_DEFAULT_IMAGE, type EvmdParameters } from './instances/evmd.js';
10
- export { MAROO_NETWORKS, MAROO_DEFAULT_PRECOMPILES, MAROO_PREINSTALLS, MAROO_NATIVE_ERC20, MAROO_DEFAULT_PCL_ENTRYPOINTS, patchMaroodGenesis, type MaroodParameters, type MaroodNetwork, type MaroodNetworkPreset, type EvmPreinstall, type PatchMaroodGenesisOptions } from './instances/marood.js';
10
+ export { MAROO_NETWORKS, MAROO_DEFAULT_PRECOMPILES, MAROO_PREINSTALLS, MAROO_NATIVE_ERC20, MAROO_DEFAULT_PCL_ENTRYPOINTS, patchMaroodGenesis, type MaroodParameters, type MaroodPrivacyZkArtifacts, type MaroodNetwork, type MaroodNetworkPreset, type EvmPreinstall, type PatchMaroodGenesisOptions } from './instances/marood.js';
11
11
  export type { EventTypes } from './process.js';
12
12
  export { findFreePorts, type PortSet } from './ports.js';
13
13
  export { testAccounts, type TestAccount } from './accounts.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,8BAA8B,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACnT,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACzG,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnH,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC/G,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACpS,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,8BAA8B,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACnT,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACzG,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnH,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC/G,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,wBAAwB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACnU,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,8BAA8B,EAA8N,MAAM,aAAa,CAAA;AACnT,OAAO,EAAE,kBAAkB,EAAuB,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAwB,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAA;AACzG,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAA0B,MAAM,wBAAwB,CAAA;AACnH,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAA;AAC/G,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAuB,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,kBAAkB,EAA2H,MAAM,uBAAuB,CAAA;AAEpS,OAAO,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,YAAY,EAAoB,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,8BAA8B,EAA8N,MAAM,aAAa,CAAA;AACnT,OAAO,EAAE,kBAAkB,EAAuB,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAwB,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAA;AACzG,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAA0B,MAAM,wBAAwB,CAAA;AACnH,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAA;AAC/G,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAuB,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,kBAAkB,EAA0J,MAAM,uBAAuB,CAAA;AAEnU,OAAO,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,YAAY,EAAoB,MAAM,eAAe,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as Instance from '../Instance.js';
2
2
  import { type CosmosEvmChainParameters, type Genesis } from '../cosmos.js';
3
+ import { type ExecutionDependency } from '../execution.js';
3
4
  import { MAROO_PREINSTALLS, type EvmPreinstall } from './marood-preinstalls.js';
4
5
  export type { EvmPreinstall };
5
6
  export { MAROO_PREINSTALLS };
@@ -48,6 +49,15 @@ export declare const MAROO_DEFAULT_PRECOMPILES: readonly string[];
48
49
  * {@link MAROO_PREINSTALLS} already seeds at genesis.
49
50
  */
50
51
  export declare const MAROO_DEFAULT_PCL_ENTRYPOINTS: readonly string[];
52
+ export type MaroodPrivacyZkArtifacts = {
53
+ kind: 'generated-test';
54
+ /** Absolute host path containing generated, non-production test artifacts. */
55
+ directory: string;
56
+ } | {
57
+ kind: 'release';
58
+ /** Absolute host path containing an approved release artifact bundle. */
59
+ directory: string;
60
+ };
51
61
  export type MaroodParameters = CosmosEvmChainParameters & {
52
62
  /**
53
63
  * Run from a local `marood` binary on `PATH`.
@@ -57,6 +67,14 @@ export type MaroodParameters = CosmosEvmChainParameters & {
57
67
  * assumed to be named `marood`.)
58
68
  */
59
69
  binary?: string;
70
+ /**
71
+ * External Privacy ZK artifacts required by maroo v0.8+.
72
+ *
73
+ * Omit this for a self-contained image whose artifacts and environment are
74
+ * already configured. Starskiff validates only the host path; marood's
75
+ * strict preflight remains the authority for artifact contents.
76
+ */
77
+ privacyZkArtifacts?: MaroodPrivacyZkArtifacts;
60
78
  /**
61
79
  * Network preset selecting chain ids and denoms. @default "testnet"
62
80
  *
@@ -88,6 +106,8 @@ export type MaroodParameters = CosmosEvmChainParameters & {
88
106
  /** Chain-specific genesis patch, chained after marood's defaults. */
89
107
  patchGenesis?: (genesis: Genesis) => Genesis;
90
108
  };
109
+ /** @internal Translates the marood-specific option into the generic execution seam. */
110
+ export declare function resolveMaroodPrivacyZkArtifacts(artifacts: MaroodPrivacyZkArtifacts | undefined, containerRuntime: boolean): ExecutionDependency | undefined;
91
111
  /** Options for {@link patchMaroodGenesis}, mirroring the relevant `MaroodParameters`. */
92
112
  export type PatchMaroodGenesisOptions = {
93
113
  preset: MaroodNetworkPreset;
@@ -1 +1 @@
1
- {"version":3,"file":"marood.d.ts","sourceRoot":"","sources":["../../src/instances/marood.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAiB,KAAK,wBAAwB,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAEzF,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE/E,YAAY,EAAE,aAAa,EAAE,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,oDAAoD;AACpD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AAEjD,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAmBrE,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,+CAA+C,CAAA;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EActD,CAAA;AAeD;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAE1D,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,GAAG;IACxD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IACtC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/B,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;CAC7C,CAAA;AAED,yFAAyF;AACzF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,WAAW,EAAE,SAAS,aAAa,EAAE,CAAA;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;CAC7C,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAyG7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;sBAwCjB,CAAA"}
1
+ {"version":3,"file":"marood.d.ts","sourceRoot":"","sources":["../../src/instances/marood.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
1
3
  import * as Instance from '../Instance.js';
2
4
  import { cosmosEvmBase } from '../cosmos.js';
3
5
  import { resolveInstanceImage } from '../docker.js';
6
+ import { executionDependency } from '../execution.js';
4
7
  import { MAROO_PREINSTALLS } from './marood-preinstalls.js';
5
8
  export { MAROO_PREINSTALLS };
6
9
  /**
@@ -76,6 +79,52 @@ const MAROO_EAS_INDEXER_CONTRACT = 'maroo1zqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqg6dp7qp
76
79
  export const MAROO_DEFAULT_PCL_ENTRYPOINTS = [
77
80
  'maroo1gvmssnv7y40lqupyv88c39wwnca4luggmf5lq0',
78
81
  ];
82
+ const PRIVACY_ZK_CONTAINER_DIRECTORY = '/starskiff/privacy-zk-artifacts';
83
+ const PRIVACY_ZK_ARTIFACT_DIR_ENV = 'CLAIRVEIL_PRIVACY_ZK_ARTIFACT_DIR';
84
+ const PRIVACY_ZK_PREFLIGHT_MODE_ENV = 'CLAIRVEIL_PRIVACY_ZK_PREFLIGHT_MODE';
85
+ const PRIVACY_ZK_RUNTIME_ENVIRONMENT_ENV = 'CLAIRVEIL_PRIVACY_ZK_RUNTIME_ENVIRONMENT';
86
+ const TEST_PRIVACY_RELEASE_ENV = 'MAROO_TEST_PRIVACY_RELEASE_FROM_ARTIFACTS';
87
+ /** @internal Translates the marood-specific option into the generic execution seam. */
88
+ export function resolveMaroodPrivacyZkArtifacts(artifacts, containerRuntime) {
89
+ if (!artifacts)
90
+ return undefined;
91
+ if (artifacts.kind !== 'generated-test' && artifacts.kind !== 'release') {
92
+ throw new Error('marood: privacyZkArtifacts.kind must be "generated-test" or "release".');
93
+ }
94
+ if (typeof artifacts.directory !== 'string' || !path.isAbsolute(artifacts.directory)) {
95
+ throw new Error('marood: privacyZkArtifacts.directory must be an absolute host path.');
96
+ }
97
+ let isDirectory = false;
98
+ try {
99
+ isDirectory = fs.statSync(artifacts.directory).isDirectory();
100
+ }
101
+ catch {
102
+ // Use the same actionable error for missing and unreadable paths.
103
+ }
104
+ if (!isDirectory) {
105
+ throw new Error(`marood: privacyZkArtifacts.directory is not an existing directory: ${artifacts.directory}`);
106
+ }
107
+ const artifactDirectory = containerRuntime
108
+ ? PRIVACY_ZK_CONTAINER_DIRECTORY
109
+ : artifacts.directory;
110
+ const environment = {
111
+ [PRIVACY_ZK_ARTIFACT_DIR_ENV]: artifactDirectory,
112
+ [PRIVACY_ZK_PREFLIGHT_MODE_ENV]: 'strict',
113
+ };
114
+ if (artifacts.kind === 'generated-test') {
115
+ environment[TEST_PRIVACY_RELEASE_ENV] = '1';
116
+ }
117
+ else {
118
+ environment[PRIVACY_ZK_RUNTIME_ENVIRONMENT_ENV] = 'production';
119
+ }
120
+ return {
121
+ environment,
122
+ unsetEnvironment: artifacts.kind === 'release' ? [TEST_PRIVACY_RELEASE_ENV] : undefined,
123
+ mounts: containerRuntime
124
+ ? [{ source: artifacts.directory, target: PRIVACY_ZK_CONTAINER_DIRECTORY, readOnly: true }]
125
+ : undefined,
126
+ };
127
+ }
79
128
  /**
80
129
  * marood's genesis patch, extracted for unit testing. Mutates `genesis` in
81
130
  * place and returns it, like every other patch hook here.
@@ -205,9 +254,10 @@ export const marood = Instance.define((parameters) => {
205
254
  // 18-decimal chain: power reduction is 1e18, so stake amounts mirror evmd.
206
255
  validatorBalance = '100000000000000000000000', // 1e23
207
256
  validatorStake = '10000000000000000000000', // 1e22
208
- minimumGasPrices = `0${preset.feeDenom}`, preinstalls = MAROO_PREINSTALLS, policyAdmin, minterAddress, entrypoints, patchGenesis: userPatch, ...rest } = params;
257
+ minimumGasPrices = `0${preset.feeDenom}`, preinstalls = MAROO_PREINSTALLS, policyAdmin, minterAddress, entrypoints, privacyZkArtifacts, patchGenesis: userPatch, ...rest } = params;
209
258
  // No default image (private node source): image or binary required.
210
259
  const image = resolveInstanceImage('marood', params);
260
+ const privacyZkDependency = resolveMaroodPrivacyZkArtifacts(privacyZkArtifacts, Boolean(image));
211
261
  // Same three-state semantics as evmd: omitted → maroo default set; explicit
212
262
  // `undefined` → binary default (empty); `[]` / `[...]` → as given.
213
263
  const activeStaticPrecompiles = 'activeStaticPrecompiles' in params ? params.activeStaticPrecompiles : MAROO_DEFAULT_PRECOMPILES;
@@ -219,6 +269,7 @@ export const marood = Instance.define((parameters) => {
219
269
  // app.toml's compiled-in default is the mainnet EVM chain id; make the
220
270
  // preset authoritative for both networks.
221
271
  extraStartArgs: ['--evm.evm-chain-id', String(preset.evmChainId)],
272
+ [executionDependency]: privacyZkDependency,
222
273
  patchGenesis: (genesis) => patchMaroodGenesis(genesis, { preset, preinstalls, policyAdmin, minterAddress, entrypoints, patchGenesis: userPatch }),
223
274
  });
224
275
  });
@@ -1 +1 @@
1
- {"version":3,"file":"marood.js","sourceRoot":"","sources":["../../src/instances/marood.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marood.js","sourceRoot":"","sources":["../../src/instances/marood.ts"],"names":[],"mappings":"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"}
package/dist/process.d.ts CHANGED
@@ -14,6 +14,8 @@ export type ProcessResolverOptions = {
14
14
  };
15
15
  export type ProcessStartOptions = {
16
16
  emitter: Emitter<EventTypes>;
17
+ /** Environment for the managed child process. */
18
+ environment?: NodeJS.ProcessEnv;
17
19
  resolver(options: ProcessResolverOptions): void;
18
20
  };
19
21
  export type Process = {
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AA8BF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAmEjF"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AA8BF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAmEjF"}
package/dist/process.js CHANGED
@@ -35,10 +35,10 @@ export function createProcess(name, options = {}) {
35
35
  let child;
36
36
  const errorMessages = [];
37
37
  return {
38
- start(command, args, { emitter, resolver }) {
38
+ start(command, args, { emitter, environment, resolver }) {
39
39
  const { promise, resolve, reject } = Promise.withResolvers();
40
40
  child = exec(command, args, {
41
- nodeOptions: { stdio: 'pipe' },
41
+ nodeOptions: { stdio: 'pipe', env: environment },
42
42
  });
43
43
  const proc = child.process;
44
44
  async function kill() {
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "starskiff",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Lightweight Cosmos SDK test instances via child processes",
5
5
  "type": "module",
6
6
  "exports": {
package/src/cosmos.ts CHANGED
@@ -14,6 +14,11 @@ import {
14
14
  runArgs as dockerRunArgs,
15
15
  startArgs as dockerStartArgs,
16
16
  } from './docker.js'
17
+ import {
18
+ applyExecutionEnvironment,
19
+ executionDependency,
20
+ type ExecutionDependency,
21
+ } from './execution.js'
17
22
 
18
23
  export type CosmosAccount = {
19
24
  /** BIP39 mnemonic for key derivation. */
@@ -185,6 +190,8 @@ export type CosmosBaseParameters = CosmosChainParameters & {
185
190
  * JSON-RPC (EVM) endpoint to come up.
186
191
  */
187
192
  extraReadinessCheck?: () => Promise<boolean>
193
+ /** @internal Chain wrappers translate domain options into this dependency. */
194
+ [executionDependency]?: ExecutionDependency
188
195
  }
189
196
 
190
197
  /**
@@ -223,6 +230,7 @@ export function cosmosBase(parameters: CosmosBaseParameters) {
223
230
  extraReadinessCheck,
224
231
  relayerHints,
225
232
  image,
233
+ [executionDependency]: dependency,
226
234
  } = parameters
227
235
 
228
236
  const process = createProcess(name)
@@ -283,19 +291,26 @@ export function cosmosBase(parameters: CosmosBaseParameters) {
283
291
  await ensureImage(image, (message) => emitter.emit('message', message))
284
292
  }
285
293
 
294
+ const childEnvironment = applyExecutionEnvironment(globalThis.process.env, dependency)
295
+ const dockerOptions = (commandHome: string) => ({
296
+ image: image!,
297
+ homeDir: commandHome,
298
+ executionDependency: dependency,
299
+ })
300
+
286
301
  // Both runtimes execute the same chain CLI against the same home dir —
287
302
  // docker just runs it inside a disposable container with that dir bind
288
303
  // mounted, so every step below (and the host-side genesis/config
289
304
  // patching) is runtime-agnostic.
290
305
  const run = (args: string[]) =>
291
306
  image
292
- ? x('docker', dockerRunArgs({ image, homeDir: homeDir! }, binary, args), {
307
+ ? x('docker', dockerRunArgs(dockerOptions(homeDir!), binary, args), {
293
308
  throwOnError: true,
294
- nodeOptions: { stdio: 'pipe' },
309
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
295
310
  })
296
311
  : x(binary, [...args, '--home', homeDir!], {
297
312
  throwOnError: true,
298
- nodeOptions: { stdio: 'pipe' },
313
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
299
314
  })
300
315
 
301
316
  // 1. Init chain
@@ -326,12 +341,13 @@ export function cosmosBase(parameters: CosmosBaseParameters) {
326
341
  // (docker gets `-i` to keep the pipe open into the container).
327
342
  const recoverArgs = ['keys', 'add', keyName, '--recover', '--keyring-backend', 'test']
328
343
  const [recoverCmd, recoverArgv] = image
329
- ? ['docker', dockerRunArgs({ image, homeDir: homeDir! }, binary, recoverArgs, { interactive: true })] as const
344
+ ? ['docker', dockerRunArgs(dockerOptions(homeDir!), binary, recoverArgs, { interactive: true })] as const
330
345
  : [binary, [...recoverArgs, '--home', homeDir!]] as const
331
346
 
332
347
  const result = spawnSync(recoverCmd, recoverArgv as string[], {
333
348
  input: account.mnemonic + '\n',
334
349
  stdio: ['pipe', 'pipe', 'pipe'],
350
+ env: childEnvironment,
335
351
  })
336
352
 
337
353
  if (result.status !== 0) {
@@ -367,13 +383,13 @@ export function cosmosBase(parameters: CosmosBaseParameters) {
367
383
  // needs its own bind mount rather than the instance's.
368
384
  const runInConsHome = (args: string[]) =>
369
385
  image
370
- ? x('docker', dockerRunArgs({ image, homeDir: consHome }, binary, args), {
386
+ ? x('docker', dockerRunArgs(dockerOptions(consHome), binary, args), {
371
387
  throwOnError: true,
372
- nodeOptions: { stdio: 'pipe' },
388
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
373
389
  })
374
390
  : x(binary, [...args, '--home', consHome], {
375
391
  throwOnError: true,
376
- nodeOptions: { stdio: 'pipe' },
392
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
377
393
  })
378
394
  try {
379
395
  await runInConsHome(['init', valName, '--chain-id', chainId])
@@ -437,7 +453,7 @@ export function cosmosBase(parameters: CosmosBaseParameters) {
437
453
  const [startCmd, startArgv] = image
438
454
  ? [
439
455
  'docker',
440
- dockerStartArgs({ image, homeDir }, binary, startCliArgs, {
456
+ dockerStartArgs(dockerOptions(homeDir), binary, startCliArgs, {
441
457
  name: containerName,
442
458
  ports: [port, p2pPort, apiPort, grpcPort, grpcWebPort, ...(extraPorts ?? [])],
443
459
  }),
@@ -446,6 +462,7 @@ export function cosmosBase(parameters: CosmosBaseParameters) {
446
462
 
447
463
  return await process.start(startCmd, startArgv as string[], {
448
464
  emitter,
465
+ environment: childEnvironment,
449
466
  resolver({ process: proc, resolve, reject }) {
450
467
  const rpcUrl = `http://localhost:${port}`
451
468
 
@@ -636,6 +653,8 @@ export type CosmosEvmBaseParameters = CosmosEvmChainParameters & {
636
653
  extraConfigToml?: Record<string, string>
637
654
  /** Extra `start` command args, forwarded to cosmosBase. */
638
655
  extraStartArgs?: string[]
656
+ /** @internal Chain wrappers translate domain options into this dependency. */
657
+ [executionDependency]?: ExecutionDependency
639
658
  }
640
659
 
641
660
  /**
package/src/docker.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { x } from 'tinyexec'
2
+ import type { ExecutionDependency } from './execution.js'
2
3
 
3
4
  /**
4
5
  * Home directory *inside* the container. The host's temp home dir is bind
@@ -65,6 +66,8 @@ export type DockerOptions = {
65
66
  image: string
66
67
  /** Host directory bind mounted at {@link CONTAINER_HOME}. */
67
68
  homeDir: string
69
+ /** Internal files and environment shared by every chain CLI invocation. */
70
+ executionDependency?: ExecutionDependency
68
71
  }
69
72
 
70
73
  /**
@@ -80,7 +83,7 @@ function userArgs(): string[] {
80
83
  return ['--user', `${process.getuid?.()}:${process.getgid?.()}`]
81
84
  }
82
85
 
83
- function mountArgs({ homeDir }: DockerOptions): string[] {
86
+ function mountArgs({ homeDir, executionDependency }: DockerOptions): string[] {
84
87
  // -w pins the working dir to the mounted home. Some chain binaries (e.g. evmd)
85
88
  // instantiate the app at command-construction time and create a `data/` dir
86
89
  // relative to CWD *before* reading --home; if CWD is the image's default
@@ -93,8 +96,17 @@ function mountArgs({ homeDir }: DockerOptions): string[] {
93
96
  // guaranteed-writable, and they're deleted with the home dir on stop().
94
97
  return [
95
98
  '-v', `${homeDir}:${CONTAINER_HOME}`,
99
+ ...(executionDependency?.mounts ?? []).flatMap(({ source, target, readOnly }) => [
100
+ '-v', `${source}:${target}${readOnly ? ':ro' : ''}`,
101
+ ]),
96
102
  '-e', `HOME=${CONTAINER_HOME}`,
97
103
  '-e', `TMPDIR=${CONTAINER_HOME}`,
104
+ ...Object.entries(executionDependency?.environment ?? {}).flatMap(([name, value]) => [
105
+ '-e', `${name}=${value}`,
106
+ ]),
107
+ // Docker cannot remove an ENV baked into an image, but overriding it with
108
+ // an empty value has the same os.Getenv semantics for chain binaries.
109
+ ...(executionDependency?.unsetEnvironment ?? []).flatMap((name) => ['-e', `${name}=`]),
98
110
  '-w', CONTAINER_HOME,
99
111
  ]
100
112
  }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Files and environment required by every invocation of a chain binary.
3
+ *
4
+ * This is an internal seam between cosmosBase and its Docker/local-process
5
+ * adapters. Chain instance interfaces should expose domain-specific options
6
+ * and translate them into this shape themselves.
7
+ */
8
+ export type ExecutionDependency = {
9
+ environment: Record<string, string>
10
+ unsetEnvironment?: readonly string[]
11
+ mounts?: readonly {
12
+ source: string
13
+ target: string
14
+ readOnly: true
15
+ }[]
16
+ }
17
+
18
+ /** Symbol-keyed so generic execution settings do not become public chain options. */
19
+ export const executionDependency = Symbol('starskiff.executionDependency')
20
+
21
+ /** Builds an isolated child environment without mutating the parent process. */
22
+ export function applyExecutionEnvironment(
23
+ parent: NodeJS.ProcessEnv,
24
+ dependency?: ExecutionDependency,
25
+ ): NodeJS.ProcessEnv {
26
+ if (!dependency) return parent
27
+
28
+ const environment = { ...parent }
29
+ for (const name of dependency.unsetEnvironment ?? []) delete environment[name]
30
+ Object.assign(environment, dependency.environment)
31
+ return environment
32
+ }
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ export { XPLA_DEFAULT_PRECOMPILES, XPLA_DEFAULT_IMAGE, type XpladParameters } fr
7
7
  export { XRPLEVM_DEFAULT_PRECOMPILES, XRPLEVM_DEFAULT_IMAGE, type XrplevmParameters } from './instances/xrplevm.js'
8
8
  export { MANTRA_DEFAULT_PRECOMPILES, MANTRA_DEFAULT_IMAGE, type MantraParameters } from './instances/mantra.js'
9
9
  export { EVMD_DEFAULT_PRECOMPILES, EVMD_DEFAULT_IMAGE, type EvmdParameters } from './instances/evmd.js'
10
- export { MAROO_NETWORKS, MAROO_DEFAULT_PRECOMPILES, MAROO_PREINSTALLS, MAROO_NATIVE_ERC20, MAROO_DEFAULT_PCL_ENTRYPOINTS, patchMaroodGenesis, type MaroodParameters, type MaroodNetwork, type MaroodNetworkPreset, type EvmPreinstall, type PatchMaroodGenesisOptions } from './instances/marood.js'
10
+ export { MAROO_NETWORKS, MAROO_DEFAULT_PRECOMPILES, MAROO_PREINSTALLS, MAROO_NATIVE_ERC20, MAROO_DEFAULT_PCL_ENTRYPOINTS, patchMaroodGenesis, type MaroodParameters, type MaroodPrivacyZkArtifacts, type MaroodNetwork, type MaroodNetworkPreset, type EvmPreinstall, type PatchMaroodGenesisOptions } from './instances/marood.js'
11
11
  export type { EventTypes } from './process.js'
12
12
  export { findFreePorts, type PortSet } from './ports.js'
13
13
  export { testAccounts, type TestAccount } from './accounts.js'
@@ -1,6 +1,9 @@
1
+ import fs from 'node:fs'
2
+ import path from 'node:path'
1
3
  import * as Instance from '../Instance.js'
2
4
  import { cosmosEvmBase, type CosmosEvmChainParameters, type Genesis } from '../cosmos.js'
3
5
  import { resolveInstanceImage } from '../docker.js'
6
+ import { executionDependency, type ExecutionDependency } from '../execution.js'
4
7
  import { MAROO_PREINSTALLS, type EvmPreinstall } from './marood-preinstalls.js'
5
8
 
6
9
  export type { EvmPreinstall }
@@ -105,6 +108,18 @@ export const MAROO_DEFAULT_PCL_ENTRYPOINTS: readonly string[] = [
105
108
  'maroo1gvmssnv7y40lqupyv88c39wwnca4luggmf5lq0',
106
109
  ]
107
110
 
111
+ export type MaroodPrivacyZkArtifacts =
112
+ | {
113
+ kind: 'generated-test'
114
+ /** Absolute host path containing generated, non-production test artifacts. */
115
+ directory: string
116
+ }
117
+ | {
118
+ kind: 'release'
119
+ /** Absolute host path containing an approved release artifact bundle. */
120
+ directory: string
121
+ }
122
+
108
123
  export type MaroodParameters = CosmosEvmChainParameters & {
109
124
  /**
110
125
  * Run from a local `marood` binary on `PATH`.
@@ -114,6 +129,14 @@ export type MaroodParameters = CosmosEvmChainParameters & {
114
129
  * assumed to be named `marood`.)
115
130
  */
116
131
  binary?: string
132
+ /**
133
+ * External Privacy ZK artifacts required by maroo v0.8+.
134
+ *
135
+ * Omit this for a self-contained image whose artifacts and environment are
136
+ * already configured. Starskiff validates only the host path; marood's
137
+ * strict preflight remains the authority for artifact contents.
138
+ */
139
+ privacyZkArtifacts?: MaroodPrivacyZkArtifacts
117
140
  /**
118
141
  * Network preset selecting chain ids and denoms. @default "testnet"
119
142
  *
@@ -146,6 +169,63 @@ export type MaroodParameters = CosmosEvmChainParameters & {
146
169
  patchGenesis?: (genesis: Genesis) => Genesis
147
170
  }
148
171
 
172
+ const PRIVACY_ZK_CONTAINER_DIRECTORY = '/starskiff/privacy-zk-artifacts'
173
+ const PRIVACY_ZK_ARTIFACT_DIR_ENV = 'CLAIRVEIL_PRIVACY_ZK_ARTIFACT_DIR'
174
+ const PRIVACY_ZK_PREFLIGHT_MODE_ENV = 'CLAIRVEIL_PRIVACY_ZK_PREFLIGHT_MODE'
175
+ const PRIVACY_ZK_RUNTIME_ENVIRONMENT_ENV = 'CLAIRVEIL_PRIVACY_ZK_RUNTIME_ENVIRONMENT'
176
+ const TEST_PRIVACY_RELEASE_ENV = 'MAROO_TEST_PRIVACY_RELEASE_FROM_ARTIFACTS'
177
+
178
+ /** @internal Translates the marood-specific option into the generic execution seam. */
179
+ export function resolveMaroodPrivacyZkArtifacts(
180
+ artifacts: MaroodPrivacyZkArtifacts | undefined,
181
+ containerRuntime: boolean,
182
+ ): ExecutionDependency | undefined {
183
+ if (!artifacts) return undefined
184
+
185
+ if (artifacts.kind !== 'generated-test' && artifacts.kind !== 'release') {
186
+ throw new Error(
187
+ 'marood: privacyZkArtifacts.kind must be "generated-test" or "release".',
188
+ )
189
+ }
190
+ if (typeof artifacts.directory !== 'string' || !path.isAbsolute(artifacts.directory)) {
191
+ throw new Error('marood: privacyZkArtifacts.directory must be an absolute host path.')
192
+ }
193
+
194
+ let isDirectory = false
195
+ try {
196
+ isDirectory = fs.statSync(artifacts.directory).isDirectory()
197
+ } catch {
198
+ // Use the same actionable error for missing and unreadable paths.
199
+ }
200
+ if (!isDirectory) {
201
+ throw new Error(
202
+ `marood: privacyZkArtifacts.directory is not an existing directory: ${artifacts.directory}`,
203
+ )
204
+ }
205
+
206
+ const artifactDirectory = containerRuntime
207
+ ? PRIVACY_ZK_CONTAINER_DIRECTORY
208
+ : artifacts.directory
209
+ const environment: Record<string, string> = {
210
+ [PRIVACY_ZK_ARTIFACT_DIR_ENV]: artifactDirectory,
211
+ [PRIVACY_ZK_PREFLIGHT_MODE_ENV]: 'strict',
212
+ }
213
+
214
+ if (artifacts.kind === 'generated-test') {
215
+ environment[TEST_PRIVACY_RELEASE_ENV] = '1'
216
+ } else {
217
+ environment[PRIVACY_ZK_RUNTIME_ENVIRONMENT_ENV] = 'production'
218
+ }
219
+
220
+ return {
221
+ environment,
222
+ unsetEnvironment: artifacts.kind === 'release' ? [TEST_PRIVACY_RELEASE_ENV] : undefined,
223
+ mounts: containerRuntime
224
+ ? [{ source: artifacts.directory, target: PRIVACY_ZK_CONTAINER_DIRECTORY, readOnly: true }]
225
+ : undefined,
226
+ }
227
+ }
228
+
149
229
  /** Options for {@link patchMaroodGenesis}, mirroring the relevant `MaroodParameters`. */
150
230
  export type PatchMaroodGenesisOptions = {
151
231
  preset: MaroodNetworkPreset
@@ -325,12 +405,14 @@ export const marood = Instance.define((parameters?: MaroodParameters) => {
325
405
  policyAdmin,
326
406
  minterAddress,
327
407
  entrypoints,
408
+ privacyZkArtifacts,
328
409
  patchGenesis: userPatch,
329
410
  ...rest
330
411
  } = params
331
412
 
332
413
  // No default image (private node source): image or binary required.
333
414
  const image = resolveInstanceImage('marood', params)
415
+ const privacyZkDependency = resolveMaroodPrivacyZkArtifacts(privacyZkArtifacts, Boolean(image))
334
416
 
335
417
  // Same three-state semantics as evmd: omitted → maroo default set; explicit
336
418
  // `undefined` → binary default (empty); `[]` / `[...]` → as given.
@@ -345,6 +427,7 @@ export const marood = Instance.define((parameters?: MaroodParameters) => {
345
427
  // app.toml's compiled-in default is the mainnet EVM chain id; make the
346
428
  // preset authoritative for both networks.
347
429
  extraStartArgs: ['--evm.evm-chain-id', String(preset.evmChainId)],
430
+ [executionDependency]: privacyZkDependency,
348
431
  patchGenesis: (genesis) =>
349
432
  patchMaroodGenesis(genesis, { preset, preinstalls, policyAdmin, minterAddress, entrypoints, patchGenesis: userPatch }),
350
433
  })
package/src/process.ts CHANGED
@@ -20,6 +20,8 @@ export type ProcessResolverOptions = {
20
20
 
21
21
  export type ProcessStartOptions = {
22
22
  emitter: Emitter<EventTypes>;
23
+ /** Environment for the managed child process. */
24
+ environment?: NodeJS.ProcessEnv;
23
25
  resolver(options: ProcessResolverOptions): void;
24
26
  };
25
27
 
@@ -73,11 +75,11 @@ export function createProcess(name: string, options: ProcessOptions = {}): Proce
73
75
  const errorMessages: string[] = [];
74
76
 
75
77
  return {
76
- start(command, args, { emitter, resolver }) {
78
+ start(command, args, { emitter, environment, resolver }) {
77
79
  const { promise, resolve, reject } = Promise.withResolvers<void>();
78
80
 
79
81
  child = exec(command, args, {
80
- nodeOptions: { stdio: 'pipe' },
82
+ nodeOptions: { stdio: 'pipe', env: environment },
81
83
  });
82
84
 
83
85
  const proc = child.process!;