starskiff 0.4.2 → 0.5.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 +3 -0
  3. package/dist/Instance.d.ts.map +1 -1
  4. package/dist/Instance.js +3 -0
  5. package/dist/Instance.js.map +1 -1
  6. package/dist/cosmos.d.ts +29 -0
  7. package/dist/cosmos.d.ts.map +1 -1
  8. package/dist/cosmos.js +77 -21
  9. package/dist/cosmos.js.map +1 -1
  10. package/dist/docker.d.ts +83 -0
  11. package/dist/docker.d.ts.map +1 -0
  12. package/dist/docker.js +176 -0
  13. package/dist/docker.js.map +1 -0
  14. package/dist/index.d.ts +8 -2
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +8 -2
  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 +68 -0
  27. package/dist/instances/mantra.d.ts.map +1 -0
  28. package/dist/instances/mantra.js +83 -0
  29. package/dist/instances/mantra.js.map +1 -0
  30. package/dist/instances/marood-preinstalls.d.ts +19 -0
  31. package/dist/instances/marood-preinstalls.d.ts.map +1 -0
  32. package/dist/instances/marood-preinstalls.js +89 -0
  33. package/dist/instances/marood-preinstalls.js.map +1 -0
  34. package/dist/instances/marood.d.ts +125 -0
  35. package/dist/instances/marood.d.ts.map +1 -0
  36. package/dist/instances/marood.js +166 -0
  37. package/dist/instances/marood.js.map +1 -0
  38. package/dist/instances/simd.d.ts +17 -2
  39. package/dist/instances/simd.d.ts.map +1 -1
  40. package/dist/instances/simd.js +17 -3
  41. package/dist/instances/simd.js.map +1 -1
  42. package/dist/instances/wasmd.d.ts +21 -4
  43. package/dist/instances/wasmd.d.ts.map +1 -1
  44. package/dist/instances/wasmd.js +22 -5
  45. package/dist/instances/wasmd.js.map +1 -1
  46. package/dist/instances/xplad.d.ts +25 -5
  47. package/dist/instances/xplad.d.ts.map +1 -1
  48. package/dist/instances/xplad.js +26 -4
  49. package/dist/instances/xplad.js.map +1 -1
  50. package/dist/instances/xrplevm.d.ts +71 -0
  51. package/dist/instances/xrplevm.d.ts.map +1 -0
  52. package/dist/instances/xrplevm.js +100 -0
  53. package/dist/instances/xrplevm.js.map +1 -0
  54. package/package.json +9 -4
  55. package/src/Instance.ts +3 -0
  56. package/src/cosmos.ts +122 -23
  57. package/src/docker.ts +209 -0
  58. package/src/index.ts +8 -2
  59. package/src/instances/evmd.ts +33 -3
  60. package/src/instances/gaiad.ts +21 -3
  61. package/src/instances/mantra.ts +110 -0
  62. package/src/instances/marood-preinstalls.ts +111 -0
  63. package/src/instances/marood.ts +242 -0
  64. package/src/instances/simd.ts +23 -4
  65. package/src/instances/wasmd.ts +28 -6
  66. package/src/instances/xplad.ts +33 -5
  67. package/src/instances/xrplevm.ts +125 -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,8 +3,11 @@ 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';
10
+ export { marood } from './instances/marood.js';
8
11
  export { hermes } from './instances/hermes.js';
9
12
  export type InstanceStatus = 'idle' | 'starting' | 'started' | 'stopping' | 'stopped' | 'restarting';
10
13
  /** A managed instance with lifecycle control and event emitting. */
@@ -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,8 +2,11 @@ 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';
9
+ export { marood } from './instances/marood.js';
7
10
  export { hermes } from './instances/hermes.js';
8
11
  /**
9
12
  * Creates an instance definition.
@@ -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":"AAAA,OAAO,IAAI,EAAE,EAA8B,MAAM,MAAM,CAAA;AAGvD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAqE9C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,MAAM,CACpB,EAAwB;IAExB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAQ,EAAE,EAAE;QACnD,MAAM,iBAAiB,GAAG,CAAC,CAAM,EAAwB,EAAE,CACzD,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,CAAA;QAEhF,wDAAwD;QACxD,iFAAiF;QACjF,MAAM,UAAU,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;YACnF,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,SAAS,CAAM,CAAA;QACnB,MAAM,OAAO,GAAoB,QAAQ,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAEhH,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAA;QAC1B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QACjC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACnB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACnB,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;QAExD,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,EAAc,CAAA;QACvD,IAAI,YAAY,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAA;QAChD,IAAI,eAAe,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAA;QAEnD,MAAM,OAAO,GAAG,IAAI,EAAc,CAAA;QAElC,IAAI,QAAQ,GAAa,EAAE,CAAA;QAC3B,IAAI,MAAM,GAAmB,MAAM,CAAA;QACnC,IAAI,UAAU,GAAG,KAAK,CAAA;QAEtB,MAAM,SAAS,GAAoB,CAAC,OAAO,EAAE,EAAE;YAC7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtB,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa;gBAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;QACvD,CAAC,CAAA;QACD,MAAM,WAAW,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS,CAAA,CAAC,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS,CAAA,CAAC,CAAC,CAAA;QAE3C,MAAM,IAAI,GAAG;YACX,IAAI,IAAI,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;YAC1B,IAAI;YACJ,IAAI,IAAI,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;YAC1B,IAAI,MAAM;gBACR,IAAI,UAAU;oBAAE,OAAO,YAAY,CAAA;gBACnC,OAAO,MAAM,CAAA;YACf,CAAC;YACD,QAAQ,EAAE;gBACR,KAAK,KAAK,QAAQ,GAAG,EAAE,CAAA,CAAC,CAAC;gBACzB,GAAG,KAAK,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAA,CAAC,CAAC;aAC/B;YAED,KAAK,CAAC,KAAK;gBACT,IAAI,MAAM,KAAK,UAAU;oBAAE,OAAO,aAAa,CAAC,OAAO,CAAA;gBACvD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS;oBAC3C,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,iDAAiD,MAAM,EAAE,CAAC,CAAA;gBAE7F,IAAI,UAAqD,CAAA;gBACzD,sEAAsE;gBACtE,iEAAiE;gBACjE,iEAAiE;gBACjE,IAAI,QAAQ,GAAG,KAAK,CAAA;gBACpB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC3B,QAAQ,GAAG,IAAI,CAAA;wBACf,MAAM,GAAG,MAAM,CAAA;wBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;wBACrB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;wBACjC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;wBACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;wBAC3B,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,IAAI,4BAA4B,CAAC,CAAC,CAAA;wBAC9E,aAAa,GAAG,OAAO,CAAC,aAAa,EAAc,CAAA;wBACnD,+DAA+D;wBAC/D,kEAAkE;wBAClE,gEAAgE;wBAChE,IAAI,CAAC;4BACH,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;wBAC7D,CAAC;wBAAC,MAAM,CAAC;4BACP,SAAS;wBACX,CAAC;oBACH,CAAC,EAAE,OAAO,CAAC,CAAA;gBACb,CAAC;gBAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;gBAChC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;gBACpC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBAE1B,MAAM,GAAG,UAAU,CAAA;gBACnB,KAAK,CACH,EAAE,IAAI,EAAE,EACR;oBACE,OAAO;oBACP,WAAW,CAAC,QAAQ;wBAClB,IAAI,QAAQ,CAAC,IAAI;4BAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;wBACvC,IAAI,QAAQ,CAAC,IAAI;4BAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;oBACzC,CAAC;oBACD,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CACF;qBACE,IAAI,CAAC,GAAG,EAAE;oBACT,IAAI,UAAU;wBAAE,YAAY,CAAC,UAAU,CAAC,CAAA;oBACxC,IAAI,QAAQ;wBAAE,OAAM;oBACpB,MAAM,GAAG,SAAS,CAAA;oBAClB,YAAY,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAA;oBAC5C,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC7C,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,IAAI,UAAU;wBAAE,YAAY,CAAC,UAAU,CAAC,CAAA;oBACxC,IAAI,QAAQ;wBAAE,OAAM;oBACpB,MAAM,GAAG,MAAM,CAAA;oBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;oBACrB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;oBACjC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;oBACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAC3B,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC3B,aAAa,GAAG,OAAO,CAAC,aAAa,EAAc,CAAA;gBACrD,CAAC,CAAC,CAAA;gBAEJ,OAAO,aAAa,CAAC,OAAO,CAAA;YAC9B,CAAC;YAED,KAAK,CAAC,IAAI;gBACR,IAAI,MAAM,KAAK,UAAU;oBAAE,OAAO,YAAY,CAAC,OAAO,CAAA;gBACtD,IAAI,MAAM,KAAK,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,gBAAgB,CAAC,CAAA;gBAE7E,IAAI,SAAoD,CAAA;gBACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1B,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,IAAI,2BAA2B,CAAC,CAAC,CAAA;oBAC9E,CAAC,EAAE,OAAO,CAAC,CAAA;gBACb,CAAC;gBAED,MAAM,GAAG,UAAU,CAAA;gBACnB,IAAI,CAAC;oBACH,OAAO;oBACP,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC;qBACC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE;oBAChB,IAAI,SAAS;wBAAE,YAAY,CAAC,SAAS,CAAC,CAAA;oBACtC,MAAM,GAAG,SAAS,CAAA;oBAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;oBACrB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;oBACjC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;oBACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAC3B,aAAa,GAAG,OAAO,CAAC,aAAa,EAAc,CAAA;oBACnD,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC/B,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,IAAI,SAAS;wBAAE,YAAY,CAAC,SAAS,CAAC,CAAA;oBACtC,MAAM,GAAG,SAAS,CAAA;oBAClB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC1B,YAAY,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAA;gBAC9C,CAAC,CAAC,CAAA;gBAEJ,OAAO,YAAY,CAAC,OAAO,CAAA;YAC7B,CAAC;YAED,KAAK,CAAC,OAAO;gBACX,IAAI,UAAU;oBAAE,OAAO,eAAe,CAAC,OAAO,CAAA;gBAE9C,UAAU,GAAG,IAAI,CAAA;gBAEjB,IAAI,CAAC,IAAI,EAAE;qBACR,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;qBACxB,IAAI,CAAC,GAAG,EAAE;oBACT,UAAU,GAAG,KAAK,CAAA;oBAClB,eAAe,CAAC,OAAO,EAAE,CAAA;oBACzB,eAAe,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAA;gBACjD,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,UAAU,GAAG,KAAK,CAAA;oBAClB,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC7B,eAAe,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAA;gBACjD,CAAC,CAAC,CAAA;gBAEJ,OAAO,eAAe,CAAC,OAAO,CAAA;YAChC,CAAC;YAED,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SACZ,CAAA;QAEpB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QACpE,MAAM,KAAK,GAA4B,EAAE,CAAA;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAI,GAA+B,CAAC,GAAG,CAAC,CAAA;QAC7E,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAA6C,CAAA;IAC/E,CAAC,CAAA;AACH,CAAC"}
package/dist/cosmos.d.ts CHANGED
@@ -70,6 +70,19 @@ export type CosmosChainParameters = {
70
70
  * `cosmosEvmBase`), callers only override for custom chains.
71
71
  */
72
72
  relayerHints?: CosmosRelayerHints;
73
+ /**
74
+ * Run the node from a container image instead of a binary on `PATH`
75
+ * (e.g. `"ghcr.io/xpladev/xpla:v1.10.0"`).
76
+ *
77
+ * Chains that publish an official image default to it — no Go toolchain, no
78
+ * `go build`, and the image is the artifact the network itself ships. Docker
79
+ * must be running.
80
+ *
81
+ * The image is only the *source of the node*: starskiff still drives the
82
+ * chain CLI, patches genesis on the host, and streams stdout/stderr from a
83
+ * child process — there's no orchestrator here.
84
+ */
85
+ image?: string;
73
86
  };
74
87
  /** A Cosmos chain instance with chain-specific config exposed. */
75
88
  export type CosmosInstance = Instance.Instance & {
@@ -148,12 +161,26 @@ export type CosmosBaseParameters = CosmosChainParameters & {
148
161
  name: string;
149
162
  /** Hook to patch genesis after default denom patching. */
150
163
  patchGenesis?: (genesis: Genesis) => Genesis;
164
+ /**
165
+ * Hook to patch genesis AFTER `collect-gentxs` — the last SDK command that
166
+ * rewrites genesis.json. The SDK re-marshals top-level fields on every
167
+ * genesis command (e.g. `initial_height` back to a JSON number), so edits to
168
+ * those fields must happen here; `patchGenesis` edits to `app_state` survive
169
+ * because the SDK carries it as a raw message.
170
+ */
171
+ finalizeGenesis?: (genesis: Genesis) => Genesis;
151
172
  /** Additional app.toml patches. Merged after default patches. */
152
173
  extraAppToml?: Record<string, string>;
153
174
  /** Additional config.toml patches. Merged after default patches. */
154
175
  extraConfigToml?: Record<string, string>;
155
176
  /** Extra args appended to the `start` command (e.g. `['--chain-id', id]`). */
156
177
  extraStartArgs?: string[];
178
+ /**
179
+ * Additional ports to publish when running from an image (e.g. the EVM
180
+ * JSON-RPC port, added by `cosmosEvmBase`). Ignored by the binary runtime,
181
+ * which needs no port mapping.
182
+ */
183
+ extraPorts?: number[];
157
184
  /**
158
185
  * Additional readiness check ANDed with the default CometBFT height check
159
186
  * before `start()` resolves. Used by `cosmosEvmBase` to also wait for the
@@ -234,6 +261,8 @@ export type CosmosEvmBaseParameters = CosmosEvmChainParameters & {
234
261
  binary: string;
235
262
  name: string;
236
263
  patchGenesis?: (genesis: Genesis) => Genesis;
264
+ /** Post-`collect-gentxs` genesis patch, forwarded to cosmosBase. */
265
+ finalizeGenesis?: (genesis: Genesis) => Genesis;
237
266
  /** Additional config.toml patches, forwarded to cosmosBase. */
238
267
  extraConfigToml?: Record<string, string>;
239
268
  /** Extra `start` command args, forwarded to cosmosBase. */
@@ -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":"AAKA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAWzC,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,8BAA8B,8CAA8C,CAAA;AAEzF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,QAAQ,CAAA;IAC5B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GACD;IACE,iBAAiB,EAAE,WAAW,CAAA;IAC9B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAEL,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG;IAClC,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,GAAG;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE;QACT,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAA;QAC7C,IAAI,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAA;QAC1C,MAAM,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAA;QAC7C,GAAG,CAAC,EAAE;YACJ,cAAc,CAAC,EAAE;gBAAE,WAAW,CAAC,EAAE;oBAAE,KAAK,EAAE,MAAM,CAAA;iBAAE,EAAE,CAAA;aAAE,CAAA;YACtD,MAAM,CAAC,EAAE;gBAAE,WAAW,CAAC,EAAE;oBAAE,KAAK,EAAE,MAAM,CAAA;iBAAE,EAAE,CAAA;aAAE,CAAA;SAC/C,CAAA;QACD,IAAI,CAAC,EAAE;YAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAA;SAAE,CAAA;QACrC,SAAS,CAAC,EAAE;YACV,MAAM,EAAE;gBAAE,SAAS,EAAE,MAAM,CAAC;gBAAC,kBAAkB,EAAE,MAAM,CAAC;gBAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;aAAE,CAAA;YAC/E,KAAK,EAAE;gBAAE,cAAc,EAAE,MAAM,CAAC;gBAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;aAAE,CAAA;SACxD,CAAA;QACD,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAC1B,CAAA;CACF,CAAA;AAED,sGAAsG;AACtG,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG;IACzD,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAC5C;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAC/C,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAC7C,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,oBAAoB;;;;;;;;;;;;;oBA4EjC,QAAQ,CAAC,oBAAoB,eACpC,QAAQ,CAAC,oBAAoB;;EAmO/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAWlG;AAuED,oDAAoD;AACpD,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,GAAG;IACnF,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtD;;;;;;;;OAQG;IACH,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5C,CAAA;AAED,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,6CAA6C;AAC7C,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG;IAC/D,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAC5C,oEAAoE;IACpE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;IAC/C,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,uBAAuB;;;;;;;;;;;;;;;oBAnXvC,QAAQ,CAAC,oBAAoB,eACpC,QAAQ,CAAC,oBAAoB;;EA4a/C"}
package/dist/cosmos.js CHANGED
@@ -5,6 +5,7 @@ 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 { assertDockerAvailable, CONTAINER_HOME, ensureImage, removeContainer, runArgs as dockerRunArgs, startArgs as dockerStartArgs, } from './docker.js';
8
9
  /** Default pk proto URL for ethermint-derivation chains (cosmos-evm module). */
9
10
  export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k1.PubKey';
10
11
  /**
@@ -17,14 +18,18 @@ export const DEFAULT_COSMOS_EVM_PK_TYPE_URL = '/cosmos.evm.crypto.v1.ethsecp256k
17
18
  * For custom chains, provide a `patchGenesis` hook for chain-specific genesis modifications.
18
19
  */
19
20
  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;
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;
21
22
  const process = createProcess(name);
22
23
  const host = 'localhost';
23
24
  let homeDir;
24
25
  let healthPollInterval;
26
+ // Container name for the docker runtime. Unique per instance so concurrent
27
+ // chains (and leftovers from a crashed run) never collide.
28
+ const containerName = `starskiff-${name}-${globalThis.process.pid}-${Math.random().toString(36).slice(2, 8)}`;
25
29
  // Shared by stop() and start()'s failure path so a half-started instance
26
30
  // (bootstrap threw, or the start timeout fired) leaves nothing behind:
27
- // the health-poll interval, the child process, and the temp home dir.
31
+ // the health-poll interval, the child process, the container, and the temp
32
+ // home dir.
28
33
  async function cleanup() {
29
34
  if (healthPollInterval) {
30
35
  clearInterval(healthPollInterval);
@@ -36,6 +41,10 @@ export function cosmosBase(parameters) {
36
41
  catch {
37
42
  // best-effort: tolerate an already-dead process
38
43
  }
44
+ // Killing the `docker run` client doesn't necessarily reap the container,
45
+ // which would keep the published ports bound. Remove it explicitly.
46
+ if (image)
47
+ await removeContainer(containerName);
39
48
  if (homeDir) {
40
49
  fs.rmSync(homeDir, { recursive: true, force: true });
41
50
  homeDir = undefined;
@@ -57,10 +66,23 @@ export function cosmosBase(parameters) {
57
66
  async start({ port = rpcPort }, { emitter }) {
58
67
  homeDir = fs.mkdtempSync(path.join(os.tmpdir(), 'starskiff-'));
59
68
  try {
60
- const run = (args) => x(binary, [...args, '--home', homeDir], {
61
- throwOnError: true,
62
- nodeOptions: { stdio: 'pipe' },
63
- });
69
+ if (image) {
70
+ await assertDockerAvailable(image);
71
+ await ensureImage(image, (message) => emitter.emit('message', message));
72
+ }
73
+ // Both runtimes execute the same chain CLI against the same home dir —
74
+ // docker just runs it inside a disposable container with that dir bind
75
+ // mounted, so every step below (and the host-side genesis/config
76
+ // patching) is runtime-agnostic.
77
+ const run = (args) => image
78
+ ? x('docker', dockerRunArgs({ image, homeDir: homeDir }, binary, args), {
79
+ throwOnError: true,
80
+ nodeOptions: { stdio: 'pipe' },
81
+ })
82
+ : x(binary, [...args, '--home', homeDir], {
83
+ throwOnError: true,
84
+ nodeOptions: { stdio: 'pipe' },
85
+ });
64
86
  // 1. Init chain
65
87
  await run(['init', 'validator', '--chain-id', chainId]);
66
88
  // 2. Patch genesis
@@ -79,10 +101,17 @@ export function cosmosBase(parameters) {
79
101
  for (let i = 0; i < accounts.length; i++) {
80
102
  const account = accounts[i];
81
103
  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'] });
104
+ // tinyexec has no stdin, and `keys add --recover` prompts for the
105
+ // mnemonic so this one step drops to spawnSync with a piped stdin
106
+ // (docker gets `-i` to keep the pipe open into the container).
107
+ const recoverArgs = ['keys', 'add', keyName, '--recover', '--keyring-backend', 'test'];
108
+ const [recoverCmd, recoverArgv] = image
109
+ ? ['docker', dockerRunArgs({ image, homeDir: homeDir }, binary, recoverArgs, { interactive: true })]
110
+ : [binary, [...recoverArgs, '--home', homeDir]];
111
+ const result = spawnSync(recoverCmd, recoverArgv, {
112
+ input: account.mnemonic + '\n',
113
+ stdio: ['pipe', 'pipe', 'pipe'],
114
+ });
86
115
  if (result.status !== 0) {
87
116
  throw new Error(`Failed to recover key "${keyName}": ${result.stderr?.toString()}`);
88
117
  }
@@ -108,23 +137,27 @@ export function cosmosBase(parameters) {
108
137
  `${validatorBalance}${denom}`, '--keyring-backend', 'test',
109
138
  ]);
110
139
  const consHome = fs.mkdtempSync(path.join(os.tmpdir(), 'starskiff-cons-'));
111
- try {
112
- await x(binary, ['init', valName, '--chain-id', chainId, '--home', consHome], {
140
+ // The throwaway home is a *different* directory, so under docker it
141
+ // needs its own bind mount rather than the instance's.
142
+ const runInConsHome = (args) => image
143
+ ? x('docker', dockerRunArgs({ image, homeDir: consHome }, binary, args), {
113
144
  throwOnError: true,
114
145
  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], {
146
+ })
147
+ : x(binary, [...args, '--home', consHome], {
119
148
  throwOnError: true,
120
149
  nodeOptions: { stdio: 'pipe' },
121
150
  });
151
+ try {
152
+ await runInConsHome(['init', valName, '--chain-id', chainId]);
153
+ // `comet show-validator` (SDK ≥ v0.50); older binaries only expose
154
+ // the `tendermint` alias, so fall back to it.
122
155
  let pubkey;
123
156
  try {
124
- pubkey = (await showValidator('comet')).stdout;
157
+ pubkey = (await runInConsHome(['comet', 'show-validator'])).stdout;
125
158
  }
126
159
  catch {
127
- pubkey = (await showValidator('tendermint')).stdout;
160
+ pubkey = (await runInConsHome(['tendermint', 'show-validator'])).stdout;
128
161
  }
129
162
  await run([
130
163
  'genesis', 'gentx', valName, `${extraStake}${denom}`,
@@ -132,8 +165,12 @@ export function cosmosBase(parameters) {
132
165
  '--moniker', valName,
133
166
  // All gentx share this home's node key, so the default
134
167
  // `gentx-<nodeID>.json` filename collides — write a distinct file.
168
+ // The path is resolved by the chain CLI, so it must be expressed
169
+ // in the container's filesystem when running from an image.
135
170
  '--output-document',
136
- path.join(homeDir, 'config', 'gentx', `gentx-${valName}.json`),
171
+ image
172
+ ? `${CONTAINER_HOME}/config/gentx/gentx-${valName}.json`
173
+ : path.join(homeDir, 'config', 'gentx', `gentx-${valName}.json`),
137
174
  '--chain-id', chainId, '--keyring-backend', 'test',
138
175
  ]);
139
176
  }
@@ -142,6 +179,10 @@ export function cosmosBase(parameters) {
142
179
  }
143
180
  }
144
181
  await run(['genesis', 'collect-gentxs']);
182
+ if (finalizeGenesis) {
183
+ const finalized = finalizeGenesis(JSON.parse(fs.readFileSync(genesisPath, 'utf8')));
184
+ fs.writeFileSync(genesisPath, JSON.stringify(finalized, null, 2));
185
+ }
145
186
  // 5. Patch configs for port bindings
146
187
  patchToml(path.join(homeDir, 'config', 'config.toml'), {
147
188
  'rpc.laddr': `tcp://0.0.0.0:${port}`,
@@ -158,8 +199,21 @@ export function cosmosBase(parameters) {
158
199
  'minimum-gas-prices': minimumGasPrices ?? `0${denom}`,
159
200
  ...extraAppToml,
160
201
  }, binary);
161
- // 6. Start and wait for first block
162
- return await process.start(binary, ['start', '--home', homeDir, ...(extraStartArgs ?? [])], {
202
+ // 6. Start and wait for first block.
203
+ // The container runs attached, so `docker run` forwards the node's
204
+ // stdout/stderr to the child process — message buffering, events and
205
+ // exit detection below are identical for both runtimes.
206
+ const startCliArgs = ['start', ...(extraStartArgs ?? [])];
207
+ const [startCmd, startArgv] = image
208
+ ? [
209
+ 'docker',
210
+ dockerStartArgs({ image, homeDir }, binary, startCliArgs, {
211
+ name: containerName,
212
+ ports: [port, p2pPort, apiPort, grpcPort, grpcWebPort, ...(extraPorts ?? [])],
213
+ }),
214
+ ]
215
+ : [binary, ['start', '--home', homeDir, ...(extraStartArgs ?? [])]];
216
+ return await process.start(startCmd, startArgv, {
163
217
  emitter,
164
218
  resolver({ process: proc, resolve, reject }) {
165
219
  const rpcUrl = `http://localhost:${port}`;
@@ -303,6 +357,8 @@ export function cosmosEvmBase(parameters) {
303
357
  const { evmPort = 8545, relayerHints, activeStaticPrecompiles, patchGenesis: userPatch, ...rest } = parameters;
304
358
  const base = cosmosBase({
305
359
  ...rest,
360
+ // Docker runtime: the JSON-RPC listener needs its port published too.
361
+ extraPorts: [evmPort],
306
362
  extraAppToml: {
307
363
  'json-rpc.enable': 'true',
308
364
  'json-rpc.address': `0.0.0.0:${evmPort}`,
@@ -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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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Home directory *inside* the container. The host's temp home dir is bind
3
+ * mounted here, so genesis/config patching stays plain host-side file I/O —
4
+ * the container and starskiff look at the same bytes.
5
+ */
6
+ export declare const CONTAINER_HOME = "/chain";
7
+ /**
8
+ * Resolves which container image an instance should run, enforcing the
9
+ * "default artifact policy": there is NO automatic fallback chain — an instance
10
+ * runs from exactly one source, chosen here.
11
+ *
12
+ * - neither `image` nor `binary` passed → the instance's default image;
13
+ * if the instance has none (no usable upstream image), throw — the caller
14
+ * must inject an `image` or a `binary`
15
+ * - `image` passed → that image (must be a non-empty ref)
16
+ * - `binary` passed → `undefined`, i.e. opt out of docker and run the binary
17
+ * - both passed → throw; they select mutually exclusive runtimes
18
+ *
19
+ * Presence is checked with `in`, and present values must be non-empty strings —
20
+ * `{ image: undefined }` / `{ binary: undefined }` / `''` are rejected rather
21
+ * than silently selecting a runtime (or bypassing required injection).
22
+ */
23
+ export declare function resolveInstanceImage(name: string, params: {
24
+ image?: string;
25
+ binary?: string;
26
+ }, defaultImage?: string): string | undefined;
27
+ /** Container-runtime settings for an instance. */
28
+ export type DockerOptions = {
29
+ /** Image reference, e.g. `ghcr.io/xpladev/xpla:v1.10.0`. */
30
+ image: string;
31
+ /** Host directory bind mounted at {@link CONTAINER_HOME}. */
32
+ homeDir: string;
33
+ };
34
+ /**
35
+ * Builds `docker run` args for a one-shot chain command (init, keys, gentx, …).
36
+ *
37
+ * The container is disposable: it exists only to execute one CLI invocation
38
+ * against the mounted home dir.
39
+ */
40
+ export declare function runArgs(options: DockerOptions, binary: string, args: string[], opts?: {
41
+ interactive?: boolean;
42
+ }): string[];
43
+ /**
44
+ * Builds `docker run` args for the long-running node.
45
+ *
46
+ * Ports are published 1:1 (host port === container port) because the config
47
+ * files — patched host-side before start — already bind the node to those exact
48
+ * ports. Keeping the numbers identical means every URL getter, health poll and
49
+ * cosmjs client works against the container exactly as it does against a local
50
+ * process.
51
+ *
52
+ * Published only on 127.0.0.1: this is a local test node with fully-funded
53
+ * genesis accounts, and everything that talks to it (health poll, cosmjs/viem,
54
+ * a host-run relayer) uses localhost — so there's no reason to expose it on all
55
+ * interfaces the way Docker's default `-p port:port` (0.0.0.0) would.
56
+ *
57
+ * The container runs ATTACHED: `docker run` forwards its stdout/stderr to our
58
+ * child process, so message buffering, event emitting and exit detection are
59
+ * identical to the binary runtime.
60
+ */
61
+ export declare function startArgs(options: DockerOptions, binary: string, args: string[], opts: {
62
+ name: string;
63
+ ports: number[];
64
+ }): string[];
65
+ /** Throws with an actionable message if the Docker CLI/daemon isn't usable. */
66
+ export declare function assertDockerAvailable(image: string): Promise<void>;
67
+ /**
68
+ * Pulls the image if it isn't present locally.
69
+ *
70
+ * `docker run` would pull implicitly, but a cold pull of a few hundred MB can
71
+ * outlast the instance start timeout and would be invisible in the logs — so
72
+ * pull up front, before the clock on `start()` matters.
73
+ */
74
+ export declare function ensureImage(image: string, onMessage?: (message: string) => void): Promise<void>;
75
+ /**
76
+ * Force-removes the node container.
77
+ *
78
+ * Killing the `docker run` client does not necessarily reap the container it
79
+ * started, so stop() must remove it explicitly — otherwise the next run collides
80
+ * on the container name (and the published ports stay bound).
81
+ */
82
+ export declare function removeContainer(name: string): Promise<void>;
83
+ //# sourceMappingURL=docker.d.ts.map
@@ -0,0 +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"}