starskiff 0.5.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.
Files changed (47) hide show
  1. package/README.md +29 -0
  2. package/dist/cosmos.d.ts +19 -1
  3. package/dist/cosmos.d.ts.map +1 -1
  4. package/dist/cosmos.js +33 -16
  5. package/dist/cosmos.js.map +1 -1
  6. package/dist/docker.d.ts +7 -0
  7. package/dist/docker.d.ts.map +1 -1
  8. package/dist/docker.js +23 -2
  9. package/dist/docker.js.map +1 -1
  10. package/dist/execution.d.ts +21 -0
  11. package/dist/execution.d.ts.map +1 -0
  12. package/dist/execution.js +13 -0
  13. package/dist/execution.js.map +1 -0
  14. package/dist/index.d.ts +3 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +3 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/instances/mantra.d.ts +9 -0
  19. package/dist/instances/mantra.d.ts.map +1 -1
  20. package/dist/instances/mantra.js +20 -0
  21. package/dist/instances/mantra.js.map +1 -1
  22. package/dist/instances/marood.d.ts +72 -7
  23. package/dist/instances/marood.d.ts.map +1 -1
  24. package/dist/instances/marood.js +170 -60
  25. package/dist/instances/marood.js.map +1 -1
  26. package/dist/instances/xrplevm.d.ts +9 -0
  27. package/dist/instances/xrplevm.d.ts.map +1 -1
  28. package/dist/instances/xrplevm.js +19 -0
  29. package/dist/instances/xrplevm.js.map +1 -1
  30. package/dist/process.d.ts +2 -0
  31. package/dist/process.d.ts.map +1 -1
  32. package/dist/process.js +2 -2
  33. package/dist/process.js.map +1 -1
  34. package/dist/utils.d.ts +14 -0
  35. package/dist/utils.d.ts.map +1 -1
  36. package/dist/utils.js +50 -0
  37. package/dist/utils.js.map +1 -1
  38. package/package.json +2 -1
  39. package/src/cosmos.ts +47 -16
  40. package/src/docker.ts +28 -2
  41. package/src/execution.ts +32 -0
  42. package/src/index.ts +3 -3
  43. package/src/instances/mantra.ts +23 -0
  44. package/src/instances/marood.ts +263 -71
  45. package/src/instances/xrplevm.ts +22 -0
  46. package/src/process.ts +4 -2
  47. package/src/utils.ts +60 -0
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,8 +1,12 @@
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;
5
- /** Coins to fund (e.g. "1000000000stake"). */
6
+ /**
7
+ * Coins to fund (e.g. "1000000000stake"). Multi-coin strings are allowed;
8
+ * denoms are sorted for you (the SDK requires ascending order).
9
+ */
6
10
  coins: string;
7
11
  /** Account name for keyring. @default "test-{index}" */
8
12
  name?: string;
@@ -187,6 +191,8 @@ export type CosmosBaseParameters = CosmosChainParameters & {
187
191
  * JSON-RPC (EVM) endpoint to come up.
188
192
  */
189
193
  extraReadinessCheck?: () => Promise<boolean>;
194
+ /** @internal Chain wrappers translate domain options into this dependency. */
195
+ [executionDependency]?: ExecutionDependency;
190
196
  };
191
197
  /**
192
198
  * Shared setup for any Cosmos SDK chain binary.
@@ -267,7 +273,19 @@ export type CosmosEvmBaseParameters = CosmosEvmChainParameters & {
267
273
  extraConfigToml?: Record<string, string>;
268
274
  /** Extra `start` command args, forwarded to cosmosBase. */
269
275
  extraStartArgs?: string[];
276
+ /** @internal Chain wrappers translate domain options into this dependency. */
277
+ [executionDependency]?: ExecutionDependency;
270
278
  };
279
+ /**
280
+ * Normalizes an `active_static_precompiles` list to the form cosmos-evm
281
+ * genesis validation requires: EIP-55 checksummed — the chain's activation
282
+ * check compares the stored strings case-sensitively against
283
+ * `address.String()`, so lowercasing silently disables any precompile whose
284
+ * address contains a hex letter — and plain-sorted, since validation runs
285
+ * `slices.IsSorted` on those exact strings (a lowercase-keyed sort could
286
+ * fail it). Exported for unit testing; not part of the package root.
287
+ */
288
+ export declare function normalizeActiveStaticPrecompiles(precompiles: readonly string[]): string[];
271
289
  /**
272
290
  * Shared setup for EVM-enabled Cosmos SDK chains (e.g. xpla, evmos).
273
291
  *
@@ -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
@@ -5,7 +5,9 @@ import path from 'node:path';
5
5
  import { x } from 'tinyexec';
6
6
  import * as Instance from './Instance.js';
7
7
  import { createProcess } from './process.js';
8
+ import { sortCoins, toChecksumAddress } from './utils.js';
8
9
  import { assertDockerAvailable, CONTAINER_HOME, ensureImage, removeContainer, runArgs as dockerRunArgs, startArgs as dockerStartArgs, } from './docker.js';
10
+ import { applyExecutionEnvironment, executionDependency, } from './execution.js';
9
11
  /** Default pk proto URL for ethermint-derivation chains (cosmos-evm module). */
10
12
  export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k1.PubKey';
11
13
  /**
@@ -18,7 +20,7 @@ export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k
18
20
  * For custom chains, provide a `patchGenesis` hook for chain-specific genesis modifications.
19
21
  */
20
22
  export function cosmosBase(parameters) {
21
- 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;
22
24
  const process = createProcess(name);
23
25
  const host = 'localhost';
24
26
  let homeDir;
@@ -70,18 +72,24 @@ export function cosmosBase(parameters) {
70
72
  await assertDockerAvailable(image);
71
73
  await ensureImage(image, (message) => emitter.emit('message', message));
72
74
  }
75
+ const childEnvironment = applyExecutionEnvironment(globalThis.process.env, dependency);
76
+ const dockerOptions = (commandHome) => ({
77
+ image: image,
78
+ homeDir: commandHome,
79
+ executionDependency: dependency,
80
+ });
73
81
  // Both runtimes execute the same chain CLI against the same home dir —
74
82
  // docker just runs it inside a disposable container with that dir bind
75
83
  // mounted, so every step below (and the host-side genesis/config
76
84
  // patching) is runtime-agnostic.
77
85
  const run = (args) => image
78
- ? x('docker', dockerRunArgs({ image, homeDir: homeDir }, binary, args), {
86
+ ? x('docker', dockerRunArgs(dockerOptions(homeDir), binary, args), {
79
87
  throwOnError: true,
80
- nodeOptions: { stdio: 'pipe' },
88
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
81
89
  })
82
90
  : x(binary, [...args, '--home', homeDir], {
83
91
  throwOnError: true,
84
- nodeOptions: { stdio: 'pipe' },
92
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
85
93
  });
86
94
  // 1. Init chain
87
95
  await run(['init', 'validator', '--chain-id', chainId]);
@@ -106,18 +114,19 @@ export function cosmosBase(parameters) {
106
114
  // (docker gets `-i` to keep the pipe open into the container).
107
115
  const recoverArgs = ['keys', 'add', keyName, '--recover', '--keyring-backend', 'test'];
108
116
  const [recoverCmd, recoverArgv] = image
109
- ? ['docker', dockerRunArgs({ image, homeDir: homeDir }, binary, recoverArgs, { interactive: true })]
117
+ ? ['docker', dockerRunArgs(dockerOptions(homeDir), binary, recoverArgs, { interactive: true })]
110
118
  : [binary, [...recoverArgs, '--home', homeDir]];
111
119
  const result = spawnSync(recoverCmd, recoverArgv, {
112
120
  input: account.mnemonic + '\n',
113
121
  stdio: ['pipe', 'pipe', 'pipe'],
122
+ env: childEnvironment,
114
123
  });
115
124
  if (result.status !== 0) {
116
125
  throw new Error(`Failed to recover key "${keyName}": ${result.stderr?.toString()}`);
117
126
  }
118
127
  await run([
119
128
  'genesis', 'add-genesis-account', keyName,
120
- account.coins, '--keyring-backend', 'test',
129
+ sortCoins(account.coins), '--keyring-backend', 'test',
121
130
  ]);
122
131
  }
123
132
  // 4. Gentx (default validator) + any extra validators, then collect.
@@ -140,13 +149,13 @@ export function cosmosBase(parameters) {
140
149
  // The throwaway home is a *different* directory, so under docker it
141
150
  // needs its own bind mount rather than the instance's.
142
151
  const runInConsHome = (args) => image
143
- ? x('docker', dockerRunArgs({ image, homeDir: consHome }, binary, args), {
152
+ ? x('docker', dockerRunArgs(dockerOptions(consHome), binary, args), {
144
153
  throwOnError: true,
145
- nodeOptions: { stdio: 'pipe' },
154
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
146
155
  })
147
156
  : x(binary, [...args, '--home', consHome], {
148
157
  throwOnError: true,
149
- nodeOptions: { stdio: 'pipe' },
158
+ nodeOptions: { stdio: 'pipe', env: childEnvironment },
150
159
  });
151
160
  try {
152
161
  await runInConsHome(['init', valName, '--chain-id', chainId]);
@@ -207,7 +216,7 @@ export function cosmosBase(parameters) {
207
216
  const [startCmd, startArgv] = image
208
217
  ? [
209
218
  'docker',
210
- dockerStartArgs({ image, homeDir }, binary, startCliArgs, {
219
+ dockerStartArgs(dockerOptions(homeDir), binary, startCliArgs, {
211
220
  name: containerName,
212
221
  ports: [port, p2pPort, apiPort, grpcPort, grpcWebPort, ...(extraPorts ?? [])],
213
222
  }),
@@ -215,6 +224,7 @@ export function cosmosBase(parameters) {
215
224
  : [binary, ['start', '--home', homeDir, ...(extraStartArgs ?? [])]];
216
225
  return await process.start(startCmd, startArgv, {
217
226
  emitter,
227
+ environment: childEnvironment,
218
228
  resolver({ process: proc, resolve, reject }) {
219
229
  const rpcUrl = `http://localhost:${port}`;
220
230
  // Tail recent output so an exit-during-startup rejection carries
@@ -348,6 +358,18 @@ function patchToml(filePath, patches, binary) {
348
358
  }
349
359
  fs.writeFileSync(filePath, result.join('\n'));
350
360
  }
361
+ /**
362
+ * Normalizes an `active_static_precompiles` list to the form cosmos-evm
363
+ * genesis validation requires: EIP-55 checksummed — the chain's activation
364
+ * check compares the stored strings case-sensitively against
365
+ * `address.String()`, so lowercasing silently disables any precompile whose
366
+ * address contains a hex letter — and plain-sorted, since validation runs
367
+ * `slices.IsSorted` on those exact strings (a lowercase-keyed sort could
368
+ * fail it). Exported for unit testing; not part of the package root.
369
+ */
370
+ export function normalizeActiveStaticPrecompiles(precompiles) {
371
+ return precompiles.map((a) => toChecksumAddress(a)).sort();
372
+ }
351
373
  /**
352
374
  * Shared setup for EVM-enabled Cosmos SDK chains (e.g. xpla, evmos).
353
375
  *
@@ -377,12 +399,7 @@ export function cosmosEvmBase(parameters) {
377
399
  if (activeStaticPrecompiles !== undefined) {
378
400
  const evm = genesis.app_state.evm;
379
401
  if (evm?.params) {
380
- // cosmos-evm genesis validation requires the list to be sorted by
381
- // bytes20 order. Normalize to lowercase + ascending sort so callers
382
- // don't have to think about it.
383
- evm.params.active_static_precompiles = activeStaticPrecompiles
384
- .map((a) => a.toLowerCase())
385
- .sort();
402
+ evm.params.active_static_precompiles = normalizeActiveStaticPrecompiles(activeStaticPrecompiles);
386
403
  }
387
404
  }
388
405
  return userPatch ? userPatch(genesis) : genesis;
@@ -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, …).
@@ -70,6 +73,10 @@ export declare function assertDockerAvailable(image: string): Promise<void>;
70
73
  * `docker run` would pull implicitly, but a cold pull of a few hundred MB can
71
74
  * outlast the instance start timeout and would be invisible in the logs — so
72
75
  * pull up front, before the clock on `start()` matters.
76
+ *
77
+ * A failed pull throws an actionable error rather than a raw exit code:
78
+ * absent locally AND in the registry is the normal shape for locally-built,
79
+ * never-published images (e.g. marood's `maroo:local`), so name that case.
73
80
  */
74
81
  export declare function ensureImage(image: string, onMessage?: (message: string) => void): Promise<void>;
75
82
  /**
@@ -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;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrG;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
  }
@@ -150,13 +159,25 @@ export async function assertDockerAvailable(image) {
150
159
  * `docker run` would pull implicitly, but a cold pull of a few hundred MB can
151
160
  * outlast the instance start timeout and would be invisible in the logs — so
152
161
  * pull up front, before the clock on `start()` matters.
162
+ *
163
+ * A failed pull throws an actionable error rather than a raw exit code:
164
+ * absent locally AND in the registry is the normal shape for locally-built,
165
+ * never-published images (e.g. marood's `maroo:local`), so name that case.
153
166
  */
154
167
  export async function ensureImage(image, onMessage) {
155
168
  const present = await x('docker', ['image', 'inspect', image], { nodeOptions: { stdio: 'pipe' } });
156
169
  if (present.exitCode === 0)
157
170
  return;
158
171
  onMessage?.(`[starskiff] pulling ${image} (first run)\n`);
159
- await x('docker', ['pull', image], { throwOnError: true, nodeOptions: { stdio: 'pipe' } });
172
+ const pulled = await x('docker', ['pull', image], { nodeOptions: { stdio: 'pipe' } });
173
+ if (pulled.exitCode === 0)
174
+ return;
175
+ // Last few lines only — enough to tell auth failures from not-found.
176
+ const stderrTail = pulled.stderr.trim().split('\n').slice(-5).join('\n');
177
+ throw new Error(`"${image}" is not present locally and the registry pull failed. ` +
178
+ 'If this is a locally-built image (e.g. a private node image), build or ' +
179
+ '`docker load` it on this machine first; otherwise check the image ' +
180
+ `reference and registry access.\n${stderrTail}`);
160
181
  }
161
182
  /**
162
183
  * Force-removes the node container.
@@ -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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAG5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,MAA2C,EAC3C,YAAqB;IAErB,MAAM,QAAQ,GAAG,OAAO,IAAI,MAAM,CAAA;IAClC,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,CAAA;IACpC,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,2FAA2F;YAClG,0CAA0C,CAC3C,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gDAAgD,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,yEAAyE;QACzE,mEAAmE;QACnE,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yDAAyD,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,mEAAmE;YAC1E,2EAA2E,CAC5E,CAAA;IACH,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAYD;;;;;;;GAOG;AACH,SAAS,QAAQ;IACf,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAA;IAC3C,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAiB;IAChE,+EAA+E;IAC/E,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,EAAE;IACF,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,OAAO;QACL,IAAI,EAAE,GAAG,OAAO,IAAI,cAAc,EAAE;QACpC,GAAG,CAAC,mBAAmB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC/E,IAAI,EAAE,GAAG,MAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;SACpD,CAAC;QACF,IAAI,EAAE,QAAQ,cAAc,EAAE;QAC9B,IAAI,EAAE,UAAU,cAAc,EAAE;QAChC,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACnF,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE;SACzB,CAAC;QACF,0EAA0E;QAC1E,sEAAsE;QACtE,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;QACtF,IAAI,EAAE,cAAc;KACrB,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,OAAsB,EACtB,MAAc,EACd,IAAc,EACd,IAAgC;IAEhC,OAAO;QACL,KAAK,EAAE,MAAM;QACb,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,QAAQ,EAAE;QACb,GAAG,SAAS,CAAC,OAAO,CAAC;QACrB,yEAAyE;QACzE,uEAAuE;QACvE,4EAA4E;QAC5E,iEAAiE;QACjE,cAAc,EAAE,MAAM;QACtB,OAAO,CAAC,KAAK;QACb,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc;KAClC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,SAAS,CACvB,OAAsB,EACtB,MAAc,EACd,IAAc,EACd,IAAuC;IAEvC,OAAO;QACL,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,GAAG,QAAQ,EAAE;QACb,GAAG,SAAS,CAAC,OAAO,CAAC;QACrB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACpE,wEAAwE;QACxE,cAAc,EAAE,MAAM;QACtB,OAAO,CAAC,KAAK;QACb,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc;KAClC,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAa;IACvD,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE;YAChE,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,kCAAkC,KAAK,6CAA6C;YACpF,qFAAqF,CACtF,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,SAAqC;IACpF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAClG,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAM;IAElC,SAAS,EAAE,CAAC,uBAAuB,KAAK,gBAAgB,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IACrF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAM;IAEjC,qEAAqE;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxE,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,yDAAyD;QAClE,yEAAyE;QACzE,oEAAoE;QACpE,mCAAmC,UAAU,EAAE,CAChD,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;AACH,CAAC"}
@@ -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
@@ -4,10 +4,10 @@ export { SIMD_DEFAULT_IMAGE, type SimdParameters } from './instances/simd.js';
4
4
  export { GAIAD_DEFAULT_IMAGE, type GaiadParameters } from './instances/gaiad.js';
5
5
  export { WASMD_DEFAULT_IMAGE, type WasmdParameters } from './instances/wasmd.js';
6
6
  export { XPLA_DEFAULT_PRECOMPILES, XPLA_DEFAULT_IMAGE, type XpladParameters } from './instances/xplad.js';
7
- export { XRPLEVM_DEFAULT_IMAGE, type XrplevmParameters } from './instances/xrplevm.js';
8
- export { MANTRA_DEFAULT_IMAGE, type MantraParameters } from './instances/mantra.js';
7
+ export { XRPLEVM_DEFAULT_PRECOMPILES, XRPLEVM_DEFAULT_IMAGE, type XrplevmParameters } from './instances/xrplevm.js';
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, type MaroodParameters, type MaroodNetwork, type MaroodNetworkPreset, type EvmPreinstall } 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,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACtF,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACjN,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 CHANGED
@@ -4,10 +4,10 @@ export { SIMD_DEFAULT_IMAGE } from './instances/simd.js';
4
4
  export { GAIAD_DEFAULT_IMAGE } from './instances/gaiad.js';
5
5
  export { WASMD_DEFAULT_IMAGE } from './instances/wasmd.js';
6
6
  export { XPLA_DEFAULT_PRECOMPILES, XPLA_DEFAULT_IMAGE } from './instances/xplad.js';
7
- export { XRPLEVM_DEFAULT_IMAGE } from './instances/xrplevm.js';
8
- export { MANTRA_DEFAULT_IMAGE } from './instances/mantra.js';
7
+ export { XRPLEVM_DEFAULT_PRECOMPILES, XRPLEVM_DEFAULT_IMAGE } from './instances/xrplevm.js';
8
+ export { MANTRA_DEFAULT_PRECOMPILES, MANTRA_DEFAULT_IMAGE } from './instances/mantra.js';
9
9
  export { EVMD_DEFAULT_PRECOMPILES, EVMD_DEFAULT_IMAGE } from './instances/evmd.js';
10
- export { MAROO_NETWORKS, MAROO_DEFAULT_PRECOMPILES, MAROO_PREINSTALLS, MAROO_NATIVE_ERC20 } from './instances/marood.js';
10
+ export { MAROO_NETWORKS, MAROO_DEFAULT_PRECOMPILES, MAROO_PREINSTALLS, MAROO_NATIVE_ERC20, MAROO_DEFAULT_PCL_ENTRYPOINTS, patchMaroodGenesis } from './instances/marood.js';
11
11
  export { findFreePorts } from './ports.js';
12
12
  export { testAccounts } from './accounts.js';
13
13
  //# sourceMappingURL=index.js.map
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,qBAAqB,EAA0B,MAAM,wBAAwB,CAAA;AACtF,OAAO,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAuB,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,kBAAkB,EAA2F,MAAM,uBAAuB,CAAA;AAEjN,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"}
@@ -6,6 +6,15 @@ import { type CosmosEvmChainParameters, type Genesis } from '../cosmos.js';
6
6
  * a binary.
7
7
  */
8
8
  export declare const MANTRA_DEFAULT_IMAGE = "ghcr.io/mantra-chain/mantrachain:v8.2.0";
9
+ /**
10
+ * Default active static precompiles for mantra.
11
+ *
12
+ * Mirrors MANTRA mainnet's live `evm.params.active_static_precompiles`
13
+ * (queried from `mantra-1`), sorted ascending as required by cosmos-evm
14
+ * genesis validation. A fresh `mantrachaind init` leaves the set EMPTY, so
15
+ * without this none of the precompiles are callable locally.
16
+ */
17
+ export declare const MANTRA_DEFAULT_PRECOMPILES: readonly string[];
9
18
  export type MantraParameters = CosmosEvmChainParameters & {
10
19
  /**
11
20
  * Run from a local `mantrachaind` binary on `PATH` instead of the image.
@@ -1 +1 @@
1
- {"version":3,"file":"mantra.d.ts","sourceRoot":"","sources":["../../src/instances/mantra.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAiB,KAAK,wBAAwB,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAGzF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,4CAA4C,CAAA;AAE7E,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,GAAG;IACxD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;CAC7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;sBA8DjB,CAAA"}
1
+ {"version":3,"file":"mantra.d.ts","sourceRoot":"","sources":["../../src/instances/mantra.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAiB,KAAK,wBAAwB,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAGzF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,4CAA4C,CAAA;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAMvD,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,GAAG;IACxD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;CAC7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;sBAqEjB,CAAA"}
@@ -7,6 +7,21 @@ import { resolveInstanceImage } from '../docker.js';
7
7
  * a binary.
8
8
  */
9
9
  export const MANTRA_DEFAULT_IMAGE = 'ghcr.io/mantra-chain/mantrachain:v8.2.0';
10
+ /**
11
+ * Default active static precompiles for mantra.
12
+ *
13
+ * Mirrors MANTRA mainnet's live `evm.params.active_static_precompiles`
14
+ * (queried from `mantra-1`), sorted ascending as required by cosmos-evm
15
+ * genesis validation. A fresh `mantrachaind init` leaves the set EMPTY, so
16
+ * without this none of the precompiles are callable locally.
17
+ */
18
+ export const MANTRA_DEFAULT_PRECOMPILES = [
19
+ '0x0000000000000000000000000000000000000800', // Staking
20
+ '0x0000000000000000000000000000000000000801', // Distribution
21
+ '0x0000000000000000000000000000000000000802', // ICS20
22
+ '0x0000000000000000000000000000000000000805', // Gov
23
+ '0x0000000000000000000000000000000000000a01', // MANTRA app-side precompile
24
+ ];
10
25
  /**
11
26
  * Defines a mantra (MANTRA chain) instance.
12
27
  *
@@ -38,9 +53,14 @@ export const mantra = Instance.define((parameters) => {
38
53
  validatorStake = '10000000000000000000000', // 1e22
39
54
  evmChainId = 5888, patchGenesis: userPatch, ...rest } = params;
40
55
  const image = resolveInstanceImage('mantra', params, MANTRA_DEFAULT_IMAGE);
56
+ // Preserve the three-state semantics of `activeStaticPrecompiles`:
57
+ // omitted → mantra mainnet set; explicit `undefined` → pass through (binary
58
+ // default, which is empty); `[]` → disable all; `[...]` → overwrite.
59
+ const activeStaticPrecompiles = 'activeStaticPrecompiles' in params ? params.activeStaticPrecompiles : MANTRA_DEFAULT_PRECOMPILES;
41
60
  return cosmosEvmBase({
42
61
  binary, name: 'mantra', chainId, denom, prefix, validatorBalance, validatorStake, ...rest,
43
62
  image,
63
+ activeStaticPrecompiles,
44
64
  // app.toml's compiled-in default is cosmos/evm's 262144; mirror mainnet.
45
65
  extraStartArgs: ['--evm.evm-chain-id', String(evmChainId)],
46
66
  patchGenesis: (genesis) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mantra.js","sourceRoot":"","sources":["../../src/instances/mantra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mantra.js","sourceRoot":"","sources":["../../src/instances/mantra.ts"],"names":[],"mappings":"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"}