@toon-protocol/townhouse 0.3.1 → 0.4.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.
- package/dist/{chunk-6T5CXPYD.js → chunk-SXKZUTGE.js} +9789 -9369
- package/dist/chunk-SXKZUTGE.js.map +1 -0
- package/dist/cli.d.ts +2 -1
- package/dist/cli.js +25 -6
- package/dist/cli.js.map +1 -1
- package/dist/compose/townhouse-hs.yml +14 -9
- package/dist/image-manifest.json +10 -10
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1 -1
- package/dist/{manager-BtpOFwd6.d.ts → manager-D9Y_iWHo.d.ts} +18 -3
- package/package.json +4 -4
- package/dist/chunk-6T5CXPYD.js.map +0 -1
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
# Story 45.4 boots only connector + townhouse-api at apex install
|
|
23
23
|
#
|
|
24
24
|
# Digest placeholders (substituted at build time from dist/image-manifest.json):
|
|
25
|
-
# @sha256:
|
|
26
|
-
# @sha256:
|
|
27
|
-
# @sha256:
|
|
28
|
-
# @sha256:
|
|
25
|
+
# @sha256:ebe31e013c8ab3f98894e699a08e2f7c551645b29def075d2b296c99ac3b3898 → @sha256:<hex>
|
|
26
|
+
# @sha256:32655fec041885578829f5d576d52ef997ae787d12ead38cec8cfe41e54d9fab → @sha256:<hex>
|
|
27
|
+
# @sha256:465d63fd85c61ffcc305687d1ffcba09a75a691581ee66f8d42e226fed718553 → @sha256:<hex>
|
|
28
|
+
# @sha256:a440b4133c28ca85e47163cccc633bc8aa6d3df671033b88eba8fef7ff7f4e2f → @sha256:<hex>
|
|
29
29
|
# @sha256:d22a786f82cc928238b0ef14c6455d1238bd2f42744138cad8af81ca1747ff6e → @sha256:<hex>
|
|
30
30
|
#
|
|
31
31
|
# Scope guard (Story 45.2 does NOT include):
|
|
@@ -152,7 +152,7 @@ services:
|
|
|
152
152
|
# Port D21-008: Fastify host API on 127.0.0.1:28090.
|
|
153
153
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
154
154
|
townhouse-api:
|
|
155
|
-
image: ghcr.io/toon-protocol/townhouse-api@sha256:
|
|
155
|
+
image: ghcr.io/toon-protocol/townhouse-api@sha256:ebe31e013c8ab3f98894e699a08e2f7c551645b29def075d2b296c99ac3b3898
|
|
156
156
|
container_name: townhouse-hs-api
|
|
157
157
|
# Run as the operator's host UID so bind-mounted ~/.townhouse files
|
|
158
158
|
# (rw------- 600) are readable. TOWNHOUSE_UID is injected by `townhouse hs up`.
|
|
@@ -252,7 +252,7 @@ services:
|
|
|
252
252
|
# start at first run).
|
|
253
253
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
254
254
|
town:
|
|
255
|
-
image: ghcr.io/toon-protocol/town@sha256:
|
|
255
|
+
image: ghcr.io/toon-protocol/town@sha256:32655fec041885578829f5d576d52ef997ae787d12ead38cec8cfe41e54d9fab
|
|
256
256
|
container_name: townhouse-hs-town
|
|
257
257
|
profiles: [town]
|
|
258
258
|
networks:
|
|
@@ -271,7 +271,12 @@ services:
|
|
|
271
271
|
NODE_ID: town
|
|
272
272
|
PARENT_PEER_ID: apex
|
|
273
273
|
FEE_PER_EVENT: '0'
|
|
274
|
-
# Chain
|
|
274
|
+
# Chain selection — driven by the `network` flag (resolveNetworkProfile).
|
|
275
|
+
# EVM_CHAIN is the primary EVM preset name (e.g. base-mainnet) → town
|
|
276
|
+
# TOON_CHAIN; EVM_RPC_URL is the matching RPC. Both come from the node-env
|
|
277
|
+
# overlay (nodes-lifecycle buildNetworkNodeEnv) and ~/.townhouse/compose/.env
|
|
278
|
+
# (env-writer). 'none' makes the town node run relay-only (no settlement).
|
|
279
|
+
TOON_CHAIN: ${EVM_CHAIN:-}
|
|
275
280
|
TOON_RPC_URL: ${EVM_RPC_URL:-}
|
|
276
281
|
NODE_NOSTR_PUBKEY: ''
|
|
277
282
|
NODE_EVM_ADDRESS: ''
|
|
@@ -303,7 +308,7 @@ services:
|
|
|
303
308
|
# Lazy-provisioned via Epic 46: `townhouse node add mill`
|
|
304
309
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
305
310
|
mill:
|
|
306
|
-
image: ghcr.io/toon-protocol/mill@sha256:
|
|
311
|
+
image: ghcr.io/toon-protocol/mill@sha256:465d63fd85c61ffcc305687d1ffcba09a75a691581ee66f8d42e226fed718553
|
|
307
312
|
container_name: townhouse-hs-mill
|
|
308
313
|
profiles: [mill]
|
|
309
314
|
networks:
|
|
@@ -351,7 +356,7 @@ services:
|
|
|
351
356
|
# Lazy-provisioned via Epic 46: `townhouse node add dvm`
|
|
352
357
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
353
358
|
dvm:
|
|
354
|
-
image: ghcr.io/toon-protocol/dvm@sha256:
|
|
359
|
+
image: ghcr.io/toon-protocol/dvm@sha256:a440b4133c28ca85e47163cccc633bc8aa6d3df671033b88eba8fef7ff7f4e2f
|
|
355
360
|
container_name: townhouse-hs-dvm
|
|
356
361
|
profiles: [dvm]
|
|
357
362
|
networks:
|
package/dist/image-manifest.json
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"townhouseVersion": "0.
|
|
4
|
-
"builtAt": "2026-06-
|
|
3
|
+
"townhouseVersion": "0.4.0",
|
|
4
|
+
"builtAt": "2026-06-02T23:45:58.085Z",
|
|
5
5
|
"images": {
|
|
6
6
|
"townhouse-api": {
|
|
7
7
|
"name": "ghcr.io/toon-protocol/townhouse-api",
|
|
8
|
-
"tag": "0.
|
|
9
|
-
"digest": "sha256:
|
|
8
|
+
"tag": "0.4.0",
|
|
9
|
+
"digest": "sha256:ebe31e013c8ab3f98894e699a08e2f7c551645b29def075d2b296c99ac3b3898"
|
|
10
10
|
},
|
|
11
11
|
"town": {
|
|
12
12
|
"name": "ghcr.io/toon-protocol/town",
|
|
13
|
-
"tag": "0.
|
|
14
|
-
"digest": "sha256:
|
|
13
|
+
"tag": "0.4.0",
|
|
14
|
+
"digest": "sha256:32655fec041885578829f5d576d52ef997ae787d12ead38cec8cfe41e54d9fab"
|
|
15
15
|
},
|
|
16
16
|
"mill": {
|
|
17
17
|
"name": "ghcr.io/toon-protocol/mill",
|
|
18
|
-
"tag": "0.
|
|
19
|
-
"digest": "sha256:
|
|
18
|
+
"tag": "0.4.0",
|
|
19
|
+
"digest": "sha256:465d63fd85c61ffcc305687d1ffcba09a75a691581ee66f8d42e226fed718553"
|
|
20
20
|
},
|
|
21
21
|
"dvm": {
|
|
22
22
|
"name": "ghcr.io/toon-protocol/dvm",
|
|
23
|
-
"tag": "0.
|
|
24
|
-
"digest": "sha256:
|
|
23
|
+
"tag": "0.4.0",
|
|
24
|
+
"digest": "sha256:a440b4133c28ca85e47163cccc633bc8aa6d3df671033b88eba8fef7ff7f4e2f"
|
|
25
25
|
},
|
|
26
26
|
"connector": {
|
|
27
27
|
"name": "ghcr.io/toon-protocol/connector",
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { E as EncryptedWallet, T as TownhouseConfig, W as WalletManager, a as ComposeProfile, N as NodeType$1, B as BandwidthStats, H as HealthCheckOptions, b as ChainProviderEntry } from './manager-
|
|
2
|
-
export { A as ApiConfig, c as ChainType, d as ComposeLoaderError, C as ComposeLoaderOptions, e as ConnectorConfig, f as ContainerSpec, D as DerivedNodeKeys, g as DvmNodeConfig, h as EvmChainProvider, L as LoggingConfig, M as MillNodeConfig, i as MinaChainProvider, j as NodeKeyInfo, k as NodeKeys, l as NodesConfig, O as OrchestratorEvents, S as SolanaChainProvider, m as TownNodeConfig, n as TransportConfig, o as WalletConfig, p as WalletManagerConfig, q as WalletState, r as loadComposeTemplate, s as materializeComposeTemplate } from './manager-
|
|
1
|
+
import { E as EncryptedWallet, T as TownhouseConfig, W as WalletManager, a as ComposeProfile, N as NodeType$1, B as BandwidthStats, H as HealthCheckOptions, b as ChainProviderEntry } from './manager-D9Y_iWHo.js';
|
|
2
|
+
export { A as ApiConfig, c as ChainType, d as ComposeLoaderError, C as ComposeLoaderOptions, e as ConnectorConfig, f as ContainerSpec, D as DerivedNodeKeys, g as DvmNodeConfig, h as EvmChainProvider, L as LoggingConfig, M as MillNodeConfig, i as MinaChainProvider, j as NodeKeyInfo, k as NodeKeys, l as NodesConfig, O as OrchestratorEvents, S as SolanaChainProvider, m as TownNodeConfig, n as TransportConfig, o as WalletConfig, p as WalletManagerConfig, q as WalletState, r as loadComposeTemplate, s as materializeComposeTemplate } from './manager-D9Y_iWHo.js';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
4
|
import Docker from 'dockerode';
|
|
5
5
|
import { FastifyBaseLogger, FastifyInstance } from 'fastify';
|
|
6
6
|
import { z } from 'zod';
|
|
7
|
+
export { NetworkMode } from '@toon-protocol/core';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Wallet encryption/decryption for Townhouse (Story 21.4, Task 2).
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { NetworkMode } from '@toon-protocol/core';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Townhouse configuration schema — TypeScript interfaces only.
|
|
3
5
|
* Runtime validation lives in validator.ts.
|
|
4
6
|
*/
|
|
7
|
+
|
|
5
8
|
interface TownNodeConfig {
|
|
6
9
|
enabled: boolean;
|
|
7
10
|
/** Nostr relay fee in millisatoshis per event */
|
|
@@ -196,12 +199,24 @@ interface TownhouseConfig {
|
|
|
196
199
|
transport: TransportConfig;
|
|
197
200
|
api: ApiConfig;
|
|
198
201
|
logging: LoggingConfig;
|
|
202
|
+
/**
|
|
203
|
+
* Network mode selecting the chain tier for BOTH the apex connector and the
|
|
204
|
+
* child node containers (EVM = Base primary + Arbitrum; Solana; Mina):
|
|
205
|
+
* - `mainnet` (default when unset) — public production chains
|
|
206
|
+
* - `testnet` — public Sepolia / Solana testnet / Mina devnet
|
|
207
|
+
* - `devnet` — public Sepolia / Solana+Mina devnets (no local chain)
|
|
208
|
+
* - `custom` — operator supplies `chainProviders` (below) directly
|
|
209
|
+
*
|
|
210
|
+
* Resolved via `resolveNetworkProfile()` (@toon-protocol/core). An explicit
|
|
211
|
+
* non-empty `chainProviders` always overrides the derived providers.
|
|
212
|
+
*/
|
|
213
|
+
network?: NetworkMode;
|
|
199
214
|
/**
|
|
200
215
|
* Connector chain providers — required for the connector's settlement
|
|
201
216
|
* subsystem (AccountManager + ClaimReceiver) to initialize. When unset on
|
|
202
|
-
* `townhouse hs up`, `hs-config-writer.ts`
|
|
203
|
-
* `DEFAULT_HS_CHAIN_PROVIDERS`
|
|
204
|
-
* the box (Epic 47 BUG-1 product fix).
|
|
217
|
+
* `townhouse hs up`, `hs-config-writer.ts` derives them from `network` (or
|
|
218
|
+
* injects `DEFAULT_HS_CHAIN_PROVIDERS` as a last resort) so the earnings
|
|
219
|
+
* route returns 200 out of the box (Epic 47 BUG-1 product fix).
|
|
205
220
|
*/
|
|
206
221
|
chainProviders?: ChainProviderEntry[];
|
|
207
222
|
/** Present only when the config was generated by `init --preset=<name>`. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toon-protocol/townhouse",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "TOON Townhouse — host-native orchestrator + dashboard for Docker-containerized TOON nodes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -72,10 +72,10 @@
|
|
|
72
72
|
"typescript": "^5.3.0",
|
|
73
73
|
"vitest": "^1.0.0",
|
|
74
74
|
"@toon-protocol/client": "^0.9.1",
|
|
75
|
-
"@toon-protocol/
|
|
75
|
+
"@toon-protocol/core": "^1.4.1",
|
|
76
76
|
"@toon-protocol/relay": "^1.3.1",
|
|
77
|
-
"@toon-protocol/
|
|
78
|
-
"@toon-protocol/
|
|
77
|
+
"@toon-protocol/mill": "^0.1.0",
|
|
78
|
+
"@toon-protocol/sdk": "^0.5.0"
|
|
79
79
|
},
|
|
80
80
|
"scripts": {
|
|
81
81
|
"build": "tsup",
|