movehat 0.1.8 → 0.2.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 (445) hide show
  1. package/README.md +2 -2
  2. package/dist/__tests__/deployContract.test.d.ts +2 -0
  3. package/dist/__tests__/deployContract.test.d.ts.map +1 -0
  4. package/dist/__tests__/deployContract.test.js +368 -0
  5. package/dist/__tests__/deployContract.test.js.map +1 -0
  6. package/dist/__tests__/errors.test.d.ts +2 -0
  7. package/dist/__tests__/errors.test.d.ts.map +1 -0
  8. package/dist/__tests__/errors.test.js +46 -0
  9. package/dist/__tests__/errors.test.js.map +1 -0
  10. package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts +24 -0
  11. package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts.map +1 -0
  12. package/dist/__tests__/fixtures/sigint-deploy-harness.js +82 -0
  13. package/dist/__tests__/fixtures/sigint-deploy-harness.js.map +1 -0
  14. package/dist/__tests__/fork/api.test.d.ts +2 -0
  15. package/dist/__tests__/fork/api.test.d.ts.map +1 -0
  16. package/dist/__tests__/fork/api.test.js +110 -0
  17. package/dist/__tests__/fork/api.test.js.map +1 -0
  18. package/dist/__tests__/harness/Harness.createLive.test.d.ts +2 -0
  19. package/dist/__tests__/harness/Harness.createLive.test.d.ts.map +1 -0
  20. package/dist/__tests__/harness/Harness.createLive.test.js +53 -0
  21. package/dist/__tests__/harness/Harness.createLive.test.js.map +1 -0
  22. package/dist/__tests__/harness/Harness.proxy.test.d.ts +2 -0
  23. package/dist/__tests__/harness/Harness.proxy.test.d.ts.map +1 -0
  24. package/dist/__tests__/harness/Harness.proxy.test.js +93 -0
  25. package/dist/__tests__/harness/Harness.proxy.test.js.map +1 -0
  26. package/dist/__tests__/harness/_fixture.d.ts +54 -0
  27. package/dist/__tests__/harness/_fixture.d.ts.map +1 -0
  28. package/dist/__tests__/harness/_fixture.js +69 -0
  29. package/dist/__tests__/harness/_fixture.js.map +1 -0
  30. package/dist/__tests__/harness/codeObject.deploy.test.d.ts +2 -0
  31. package/dist/__tests__/harness/codeObject.deploy.test.d.ts.map +1 -0
  32. package/dist/__tests__/harness/codeObject.deploy.test.js +288 -0
  33. package/dist/__tests__/harness/codeObject.deploy.test.js.map +1 -0
  34. package/dist/__tests__/harness/codeObject.upgrade.test.d.ts +2 -0
  35. package/dist/__tests__/harness/codeObject.upgrade.test.d.ts.map +1 -0
  36. package/dist/__tests__/harness/codeObject.upgrade.test.js +138 -0
  37. package/dist/__tests__/harness/codeObject.upgrade.test.js.map +1 -0
  38. package/dist/__tests__/harness/script.test.d.ts +2 -0
  39. package/dist/__tests__/harness/script.test.d.ts.map +1 -0
  40. package/dist/__tests__/harness/script.test.js +219 -0
  41. package/dist/__tests__/harness/script.test.js.map +1 -0
  42. package/dist/__tests__/harness/view.test.d.ts +2 -0
  43. package/dist/__tests__/harness/view.test.d.ts.map +1 -0
  44. package/dist/__tests__/harness/view.test.js +92 -0
  45. package/dist/__tests__/harness/view.test.js.map +1 -0
  46. package/dist/__tests__/runtime.test.d.ts +2 -0
  47. package/dist/__tests__/runtime.test.d.ts.map +1 -0
  48. package/dist/__tests__/runtime.test.js +141 -0
  49. package/dist/__tests__/runtime.test.js.map +1 -0
  50. package/dist/cli.js +2 -1
  51. package/dist/cli.js.map +1 -1
  52. package/dist/commands/__tests__/compile.test.d.ts +2 -0
  53. package/dist/commands/__tests__/compile.test.d.ts.map +1 -0
  54. package/dist/commands/__tests__/compile.test.js +351 -0
  55. package/dist/commands/__tests__/compile.test.js.map +1 -0
  56. package/dist/commands/__tests__/init.test.d.ts +2 -0
  57. package/dist/commands/__tests__/init.test.d.ts.map +1 -0
  58. package/dist/commands/__tests__/init.test.js +101 -0
  59. package/dist/commands/__tests__/init.test.js.map +1 -0
  60. package/dist/commands/__tests__/run.test.d.ts +2 -0
  61. package/dist/commands/__tests__/run.test.d.ts.map +1 -0
  62. package/dist/commands/__tests__/run.test.js +166 -0
  63. package/dist/commands/__tests__/run.test.js.map +1 -0
  64. package/dist/commands/__tests__/test-move.test.d.ts +2 -0
  65. package/dist/commands/__tests__/test-move.test.d.ts.map +1 -0
  66. package/dist/commands/__tests__/test-move.test.js +59 -0
  67. package/dist/commands/__tests__/test-move.test.js.map +1 -0
  68. package/dist/commands/__tests__/test.test.d.ts +2 -0
  69. package/dist/commands/__tests__/test.test.d.ts.map +1 -0
  70. package/dist/commands/__tests__/test.test.js +168 -0
  71. package/dist/commands/__tests__/test.test.js.map +1 -0
  72. package/dist/commands/__tests__/update.test.d.ts +2 -0
  73. package/dist/commands/__tests__/update.test.d.ts.map +1 -0
  74. package/dist/commands/__tests__/update.test.js +176 -0
  75. package/dist/commands/__tests__/update.test.js.map +1 -0
  76. package/dist/commands/compile.d.ts +7 -1
  77. package/dist/commands/compile.d.ts.map +1 -1
  78. package/dist/commands/compile.js +150 -33
  79. package/dist/commands/compile.js.map +1 -1
  80. package/dist/commands/fork/__tests__/create.test.d.ts +2 -0
  81. package/dist/commands/fork/__tests__/create.test.d.ts.map +1 -0
  82. package/dist/commands/fork/__tests__/create.test.js +108 -0
  83. package/dist/commands/fork/__tests__/create.test.js.map +1 -0
  84. package/dist/commands/fork/__tests__/fund.test.d.ts +2 -0
  85. package/dist/commands/fork/__tests__/fund.test.d.ts.map +1 -0
  86. package/dist/commands/fork/__tests__/fund.test.js +72 -0
  87. package/dist/commands/fork/__tests__/fund.test.js.map +1 -0
  88. package/dist/commands/fork/__tests__/list.test.d.ts +2 -0
  89. package/dist/commands/fork/__tests__/list.test.d.ts.map +1 -0
  90. package/dist/commands/fork/__tests__/list.test.js +119 -0
  91. package/dist/commands/fork/__tests__/list.test.js.map +1 -0
  92. package/dist/commands/fork/__tests__/serve.test.d.ts +2 -0
  93. package/dist/commands/fork/__tests__/serve.test.d.ts.map +1 -0
  94. package/dist/commands/fork/__tests__/serve.test.js +97 -0
  95. package/dist/commands/fork/__tests__/serve.test.js.map +1 -0
  96. package/dist/commands/fork/__tests__/view-resource.test.d.ts +2 -0
  97. package/dist/commands/fork/__tests__/view-resource.test.d.ts.map +1 -0
  98. package/dist/commands/fork/__tests__/view-resource.test.js +77 -0
  99. package/dist/commands/fork/__tests__/view-resource.test.js.map +1 -0
  100. package/dist/commands/fork/create.d.ts +1 -1
  101. package/dist/commands/fork/create.d.ts.map +1 -1
  102. package/dist/commands/fork/create.js +3 -2
  103. package/dist/commands/fork/create.js.map +1 -1
  104. package/dist/commands/fork/fund.d.ts.map +1 -1
  105. package/dist/commands/fork/fund.js +15 -8
  106. package/dist/commands/fork/fund.js.map +1 -1
  107. package/dist/commands/fork/list.d.ts.map +1 -1
  108. package/dist/commands/fork/list.js +2 -1
  109. package/dist/commands/fork/list.js.map +1 -1
  110. package/dist/commands/fork/serve.d.ts +1 -0
  111. package/dist/commands/fork/serve.d.ts.map +1 -1
  112. package/dist/commands/fork/serve.js +4 -2
  113. package/dist/commands/fork/serve.js.map +1 -1
  114. package/dist/commands/fork/view-resource.d.ts.map +1 -1
  115. package/dist/commands/fork/view-resource.js +10 -5
  116. package/dist/commands/fork/view-resource.js.map +1 -1
  117. package/dist/commands/run.d.ts +15 -0
  118. package/dist/commands/run.d.ts.map +1 -1
  119. package/dist/commands/run.js +50 -27
  120. package/dist/commands/run.js.map +1 -1
  121. package/dist/commands/test-move.d.ts.map +1 -1
  122. package/dist/commands/test-move.js +3 -2
  123. package/dist/commands/test-move.js.map +1 -1
  124. package/dist/commands/test.js +52 -46
  125. package/dist/commands/test.js.map +1 -1
  126. package/dist/commands/update.d.ts.map +1 -1
  127. package/dist/commands/update.js +15 -13
  128. package/dist/commands/update.js.map +1 -1
  129. package/dist/core/AccountManager.d.ts +1 -1
  130. package/dist/core/AccountManager.d.ts.map +1 -1
  131. package/dist/core/AccountManager.js +20 -7
  132. package/dist/core/AccountManager.js.map +1 -1
  133. package/dist/core/Publisher.d.ts +31 -0
  134. package/dist/core/Publisher.d.ts.map +1 -0
  135. package/dist/core/Publisher.js +248 -0
  136. package/dist/core/Publisher.js.map +1 -0
  137. package/dist/core/__tests__/AccountManager.test.d.ts +2 -0
  138. package/dist/core/__tests__/AccountManager.test.d.ts.map +1 -0
  139. package/dist/core/__tests__/AccountManager.test.js +239 -0
  140. package/dist/core/__tests__/AccountManager.test.js.map +1 -0
  141. package/dist/core/__tests__/config.test.d.ts +2 -0
  142. package/dist/core/__tests__/config.test.d.ts.map +1 -0
  143. package/dist/core/__tests__/config.test.js +311 -0
  144. package/dist/core/__tests__/config.test.js.map +1 -0
  145. package/dist/core/__tests__/deployments.test.d.ts +2 -0
  146. package/dist/core/__tests__/deployments.test.d.ts.map +1 -0
  147. package/dist/core/__tests__/deployments.test.js +201 -0
  148. package/dist/core/__tests__/deployments.test.js.map +1 -0
  149. package/dist/core/__tests__/shell.test.d.ts +2 -0
  150. package/dist/core/__tests__/shell.test.d.ts.map +1 -0
  151. package/dist/core/__tests__/shell.test.js +107 -0
  152. package/dist/core/__tests__/shell.test.js.map +1 -0
  153. package/dist/core/config.d.ts +13 -1
  154. package/dist/core/config.d.ts.map +1 -1
  155. package/dist/core/config.js +80 -11
  156. package/dist/core/config.js.map +1 -1
  157. package/dist/core/contract.d.ts +1 -1
  158. package/dist/core/contract.d.ts.map +1 -1
  159. package/dist/core/contract.js +15 -4
  160. package/dist/core/contract.js.map +1 -1
  161. package/dist/core/deployments.d.ts +2 -2
  162. package/dist/core/deployments.d.ts.map +1 -1
  163. package/dist/core/deployments.js +8 -6
  164. package/dist/core/deployments.js.map +1 -1
  165. package/dist/core/movementProfile.d.ts +34 -0
  166. package/dist/core/movementProfile.d.ts.map +1 -0
  167. package/dist/core/movementProfile.js +150 -0
  168. package/dist/core/movementProfile.js.map +1 -0
  169. package/dist/core/shell.d.ts +23 -7
  170. package/dist/core/shell.d.ts.map +1 -1
  171. package/dist/core/shell.js +32 -14
  172. package/dist/core/shell.js.map +1 -1
  173. package/dist/errors.d.ts +35 -0
  174. package/dist/errors.d.ts.map +1 -1
  175. package/dist/errors.js +54 -0
  176. package/dist/errors.js.map +1 -1
  177. package/dist/fork/__tests__/manager.test.d.ts +2 -0
  178. package/dist/fork/__tests__/manager.test.d.ts.map +1 -0
  179. package/dist/fork/__tests__/manager.test.js +309 -0
  180. package/dist/fork/__tests__/manager.test.js.map +1 -0
  181. package/dist/fork/__tests__/server.test.d.ts +2 -0
  182. package/dist/fork/__tests__/server.test.d.ts.map +1 -0
  183. package/dist/fork/__tests__/server.test.js +54 -0
  184. package/dist/fork/__tests__/server.test.js.map +1 -0
  185. package/dist/fork/__tests__/storage.test.d.ts +2 -0
  186. package/dist/fork/__tests__/storage.test.d.ts.map +1 -0
  187. package/dist/fork/__tests__/storage.test.js +222 -0
  188. package/dist/fork/__tests__/storage.test.js.map +1 -0
  189. package/dist/fork/__tests__/test.test.d.ts +2 -0
  190. package/dist/fork/__tests__/test.test.d.ts.map +1 -0
  191. package/dist/fork/__tests__/test.test.js +81 -0
  192. package/dist/fork/__tests__/test.test.js.map +1 -0
  193. package/dist/fork/api.d.ts +14 -3
  194. package/dist/fork/api.d.ts.map +1 -1
  195. package/dist/fork/api.js +25 -14
  196. package/dist/fork/api.js.map +1 -1
  197. package/dist/fork/manager.d.ts +23 -9
  198. package/dist/fork/manager.d.ts.map +1 -1
  199. package/dist/fork/manager.js +79 -36
  200. package/dist/fork/manager.js.map +1 -1
  201. package/dist/fork/server.d.ts +11 -3
  202. package/dist/fork/server.d.ts.map +1 -1
  203. package/dist/fork/server.js +45 -13
  204. package/dist/fork/server.js.map +1 -1
  205. package/dist/fork/storage.d.ts +4 -4
  206. package/dist/fork/storage.d.ts.map +1 -1
  207. package/dist/fork/storage.js +7 -9
  208. package/dist/fork/storage.js.map +1 -1
  209. package/dist/fork/test.d.ts +13 -4
  210. package/dist/fork/test.d.ts.map +1 -1
  211. package/dist/fork/test.js +36 -27
  212. package/dist/fork/test.js.map +1 -1
  213. package/dist/harness/Harness.d.ts +124 -0
  214. package/dist/harness/Harness.d.ts.map +1 -0
  215. package/dist/harness/Harness.js +193 -0
  216. package/dist/harness/Harness.js.map +1 -0
  217. package/dist/harness/codeObject.d.ts +31 -0
  218. package/dist/harness/codeObject.d.ts.map +1 -0
  219. package/dist/harness/codeObject.js +271 -0
  220. package/dist/harness/codeObject.js.map +1 -0
  221. package/dist/harness/errors.d.ts +14 -0
  222. package/dist/harness/errors.d.ts.map +1 -0
  223. package/dist/harness/errors.js +22 -0
  224. package/dist/harness/errors.js.map +1 -0
  225. package/dist/harness/index.d.ts +4 -0
  226. package/dist/harness/index.d.ts.map +1 -0
  227. package/dist/harness/index.js +3 -0
  228. package/dist/harness/index.js.map +1 -0
  229. package/dist/harness/proxy.d.ts +7 -0
  230. package/dist/harness/proxy.d.ts.map +1 -0
  231. package/dist/harness/proxy.js +36 -0
  232. package/dist/harness/proxy.js.map +1 -0
  233. package/dist/harness/script.d.ts +21 -0
  234. package/dist/harness/script.d.ts.map +1 -0
  235. package/dist/harness/script.js +155 -0
  236. package/dist/harness/script.js.map +1 -0
  237. package/dist/harness/view.d.ts +22 -0
  238. package/dist/harness/view.d.ts.map +1 -0
  239. package/dist/harness/view.js +28 -0
  240. package/dist/harness/view.js.map +1 -0
  241. package/dist/helpers/__tests__/semver-utils.test.d.ts +2 -0
  242. package/dist/helpers/__tests__/semver-utils.test.d.ts.map +1 -0
  243. package/dist/helpers/__tests__/semver-utils.test.js +103 -0
  244. package/dist/helpers/__tests__/semver-utils.test.js.map +1 -0
  245. package/dist/helpers/index.d.ts +3 -2
  246. package/dist/helpers/index.d.ts.map +1 -1
  247. package/dist/helpers/index.js +2 -2
  248. package/dist/helpers/index.js.map +1 -1
  249. package/dist/helpers/move-tests.d.ts +3 -3
  250. package/dist/helpers/move-tests.d.ts.map +1 -1
  251. package/dist/helpers/move-tests.js +21 -20
  252. package/dist/helpers/move-tests.js.map +1 -1
  253. package/dist/helpers/npm-registry.d.ts.map +1 -1
  254. package/dist/helpers/npm-registry.js +1 -3
  255. package/dist/helpers/npm-registry.js.map +1 -1
  256. package/dist/helpers/semver-utils.d.ts.map +1 -1
  257. package/dist/helpers/semver-utils.js +4 -3
  258. package/dist/helpers/semver-utils.js.map +1 -1
  259. package/dist/helpers/setup.d.ts.map +1 -1
  260. package/dist/helpers/setup.js +10 -6
  261. package/dist/helpers/setup.js.map +1 -1
  262. package/dist/helpers/setupLocalTesting.d.ts +32 -27
  263. package/dist/helpers/setupLocalTesting.d.ts.map +1 -1
  264. package/dist/helpers/setupLocalTesting.js +179 -180
  265. package/dist/helpers/setupLocalTesting.js.map +1 -1
  266. package/dist/helpers/testFixtures.d.ts +19 -53
  267. package/dist/helpers/testFixtures.d.ts.map +1 -1
  268. package/dist/helpers/testFixtures.js +89 -107
  269. package/dist/helpers/testFixtures.js.map +1 -1
  270. package/dist/index.d.ts +4 -2
  271. package/dist/index.d.ts.map +1 -1
  272. package/dist/index.js +7 -3
  273. package/dist/index.js.map +1 -1
  274. package/dist/node/LocalNodeManager.d.ts +9 -1
  275. package/dist/node/LocalNodeManager.d.ts.map +1 -1
  276. package/dist/node/LocalNodeManager.js +75 -58
  277. package/dist/node/LocalNodeManager.js.map +1 -1
  278. package/dist/node/__tests__/LocalNodeManager.test.d.ts +2 -0
  279. package/dist/node/__tests__/LocalNodeManager.test.d.ts.map +1 -0
  280. package/dist/node/__tests__/LocalNodeManager.test.js +349 -0
  281. package/dist/node/__tests__/LocalNodeManager.test.js.map +1 -0
  282. package/dist/runtime.d.ts +12 -15
  283. package/dist/runtime.d.ts.map +1 -1
  284. package/dist/runtime.js +32 -241
  285. package/dist/runtime.js.map +1 -1
  286. package/dist/templates/README.md +1 -1
  287. package/dist/templates/movehat.config.ts +10 -0
  288. package/dist/templates/package.json +2 -1
  289. package/dist/templates/scripts/deploy-counter.ts +46 -38
  290. package/dist/templates/tests/Counter.test.ts +51 -51
  291. package/dist/templates/types/movehat.d.ts +6 -9
  292. package/dist/types/config.d.ts +8 -0
  293. package/dist/types/config.d.ts.map +1 -1
  294. package/dist/types/fork.d.ts +7 -1
  295. package/dist/types/fork.d.ts.map +1 -1
  296. package/dist/types/harness.d.ts +166 -0
  297. package/dist/types/harness.d.ts.map +1 -0
  298. package/dist/types/harness.js +2 -0
  299. package/dist/types/harness.js.map +1 -0
  300. package/dist/types/runtime.d.ts +7 -1
  301. package/dist/types/runtime.d.ts.map +1 -1
  302. package/dist/ui/__tests__/colors.test.d.ts +2 -0
  303. package/dist/ui/__tests__/colors.test.d.ts.map +1 -0
  304. package/dist/ui/__tests__/colors.test.js +127 -0
  305. package/dist/ui/__tests__/colors.test.js.map +1 -0
  306. package/dist/ui/colors.d.ts.map +1 -1
  307. package/dist/ui/colors.js +6 -2
  308. package/dist/ui/colors.js.map +1 -1
  309. package/dist/ui/logger.d.ts +17 -0
  310. package/dist/ui/logger.d.ts.map +1 -1
  311. package/dist/ui/logger.js +22 -0
  312. package/dist/ui/logger.js.map +1 -1
  313. package/dist/ui/symbols.d.ts +1 -0
  314. package/dist/ui/symbols.d.ts.map +1 -1
  315. package/dist/ui/symbols.js +7 -1
  316. package/dist/ui/symbols.js.map +1 -1
  317. package/dist/utils/__tests__/address.test.d.ts +2 -0
  318. package/dist/utils/__tests__/address.test.d.ts.map +1 -0
  319. package/dist/utils/__tests__/address.test.js +70 -0
  320. package/dist/utils/__tests__/address.test.js.map +1 -0
  321. package/dist/utils/__tests__/childProcessAdapter.test.d.ts +2 -0
  322. package/dist/utils/__tests__/childProcessAdapter.test.d.ts.map +1 -0
  323. package/dist/utils/__tests__/childProcessAdapter.test.js +217 -0
  324. package/dist/utils/__tests__/childProcessAdapter.test.js.map +1 -0
  325. package/dist/utils/__tests__/runCli.test.d.ts +2 -0
  326. package/dist/utils/__tests__/runCli.test.d.ts.map +1 -0
  327. package/dist/utils/__tests__/runCli.test.js +187 -0
  328. package/dist/utils/__tests__/runCli.test.js.map +1 -0
  329. package/dist/utils/address.d.ts +33 -0
  330. package/dist/utils/address.d.ts.map +1 -0
  331. package/dist/utils/address.js +52 -0
  332. package/dist/utils/address.js.map +1 -0
  333. package/dist/utils/childProcessAdapter.d.ts +93 -0
  334. package/dist/utils/childProcessAdapter.d.ts.map +1 -0
  335. package/dist/utils/childProcessAdapter.js +109 -0
  336. package/dist/utils/childProcessAdapter.js.map +1 -0
  337. package/dist/utils/parseCliOutput.d.ts +20 -0
  338. package/dist/utils/parseCliOutput.d.ts.map +1 -0
  339. package/dist/utils/parseCliOutput.js +26 -0
  340. package/dist/utils/parseCliOutput.js.map +1 -0
  341. package/dist/utils/redact.d.ts +15 -0
  342. package/dist/utils/redact.d.ts.map +1 -0
  343. package/dist/utils/redact.js +24 -0
  344. package/dist/utils/redact.js.map +1 -0
  345. package/dist/utils/runCli.d.ts +24 -0
  346. package/dist/utils/runCli.d.ts.map +1 -0
  347. package/dist/utils/runCli.js +37 -0
  348. package/dist/utils/runCli.js.map +1 -0
  349. package/package.json +14 -4
  350. package/src/__tests__/deployContract.test.ts +429 -0
  351. package/src/__tests__/errors.test.ts +84 -0
  352. package/src/__tests__/fixtures/sigint-deploy-harness.ts +95 -0
  353. package/src/__tests__/fork/api.test.ts +143 -0
  354. package/src/__tests__/harness/Harness.createLive.test.ts +57 -0
  355. package/src/__tests__/harness/Harness.proxy.test.ts +115 -0
  356. package/src/__tests__/harness/_fixture.ts +131 -0
  357. package/src/__tests__/harness/codeObject.deploy.test.ts +319 -0
  358. package/src/__tests__/harness/codeObject.upgrade.test.ts +156 -0
  359. package/src/__tests__/harness/script.test.ts +245 -0
  360. package/src/__tests__/harness/view.test.ts +104 -0
  361. package/src/__tests__/runtime.test.ts +182 -0
  362. package/src/cli.ts +2 -1
  363. package/src/commands/__tests__/compile.test.ts +407 -0
  364. package/src/commands/__tests__/init.test.ts +125 -0
  365. package/src/commands/__tests__/run.test.ts +192 -0
  366. package/src/commands/__tests__/test-move.test.ts +81 -0
  367. package/src/commands/__tests__/test.test.ts +204 -0
  368. package/src/commands/__tests__/update.test.ts +223 -0
  369. package/src/commands/compile.ts +168 -32
  370. package/src/commands/fork/__tests__/create.test.ts +132 -0
  371. package/src/commands/fork/__tests__/fund.test.ts +104 -0
  372. package/src/commands/fork/__tests__/list.test.ts +139 -0
  373. package/src/commands/fork/__tests__/serve.test.ts +121 -0
  374. package/src/commands/fork/__tests__/view-resource.test.ts +101 -0
  375. package/src/commands/fork/create.ts +4 -3
  376. package/src/commands/fork/fund.ts +16 -9
  377. package/src/commands/fork/list.ts +3 -2
  378. package/src/commands/fork/serve.ts +6 -3
  379. package/src/commands/fork/view-resource.ts +11 -6
  380. package/src/commands/run.ts +54 -28
  381. package/src/commands/test-move.ts +4 -3
  382. package/src/commands/test.ts +56 -44
  383. package/src/commands/update.ts +19 -16
  384. package/src/core/AccountManager.ts +23 -10
  385. package/src/core/Publisher.ts +322 -0
  386. package/src/core/__tests__/AccountManager.test.ts +290 -0
  387. package/src/core/__tests__/config.test.ts +377 -0
  388. package/src/core/__tests__/deployments.test.ts +247 -0
  389. package/src/core/__tests__/shell.test.ts +138 -0
  390. package/src/core/config.ts +96 -12
  391. package/src/core/contract.ts +13 -4
  392. package/src/core/deployments.ts +13 -11
  393. package/src/core/movementProfile.ts +179 -0
  394. package/src/core/shell.ts +34 -14
  395. package/src/errors.ts +60 -0
  396. package/src/fork/__tests__/manager.test.ts +385 -0
  397. package/src/fork/__tests__/server.test.ts +65 -0
  398. package/src/fork/__tests__/storage.test.ts +281 -0
  399. package/src/fork/__tests__/test.test.ts +97 -0
  400. package/src/fork/api.ts +28 -14
  401. package/src/fork/manager.ts +88 -43
  402. package/src/fork/server.ts +53 -19
  403. package/src/fork/storage.ts +12 -15
  404. package/src/fork/test.ts +58 -32
  405. package/src/harness/Harness.ts +228 -0
  406. package/src/harness/codeObject.ts +388 -0
  407. package/src/harness/errors.ts +22 -0
  408. package/src/harness/index.ts +3 -0
  409. package/src/harness/proxy.ts +40 -0
  410. package/src/harness/script.ts +196 -0
  411. package/src/harness/view.ts +34 -0
  412. package/src/helpers/__tests__/semver-utils.test.ts +121 -0
  413. package/src/helpers/index.ts +2 -8
  414. package/src/helpers/move-tests.ts +27 -23
  415. package/src/helpers/npm-registry.ts +4 -3
  416. package/src/helpers/semver-utils.ts +4 -3
  417. package/src/helpers/setup.ts +9 -5
  418. package/src/helpers/setupLocalTesting.ts +219 -200
  419. package/src/helpers/testFixtures.ts +106 -118
  420. package/src/index.ts +9 -3
  421. package/src/node/LocalNodeManager.ts +87 -62
  422. package/src/node/__tests__/LocalNodeManager.test.ts +452 -0
  423. package/src/runtime.ts +33 -289
  424. package/src/templates/README.md +1 -1
  425. package/src/templates/movehat.config.ts +10 -0
  426. package/src/templates/package.json +2 -1
  427. package/src/templates/scripts/deploy-counter.ts +46 -38
  428. package/src/templates/tests/Counter.test.ts +51 -51
  429. package/src/templates/types/movehat.d.ts +6 -9
  430. package/src/types/config.ts +8 -0
  431. package/src/types/fork.ts +7 -1
  432. package/src/types/harness.ts +182 -0
  433. package/src/types/runtime.ts +11 -3
  434. package/src/ui/__tests__/colors.test.ts +156 -0
  435. package/src/ui/colors.ts +5 -2
  436. package/src/ui/logger.ts +22 -0
  437. package/src/ui/symbols.ts +7 -1
  438. package/src/utils/__tests__/address.test.ts +93 -0
  439. package/src/utils/__tests__/childProcessAdapter.test.ts +266 -0
  440. package/src/utils/__tests__/runCli.test.ts +240 -0
  441. package/src/utils/address.ts +56 -0
  442. package/src/utils/childProcessAdapter.ts +215 -0
  443. package/src/utils/parseCliOutput.ts +27 -0
  444. package/src/utils/redact.ts +24 -0
  445. package/src/utils/runCli.ts +64 -0
@@ -1,7 +1,33 @@
1
1
  import type { MovehatRuntime } from "../types/runtime.js";
2
2
  import { ForkManager } from "../fork/manager.js";
3
+ import { ForkServer } from "../fork/server.js";
3
4
  import { LocalNodeManager } from "../node/LocalNodeManager.js";
4
5
  import type { LocalTestOptions } from "../types/config.js";
6
+ /**
7
+ * Context returned by {@link setupLocalTesting}.
8
+ *
9
+ * Replaces the module-scoped singletons that previously tracked the
10
+ * "current" local node / fork server / fork manager. Each invocation now
11
+ * owns its own handles, so two parallel `setupLocalTesting` calls in the
12
+ * same process do not trample each other.
13
+ *
14
+ * @public The `runtime` and `teardown` fields are the supported surface.
15
+ * `localNode`, `forkServer`, and `forkManager` are exposed for
16
+ * escape hatches (e.g. mid-test `forkManager.resetState()`) but
17
+ * their concrete shapes are considered `@internal` until the M5
18
+ * TypeDoc pass formalizes the public API.
19
+ */
20
+ export interface LocalTestingContext {
21
+ runtime: MovehatRuntime;
22
+ /** @internal */
23
+ localNode?: LocalNodeManager;
24
+ /** @internal */
25
+ forkServer?: ForkServer;
26
+ /** @internal */
27
+ forkManager?: ForkManager;
28
+ /** Stop the local node and/or fork server owned by this context. */
29
+ teardown: () => Promise<void>;
30
+ }
5
31
  /**
6
32
  * Setup a local testing environment with either a local node or fork server
7
33
  *
@@ -21,40 +47,19 @@ import type { LocalTestOptions } from "../types/config.js";
21
47
  * 5. Returns runtime for reading data
22
48
  *
23
49
  * @param options Configuration options for local testing
24
- * @returns MovehatRuntime configured for local testing
50
+ * @returns LocalTestingContext with runtime and a teardown closure
25
51
  *
26
52
  * @example
27
53
  * ```typescript
28
54
  * // Local node mode (default) - Full blockchain, can deploy
29
- * const mh = await setupLocalTesting({
55
+ * const ctx = await setupLocalTesting({
30
56
  * mode: 'local-node',
31
57
  * accountLabels: ['alice', 'bob'],
32
- * autoDeploy: ['counter'], // ✅ Works!
33
- * });
34
- *
35
- * // Fork mode - Fast, read-only
36
- * const mh = await setupLocalTesting({
37
- * mode: 'fork',
38
- * accountLabels: ['alice', 'bob'],
39
- * autoDeploy: ['counter'], // ❌ Won't work (fork can't deploy)
58
+ * autoDeploy: ['counter'], // works
40
59
  * });
60
+ * // ...use ctx.runtime...
61
+ * await ctx.teardown();
41
62
  * ```
42
63
  */
43
- export declare function setupLocalTesting(options?: LocalTestOptions): Promise<MovehatRuntime>;
44
- /**
45
- * Stop the local testing environment (cleanup)
46
- */
47
- export declare function stopLocalTesting(): Promise<void>;
48
- /**
49
- * Get the current fork manager (if fork mode is active)
50
- */
51
- export declare function getCurrentForkManager(): ForkManager | null;
52
- /**
53
- * Get the current local node (if local node mode is active)
54
- */
55
- export declare function getCurrentLocalNode(): LocalNodeManager | null;
56
- /**
57
- * Reset fork state to initial snapshot (fork mode only)
58
- */
59
- export declare function resetForkState(): Promise<void>;
64
+ export declare function setupLocalTesting(options?: LocalTestOptions): Promise<LocalTestingContext>;
60
65
  //# sourceMappingURL=setupLocalTesting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupLocalTesting.d.ts","sourceRoot":"","sources":["../../src/helpers/setupLocalTesting.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAgBzB;AA2ND;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpD"}
1
+ {"version":3,"file":"setupLocalTesting.d.ts","sourceRoot":"","sources":["../../src/helpers/setupLocalTesting.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,gBAAgB;IAChB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gBAAgB;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CA4C9B"}
@@ -5,9 +5,7 @@ import { ForkManager } from "../fork/manager.js";
5
5
  import { ForkServer } from "../fork/server.js";
6
6
  import { LocalNodeManager } from "../node/LocalNodeManager.js";
7
7
  import { AccountManager } from "../core/AccountManager.js";
8
- let currentForkServer = null;
9
- let currentForkManager = null;
10
- let currentLocalNode = null;
8
+ import { logger } from "../ui/index.js";
11
9
  /**
12
10
  * Setup a local testing environment with either a local node or fork server
13
11
  *
@@ -27,39 +25,58 @@ let currentLocalNode = null;
27
25
  * 5. Returns runtime for reading data
28
26
  *
29
27
  * @param options Configuration options for local testing
30
- * @returns MovehatRuntime configured for local testing
28
+ * @returns LocalTestingContext with runtime and a teardown closure
31
29
  *
32
30
  * @example
33
31
  * ```typescript
34
32
  * // Local node mode (default) - Full blockchain, can deploy
35
- * const mh = await setupLocalTesting({
33
+ * const ctx = await setupLocalTesting({
36
34
  * mode: 'local-node',
37
35
  * accountLabels: ['alice', 'bob'],
38
- * autoDeploy: ['counter'], // ✅ Works!
39
- * });
40
- *
41
- * // Fork mode - Fast, read-only
42
- * const mh = await setupLocalTesting({
43
- * mode: 'fork',
44
- * accountLabels: ['alice', 'bob'],
45
- * autoDeploy: ['counter'], // ❌ Won't work (fork can't deploy)
36
+ * autoDeploy: ['counter'], // works
46
37
  * });
38
+ * // ...use ctx.runtime...
39
+ * await ctx.teardown();
47
40
  * ```
48
41
  */
49
42
  export async function setupLocalTesting(options = {}) {
50
- // Default options
51
- const mode = options.mode || 'local-node'; // Default to local node
52
- const autoFund = options.autoFund !== false; // default true
53
- const defaultBalance = options.defaultBalance || 100_000_000; // 100 APT
43
+ const mode = options.mode || 'local-node';
44
+ const autoFund = options.autoFund !== false;
45
+ const defaultBalance = options.defaultBalance || 100_000_000;
54
46
  const accountLabels = options.accountLabels || ["deployer", "alice", "bob"];
55
- console.log(`\n🔧 Setting up local testing environment...`);
56
- console.log(` Mode: ${mode}`);
57
- console.log(` Accounts: ${accountLabels.join(", ")}\n`);
47
+ logger.newline();
48
+ logger.step("Setting up local testing environment...");
49
+ logger.plain(` Mode: ${mode}`);
50
+ logger.plain(` Accounts: ${accountLabels.join(", ")}`);
51
+ logger.newline();
58
52
  if (mode === 'local-node') {
59
- return await setupWithLocalNode(options, accountLabels, autoFund, defaultBalance);
53
+ const { runtime, localNode } = await setupWithLocalNode(options, accountLabels, autoFund, defaultBalance);
54
+ return {
55
+ runtime,
56
+ localNode,
57
+ teardown: async () => {
58
+ logger.newline();
59
+ logger.step("Stopping local testing environment...");
60
+ await localNode.stop();
61
+ logger.success("Environment stopped");
62
+ logger.newline();
63
+ },
64
+ };
60
65
  }
61
66
  else {
62
- return await setupWithFork(options, accountLabels, autoFund, defaultBalance);
67
+ const { runtime, forkServer, forkManager } = await setupWithFork(options, accountLabels, autoFund, defaultBalance);
68
+ return {
69
+ runtime,
70
+ forkServer,
71
+ forkManager,
72
+ teardown: async () => {
73
+ logger.newline();
74
+ logger.step("Stopping local testing environment...");
75
+ await forkServer.stop();
76
+ logger.success("Environment stopped");
77
+ logger.newline();
78
+ },
79
+ };
63
80
  }
64
81
  }
65
82
  /**
@@ -67,12 +84,11 @@ export async function setupLocalTesting(options = {}) {
67
84
  */
68
85
  async function setupWithLocalNode(options, accountLabels, autoFund, defaultBalance) {
69
86
  const nodeTestDir = options.nodeTestDir || join(process.cwd(), ".movehat", "local-node");
70
- const nodeForceRestart = options.nodeForceRestart !== false; // default true
87
+ const nodeForceRestart = options.nodeForceRestart !== false;
71
88
  const nodeFaucetPort = options.nodeFaucetPort || 8081;
72
89
  const nodeApiPort = options.nodeApiPort || 8080;
73
90
  const nodeReadyPort = options.nodeReadyPort || 8070;
74
91
  const nodeSilent = options.nodeSilent ?? false;
75
- // 1. Start local node
76
92
  const localNode = new LocalNodeManager({
77
93
  testDir: nodeTestDir,
78
94
  forceRestart: nodeForceRestart,
@@ -81,76 +97,86 @@ async function setupWithLocalNode(options, accountLabels, autoFund, defaultBalan
81
97
  readyPort: nodeReadyPort,
82
98
  silent: nodeSilent,
83
99
  });
84
- currentLocalNode = localNode;
85
100
  const nodeInfo = await localNode.start();
86
- // 2. Generate accounts with AccountManager
87
- console.log(`👥 Generating ${accountLabels.length} test accounts...`);
88
- const accounts = AccountManager.createBatch(accountLabels);
89
- for (const [label, account] of Object.entries(accounts)) {
90
- console.log(` ${label}: ${account.accountAddress.toString()}`);
91
- }
92
- console.log();
93
- // 3. Fund accounts from local faucet
94
- if (autoFund) {
95
- const accountsList = Object.values(accounts);
96
- await localNode.fundAccounts(accountsList, defaultBalance);
97
- }
98
- // 4. Initialize runtime pointing to local node
99
- console.log(`⚙️ Initializing runtime for local network...`);
100
- const deployerPrivateKey = AccountManager.exportPrivateKeys(["deployer"]).deployer;
101
- if (!deployerPrivateKey) {
102
- throw new Error("Failed to get deployer private key");
103
- }
104
- const runtime = await initRuntime({
105
- network: "local",
106
- configOverride: {
107
- networks: {
108
- local: {
109
- url: `${nodeInfo.rpcUrl}/v1`,
110
- chainId: "local",
101
+ // Once the node is up, every later step (account creation, funding,
102
+ // runtime init, autoDeploy) is fallible. If any of them throws we
103
+ // must stop the node we just started — otherwise the child process
104
+ // leaks and port 8080 stays bound until the OS reaps it (manifests as
105
+ // "Movement command failed" on the next test:example run).
106
+ try {
107
+ logger.step(`Generating ${accountLabels.length} test accounts...`);
108
+ const accounts = AccountManager.createBatch(accountLabels);
109
+ for (const [label, account] of Object.entries(accounts)) {
110
+ logger.plain(` ${label}: ${account.accountAddress.toString()}`);
111
+ }
112
+ logger.newline();
113
+ if (autoFund) {
114
+ const accountsList = Object.values(accounts);
115
+ await localNode.fundAccounts(accountsList, defaultBalance);
116
+ }
117
+ logger.step("Initializing runtime for local network...");
118
+ const deployerPrivateKey = AccountManager.exportPrivateKeys(["deployer"]).deployer;
119
+ if (!deployerPrivateKey) {
120
+ throw new Error("Failed to get deployer private key");
121
+ }
122
+ const runtime = await initRuntime({
123
+ network: "local",
124
+ configOverride: {
125
+ networks: {
126
+ local: {
127
+ url: `${nodeInfo.rpcUrl}/v1`,
128
+ chainId: "local",
129
+ },
111
130
  },
131
+ accounts: [deployerPrivateKey],
112
132
  },
113
- accounts: [deployerPrivateKey],
114
- },
115
- });
116
- console.log(`✓ Runtime initialized\n`);
117
- // 5. Auto-deploy modules if specified
118
- if (options.autoDeploy && options.autoDeploy.length > 0) {
119
- console.log(`📦 Auto-deploying ${options.autoDeploy.length} module(s)...`);
120
- // Force redeploy in local-node mode (for testing)
121
- const previousRedeploy = process.env.MH_CLI_REDEPLOY;
122
- process.env.MH_CLI_REDEPLOY = 'true';
123
- try {
124
- for (const moduleName of options.autoDeploy) {
125
- try {
126
- console.log(` Deploying ${moduleName}...`);
127
- await runtime.deployContract(moduleName);
128
- console.log(` ✓ ${moduleName} deployed`);
129
- }
130
- catch (error) {
131
- console.error(` ✗ Failed to deploy ${moduleName}: ${error.message}`);
132
- throw error;
133
+ });
134
+ logger.success("Runtime initialized");
135
+ logger.newline();
136
+ if (options.autoDeploy && options.autoDeploy.length > 0) {
137
+ logger.step(`Auto-deploying ${options.autoDeploy.length} module(s)...`);
138
+ const previousRedeploy = process.env.MH_CLI_REDEPLOY;
139
+ process.env.MH_CLI_REDEPLOY = 'true';
140
+ try {
141
+ for (const moduleName of options.autoDeploy) {
142
+ try {
143
+ logger.plain(` Deploying ${moduleName}...`);
144
+ await runtime.deployContract(moduleName);
145
+ logger.success(`${moduleName} deployed`, 2);
146
+ }
147
+ catch (error) {
148
+ const msg = error instanceof Error ? error.message : String(error);
149
+ logger.error(`Failed to deploy ${moduleName}: ${msg}`, 2);
150
+ throw error;
151
+ }
133
152
  }
134
153
  }
135
- }
136
- finally {
137
- // Restore previous value
138
- if (previousRedeploy === undefined) {
139
- delete process.env.MH_CLI_REDEPLOY;
140
- }
141
- else {
142
- process.env.MH_CLI_REDEPLOY = previousRedeploy;
154
+ finally {
155
+ if (previousRedeploy === undefined) {
156
+ delete process.env.MH_CLI_REDEPLOY;
157
+ }
158
+ else {
159
+ process.env.MH_CLI_REDEPLOY = previousRedeploy;
160
+ }
143
161
  }
162
+ logger.newline();
144
163
  }
145
- console.log();
164
+ logger.success("Local testing environment ready!");
165
+ logger.newline();
166
+ logger.plain(` Mode: local-node`);
167
+ logger.plain(` RPC: ${nodeInfo.rpcUrl}/v1`);
168
+ logger.plain(` Faucet: ${nodeInfo.faucetUrl}`);
169
+ logger.plain(` Accounts: ${Array.from(accountLabels).join(", ")}`);
170
+ logger.plain(` Balance per account: ${defaultBalance / 100_000_000} APT`);
171
+ logger.newline();
172
+ return { runtime, localNode };
173
+ }
174
+ catch (error) {
175
+ // Best-effort cleanup. Swallow the stop() error so the original
176
+ // setup failure surfaces unchanged.
177
+ await localNode.stop().catch(() => { });
178
+ throw error;
146
179
  }
147
- console.log(`✅ Local testing environment ready!\n`);
148
- console.log(` Mode: local-node`);
149
- console.log(` RPC: ${nodeInfo.rpcUrl}/v1`);
150
- console.log(` Faucet: ${nodeInfo.faucetUrl}`);
151
- console.log(` Accounts: ${Array.from(accountLabels).join(", ")}`);
152
- console.log(` Balance per account: ${defaultBalance / 100_000_000} APT\n`);
153
- return runtime;
154
180
  }
155
181
  /**
156
182
  * Setup using fork server (read-only)
@@ -159,119 +185,92 @@ async function setupWithFork(options, accountLabels, autoFund, defaultBalance) {
159
185
  const forkNetwork = options.forkNetwork || "testnet";
160
186
  const forkName = options.forkName || "test-local";
161
187
  const forkPort = options.forkPort || 8080;
162
- const forkResetState = options.forkResetState !== false; // default true
163
- console.log(` Fork network: ${forkNetwork}`);
164
- console.log(` Fork name: ${forkName}`);
165
- console.log(` Server port: ${forkPort}\n`);
166
- // Warn about auto-deploy in fork mode
188
+ const forkResetState = options.forkResetState !== false;
189
+ logger.plain(` Fork network: ${forkNetwork}`);
190
+ logger.plain(` Fork name: ${forkName}`);
191
+ logger.plain(` Server port: ${forkPort}`);
192
+ logger.newline();
167
193
  if (options.autoDeploy && options.autoDeploy.length > 0) {
168
- console.warn(`⚠️ WARNING: Auto-deploy doesn't work in fork mode (read-only).`);
169
- console.warn(` Switch to 'local-node' mode for deployment support.\n`);
194
+ logger.warning("Auto-deploy doesn't work in fork mode (read-only).");
195
+ logger.plain(" Switch to 'local-node' mode for deployment support.");
196
+ logger.newline();
170
197
  }
171
- // 1. Setup fork
172
198
  const forkPath = join(process.cwd(), ".movehat", "forks", forkName);
173
199
  const forkManager = new ForkManager(forkPath);
174
- currentForkManager = forkManager;
175
200
  const forkExists = existsSync(join(forkPath, "metadata.json"));
176
201
  if (!forkExists) {
177
- console.log(`📸 Creating fork from ${forkNetwork}...`);
202
+ logger.step(`Creating fork from ${forkNetwork}...`);
178
203
  const testnetRpc = "https://testnet.movementnetwork.xyz/v1";
179
- await forkManager.initialize(testnetRpc, forkNetwork);
180
- console.log(`✓ Fork created at ${forkPath}\n`);
204
+ await forkManager.initialize(testnetRpc, forkNetwork, options.forkApiKey);
205
+ logger.success(`Fork created at ${forkPath}`);
206
+ logger.newline();
181
207
  }
182
208
  else {
183
- console.log(`✓ Loading existing fork from ${forkPath}`);
209
+ logger.success(`Loading existing fork from ${forkPath}`);
210
+ // setApiKey BEFORE load() so the reconstructed MovementApiClient
211
+ // picks up the header. load() rebuilds the client using current
212
+ // apiKey state.
213
+ if (options.forkApiKey !== undefined) {
214
+ forkManager.setApiKey(options.forkApiKey);
215
+ }
184
216
  forkManager.load();
185
217
  if (forkResetState) {
186
- console.log(`🔄 Resetting fork state...`);
218
+ logger.step("Resetting fork state...");
187
219
  await forkManager.resetState();
188
220
  }
189
- console.log();
221
+ logger.newline();
190
222
  }
191
- // 2. Start fork server
192
- console.log(`🚀 Starting fork server on port ${forkPort}...`);
223
+ logger.step(`Starting fork server on port ${forkPort}...`);
193
224
  const forkServer = new ForkServer(forkPath, forkPort);
194
- currentForkServer = forkServer;
195
225
  await forkServer.start();
196
- console.log(`✓ Fork server running at http://localhost:${forkPort}\n`);
197
- await new Promise((resolve) => setTimeout(resolve, 500));
198
- // 3. Generate accounts
199
- console.log(`👥 Generating ${accountLabels.length} test accounts...`);
200
- const accounts = AccountManager.createBatch(accountLabels);
201
- for (const [label, account] of Object.entries(accounts)) {
202
- console.log(` ${label}: ${account.accountAddress.toString()}`);
203
- }
204
- console.log();
205
- // 4. Fund accounts in fork
206
- if (autoFund) {
207
- const addresses = Object.values(accounts).map((acc) => acc.accountAddress.toString());
208
- await forkManager.fundMultipleAccounts(addresses, defaultBalance);
209
- }
210
- // 5. Initialize runtime pointing to fork
211
- console.log(`⚙️ Initializing runtime for local network...`);
212
- const deployerPrivateKey = AccountManager.exportPrivateKeys(["deployer"]).deployer;
213
- if (!deployerPrivateKey) {
214
- throw new Error("Failed to get deployer private key");
215
- }
216
- const runtime = await initRuntime({
217
- network: "local",
218
- configOverride: {
219
- networks: {
220
- local: {
221
- url: `http://localhost:${forkPort}/v1`,
222
- chainId: "local",
226
+ logger.success(`Fork server running at http://localhost:${forkPort}`);
227
+ logger.newline();
228
+ // Same cleanup-on-failure pattern as setupWithLocalNode: once the
229
+ // fork server is listening, any later throw must stop the server or
230
+ // we leak the listener.
231
+ try {
232
+ await new Promise((resolve) => setTimeout(resolve, 500));
233
+ logger.step(`Generating ${accountLabels.length} test accounts...`);
234
+ const accounts = AccountManager.createBatch(accountLabels);
235
+ for (const [label, account] of Object.entries(accounts)) {
236
+ logger.plain(` ${label}: ${account.accountAddress.toString()}`);
237
+ }
238
+ logger.newline();
239
+ if (autoFund) {
240
+ const addresses = Object.values(accounts).map((acc) => acc.accountAddress.toString());
241
+ await forkManager.fundMultipleAccounts(addresses, defaultBalance);
242
+ }
243
+ logger.step("Initializing runtime for local network...");
244
+ const deployerPrivateKey = AccountManager.exportPrivateKeys(["deployer"]).deployer;
245
+ if (!deployerPrivateKey) {
246
+ throw new Error("Failed to get deployer private key");
247
+ }
248
+ const runtime = await initRuntime({
249
+ network: "local",
250
+ configOverride: {
251
+ networks: {
252
+ local: {
253
+ url: `http://localhost:${forkPort}/v1`,
254
+ chainId: "local",
255
+ },
223
256
  },
257
+ accounts: [deployerPrivateKey],
224
258
  },
225
- accounts: [deployerPrivateKey],
226
- },
227
- });
228
- console.log(`✓ Runtime initialized\n`);
229
- console.log(`✅ Local testing environment ready!\n`);
230
- console.log(` Mode: fork (read-only)`);
231
- console.log(` RPC: http://localhost:${forkPort}/v1`);
232
- console.log(` Accounts: ${Array.from(accountLabels).join(", ")}`);
233
- console.log(` Balance per account: ${defaultBalance / 100_000_000} APT\n`);
234
- return runtime;
235
- }
236
- /**
237
- * Stop the local testing environment (cleanup)
238
- */
239
- export async function stopLocalTesting() {
240
- console.log(`\n🛑 Stopping local testing environment...`);
241
- // Stop local node if running
242
- if (currentLocalNode) {
243
- await currentLocalNode.stop();
244
- currentLocalNode = null;
259
+ });
260
+ logger.success("Runtime initialized");
261
+ logger.newline();
262
+ logger.success("Local testing environment ready!");
263
+ logger.newline();
264
+ logger.plain(` Mode: fork (read-only)`);
265
+ logger.plain(` RPC: http://localhost:${forkPort}/v1`);
266
+ logger.plain(` Accounts: ${Array.from(accountLabels).join(", ")}`);
267
+ logger.plain(` Balance per account: ${defaultBalance / 100_000_000} APT`);
268
+ logger.newline();
269
+ return { runtime, forkServer, forkManager };
245
270
  }
246
- // Stop fork server if running
247
- if (currentForkServer) {
248
- await currentForkServer.stop();
249
- currentForkServer = null;
250
- currentForkManager = null;
251
- }
252
- console.log(`✓ Environment stopped\n`);
253
- }
254
- /**
255
- * Get the current fork manager (if fork mode is active)
256
- */
257
- export function getCurrentForkManager() {
258
- return currentForkManager;
259
- }
260
- /**
261
- * Get the current local node (if local node mode is active)
262
- */
263
- export function getCurrentLocalNode() {
264
- return currentLocalNode;
265
- }
266
- /**
267
- * Reset fork state to initial snapshot (fork mode only)
268
- */
269
- export async function resetForkState() {
270
- if (currentForkManager) {
271
- await currentForkManager.resetState();
272
- }
273
- else {
274
- console.warn("Warning: No active fork manager to reset");
271
+ catch (error) {
272
+ await forkServer.stop().catch(() => { });
273
+ throw error;
275
274
  }
276
275
  }
277
276
  //# sourceMappingURL=setupLocalTesting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupLocalTesting.js","sourceRoot":"","sources":["../../src/helpers/setupLocalTesting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupLocalTesting.js","sourceRoot":"","sources":["../../src/helpers/setupLocalTesting.ts"],"names":[],"mappings":"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"}