@toon-protocol/townhouse 0.7.0 → 0.8.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/README.md +61 -26
- package/dist/{chunk-ZUMMJFGH.js → chunk-BDT2FIQL.js} +608 -566
- package/dist/chunk-BDT2FIQL.js.map +1 -0
- package/dist/{chunk-NZR5C3KD.js → chunk-RCHQDZBZ.js} +3 -1
- package/dist/{chunk-NZR5C3KD.js.map → chunk-RCHQDZBZ.js.map} +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +11 -9
- package/dist/cli.js.map +1 -1
- package/dist/compose/townhouse-hs.yml +8 -8
- package/dist/{demo-4ZF3RRNH.js → demo-CKC6HA7X.js} +2 -2
- package/dist/image-manifest.json +10 -10
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{manager-DSkD9Td1.d.ts → manager-CKTAGzVH.d.ts} +25 -4
- package/package.json +5 -5
- package/dist/chunk-ZUMMJFGH.js.map +0 -1
- /package/dist/{demo-4ZF3RRNH.js.map → demo-CKC6HA7X.js.map} +0 -0
|
@@ -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:df07e6418c3a00c6a011a77690e5b7fac03af3ae81a0428ed93a048d468edc09 → @sha256:<hex>
|
|
26
|
+
# @sha256:809692e969e6b2fa1fc180e069f6892398d3b001119c1d0de430502c1e6988c6 → @sha256:<hex>
|
|
27
|
+
# @sha256:70db26a8fbe1c704239c560f7f237b8ff1b8f75c162affca25ccf622b1c38790 → @sha256:<hex>
|
|
28
|
+
# @sha256:7be55528a618b703946ca2e30c95df3fea1ef0107aad916385d95c147819f6db → @sha256:<hex>
|
|
29
29
|
# @sha256:d22a786f82cc928238b0ef14c6455d1238bd2f42744138cad8af81ca1747ff6e → @sha256:<hex>
|
|
30
30
|
#
|
|
31
31
|
# Scope guard (Story 45.2 does NOT include):
|
|
@@ -157,7 +157,7 @@ services:
|
|
|
157
157
|
# Port D21-008: Fastify host API on 127.0.0.1:28090.
|
|
158
158
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
159
159
|
townhouse-api:
|
|
160
|
-
image: ghcr.io/toon-protocol/townhouse-api@sha256:
|
|
160
|
+
image: ghcr.io/toon-protocol/townhouse-api@sha256:df07e6418c3a00c6a011a77690e5b7fac03af3ae81a0428ed93a048d468edc09
|
|
161
161
|
container_name: townhouse-hs-api
|
|
162
162
|
# Run as the operator's host UID so bind-mounted ~/.townhouse files
|
|
163
163
|
# (rw------- 600) are readable. TOWNHOUSE_UID is injected by `townhouse hs up`.
|
|
@@ -264,7 +264,7 @@ services:
|
|
|
264
264
|
# start at first run).
|
|
265
265
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
266
|
town:
|
|
267
|
-
image: ghcr.io/toon-protocol/town@sha256:
|
|
267
|
+
image: ghcr.io/toon-protocol/town@sha256:809692e969e6b2fa1fc180e069f6892398d3b001119c1d0de430502c1e6988c6
|
|
268
268
|
container_name: townhouse-hs-town
|
|
269
269
|
profiles: [town]
|
|
270
270
|
networks:
|
|
@@ -330,7 +330,7 @@ services:
|
|
|
330
330
|
# Lazy-provisioned via Epic 46: `townhouse node add mill`
|
|
331
331
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
332
332
|
mill:
|
|
333
|
-
image: ghcr.io/toon-protocol/mill@sha256:
|
|
333
|
+
image: ghcr.io/toon-protocol/mill@sha256:70db26a8fbe1c704239c560f7f237b8ff1b8f75c162affca25ccf622b1c38790
|
|
334
334
|
container_name: townhouse-hs-mill
|
|
335
335
|
profiles: [mill]
|
|
336
336
|
networks:
|
|
@@ -388,7 +388,7 @@ services:
|
|
|
388
388
|
# Lazy-provisioned via Epic 46: `townhouse node add dvm`
|
|
389
389
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
390
390
|
dvm:
|
|
391
|
-
image: ghcr.io/toon-protocol/dvm@sha256:
|
|
391
|
+
image: ghcr.io/toon-protocol/dvm@sha256:7be55528a618b703946ca2e30c95df3fea1ef0107aad916385d95c147819f6db
|
|
392
392
|
container_name: townhouse-hs-dvm
|
|
393
393
|
profiles: [dvm]
|
|
394
394
|
networks:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
DEFAULT_CONNECTOR_IMAGE
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RCHQDZBZ.js";
|
|
5
5
|
import "./chunk-I2R4CRUX.js";
|
|
6
6
|
|
|
7
7
|
// src/presets/demo.ts
|
|
@@ -115,4 +115,4 @@ export {
|
|
|
115
115
|
defaultLeasesPath,
|
|
116
116
|
resolveChainEndpoints
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=demo-
|
|
118
|
+
//# sourceMappingURL=demo-CKC6HA7X.js.map
|
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.8.0",
|
|
4
|
+
"builtAt": "2026-06-04T01:50:27.440Z",
|
|
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.8.0",
|
|
9
|
+
"digest": "sha256:df07e6418c3a00c6a011a77690e5b7fac03af3ae81a0428ed93a048d468edc09"
|
|
10
10
|
},
|
|
11
11
|
"town": {
|
|
12
12
|
"name": "ghcr.io/toon-protocol/town",
|
|
13
|
-
"tag": "0.
|
|
14
|
-
"digest": "sha256:
|
|
13
|
+
"tag": "0.8.0",
|
|
14
|
+
"digest": "sha256:809692e969e6b2fa1fc180e069f6892398d3b001119c1d0de430502c1e6988c6"
|
|
15
15
|
},
|
|
16
16
|
"mill": {
|
|
17
17
|
"name": "ghcr.io/toon-protocol/mill",
|
|
18
|
-
"tag": "0.
|
|
19
|
-
"digest": "sha256:
|
|
18
|
+
"tag": "0.8.0",
|
|
19
|
+
"digest": "sha256:70db26a8fbe1c704239c560f7f237b8ff1b8f75c162affca25ccf622b1c38790"
|
|
20
20
|
},
|
|
21
21
|
"dvm": {
|
|
22
22
|
"name": "ghcr.io/toon-protocol/dvm",
|
|
23
|
-
"tag": "0.
|
|
24
|
-
"digest": "sha256:
|
|
23
|
+
"tag": "0.8.0",
|
|
24
|
+
"digest": "sha256:7be55528a618b703946ca2e30c95df3fea1ef0107aad916385d95c147819f6db"
|
|
25
25
|
},
|
|
26
26
|
"connector": {
|
|
27
27
|
"name": "ghcr.io/toon-protocol/connector",
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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-CKTAGzVH.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-CKTAGzVH.js';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
4
|
import Docker from 'dockerode';
|
|
5
5
|
import { FastifyBaseLogger, FastifyInstance } from 'fastify';
|
package/dist/index.js
CHANGED
|
@@ -34,9 +34,9 @@ import {
|
|
|
34
34
|
utcYearBoundary,
|
|
35
35
|
validateConfig,
|
|
36
36
|
writeNodesYaml
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-BDT2FIQL.js";
|
|
38
38
|
import "./chunk-5O4SBV5O.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-RCHQDZBZ.js";
|
|
40
40
|
import "./chunk-I2R4CRUX.js";
|
|
41
41
|
export {
|
|
42
42
|
BootReconciler,
|
|
@@ -88,8 +88,13 @@ interface EvmChainProvider {
|
|
|
88
88
|
registryAddress: string;
|
|
89
89
|
/** Settlement token (USDC, etc.) contract. */
|
|
90
90
|
tokenAddress: string;
|
|
91
|
-
/**
|
|
92
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Hex private key / key id the connector signs settlement claims with.
|
|
93
|
+
* Optional: when omitted, `townhouse hs up` fills it with the operator's
|
|
94
|
+
* mnemonic-derived apex settlement key (acct index 3). Set it only to use an
|
|
95
|
+
* external/hardware key.
|
|
96
|
+
*/
|
|
97
|
+
keyId?: string;
|
|
93
98
|
}
|
|
94
99
|
/** Solana settlement chain. */
|
|
95
100
|
interface SolanaChainProvider {
|
|
@@ -104,8 +109,11 @@ interface SolanaChainProvider {
|
|
|
104
109
|
programId: string;
|
|
105
110
|
/** Settlement token mint (base58). */
|
|
106
111
|
tokenMint?: string;
|
|
107
|
-
/**
|
|
108
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Key id the connector signs settlement claims with. Optional — when omitted,
|
|
114
|
+
* `townhouse hs up` fills it with the operator's mnemonic-derived apex key.
|
|
115
|
+
*/
|
|
116
|
+
keyId?: string;
|
|
109
117
|
}
|
|
110
118
|
/** Mina settlement chain. */
|
|
111
119
|
interface MinaChainProvider {
|
|
@@ -537,6 +545,19 @@ declare class WalletManager {
|
|
|
537
545
|
* still owned by WalletManager and will be zeroed by `lock()`.
|
|
538
546
|
*/
|
|
539
547
|
getEvmPrivateKeyHex(nodeType: NodeType): string;
|
|
548
|
+
/**
|
|
549
|
+
* Derive the APEX (connector) settlement key from the operator mnemonic at
|
|
550
|
+
* ACCOUNT_INDEX_APEX. The apex signs settlement claims with this key, so the
|
|
551
|
+
* operator never has to supply a raw `keyId` to `townhouse chains add`.
|
|
552
|
+
*
|
|
553
|
+
* Returns the EVM private key as a `0x`-prefixed 64-char hex string — the
|
|
554
|
+
* form the connector config's `keyId` expects (matches the dev placeholder
|
|
555
|
+
* `0x7c85…`). Throws when the wallet is locked. Structured as an object so
|
|
556
|
+
* Solana/Mina apex keys can be added in a later phase.
|
|
557
|
+
*/
|
|
558
|
+
getApexSettlementKeys(): {
|
|
559
|
+
evmPrivateKeyHex: string;
|
|
560
|
+
};
|
|
540
561
|
/**
|
|
541
562
|
* Returns the Solana Ed25519 private key seed for a node as a 64-char
|
|
542
563
|
* lowercase hex string (32 raw seed bytes). Throws when the wallet is
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toon-protocol/townhouse",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.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",
|
|
@@ -71,11 +71,11 @@
|
|
|
71
71
|
"tsup": "^8.0.0",
|
|
72
72
|
"typescript": "^5.3.0",
|
|
73
73
|
"vitest": "^1.0.0",
|
|
74
|
-
"@toon-protocol/client": "^0.9.1",
|
|
75
|
-
"@toon-protocol/core": "^1.4.1",
|
|
76
74
|
"@toon-protocol/mill": "^0.1.0",
|
|
77
|
-
"@toon-protocol/
|
|
78
|
-
"@toon-protocol/
|
|
75
|
+
"@toon-protocol/core": "^1.4.1",
|
|
76
|
+
"@toon-protocol/client": "^0.9.1",
|
|
77
|
+
"@toon-protocol/sdk": "^0.5.0",
|
|
78
|
+
"@toon-protocol/relay": "^1.3.1"
|
|
79
79
|
},
|
|
80
80
|
"scripts": {
|
|
81
81
|
"build": "tsup",
|