starskiff 0.4.3 → 0.6.0

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 (67) hide show
  1. package/README.md +28 -42
  2. package/dist/Instance.d.ts +2 -0
  3. package/dist/Instance.d.ts.map +1 -1
  4. package/dist/Instance.js +2 -0
  5. package/dist/Instance.js.map +1 -1
  6. package/dist/cosmos.d.ts +43 -1
  7. package/dist/cosmos.d.ts.map +1 -1
  8. package/dist/cosmos.js +92 -28
  9. package/dist/cosmos.js.map +1 -1
  10. package/dist/docker.d.ts +87 -0
  11. package/dist/docker.d.ts.map +1 -0
  12. package/dist/docker.js +188 -0
  13. package/dist/docker.js.map +1 -0
  14. package/dist/index.d.ts +8 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +8 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/instances/evmd.d.ts +27 -3
  19. package/dist/instances/evmd.d.ts.map +1 -1
  20. package/dist/instances/evmd.js +25 -2
  21. package/dist/instances/evmd.js.map +1 -1
  22. package/dist/instances/gaiad.d.ts +15 -1
  23. package/dist/instances/gaiad.d.ts.map +1 -1
  24. package/dist/instances/gaiad.js +15 -2
  25. package/dist/instances/gaiad.js.map +1 -1
  26. package/dist/instances/mantra.d.ts +77 -0
  27. package/dist/instances/mantra.d.ts.map +1 -0
  28. package/dist/instances/mantra.js +103 -0
  29. package/dist/instances/mantra.js.map +1 -0
  30. package/dist/instances/marood.d.ts +65 -8
  31. package/dist/instances/marood.d.ts.map +1 -1
  32. package/dist/instances/marood.js +129 -60
  33. package/dist/instances/marood.js.map +1 -1
  34. package/dist/instances/simd.d.ts +17 -2
  35. package/dist/instances/simd.d.ts.map +1 -1
  36. package/dist/instances/simd.js +17 -3
  37. package/dist/instances/simd.js.map +1 -1
  38. package/dist/instances/wasmd.d.ts +21 -4
  39. package/dist/instances/wasmd.d.ts.map +1 -1
  40. package/dist/instances/wasmd.js +22 -5
  41. package/dist/instances/wasmd.js.map +1 -1
  42. package/dist/instances/xplad.d.ts +25 -5
  43. package/dist/instances/xplad.d.ts.map +1 -1
  44. package/dist/instances/xplad.js +26 -4
  45. package/dist/instances/xplad.js.map +1 -1
  46. package/dist/instances/xrplevm.d.ts +80 -0
  47. package/dist/instances/xrplevm.d.ts.map +1 -0
  48. package/dist/instances/xrplevm.js +119 -0
  49. package/dist/instances/xrplevm.js.map +1 -0
  50. package/dist/utils.d.ts +14 -0
  51. package/dist/utils.d.ts.map +1 -1
  52. package/dist/utils.js +50 -0
  53. package/dist/utils.js.map +1 -1
  54. package/package.json +9 -4
  55. package/src/Instance.ts +2 -0
  56. package/src/cosmos.ts +142 -31
  57. package/src/docker.ts +223 -0
  58. package/src/index.ts +8 -3
  59. package/src/instances/evmd.ts +33 -3
  60. package/src/instances/gaiad.ts +21 -3
  61. package/src/instances/mantra.ts +133 -0
  62. package/src/instances/marood.ts +197 -71
  63. package/src/instances/simd.ts +23 -4
  64. package/src/instances/wasmd.ts +28 -6
  65. package/src/instances/xplad.ts +33 -5
  66. package/src/instances/xrplevm.ts +147 -0
  67. package/src/utils.ts +60 -0
package/README.md CHANGED
@@ -3,27 +3,38 @@
3
3
  > [!WARNING]
4
4
  > This project is under active development. APIs may change without notice until v1.0.
5
5
 
6
- Real Cosmos SDK nodes as ephemeral test instances — spawned as child processes, no Docker, no Kubernetes.
6
+ Real Cosmos SDK nodes as ephemeral test instances — run from a local binary or an official chain image, no Kubernetes.
7
7
 
8
- starskiff is the lightweight skiff to [Starship](https://github.com/cosmology-tech/starship)'s heavy vessel: where Starship stands up multi-chain environments on Kubernetes, starskiff boots a single real chain node in seconds — for integration tests and CI. Not a mock; the actual Go binary.
8
+ starskiff is the lightweight skiff to [Starship](https://github.com/cosmology-tech/starship)'s heavy vessel: where Starship stands up multi-chain environments on Kubernetes, starskiff boots a single real chain node in seconds — for integration tests and CI. Not a mock; the actual node. Each instance runs as a child process, sourced either from a binary on `PATH` or a container image (`docker run`, still a plain child process — no orchestrator).
9
9
 
10
10
  Inspired by [prool](https://github.com/wevm/prool) (test instances for Ethereum).
11
11
 
12
12
  ## Features
13
13
 
14
- - Spawn real Cosmos SDK nodes as child processes
15
- - No Docker, no Kubernetes — just a Go binary
14
+ - Spawn real Cosmos SDK nodes as child processes — from a binary or a container image
15
+ - No Kubernetes, no orchestration — just a process
16
16
  - Genesis account injection with mnemonic recovery
17
17
  - Full lifecycle management (start/stop/restart)
18
- - Compatible with [@cosmjs/stargate](https://github.com/cosmos/cosmjs) and [@cosmjs/cosmwasm-stargate](https://github.com/cosmos/cosmjs) for testing
19
- - Extensible to any Cosmos SDK chain binary via `cosmosBase`
18
+ - Compatible with [@cosmjs/stargate](https://github.com/cosmos/cosmjs) and [@cosmjs/cosmwasm-stargate](https://github.com/cosmos/cosmjs), and viem for EVM chains
19
+ - Extensible to any Cosmos SDK chain binary via `cosmosBase` / `cosmosEvmBase`
20
20
 
21
21
  ## Instances
22
22
 
23
- | Instance | Binary | Modules | Use case |
24
- | ------------------ | ------- | ----------------------------------------------- | ---------------------------- |
25
- | `Instance.simd()` | `simd` | bank, staking, gov, mint | Basic Cosmos SDK testing |
26
- | `Instance.wasmd()` | `wasmd` | bank, staking, gov, mint, **IBC**, **CosmWasm** | Contract deploy/execute, IBC |
23
+ | Instance | Source (default) | Modules | Use case |
24
+ | ------------------- | -------------------------------------- | ----------------------------------------------- | ------------------------------ |
25
+ | `Instance.wasmd()` | image `cosmwasm/wasmd` | bank, staking, gov, mint, **IBC**, **CosmWasm** | Contract deploy/execute, IBC |
26
+ | `Instance.simd()` | image `ghcr.io/cosmos/simapp` | bank, staking, gov, mint | Lightweight Cosmos SDK testing |
27
+ | `Instance.gaiad()` | image `ghcr.io/cosmos/gaia` | Cosmos Hub (IBC) | IBC counterparty chain |
28
+ | `Instance.xplad()` | image `ghcr.io/xpladev/xpla` | Cosmos SDK + **EVM** + CosmWasm | XPLA testing, EVM JSON-RPC |
29
+ | `Instance.mantra()` | image `ghcr.io/mantra-chain/mantrachain` | Cosmos SDK + **EVM** + CosmWasm | MANTRA testing (eth 5888) |
30
+ | `Instance.xrplevm()` | image `peersyst/exrp` (amd64-only) | Cosmos SDK + **EVM** (cosmos/evm) | XRPL EVM testing (eth 1440000) |
31
+ | `Instance.evmd()` | image `ghcr.io/2wheeh/starskiff/evmd` | Cosmos SDK + **EVM** (cosmos/evm reference) | Canonical cosmos-evm precompiles |
32
+ | `Instance.marood()` | **required** — `image` or `binary` (private) | Cosmos SDK + **EVM** + maroo modules | maroo chain (viem `marooTestnet`) |
33
+ | `Instance.hermes()` | binary `hermes` | — (IBC relayer) | Relaying between two instances |
34
+
35
+ Every instance is **image-first**: where a usable, version-pinned image exists it's the default (Docker required); pass `binary` to run a local executable, or `image` to bind your own. Where none exists (`marood` — private node source) the source is **required**: constructing without `image` or `binary` throws. `hermes` is a relayer run as a host binary, not a chain node. See the docs [container runtime guide](./../docs/src/pages/docs/guides/docker.mdx).
36
+
37
+ > `evmd`'s default image is built from cosmos/evm source by the `publish-images` workflow and pinned by multi-arch manifest **digest** — the default always resolves to the exact published artifact.
27
38
 
28
39
  ## Install
29
40
 
@@ -33,35 +44,11 @@ pnpm add -D starskiff
33
44
 
34
45
  ### Prerequisites
35
46
 
36
- Install the binary for the instance you need. Requires [Go](https://go.dev/dl/) >= 1.25.
37
-
38
- **simd** (Cosmos SDK simapp):
39
-
40
- ```bash
41
- git clone --depth 1 https://github.com/cosmos/cosmos-sdk.git /tmp/cosmos-sdk
42
- cd /tmp/cosmos-sdk/simapp && go build -o ~/go/bin/simd ./simd/
43
- ```
47
+ Image-backed instances (`simd`, `wasmd`, `gaiad`, `xplad`, `xrplevm`, `mantra`, `evmd`) need only a running **Docker** — the image is pulled on first use. The `hermes` relayer needs its binary on `PATH` (official releases at [informalsystems/hermes](https://github.com/informalsystems/hermes/releases)); `marood` (no default image) needs an injected source — an `image`, or a binary on `PATH`.
44
48
 
45
- **wasmd** (CosmWasmincludes IBC):
49
+ Any instance also accepts a `binary` (local executable) or `image` (custom tag) override the [escape hatch](./../docs/src/pages/docs/guides/docker.mdx#escape-hatches) for local development, e.g. running an image-backed chain from a source build without Docker.
46
50
 
47
- ```bash
48
- git clone --depth 1 https://github.com/CosmWasm/wasmd.git /tmp/wasmd
49
- cd /tmp/wasmd && go build -o ~/go/bin/wasmd ./cmd/wasmd/
50
- ```
51
-
52
- ### Prebuilt binaries (CI)
53
-
54
- Prebuilt `linux/amd64` binaries are available in [GitHub Releases](https://github.com/2wheeh/starskiff/releases/tag/binaries/latest) for CI environments:
55
-
56
- ```bash
57
- # Download and install (e.g. in GitHub Actions)
58
- gh release download "binaries/latest" --repo 2wheeh/starskiff --pattern "*.gz" --dir /tmp
59
- gunzip -c /tmp/simd-linux-amd64.gz > /usr/local/bin/simd
60
- gunzip -c /tmp/wasmd-linux-amd64.gz > /usr/local/bin/wasmd
61
- chmod +x /usr/local/bin/simd /usr/local/bin/wasmd
62
- ```
63
-
64
- > For local development on macOS/Windows, build from source using the instructions above.
51
+ See the [CI guide](./../docs/src/pages/docs/guides/ci.mdx) for provisioning binaries on GitHub Actions.
65
52
 
66
53
  ## Usage
67
54
 
@@ -306,22 +293,21 @@ Recommended: fund multiple accounts in genesis, assign each test its own account
306
293
 
307
294
  | | Starship | starskiff |
308
295
  | ------------ | -------------------------- | -------------------- |
309
- | Infra | Kubernetes + Helm + Docker | None (child process) |
296
+ | Infra | Kubernetes + Helm + Docker | None child process (binary or `docker run`) |
310
297
  | Startup | 2-5 min | 3-5 sec |
311
- | Dependencies | K8s cluster | Go binary |
298
+ | Dependencies | K8s cluster | A binary or Docker |
312
299
  | State reset | Helm redeploy (minutes) | kill + restart (~3s) |
313
300
  | Best for | Production simulation | Dev/test |
314
301
 
315
302
  ## TODO
316
303
 
317
- - [ ] `cosmosEvmBase` — EVM JSON-RPC port support for EVM-enabled chains (e.g. xpla, evmos)
318
304
  - [ ] `starskiff.config.ts` — config-based chain + relayer declaration
319
305
  - [ ] `starskiff/vitest` — vitest plugin (automatic setup/teardown via `vitestPlugin(config)`)
320
306
  - [ ] `starskiff/playwright` — playwright plugin (`playwrightPlugin(config)`)
321
- - [ ] Automatic port allocation (avoid port conflicts in parallel tests)
322
- - [x] `findFreePorts()` utility for direct `Instance` users
323
307
  - [ ] `starskiff/setup-binaries` GitHub Action for CI binary setup
324
308
 
309
+ Shipped: `cosmosEvmBase` (EVM JSON-RPC instances), `findFreePorts()` (port allocation), the container runtime (`image` parameter).
310
+
325
311
  ## License
326
312
 
327
313
  MIT
@@ -3,7 +3,9 @@ import type { EventTypes } from './process.js';
3
3
  export { simd } from './instances/simd.js';
4
4
  export { wasmd } from './instances/wasmd.js';
5
5
  export { gaiad } from './instances/gaiad.js';
6
+ export { mantra } from './instances/mantra.js';
6
7
  export { xplad } from './instances/xplad.js';
8
+ export { xrplevm } from './instances/xrplevm.js';
7
9
  export { evmd } from './instances/evmd.js';
8
10
  export { marood } from './instances/marood.js';
9
11
  export { hermes } from './instances/hermes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../src/Instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../src/Instance.ts"],"names":[],"mappings":"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"}
package/dist/Instance.js CHANGED
@@ -2,7 +2,9 @@ import mitt, {} from 'mitt';
2
2
  export { simd } from './instances/simd.js';
3
3
  export { wasmd } from './instances/wasmd.js';
4
4
  export { gaiad } from './instances/gaiad.js';
5
+ export { mantra } from './instances/mantra.js';
5
6
  export { xplad } from './instances/xplad.js';
7
+ export { xrplevm } from './instances/xrplevm.js';
6
8
  export { evmd } from './instances/evmd.js';
7
9
  export { marood } from './instances/marood.js';
8
10
  export { hermes } from './instances/hermes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Instance.js","sourceRoot":"","sources":["../src/Instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Instance.js","sourceRoot":"","sources":["../src/Instance.ts"],"names":[],"mappings":"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"}
package/dist/cosmos.d.ts CHANGED
@@ -2,7 +2,10 @@ import * as Instance from './Instance.js';
2
2
  export type CosmosAccount = {
3
3
  /** BIP39 mnemonic for key derivation. */
4
4
  mnemonic: string;
5
- /** Coins to fund (e.g. "1000000000stake"). */
5
+ /**
6
+ * Coins to fund (e.g. "1000000000stake"). Multi-coin strings are allowed;
7
+ * denoms are sorted for you (the SDK requires ascending order).
8
+ */
6
9
  coins: string;
7
10
  /** Account name for keyring. @default "test-{index}" */
8
11
  name?: string;
@@ -70,6 +73,19 @@ export type CosmosChainParameters = {
70
73
  * `cosmosEvmBase`), callers only override for custom chains.
71
74
  */
72
75
  relayerHints?: CosmosRelayerHints;
76
+ /**
77
+ * Run the node from a container image instead of a binary on `PATH`
78
+ * (e.g. `"ghcr.io/xpladev/xpla:v1.10.0"`).
79
+ *
80
+ * Chains that publish an official image default to it — no Go toolchain, no
81
+ * `go build`, and the image is the artifact the network itself ships. Docker
82
+ * must be running.
83
+ *
84
+ * The image is only the *source of the node*: starskiff still drives the
85
+ * chain CLI, patches genesis on the host, and streams stdout/stderr from a
86
+ * child process — there's no orchestrator here.
87
+ */
88
+ image?: string;
73
89
  };
74
90
  /** A Cosmos chain instance with chain-specific config exposed. */
75
91
  export type CosmosInstance = Instance.Instance & {
@@ -148,12 +164,26 @@ export type CosmosBaseParameters = CosmosChainParameters & {
148
164
  name: string;
149
165
  /** Hook to patch genesis after default denom patching. */
150
166
  patchGenesis?: (genesis: Genesis) => Genesis;
167
+ /**
168
+ * Hook to patch genesis AFTER `collect-gentxs` — the last SDK command that
169
+ * rewrites genesis.json. The SDK re-marshals top-level fields on every
170
+ * genesis command (e.g. `initial_height` back to a JSON number), so edits to
171
+ * those fields must happen here; `patchGenesis` edits to `app_state` survive
172
+ * because the SDK carries it as a raw message.
173
+ */
174
+ finalizeGenesis?: (genesis: Genesis) => Genesis;
151
175
  /** Additional app.toml patches. Merged after default patches. */
152
176
  extraAppToml?: Record<string, string>;
153
177
  /** Additional config.toml patches. Merged after default patches. */
154
178
  extraConfigToml?: Record<string, string>;
155
179
  /** Extra args appended to the `start` command (e.g. `['--chain-id', id]`). */
156
180
  extraStartArgs?: string[];
181
+ /**
182
+ * Additional ports to publish when running from an image (e.g. the EVM
183
+ * JSON-RPC port, added by `cosmosEvmBase`). Ignored by the binary runtime,
184
+ * which needs no port mapping.
185
+ */
186
+ extraPorts?: number[];
157
187
  /**
158
188
  * Additional readiness check ANDed with the default CometBFT height check
159
189
  * before `start()` resolves. Used by `cosmosEvmBase` to also wait for the
@@ -234,11 +264,23 @@ export type CosmosEvmBaseParameters = CosmosEvmChainParameters & {
234
264
  binary: string;
235
265
  name: string;
236
266
  patchGenesis?: (genesis: Genesis) => Genesis;
267
+ /** Post-`collect-gentxs` genesis patch, forwarded to cosmosBase. */
268
+ finalizeGenesis?: (genesis: Genesis) => Genesis;
237
269
  /** Additional config.toml patches, forwarded to cosmosBase. */
238
270
  extraConfigToml?: Record<string, string>;
239
271
  /** Extra `start` command args, forwarded to cosmosBase. */
240
272
  extraStartArgs?: string[];
241
273
  };
274
+ /**
275
+ * Normalizes an `active_static_precompiles` list to the form cosmos-evm
276
+ * genesis validation requires: EIP-55 checksummed — the chain's activation
277
+ * check compares the stored strings case-sensitively against
278
+ * `address.String()`, so lowercasing silently disables any precompile whose
279
+ * address contains a hex letter — and plain-sorted, since validation runs
280
+ * `slices.IsSorted` on those exact strings (a lowercase-keyed sort could
281
+ * fail it). Exported for unit testing; not part of the package root.
282
+ */
283
+ export declare function normalizeActiveStaticPrecompiles(precompiles: readonly string[]): string[];
242
284
  /**
243
285
  * Shared setup for EVM-enabled Cosmos SDK chains (e.g. xpla, evmos).
244
286
  *
@@ -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,6 +5,8 @@ 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';
9
+ import { assertDockerAvailable, CONTAINER_HOME, ensureImage, removeContainer, runArgs as dockerRunArgs, startArgs as dockerStartArgs, } from './docker.js';
8
10
  /** Default pk proto URL for ethermint-derivation chains (cosmos-evm module). */
9
11
  export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k1.PubKey';
10
12
  /**
@@ -17,14 +19,18 @@ export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k
17
19
  * For custom chains, provide a `patchGenesis` hook for chain-specific genesis modifications.
18
20
  */
19
21
  export function cosmosBase(parameters) {
20
- 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, extraAppToml, extraConfigToml, extraStartArgs, extraReadinessCheck, relayerHints, } = 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;
21
23
  const process = createProcess(name);
22
24
  const host = 'localhost';
23
25
  let homeDir;
24
26
  let healthPollInterval;
27
+ // Container name for the docker runtime. Unique per instance so concurrent
28
+ // chains (and leftovers from a crashed run) never collide.
29
+ const containerName = `starskiff-${name}-${globalThis.process.pid}-${Math.random().toString(36).slice(2, 8)}`;
25
30
  // Shared by stop() and start()'s failure path so a half-started instance
26
31
  // (bootstrap threw, or the start timeout fired) leaves nothing behind:
27
- // the health-poll interval, the child process, and the temp home dir.
32
+ // the health-poll interval, the child process, the container, and the temp
33
+ // home dir.
28
34
  async function cleanup() {
29
35
  if (healthPollInterval) {
30
36
  clearInterval(healthPollInterval);
@@ -36,6 +42,10 @@ export function cosmosBase(parameters) {
36
42
  catch {
37
43
  // best-effort: tolerate an already-dead process
38
44
  }
45
+ // Killing the `docker run` client doesn't necessarily reap the container,
46
+ // which would keep the published ports bound. Remove it explicitly.
47
+ if (image)
48
+ await removeContainer(containerName);
39
49
  if (homeDir) {
40
50
  fs.rmSync(homeDir, { recursive: true, force: true });
41
51
  homeDir = undefined;
@@ -57,10 +67,23 @@ export function cosmosBase(parameters) {
57
67
  async start({ port = rpcPort }, { emitter }) {
58
68
  homeDir = fs.mkdtempSync(path.join(os.tmpdir(), 'starskiff-'));
59
69
  try {
60
- const run = (args) => x(binary, [...args, '--home', homeDir], {
61
- throwOnError: true,
62
- nodeOptions: { stdio: 'pipe' },
63
- });
70
+ if (image) {
71
+ await assertDockerAvailable(image);
72
+ await ensureImage(image, (message) => emitter.emit('message', message));
73
+ }
74
+ // Both runtimes execute the same chain CLI against the same home dir —
75
+ // docker just runs it inside a disposable container with that dir bind
76
+ // mounted, so every step below (and the host-side genesis/config
77
+ // patching) is runtime-agnostic.
78
+ const run = (args) => image
79
+ ? x('docker', dockerRunArgs({ image, homeDir: homeDir }, binary, args), {
80
+ throwOnError: true,
81
+ nodeOptions: { stdio: 'pipe' },
82
+ })
83
+ : x(binary, [...args, '--home', homeDir], {
84
+ throwOnError: true,
85
+ nodeOptions: { stdio: 'pipe' },
86
+ });
64
87
  // 1. Init chain
65
88
  await run(['init', 'validator', '--chain-id', chainId]);
66
89
  // 2. Patch genesis
@@ -79,16 +102,23 @@ export function cosmosBase(parameters) {
79
102
  for (let i = 0; i < accounts.length; i++) {
80
103
  const account = accounts[i];
81
104
  const keyName = account.name || `test-${i}`;
82
- const result = spawnSync(binary, [
83
- 'keys', 'add', keyName, '--recover',
84
- '--keyring-backend', 'test', '--home', homeDir,
85
- ], { input: account.mnemonic + '\n', stdio: ['pipe', 'pipe', 'pipe'] });
105
+ // tinyexec has no stdin, and `keys add --recover` prompts for the
106
+ // mnemonic so this one step drops to spawnSync with a piped stdin
107
+ // (docker gets `-i` to keep the pipe open into the container).
108
+ const recoverArgs = ['keys', 'add', keyName, '--recover', '--keyring-backend', 'test'];
109
+ const [recoverCmd, recoverArgv] = image
110
+ ? ['docker', dockerRunArgs({ image, homeDir: homeDir }, binary, recoverArgs, { interactive: true })]
111
+ : [binary, [...recoverArgs, '--home', homeDir]];
112
+ const result = spawnSync(recoverCmd, recoverArgv, {
113
+ input: account.mnemonic + '\n',
114
+ stdio: ['pipe', 'pipe', 'pipe'],
115
+ });
86
116
  if (result.status !== 0) {
87
117
  throw new Error(`Failed to recover key "${keyName}": ${result.stderr?.toString()}`);
88
118
  }
89
119
  await run([
90
120
  'genesis', 'add-genesis-account', keyName,
91
- account.coins, '--keyring-backend', 'test',
121
+ sortCoins(account.coins), '--keyring-backend', 'test',
92
122
  ]);
93
123
  }
94
124
  // 4. Gentx (default validator) + any extra validators, then collect.
@@ -108,23 +138,27 @@ export function cosmosBase(parameters) {
108
138
  `${validatorBalance}${denom}`, '--keyring-backend', 'test',
109
139
  ]);
110
140
  const consHome = fs.mkdtempSync(path.join(os.tmpdir(), 'starskiff-cons-'));
111
- try {
112
- await x(binary, ['init', valName, '--chain-id', chainId, '--home', consHome], {
141
+ // The throwaway home is a *different* directory, so under docker it
142
+ // needs its own bind mount rather than the instance's.
143
+ const runInConsHome = (args) => image
144
+ ? x('docker', dockerRunArgs({ image, homeDir: consHome }, binary, args), {
113
145
  throwOnError: true,
114
146
  nodeOptions: { stdio: 'pipe' },
115
- });
116
- // `comet show-validator` (SDK v0.50); older binaries only expose
117
- // the `tendermint` alias, so fall back to it.
118
- const showValidator = (sub) => x(binary, [sub, 'show-validator', '--home', consHome], {
147
+ })
148
+ : x(binary, [...args, '--home', consHome], {
119
149
  throwOnError: true,
120
150
  nodeOptions: { stdio: 'pipe' },
121
151
  });
152
+ try {
153
+ await runInConsHome(['init', valName, '--chain-id', chainId]);
154
+ // `comet show-validator` (SDK ≥ v0.50); older binaries only expose
155
+ // the `tendermint` alias, so fall back to it.
122
156
  let pubkey;
123
157
  try {
124
- pubkey = (await showValidator('comet')).stdout;
158
+ pubkey = (await runInConsHome(['comet', 'show-validator'])).stdout;
125
159
  }
126
160
  catch {
127
- pubkey = (await showValidator('tendermint')).stdout;
161
+ pubkey = (await runInConsHome(['tendermint', 'show-validator'])).stdout;
128
162
  }
129
163
  await run([
130
164
  'genesis', 'gentx', valName, `${extraStake}${denom}`,
@@ -132,8 +166,12 @@ export function cosmosBase(parameters) {
132
166
  '--moniker', valName,
133
167
  // All gentx share this home's node key, so the default
134
168
  // `gentx-<nodeID>.json` filename collides — write a distinct file.
169
+ // The path is resolved by the chain CLI, so it must be expressed
170
+ // in the container's filesystem when running from an image.
135
171
  '--output-document',
136
- path.join(homeDir, 'config', 'gentx', `gentx-${valName}.json`),
172
+ image
173
+ ? `${CONTAINER_HOME}/config/gentx/gentx-${valName}.json`
174
+ : path.join(homeDir, 'config', 'gentx', `gentx-${valName}.json`),
137
175
  '--chain-id', chainId, '--keyring-backend', 'test',
138
176
  ]);
139
177
  }
@@ -142,6 +180,10 @@ export function cosmosBase(parameters) {
142
180
  }
143
181
  }
144
182
  await run(['genesis', 'collect-gentxs']);
183
+ if (finalizeGenesis) {
184
+ const finalized = finalizeGenesis(JSON.parse(fs.readFileSync(genesisPath, 'utf8')));
185
+ fs.writeFileSync(genesisPath, JSON.stringify(finalized, null, 2));
186
+ }
145
187
  // 5. Patch configs for port bindings
146
188
  patchToml(path.join(homeDir, 'config', 'config.toml'), {
147
189
  'rpc.laddr': `tcp://0.0.0.0:${port}`,
@@ -158,8 +200,21 @@ export function cosmosBase(parameters) {
158
200
  'minimum-gas-prices': minimumGasPrices ?? `0${denom}`,
159
201
  ...extraAppToml,
160
202
  }, binary);
161
- // 6. Start and wait for first block
162
- return await process.start(binary, ['start', '--home', homeDir, ...(extraStartArgs ?? [])], {
203
+ // 6. Start and wait for first block.
204
+ // The container runs attached, so `docker run` forwards the node's
205
+ // stdout/stderr to the child process — message buffering, events and
206
+ // exit detection below are identical for both runtimes.
207
+ const startCliArgs = ['start', ...(extraStartArgs ?? [])];
208
+ const [startCmd, startArgv] = image
209
+ ? [
210
+ 'docker',
211
+ dockerStartArgs({ image, homeDir }, binary, startCliArgs, {
212
+ name: containerName,
213
+ ports: [port, p2pPort, apiPort, grpcPort, grpcWebPort, ...(extraPorts ?? [])],
214
+ }),
215
+ ]
216
+ : [binary, ['start', '--home', homeDir, ...(extraStartArgs ?? [])]];
217
+ return await process.start(startCmd, startArgv, {
163
218
  emitter,
164
219
  resolver({ process: proc, resolve, reject }) {
165
220
  const rpcUrl = `http://localhost:${port}`;
@@ -294,6 +349,18 @@ function patchToml(filePath, patches, binary) {
294
349
  }
295
350
  fs.writeFileSync(filePath, result.join('\n'));
296
351
  }
352
+ /**
353
+ * Normalizes an `active_static_precompiles` list to the form cosmos-evm
354
+ * genesis validation requires: EIP-55 checksummed — the chain's activation
355
+ * check compares the stored strings case-sensitively against
356
+ * `address.String()`, so lowercasing silently disables any precompile whose
357
+ * address contains a hex letter — and plain-sorted, since validation runs
358
+ * `slices.IsSorted` on those exact strings (a lowercase-keyed sort could
359
+ * fail it). Exported for unit testing; not part of the package root.
360
+ */
361
+ export function normalizeActiveStaticPrecompiles(precompiles) {
362
+ return precompiles.map((a) => toChecksumAddress(a)).sort();
363
+ }
297
364
  /**
298
365
  * Shared setup for EVM-enabled Cosmos SDK chains (e.g. xpla, evmos).
299
366
  *
@@ -303,6 +370,8 @@ export function cosmosEvmBase(parameters) {
303
370
  const { evmPort = 8545, relayerHints, activeStaticPrecompiles, patchGenesis: userPatch, ...rest } = parameters;
304
371
  const base = cosmosBase({
305
372
  ...rest,
373
+ // Docker runtime: the JSON-RPC listener needs its port published too.
374
+ extraPorts: [evmPort],
306
375
  extraAppToml: {
307
376
  'json-rpc.enable': 'true',
308
377
  'json-rpc.address': `0.0.0.0:${evmPort}`,
@@ -321,12 +390,7 @@ export function cosmosEvmBase(parameters) {
321
390
  if (activeStaticPrecompiles !== undefined) {
322
391
  const evm = genesis.app_state.evm;
323
392
  if (evm?.params) {
324
- // cosmos-evm genesis validation requires the list to be sorted by
325
- // bytes20 order. Normalize to lowercase + ascending sort so callers
326
- // don't have to think about it.
327
- evm.params.active_static_precompiles = activeStaticPrecompiles
328
- .map((a) => a.toLowerCase())
329
- .sort();
393
+ evm.params.active_static_precompiles = normalizeActiveStaticPrecompiles(activeStaticPrecompiles);
330
394
  }
331
395
  }
332
396
  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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"}