@jinn-network/client 0.1.0 → 0.1.1-canary.4a6ed8b2

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 (269) hide show
  1. package/README.md +98 -11
  2. package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +15 -0
  3. package/dist/adapters/claim-registry/abi.d.ts +127 -0
  4. package/dist/adapters/claim-registry/abi.js +93 -0
  5. package/dist/adapters/claim-registry/abi.js.map +1 -0
  6. package/dist/adapters/claim-registry/client.d.ts +89 -0
  7. package/dist/adapters/claim-registry/client.js +205 -0
  8. package/dist/adapters/claim-registry/client.js.map +1 -0
  9. package/dist/adapters/mech/adapter.d.ts +2 -0
  10. package/dist/adapters/mech/adapter.js +110 -41
  11. package/dist/adapters/mech/adapter.js.map +1 -1
  12. package/dist/adapters/mech/contracts.d.ts +2 -0
  13. package/dist/adapters/mech/contracts.js +32 -7
  14. package/dist/adapters/mech/contracts.js.map +1 -1
  15. package/dist/adapters/mech/ipfs.d.ts +8 -0
  16. package/dist/adapters/mech/ipfs.js +12 -0
  17. package/dist/adapters/mech/ipfs.js.map +1 -1
  18. package/dist/adapters/mech/types.d.ts +20 -46
  19. package/dist/adapters/mech/types.js +16 -35
  20. package/dist/adapters/mech/types.js.map +1 -1
  21. package/dist/api/gather-status.js +11 -0
  22. package/dist/api/gather-status.js.map +1 -1
  23. package/dist/api/portfolio-v0-build.d.ts +81 -0
  24. package/dist/api/portfolio-v0-build.js +141 -0
  25. package/dist/api/portfolio-v0-build.js.map +1 -0
  26. package/dist/api/portfolio-v0-doctor.d.ts +37 -0
  27. package/dist/api/portfolio-v0-doctor.js +123 -0
  28. package/dist/api/portfolio-v0-doctor.js.map +1 -0
  29. package/dist/api/server.js +12 -0
  30. package/dist/api/server.js.map +1 -1
  31. package/dist/api/status-build.d.ts +6 -0
  32. package/dist/api/status-build.js +1 -0
  33. package/dist/api/status-build.js.map +1 -1
  34. package/dist/api/status-rollup-build.d.ts +4 -0
  35. package/dist/api/status-rollup-build.js +4 -0
  36. package/dist/api/status-rollup-build.js.map +1 -1
  37. package/dist/bin/jinn-mcp.d.ts +14 -0
  38. package/dist/bin/jinn-mcp.js +19 -0
  39. package/dist/bin/jinn-mcp.js.map +1 -0
  40. package/dist/build-meta.json +1 -1
  41. package/dist/cli/commands/auth.d.ts +3 -0
  42. package/dist/cli/commands/auth.js +236 -0
  43. package/dist/cli/commands/auth.js.map +1 -0
  44. package/dist/cli/commands/bootstrap.js +1 -0
  45. package/dist/cli/commands/bootstrap.js.map +1 -1
  46. package/dist/cli/commands/doctor.js +148 -15
  47. package/dist/cli/commands/doctor.js.map +1 -1
  48. package/dist/cli/commands/fund-requirements.js +69 -1
  49. package/dist/cli/commands/fund-requirements.js.map +1 -1
  50. package/dist/cli/commands/history.js +1 -0
  51. package/dist/cli/commands/history.js.map +1 -1
  52. package/dist/cli/commands/init.js +31 -7
  53. package/dist/cli/commands/init.js.map +1 -1
  54. package/dist/cli/commands/keys-backup.js +142 -10
  55. package/dist/cli/commands/keys-backup.js.map +1 -1
  56. package/dist/cli/commands/logs.js +28 -13
  57. package/dist/cli/commands/logs.js.map +1 -1
  58. package/dist/cli/commands/plugin-install.d.ts +3 -0
  59. package/dist/cli/commands/plugin-install.js +799 -0
  60. package/dist/cli/commands/plugin-install.js.map +1 -0
  61. package/dist/cli/commands/quickstart.d.ts +3 -0
  62. package/dist/cli/commands/quickstart.js +236 -0
  63. package/dist/cli/commands/quickstart.js.map +1 -0
  64. package/dist/cli/commands/run.js +6 -0
  65. package/dist/cli/commands/run.js.map +1 -1
  66. package/dist/cli/commands/stop.js +1 -0
  67. package/dist/cli/commands/stop.js.map +1 -1
  68. package/dist/cli/commands/submit-intent.js +79 -5
  69. package/dist/cli/commands/submit-intent.js.map +1 -1
  70. package/dist/cli/commands/update.d.ts +3 -0
  71. package/dist/cli/commands/update.js +154 -0
  72. package/dist/cli/commands/update.js.map +1 -0
  73. package/dist/cli/commands/version.js +15 -1
  74. package/dist/cli/commands/version.js.map +1 -1
  75. package/dist/cli/deployment-digest.js +20 -4
  76. package/dist/cli/deployment-digest.js.map +1 -1
  77. package/dist/cli/index.js +8 -0
  78. package/dist/cli/index.js.map +1 -1
  79. package/dist/cli/password.d.ts +15 -0
  80. package/dist/cli/password.js +29 -1
  81. package/dist/cli/password.js.map +1 -1
  82. package/dist/config.d.ts +110 -7
  83. package/dist/config.js +38 -5
  84. package/dist/config.js.map +1 -1
  85. package/dist/daemon/balance-topup-loop.d.ts +40 -0
  86. package/dist/daemon/balance-topup-loop.js +96 -0
  87. package/dist/daemon/balance-topup-loop.js.map +1 -0
  88. package/dist/daemon/daemon.d.ts +37 -0
  89. package/dist/daemon/daemon.js +98 -1
  90. package/dist/daemon/daemon.js.map +1 -1
  91. package/dist/dashboard/index.html +500 -0
  92. package/dist/earning/bootstrap.d.ts +3 -1
  93. package/dist/earning/bootstrap.js +138 -17
  94. package/dist/earning/bootstrap.js.map +1 -1
  95. package/dist/earning/contracts.d.ts +24 -0
  96. package/dist/earning/contracts.js +20 -1
  97. package/dist/earning/contracts.js.map +1 -1
  98. package/dist/earning/faucet.d.ts +15 -0
  99. package/dist/earning/faucet.js +64 -0
  100. package/dist/earning/faucet.js.map +1 -0
  101. package/dist/earning/store.d.ts +5 -0
  102. package/dist/earning/store.js +7 -3
  103. package/dist/earning/store.js.map +1 -1
  104. package/dist/errors/unauthorized-account.d.ts +10 -0
  105. package/dist/errors/unauthorized-account.js +14 -0
  106. package/dist/errors/unauthorized-account.js.map +1 -0
  107. package/dist/main.js +128 -1
  108. package/dist/main.js.map +1 -1
  109. package/dist/mcp/operator-server.d.ts +34 -0
  110. package/dist/mcp/operator-server.js +219 -0
  111. package/dist/mcp/operator-server.js.map +1 -0
  112. package/dist/operator-errors.js +11 -0
  113. package/dist/operator-errors.js.map +1 -1
  114. package/dist/preflight/claude-auth.d.ts +68 -0
  115. package/dist/preflight/claude-auth.js +171 -0
  116. package/dist/preflight/claude-auth.js.map +1 -0
  117. package/dist/restorer/engine/canonical-json.d.ts +18 -0
  118. package/dist/restorer/engine/canonical-json.js +59 -0
  119. package/dist/restorer/engine/canonical-json.js.map +1 -0
  120. package/dist/restorer/engine/claim.d.ts +69 -0
  121. package/dist/restorer/engine/claim.js +104 -0
  122. package/dist/restorer/engine/claim.js.map +1 -0
  123. package/dist/restorer/engine/delivery.d.ts +52 -0
  124. package/dist/restorer/engine/delivery.js +63 -0
  125. package/dist/restorer/engine/delivery.js.map +1 -0
  126. package/dist/restorer/engine/engine.d.ts +203 -0
  127. package/dist/restorer/engine/engine.js +658 -0
  128. package/dist/restorer/engine/engine.js.map +1 -0
  129. package/dist/restorer/engine/manifest-assembly.d.ts +67 -0
  130. package/dist/restorer/engine/manifest-assembly.js +79 -0
  131. package/dist/restorer/engine/manifest-assembly.js.map +1 -0
  132. package/dist/restorer/engine/packaging.d.ts +87 -0
  133. package/dist/restorer/engine/packaging.js +350 -0
  134. package/dist/restorer/engine/packaging.js.map +1 -0
  135. package/dist/restorer/engine/persistence.d.ts +170 -0
  136. package/dist/restorer/engine/persistence.js +381 -0
  137. package/dist/restorer/engine/persistence.js.map +1 -0
  138. package/dist/restorer/engine/recovery.d.ts +22 -0
  139. package/dist/restorer/engine/recovery.js +24 -0
  140. package/dist/restorer/engine/recovery.js.map +1 -0
  141. package/dist/restorer/engine/registry.d.ts +62 -0
  142. package/dist/restorer/engine/registry.js +73 -0
  143. package/dist/restorer/engine/registry.js.map +1 -0
  144. package/dist/restorer/engine/signing.d.ts +30 -0
  145. package/dist/restorer/engine/signing.js +39 -0
  146. package/dist/restorer/engine/signing.js.map +1 -0
  147. package/dist/restorer/engine/state.d.ts +42 -0
  148. package/dist/restorer/engine/state.js +87 -0
  149. package/dist/restorer/engine/state.js.map +1 -0
  150. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.d.ts +64 -0
  151. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.js +96 -0
  152. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.js.map +1 -0
  153. package/dist/restorer/impls/claude-mcp-hyperliquid/index.d.ts +88 -0
  154. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js +560 -0
  155. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js.map +1 -0
  156. package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +137 -0
  157. package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.js +865 -0
  158. package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -0
  159. package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.d.ts +74 -0
  160. package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.js +74 -0
  161. package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.js.map +1 -0
  162. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +97 -0
  163. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js +226 -0
  164. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +1 -0
  165. package/dist/restorer/impls/legacy-claude/index.d.ts +42 -0
  166. package/dist/restorer/impls/legacy-claude/index.js +60 -0
  167. package/dist/restorer/impls/legacy-claude/index.js.map +1 -0
  168. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.d.ts +68 -0
  169. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js +117 -0
  170. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js.map +1 -0
  171. package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.d.ts +49 -0
  172. package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.js +91 -0
  173. package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.js.map +1 -0
  174. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.d.ts +78 -0
  175. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js +274 -0
  176. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js.map +1 -0
  177. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.d.ts +23 -0
  178. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js +49 -0
  179. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js.map +1 -0
  180. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.d.ts +25 -0
  181. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js +44 -0
  182. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js.map +1 -0
  183. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.d.ts +17 -0
  184. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js +43 -0
  185. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js.map +1 -0
  186. package/dist/restorer/impls/portfolio-v0-evaluator/index.d.ts +43 -0
  187. package/dist/restorer/impls/portfolio-v0-evaluator/index.js +431 -0
  188. package/dist/restorer/impls/portfolio-v0-evaluator/index.js.map +1 -0
  189. package/dist/restorer/impls/portfolio-v0-evaluator/score.d.ts +21 -0
  190. package/dist/restorer/impls/portfolio-v0-evaluator/score.js +32 -0
  191. package/dist/restorer/impls/portfolio-v0-evaluator/score.js.map +1 -0
  192. package/dist/restorer/impls/portfolio-v0-evaluator/types.d.ts +32 -0
  193. package/dist/restorer/impls/portfolio-v0-evaluator/types.js +8 -0
  194. package/dist/restorer/impls/portfolio-v0-evaluator/types.js.map +1 -0
  195. package/dist/restorer/impls/prediction-v0-baseline/index.d.ts +26 -0
  196. package/dist/restorer/impls/prediction-v0-baseline/index.js +82 -0
  197. package/dist/restorer/impls/prediction-v0-baseline/index.js.map +1 -0
  198. package/dist/restorer/impls/prediction-v0-baseline/strategy.d.ts +8 -0
  199. package/dist/restorer/impls/prediction-v0-baseline/strategy.js +41 -0
  200. package/dist/restorer/impls/prediction-v0-baseline/strategy.js.map +1 -0
  201. package/dist/restorer/impls/prediction-v0-baseline/types.d.ts +7 -0
  202. package/dist/restorer/impls/prediction-v0-baseline/types.js +2 -0
  203. package/dist/restorer/impls/prediction-v0-baseline/types.js.map +1 -0
  204. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.d.ts +20 -0
  205. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.js +66 -0
  206. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.js.map +1 -0
  207. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.d.ts +9 -0
  208. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.js +23 -0
  209. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.js.map +1 -0
  210. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.d.ts +3 -0
  211. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.js +13 -0
  212. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.js.map +1 -0
  213. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.d.ts +7 -0
  214. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js +74 -0
  215. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -0
  216. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.d.ts +5 -0
  217. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.js +20 -0
  218. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.js.map +1 -0
  219. package/dist/restorer/impls/prediction-v0-evaluator/index.d.ts +33 -0
  220. package/dist/restorer/impls/prediction-v0-evaluator/index.js +179 -0
  221. package/dist/restorer/impls/prediction-v0-evaluator/index.js.map +1 -0
  222. package/dist/restorer/impls/prediction-v0-evaluator/score.d.ts +8 -0
  223. package/dist/restorer/impls/prediction-v0-evaluator/score.js +15 -0
  224. package/dist/restorer/impls/prediction-v0-evaluator/score.js.map +1 -0
  225. package/dist/restorer/impls/prediction-v0-evaluator/types.d.ts +7 -0
  226. package/dist/restorer/impls/prediction-v0-evaluator/types.js +2 -0
  227. package/dist/restorer/impls/prediction-v0-evaluator/types.js.map +1 -0
  228. package/dist/restorer/types.d.ts +62 -0
  229. package/dist/restorer/types.js +7 -0
  230. package/dist/restorer/types.js.map +1 -0
  231. package/dist/runner/claude.js +15 -0
  232. package/dist/runner/claude.js.map +1 -1
  233. package/dist/store/store.d.ts +3 -1
  234. package/dist/store/store.js +8 -0
  235. package/dist/store/store.js.map +1 -1
  236. package/dist/tx-retry.js +11 -1
  237. package/dist/tx-retry.js.map +1 -1
  238. package/dist/types/desired-state.d.ts +53 -0
  239. package/dist/types/desired-state.js +20 -0
  240. package/dist/types/desired-state.js.map +1 -1
  241. package/dist/types/index.d.ts +3 -1
  242. package/dist/types/index.js +3 -1
  243. package/dist/types/index.js.map +1 -1
  244. package/dist/types/portfolio.d.ts +1000 -0
  245. package/dist/types/portfolio.js +168 -0
  246. package/dist/types/portfolio.js.map +1 -0
  247. package/dist/types/prediction.d.ts +751 -0
  248. package/dist/types/prediction.js +128 -0
  249. package/dist/types/prediction.js.map +1 -0
  250. package/dist/venues/chainlink/client.d.ts +99 -0
  251. package/dist/venues/chainlink/client.js +130 -0
  252. package/dist/venues/chainlink/client.js.map +1 -0
  253. package/dist/venues/chainlink/feeds.d.ts +8 -0
  254. package/dist/venues/chainlink/feeds.js +9 -0
  255. package/dist/venues/chainlink/feeds.js.map +1 -0
  256. package/dist/venues/hyperliquid/account-value.d.ts +30 -0
  257. package/dist/venues/hyperliquid/account-value.js +30 -0
  258. package/dist/venues/hyperliquid/account-value.js.map +1 -0
  259. package/dist/venues/hyperliquid/client.d.ts +63 -0
  260. package/dist/venues/hyperliquid/client.js +135 -0
  261. package/dist/venues/hyperliquid/client.js.map +1 -0
  262. package/dist/venues/hyperliquid/grid.d.ts +36 -0
  263. package/dist/venues/hyperliquid/grid.js +61 -0
  264. package/dist/venues/hyperliquid/grid.js.map +1 -0
  265. package/dist/venues/hyperliquid/types.d.ts +81 -0
  266. package/dist/venues/hyperliquid/types.js +8 -0
  267. package/dist/venues/hyperliquid/types.js.map +1 -0
  268. package/package.json +18 -3
  269. package/skills/jinn-operator/SKILL.md +213 -0
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { isAbsolute, join } from 'node:path';
2
+ import { dirname, isAbsolute, join } from 'node:path';
3
3
  import { parseArgs } from 'node:util';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { createPublicClient, http } from 'viem';
6
+ import { baseSepolia } from 'viem/chains';
4
7
  import { COMMON_FLAGS } from '../command.js';
5
8
  import { emitResult } from '../output.js';
6
9
  import { emitEnvelope } from '../../errors/envelope.js';
7
10
  import { checkClaudeBinary } from '../../preflight/claude-binary.js';
11
+ import { detectAuthContext, probeClaudeAuth } from '../../preflight/claude-auth.js';
8
12
  import { getConfigPathFromArgs, loadConfig } from '../../config.js';
9
- import { getChainConfig } from '../../earning/contracts.js';
13
+ import { getChainConfig, ERC20_ABI } from '../../earning/contracts.js';
14
+ import { runPortfolioV0DoctorChecks } from '../../api/portfolio-v0-doctor.js';
15
+ import { mnemonicKeystorePath } from '../../earning/store.js';
10
16
  async function checkNodeVersion() {
11
17
  const version = process.versions.node;
12
18
  const major = parseInt(version.split('.')[0], 10);
@@ -18,19 +24,19 @@ async function checkNodeVersion() {
18
24
  ...(ok ? {} : { remedy: 'Upgrade to Node.js 20 or newer.' }),
19
25
  };
20
26
  }
21
- async function checkKeystoreReadable(earningDir) {
22
- const keystorePath = join(earningDir, 'mnemonic.keystore.json');
27
+ function checkKeystorePresent(earningDir) {
28
+ const keystorePath = mnemonicKeystorePath(earningDir);
23
29
  if (existsSync(keystorePath)) {
24
30
  return {
25
- name: 'keystore_readable',
31
+ name: 'keystore_present',
26
32
  ok: true,
27
- detail: 'mnemonic keystore present in configured earning directory',
33
+ detail: `mnemonic keystore present at ${keystorePath}`,
28
34
  };
29
35
  }
30
36
  return {
31
- name: 'keystore_readable',
32
- ok: true, // Missing is fine before `jinn init`; not a blocker.
33
- detail: 'no keystore yet (expected on a fresh install)',
37
+ name: 'keystore_present',
38
+ ok: true, // Missing is fine before `jinn init`; `jinn run` / `bootstrap` will create it.
39
+ detail: 'no keystore yet run `jinn init` to create one',
34
40
  };
35
41
  }
36
42
  async function checkDeploymentLoaded(config) {
@@ -83,6 +89,105 @@ function claudeBinaryCheckForDoctor(claudePath, result) {
83
89
  }),
84
90
  };
85
91
  }
92
+ /**
93
+ * Verify the daemon can spawn its HL MCP subprocess. The generated
94
+ * `hl-server.mjs` wrapper imports `mcp-tools.js` by absolute path and is
95
+ * loaded by plain Node — so the compiled artifact MUST exist on disk
96
+ * before `jinn run` spawns any Claude session. Without this check, the
97
+ * operator hits a silent "Claude didn't call any tools" symptom.
98
+ */
99
+ function checkDaemonRuntimeReady() {
100
+ // doctor.ts compiles to dist/cli/commands/doctor.js → package root is 3 levels up.
101
+ // Under tsx (dev), __dirname is src/cli/commands; the check then looks for a sibling
102
+ // built artifact under dist/, which will only exist after `yarn build`.
103
+ const thisDir = dirname(fileURLToPath(import.meta.url));
104
+ const mcpToolsJsDist = join(thisDir, '..', '..', 'restorer', 'impls', 'claude-mcp-hyperliquid', 'mcp-tools.js');
105
+ if (existsSync(mcpToolsJsDist)) {
106
+ return {
107
+ name: 'daemon_runtime_ready',
108
+ ok: true,
109
+ detail: `compiled MCP tool module present at ${mcpToolsJsDist}`,
110
+ };
111
+ }
112
+ return {
113
+ name: 'daemon_runtime_ready',
114
+ ok: false,
115
+ detail: `compiled MCP tool module missing (expected ${mcpToolsJsDist})`,
116
+ remedy: 'The daemon must run from a compiled build. Run `yarn build` before `yarn dev` / `node dist/bin/jinn.js run`, ' +
117
+ 'or reinstall the npm package with `npm install -g @jinn-network/client@latest`.',
118
+ };
119
+ }
120
+ /**
121
+ * On testnet, warn if the stOLAS distributor pool is drained. Operators can
122
+ * neither fix this themselves nor bootstrap past it — the protocol team has
123
+ * to refill (see contracts/scripts/README-jinn-testnet-faucet.md). Emitted
124
+ * as a warning, not a hard failure, because a refill may be in-flight.
125
+ */
126
+ async function checkDistributorReachable(config) {
127
+ if (config.network !== 'testnet')
128
+ return null;
129
+ try {
130
+ const cfg = getChainConfig('base-sepolia', {
131
+ testnetL2DeploymentPath: config.testnetL2DeploymentPath,
132
+ testnetL2TokenDeploymentPath: config.testnetL2TokenDeploymentPath,
133
+ testnetMechDeploymentPath: config.testnetMechDeploymentPath,
134
+ testnetStolasDeploymentPath: config.testnetStolasDeploymentPath,
135
+ });
136
+ if (!cfg.distributorAddress) {
137
+ return {
138
+ name: 'distributor_reachable',
139
+ ok: true,
140
+ detail: 'distributor address not configured (standard mode staking disabled)',
141
+ };
142
+ }
143
+ const client = createPublicClient({ chain: baseSepolia, transport: http(cfg.rpcUrl) });
144
+ const balance = await client.readContract({
145
+ address: cfg.olasToken,
146
+ abi: ERC20_ABI,
147
+ functionName: 'balanceOf',
148
+ args: [cfg.distributorAddress],
149
+ });
150
+ const floor = cfg.bondAmount * 2n;
151
+ const jinn = Number(balance) / 1e18;
152
+ const required = Number(floor) / 1e18;
153
+ if (balance < floor) {
154
+ return {
155
+ name: 'distributor_reachable',
156
+ ok: false,
157
+ detail: `testnet staking pool is drained — distributor holds ${jinn.toFixed(2)} JINN, need ≥${required.toFixed(2)} per service`,
158
+ remedy: 'Protocol-team action required (operators cannot fix this locally). ' +
159
+ 'Report the outage to the Jinn testnet channel; bootstrap will keep failing with `Overflow` until the pool is topped up.',
160
+ };
161
+ }
162
+ return {
163
+ name: 'distributor_reachable',
164
+ ok: true,
165
+ detail: `distributor holds ${jinn.toFixed(2)} JINN (${Math.floor(jinn / required)} services of runway)`,
166
+ };
167
+ }
168
+ catch (err) {
169
+ return {
170
+ name: 'distributor_reachable',
171
+ ok: true, // Non-fatal — probe failure doesn't mean the pool is empty.
172
+ detail: `distributor probe failed: ${err instanceof Error ? err.message : String(err)}`,
173
+ };
174
+ }
175
+ }
176
+ async function checkClaudeAuth(config) {
177
+ const cwd = process.cwd();
178
+ const context = detectAuthContext({ cwd, configuredMode: config.runtimeMode });
179
+ const probe = probeClaudeAuth({ context, cwd });
180
+ return {
181
+ name: 'claude_auth',
182
+ ok: probe.authenticated,
183
+ detail: probe.authenticated
184
+ ? `${probe.detail} (${context})`
185
+ : `Not authenticated (${context})`,
186
+ ...(probe.authenticated
187
+ ? {}
188
+ : { remedy: 'Run `jinn auth` to authenticate Claude.' }),
189
+ };
190
+ }
86
191
  async function run(ctx) {
87
192
  let parsed;
88
193
  try {
@@ -107,8 +212,20 @@ async function run(ctx) {
107
212
  checks.push(await checkNodeVersion());
108
213
  const claudeResult = await checkClaudeBinary(config.claudePath);
109
214
  checks.push(claudeBinaryCheckForDoctor(config.claudePath, claudeResult));
110
- checks.push(await checkKeystoreReadable(config.earningDir));
215
+ checks.push(await checkClaudeAuth(config));
216
+ checks.push(checkKeystorePresent(config.earningDir));
111
217
  checks.push(await checkDeploymentLoaded(config));
218
+ checks.push(checkDaemonRuntimeReady());
219
+ const distributorCheck = await checkDistributorReachable(config);
220
+ if (distributorCheck)
221
+ checks.push(distributorCheck);
222
+ // portfolio.v0 checks — use the same implStateDirRoot that main.ts wires up.
223
+ // The daemon hardcodes /tmp/jinn-engine-impl-state; the per-impl dir appends
224
+ // the impl name (claude-mcp-hyperliquid).
225
+ const implStateDirRoot = '/tmp/jinn-engine-impl-state';
226
+ const hlImplStateDir = join(implStateDirRoot, 'claude-mcp-hyperliquid');
227
+ const portfolioChecks = runPortfolioV0DoctorChecks(hlImplStateDir);
228
+ checks.push(...portfolioChecks);
112
229
  const blockingCount = checks.filter((c) => !c.ok).length;
113
230
  const payload = {
114
231
  schemaVersion: 1,
@@ -117,7 +234,7 @@ async function run(ctx) {
117
234
  ok: blockingCount === 0,
118
235
  blockingCount,
119
236
  };
120
- emitResult(payload, (v) => JSON.stringify(v, null, 2), {
237
+ emitResult(payload, (v) => humanDoctor(v), {
121
238
  json: Boolean(parsed.values.json),
122
239
  human: Boolean(parsed.values.human),
123
240
  writer: ctx.writer,
@@ -125,6 +242,19 @@ async function run(ctx) {
125
242
  noColor: Boolean(ctx.env['NO_COLOR']),
126
243
  });
127
244
  }
245
+ function humanDoctor(payload) {
246
+ const lines = [];
247
+ for (const check of payload.checks) {
248
+ const mark = check.ok ? 'ok ' : 'fail';
249
+ lines.push(`[${mark}] ${check.name}: ${check.detail}`);
250
+ if (check.remedy)
251
+ lines.push(` remedy: ${check.remedy}`);
252
+ }
253
+ lines.push(payload.ok
254
+ ? 'Summary: all checks passed.'
255
+ : `Summary: ${payload.blockingCount} blocking check(s) failed.`);
256
+ return lines.join('\n');
257
+ }
128
258
  const command = {
129
259
  name: 'doctor',
130
260
  summary: 'Preflight checks: answers "would jinn run work?" without running it',
@@ -132,10 +262,13 @@ const command = {
132
262
 
133
263
  Runs a set of non-mutating checks against the local environment and
134
264
  configuration:
135
- - node_version Node.js >= 20
136
- - claude_binary claude CLI resolvable on PATH
137
- - keystore_readable mnemonic keystore in configured earning directory (optional)
138
- - deployment_loaded testnet/mainnet contract addresses resolved
265
+ - node_version Node.js >= 20
266
+ - claude_binary claude CLI resolvable on PATH
267
+ - claude_auth Claude CLI authenticated
268
+ - keystore_present mnemonic keystore in configured earning directory (optional)
269
+ - deployment_loaded testnet/mainnet contract addresses resolved
270
+ - portfolio_impl_state_dir HL impl state directory present and readable
271
+ - hl_api_wallet HL API wallet generated and approved by operator
139
272
 
140
273
  By default, emits a machine-readable JSON object with a checks array,
141
274
  an overall ok flag, and a blockingCount. Exit code is 0 even when
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAgC,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAmB,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAS5D,KAAK,UAAU,gBAAgB;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IACvB,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,EAAE;QACF,MAAM,EAAE,IAAI,OAAO,EAAE;QACrB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAChE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,2DAA2D;SACpE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,IAAI,EAAE,qDAAqD;QAC/D,MAAM,EAAE,+CAA+C;KACxD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAkB;IACrD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;QACrE,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE;YAChC,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;YACvD,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;YACjE,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;YAC3D,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;SAChE,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,KAAK,4CAA4C,CAAC;QACrF,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,mDAAmD;YAC9F,GAAG,CAAC,OAAO;gBACT,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,MAAM,EACJ,+GAA+G;iBAClH,CAAC;SACP,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,8CAA8C;YACtD,MAAM,EAAE,gEAAgE;SACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAkB,EAAE,MAA+B;IACrF,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE;QACtB,CAAC,CAAC,gBAAgB;YAChB,CAAC,CAAC,+CAA+C;YACjD,CAAC,CAAC,sBAAsB;QAC1B,CAAC,CAAC,gBAAgB;YAChB,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,uBAAuB,CAAC;IAC9B,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM;QACN,GAAG,CAAC,MAAM,CAAC,EAAE;YACX,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,MAAM,EACJ,oFAAoF;aACvF,CAAC;KACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,GAAmB;IACpC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,EAAE,GAAG,YAAY,EAAE;YAC5B,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CACV;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GACd,qBAAqB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,CAAC,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAEzE,MAAM,CAAC,IAAI,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IACzD,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,CAAU;QACzB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,MAAM;QACN,EAAE,EAAE,aAAa,KAAK,CAAC;QACvB,aAAa;KACd,CAAC;IAEF,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACrD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAAkB;IAC7B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,qEAAqE;IAC9E,QAAQ,EAAE;;;;;;;;;;;;;;;;CAgBX;IACC,GAAG;CACJ,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,34 @@
1
+ import { createPublicClient, formatUnits, http } from 'viem';
2
+ import { base, baseSepolia } from 'viem/chains';
1
3
  import { COMMON_FLAGS, parseCommandArgs } from '../command.js';
2
4
  import { emitResult } from '../output.js';
3
5
  import { emitEnvelope } from '../../errors/envelope.js';
4
6
  import { loadConfig } from '../../config.js';
5
7
  import { FleetBootstrapper } from '../../earning/bootstrap.js';
8
+ import { getChainConfig } from '../../earning/contracts.js';
6
9
  import { resolveCliPassword } from '../password.js';
7
10
  /** §6.2 — `stack` only when `JINN_DEBUG=1` (exact string). */
8
11
  function envelopeDebug(env) {
9
12
  return env['JINN_DEBUG'] === '1';
10
13
  }
14
+ function formatAmount(wei, symbol) {
15
+ try {
16
+ // All three asset roles (native, bond, reward) use 18 decimals in Phase 1b.
17
+ return `${formatUnits(BigInt(wei), 18)} ${symbol}`;
18
+ }
19
+ catch {
20
+ return `${wei} wei (${symbol})`;
21
+ }
22
+ }
11
23
  function humanFundRequirements(payload) {
12
24
  if (payload.satisfied) {
13
25
  return 'Funding requirements satisfied. Nothing needed right now.';
14
26
  }
15
27
  const lines = ['Funding required before bootstrap can advance:'];
16
28
  for (const r of payload.requirements) {
17
- lines.push(`- ${r.role} @ ${r.address}: asset role ${r.asset}, need ${r.needWei} wei, have ${r.haveWei} wei`);
29
+ const need = formatAmount(r.needWei, r.details.tokenSymbol);
30
+ const have = formatAmount(r.haveWei, r.details.tokenSymbol);
31
+ lines.push(`- ${r.role} @ ${r.address}: need ${need}, have ${have}`);
18
32
  }
19
33
  return lines.join('\n');
20
34
  }
@@ -100,6 +114,60 @@ async function run(ctx) {
100
114
  details: { tokenAddress: null, tokenSymbol: 'ETH' },
101
115
  });
102
116
  }
117
+ else {
118
+ // Bootstrap is satisfied. Still probe per-Safe native ETH: the daemon's
119
+ // balance-topup-loop auto-tops from master at runtime, but operators
120
+ // running in tooling contexts (acceptance gate, CI, bare `submit-intent`)
121
+ // hit the mech-fee path before any topup tick fires. A Safe that holds
122
+ // less than the per-service `minSafeEth` threshold will silently fail on
123
+ // `createEvaluationJob`, wrapped as `GS013` at the Safe layer — surface
124
+ // it here so ops see the gap before running.
125
+ const chainKey = config.network === 'testnet' ? 'base-sepolia' : 'base';
126
+ const chainCfg = getChainConfig(chainKey, {
127
+ testnetL2DeploymentPath: config.testnetL2DeploymentPath,
128
+ testnetL2TokenDeploymentPath: config.testnetL2TokenDeploymentPath,
129
+ testnetMechDeploymentPath: config.testnetMechDeploymentPath,
130
+ testnetStolasDeploymentPath: config.testnetStolasDeploymentPath,
131
+ });
132
+ const viemChain = chainKey === 'base' ? base : baseSepolia;
133
+ const publicClient = createPublicClient({
134
+ chain: viemChain,
135
+ transport: http(config.rpcUrl),
136
+ });
137
+ const probeRows = await Promise.all(result.fleet_state.services
138
+ .filter(svc => svc.step === 'complete' && svc.safe_address)
139
+ .map(async (svc) => {
140
+ const address = svc.safe_address;
141
+ try {
142
+ const bal = await publicClient.getBalance({ address: address });
143
+ if (bal >= chainCfg.minSafeEth)
144
+ return null;
145
+ return {
146
+ role: `service_${svc.index}_safe`,
147
+ address,
148
+ asset: 'native',
149
+ haveWei: bal.toString(),
150
+ needWei: (chainCfg.minSafeEth - bal).toString(),
151
+ reason: `Service ${svc.index} Safe needs native ETH to pay mech fees (each evaluation job sends 99 wei). ` +
152
+ `The daemon's balance-topup-loop auto-refills from master at runtime; funding it manually is ` +
153
+ `required only when running CLI verbs (submit-intent, acceptance gate) outside the daemon.`,
154
+ blocks: 'run',
155
+ details: { tokenAddress: null, tokenSymbol: 'ETH' },
156
+ };
157
+ }
158
+ catch (err) {
159
+ // Probe failures are not a funding gap on their own; emit a warning
160
+ // so operators can distinguish "Safe OK" from "couldn't tell".
161
+ const message = err instanceof Error ? err.message : String(err);
162
+ process.stderr.write(`[warn] fund-requirements: failed to probe Safe ${address} for service ${svc.index}: ${message}\n`);
163
+ return null;
164
+ }
165
+ }));
166
+ for (const row of probeRows) {
167
+ if (row)
168
+ requirements.push(row);
169
+ }
170
+ }
103
171
  const payload = {
104
172
  schemaVersion: 1,
105
173
  generatedAt: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"fund-requirements.js","sourceRoot":"","sources":["../../../src/cli/commands/fund-requirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fund-requirements.js","sourceRoot":"","sources":["../../../src/cli/commands/fund-requirements.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ async function run(ctx) {
14
14
  cursor: { type: 'string' },
15
15
  json: { type: 'boolean', default: false },
16
16
  human: { type: 'boolean', default: false },
17
+ config: { type: 'string' },
17
18
  },
18
19
  allowPositionals: false,
19
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,KAAK,UAAU,GAAG,CAAC,GAAmB;IACpC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBACzC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;aAC3C;YACD,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CACV;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,UAAU,EAAE,yBAAyB;YACrC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,EAAE;QACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAA2B;QAChD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAA4B;KACnD,CAAC,CAAC;IACH,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACrD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAAkB;IAC7B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,8EAA8E;IACvF,QAAQ,EAAE;;;;;;;;;CASX;IACC,GAAG;CACJ,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,KAAK,UAAU,GAAG,CAAC,GAAmB;IACpC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBACzC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CACV;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,UAAU,EAAE,yBAAyB;YACrC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,EAAE;QACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAA2B;QAChD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAA4B;KACnD,CAAC,CAAC;IACH,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACrD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAAkB;IAC7B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,8EAA8E;IACvF,QAAQ,EAAE;;;;;;;;;CASX;IACC,GAAG;CACJ,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { parseArgs } from 'node:util';
2
2
  import { join } from 'node:path';
3
+ import { COMMON_FLAGS } from '../command.js';
3
4
  import { emitResult } from '../output.js';
4
5
  import { emitEnvelope } from '../../errors/envelope.js';
6
+ import { loadConfig, getConfigPathFromArgs } from '../../config.js';
5
7
  import { FleetStateStore } from '../../earning/store.js';
6
8
  import { generateMnemonic, encryptMnemonic, decryptMnemonic, deriveMasterAddress, } from '../../earning/wallet.js';
7
9
  import { resolveCliPassword } from '../password.js';
@@ -10,11 +12,7 @@ async function run(ctx) {
10
12
  try {
11
13
  parsed = parseArgs({
12
14
  args: ctx.argv,
13
- options: {
14
- json: { type: 'boolean', default: false },
15
- human: { type: 'boolean', default: false },
16
- 'password-fd': { type: 'string' },
17
- },
15
+ options: { ...COMMON_FLAGS },
18
16
  allowPositionals: false,
19
17
  });
20
18
  }
@@ -37,7 +35,20 @@ async function run(ctx) {
37
35
  }, { writer: ctx.writer, exit: ctx.exit });
38
36
  return;
39
37
  }
40
- const earningDir = ctx.env['JINN_EARNING_DIR'] ?? join(process.env['HOME'] ?? '.', '.jinn-client', 'earning');
38
+ const configPath = getConfigPathFromArgs(ctx.argv) ?? getConfigPathFromArgs(process.argv.slice(2));
39
+ let configEarningDir;
40
+ let configNetwork;
41
+ try {
42
+ const cfg = loadConfig(configPath);
43
+ configEarningDir = cfg.earningDir;
44
+ configNetwork = cfg.network;
45
+ }
46
+ catch {
47
+ // Config file is optional; fall back to env var / default below.
48
+ }
49
+ const earningDir = ctx.env['JINN_EARNING_DIR'] ??
50
+ configEarningDir ??
51
+ join(process.env['HOME'] ?? '.', '.jinn-client', 'earning');
41
52
  const store = new FleetStateStore(earningDir);
42
53
  if (!store.hasMnemonicKeystore() && store.hasLegacyKeystore()) {
43
54
  await store.migrateLegacyFiles();
@@ -53,14 +64,27 @@ async function run(ctx) {
53
64
  await store.saveMnemonicKeystore(keystore);
54
65
  masterAddress = deriveMasterAddress(mnemonic);
55
66
  }
67
+ // Persist master_address so downstream verbs (fund-requirements,
68
+ // bootstrap) hydrate from the existing wallet instead of rolling a
69
+ // fresh HD mnemonic.
70
+ const network = ctx.env['JINN_NETWORK'] ?? configNetwork ?? 'testnet';
71
+ const chain = network === 'mainnet' ? 'base' : 'base-sepolia';
72
+ await store.patchFleet({ master_address: masterAddress, chain });
56
73
  emitResult({
57
74
  schemaVersion: 1,
58
75
  generatedAt: new Date().toISOString(),
59
76
  master: masterAddress,
60
77
  keystoreDir: earningDir,
78
+ nextStep: {
79
+ cli: 'jinn fund-requirements',
80
+ purpose: 'List addresses that need funding before bootstrap can advance.',
81
+ },
61
82
  }, (v) => {
62
83
  const value = v;
63
- return `Keystore ready.\nMaster: ${value.master}\nDirectory: ${value.keystoreDir}`;
84
+ return (`Keystore ready.\nMaster: ${value.master}\nDirectory: ${value.keystoreDir}\n` +
85
+ `Next: ${value.nextStep.cli}\n` +
86
+ `Backup: your JINN_PASSWORD and the mnemonic in this keystore are the only way to recover this wallet. ` +
87
+ `Run \`jinn keys backup\` to export the mnemonic.`);
64
88
  }, {
65
89
  json: Boolean(parsed.values.json),
66
90
  human: Boolean(parsed.values.human),
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}