gate-evm-tools 1.0.28 → 1.0.31

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 (618) hide show
  1. package/README.md +16 -1
  2. package/bin/cli.js +3 -0
  3. package/bin/delivery.cjs +51 -0
  4. package/bin/manifest-bootstrap.js +4 -15
  5. package/bin/workflow.cjs +1 -1
  6. package/dist/commands/plan/file-store.d.ts.map +1 -0
  7. package/dist/commands/plan/generate-deployment.d.ts +48 -0
  8. package/dist/commands/plan/generate-deployment.d.ts.map +1 -0
  9. package/dist/commands/plan/generate-deployment.js +211 -0
  10. package/dist/commands/plan/generate-deployment.js.map +1 -0
  11. package/dist/commands/plan/helpers.d.ts.map +1 -0
  12. package/dist/commands/plan/index.d.ts +3 -0
  13. package/dist/commands/plan/index.d.ts.map +1 -0
  14. package/dist/commands/plan/index.js +88 -0
  15. package/dist/commands/plan/index.js.map +1 -0
  16. package/dist/commands/sync.js +1 -1
  17. package/dist/commands/sync.js.map +1 -1
  18. package/dist/core/BytecodeChecker.d.ts.map +1 -1
  19. package/dist/core/BytecodeChecker.js +27 -8
  20. package/dist/core/BytecodeChecker.js.map +1 -1
  21. package/dist/core/preparation/artifacts.d.ts +2 -0
  22. package/dist/core/preparation/artifacts.d.ts.map +1 -1
  23. package/dist/core/preparation/artifacts.js +9 -3
  24. package/dist/core/preparation/artifacts.js.map +1 -1
  25. package/dist/core/preparation/evm.d.ts +38 -2
  26. package/dist/core/preparation/evm.d.ts.map +1 -1
  27. package/dist/core/preparation/evm.js +104 -32
  28. package/dist/core/preparation/evm.js.map +1 -1
  29. package/dist/core/preparation/evmManifestSync.d.ts +63 -0
  30. package/dist/core/preparation/evmManifestSync.d.ts.map +1 -0
  31. package/dist/core/preparation/evmManifestSync.js +146 -0
  32. package/dist/core/preparation/evmManifestSync.js.map +1 -0
  33. package/dist/core/preparation/index.d.ts +40 -2
  34. package/dist/core/preparation/index.d.ts.map +1 -1
  35. package/dist/core/preparation/index.js +3 -3
  36. package/dist/core/preparation/index.js.map +1 -1
  37. package/dist/core/preparation/manifest.d.ts +15 -3
  38. package/dist/core/preparation/manifest.d.ts.map +1 -1
  39. package/dist/core/preparation/manifest.js +21 -26
  40. package/dist/core/preparation/manifest.js.map +1 -1
  41. package/dist/core/preparation/normalize.d.ts.map +1 -1
  42. package/dist/core/preparation/normalize.js +14 -9
  43. package/dist/core/preparation/normalize.js.map +1 -1
  44. package/dist/core/preparation/types.d.ts +7 -2
  45. package/dist/core/preparation/types.d.ts.map +1 -1
  46. package/dist/custody/hardhat-runtime.d.ts.map +1 -1
  47. package/dist/custody/hardhat-runtime.js +2 -0
  48. package/dist/custody/hardhat-runtime.js.map +1 -1
  49. package/dist/custody/hardhat.d.ts +1 -0
  50. package/dist/custody/hardhat.d.ts.map +1 -1
  51. package/dist/custody/hardhat.js +1 -0
  52. package/dist/custody/hardhat.js.map +1 -1
  53. package/dist/custody/index.d.ts +1 -0
  54. package/dist/custody/index.d.ts.map +1 -1
  55. package/dist/custody/index.js +1 -0
  56. package/dist/custody/index.js.map +1 -1
  57. package/dist/custody/provider-wait.d.ts +13 -0
  58. package/dist/custody/provider-wait.d.ts.map +1 -0
  59. package/dist/custody/provider-wait.js +78 -0
  60. package/dist/custody/provider-wait.js.map +1 -0
  61. package/dist/delivery/policy.d.ts +6 -0
  62. package/dist/delivery/policy.d.ts.map +1 -0
  63. package/dist/delivery/policy.js +24 -0
  64. package/dist/delivery/policy.js.map +1 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +5 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/sync/index.d.ts +15 -0
  69. package/dist/sync/index.d.ts.map +1 -1
  70. package/dist/sync/index.js +8 -0
  71. package/dist/sync/index.js.map +1 -1
  72. package/dist/workflow/index.d.ts +6 -1
  73. package/dist/workflow/index.d.ts.map +1 -1
  74. package/dist/workflow/index.js +4 -0
  75. package/dist/workflow/index.js.map +1 -1
  76. package/dist-cjs/core/BytecodeChecker.js +526 -0
  77. package/dist-cjs/core/BytecodeChecker.js.map +1 -0
  78. package/dist-cjs/core/legacyProxyArtifact.js +42 -0
  79. package/dist-cjs/core/legacyProxyArtifact.js.map +1 -0
  80. package/dist-cjs/core/preparation/artifacts.js +11 -4
  81. package/dist-cjs/core/preparation/artifacts.js.map +1 -1
  82. package/dist-cjs/core/preparation/evm.js +105 -32
  83. package/dist-cjs/core/preparation/evm.js.map +1 -1
  84. package/dist-cjs/core/preparation/evmManifestSync.js +155 -0
  85. package/dist-cjs/core/preparation/evmManifestSync.js.map +1 -0
  86. package/dist-cjs/core/preparation/index.js +3 -3
  87. package/dist-cjs/core/preparation/index.js.map +1 -1
  88. package/dist-cjs/core/preparation/manifest.js +23 -28
  89. package/dist-cjs/core/preparation/manifest.js.map +1 -1
  90. package/dist-cjs/core/preparation/normalize.js +14 -9
  91. package/dist-cjs/core/preparation/normalize.js.map +1 -1
  92. package/dist-cjs/custody/hardhat-runtime.js +2 -0
  93. package/dist-cjs/custody/hardhat-runtime.js.map +1 -1
  94. package/dist-cjs/custody/hardhat.js +3 -1
  95. package/dist-cjs/custody/hardhat.js.map +1 -1
  96. package/dist-cjs/custody/index.js +3 -1
  97. package/dist-cjs/custody/index.js.map +1 -1
  98. package/dist-cjs/custody/provider-wait.js +81 -0
  99. package/dist-cjs/custody/provider-wait.js.map +1 -0
  100. package/dist-cjs/delivery/policy.js +29 -0
  101. package/dist-cjs/delivery/policy.js.map +1 -0
  102. package/dist-cjs/sync/index.js +8 -0
  103. package/dist-cjs/sync/index.js.map +1 -1
  104. package/dist-cjs/workflow/index.js +12 -1
  105. package/dist-cjs/workflow/index.js.map +1 -1
  106. package/dist-runtime/config/openzeppelin.d.ts +2 -1
  107. package/dist-runtime/config/openzeppelin.js +2 -19
  108. package/dist-runtime/config/openzeppelin.js.map +1 -1
  109. package/dist-runtime/delivery/abi.d.ts +14 -0
  110. package/dist-runtime/delivery/abi.js +161 -0
  111. package/dist-runtime/delivery/abi.js.map +1 -0
  112. package/dist-runtime/delivery/aggregate-bootstrap.d.ts +12 -0
  113. package/dist-runtime/delivery/aggregate-bootstrap.js +40 -0
  114. package/dist-runtime/delivery/aggregate-bootstrap.js.map +1 -0
  115. package/dist-runtime/delivery/aggregate-channel.d.ts +28 -0
  116. package/dist-runtime/delivery/aggregate-channel.js +155 -0
  117. package/dist-runtime/delivery/aggregate-channel.js.map +1 -0
  118. package/dist-runtime/delivery/aggregate-inputs.d.ts +168 -0
  119. package/dist-runtime/delivery/aggregate-inputs.js +57 -0
  120. package/dist-runtime/delivery/aggregate-inputs.js.map +1 -0
  121. package/dist-runtime/delivery/aggregate-source.d.ts +25 -0
  122. package/dist-runtime/delivery/aggregate-source.js +79 -0
  123. package/dist-runtime/delivery/aggregate-source.js.map +1 -0
  124. package/dist-runtime/delivery/aggregate-worker.d.ts +1 -0
  125. package/dist-runtime/delivery/aggregate-worker.js +191 -0
  126. package/dist-runtime/delivery/aggregate-worker.js.map +1 -0
  127. package/dist-runtime/delivery/aggregate.d.ts +51 -0
  128. package/dist-runtime/delivery/aggregate.js +190 -0
  129. package/dist-runtime/delivery/aggregate.js.map +1 -0
  130. package/dist-runtime/delivery/bindings.d.ts +21 -0
  131. package/dist-runtime/delivery/bindings.js +53 -0
  132. package/dist-runtime/delivery/bindings.js.map +1 -0
  133. package/dist-runtime/delivery/check-code.d.ts +19 -0
  134. package/dist-runtime/delivery/check-code.js +63 -0
  135. package/dist-runtime/delivery/check-code.js.map +1 -0
  136. package/dist-runtime/delivery/closure-format.d.ts +77 -0
  137. package/dist-runtime/delivery/closure-format.js +225 -0
  138. package/dist-runtime/delivery/closure-format.js.map +1 -0
  139. package/dist-runtime/delivery/codec-pin.d.ts +2 -0
  140. package/dist-runtime/delivery/codec-pin.js +7 -0
  141. package/dist-runtime/delivery/codec-pin.js.map +1 -0
  142. package/dist-runtime/delivery/codec.d.ts +19 -0
  143. package/dist-runtime/delivery/codec.js +73 -0
  144. package/dist-runtime/delivery/codec.js.map +1 -0
  145. package/dist-runtime/delivery/compiler-dependency-pins.d.ts +7 -0
  146. package/dist-runtime/delivery/compiler-dependency-pins.js +1689 -0
  147. package/dist-runtime/delivery/compiler-dependency-pins.js.map +1 -0
  148. package/dist-runtime/delivery/compiler-files.d.ts +40 -0
  149. package/dist-runtime/delivery/compiler-files.js +220 -0
  150. package/dist-runtime/delivery/compiler-files.js.map +1 -0
  151. package/dist-runtime/delivery/compiler-io.d.ts +2 -0
  152. package/dist-runtime/delivery/compiler-io.js +13 -0
  153. package/dist-runtime/delivery/compiler-io.js.map +1 -0
  154. package/dist-runtime/delivery/compiler-pins.d.ts +10 -0
  155. package/dist-runtime/delivery/compiler-pins.js +147 -0
  156. package/dist-runtime/delivery/compiler-pins.js.map +1 -0
  157. package/dist-runtime/delivery/compiler.d.ts +188 -0
  158. package/dist-runtime/delivery/compiler.js +850 -0
  159. package/dist-runtime/delivery/compiler.js.map +1 -0
  160. package/dist-runtime/delivery/config.d.ts +48 -0
  161. package/dist-runtime/delivery/config.js +99 -0
  162. package/dist-runtime/delivery/config.js.map +1 -0
  163. package/dist-runtime/delivery/configuration-definition.d.ts +22 -0
  164. package/dist-runtime/delivery/configuration-definition.js +316 -0
  165. package/dist-runtime/delivery/configuration-definition.js.map +1 -0
  166. package/dist-runtime/delivery/configuration-hre.d.ts +17 -0
  167. package/dist-runtime/delivery/configuration-hre.js +198 -0
  168. package/dist-runtime/delivery/configuration-hre.js.map +1 -0
  169. package/dist-runtime/delivery/configuration-runtime.d.ts +36 -0
  170. package/dist-runtime/delivery/configuration-runtime.js +248 -0
  171. package/dist-runtime/delivery/configuration-runtime.js.map +1 -0
  172. package/dist-runtime/delivery/configuration.d.ts +35 -0
  173. package/dist-runtime/delivery/configuration.js +83 -0
  174. package/dist-runtime/delivery/configuration.js.map +1 -0
  175. package/dist-runtime/delivery/create2.d.ts +3 -0
  176. package/dist-runtime/delivery/create2.js +48 -0
  177. package/dist-runtime/delivery/create2.js.map +1 -0
  178. package/dist-runtime/delivery/custom-closure.d.ts +27 -0
  179. package/dist-runtime/delivery/custom-closure.js +818 -0
  180. package/dist-runtime/delivery/custom-closure.js.map +1 -0
  181. package/dist-runtime/delivery/custom-format.d.ts +35 -0
  182. package/dist-runtime/delivery/custom-format.js +383 -0
  183. package/dist-runtime/delivery/custom-format.js.map +1 -0
  184. package/dist-runtime/delivery/custom.d.ts +32 -0
  185. package/dist-runtime/delivery/custom.js +158 -0
  186. package/dist-runtime/delivery/custom.js.map +1 -0
  187. package/dist-runtime/delivery/data.d.ts +7 -0
  188. package/dist-runtime/delivery/data.js +86 -0
  189. package/dist-runtime/delivery/data.js.map +1 -0
  190. package/dist-runtime/delivery/development.d.ts +91 -0
  191. package/dist-runtime/delivery/development.js +395 -0
  192. package/dist-runtime/delivery/development.js.map +1 -0
  193. package/dist-runtime/delivery/engine.d.ts +9 -0
  194. package/dist-runtime/delivery/engine.js +23 -0
  195. package/dist-runtime/delivery/engine.js.map +1 -0
  196. package/dist-runtime/delivery/eoa-observation.d.ts +43 -0
  197. package/dist-runtime/delivery/eoa-observation.js +145 -0
  198. package/dist-runtime/delivery/eoa-observation.js.map +1 -0
  199. package/dist-runtime/delivery/eoa-signed.d.ts +2 -0
  200. package/dist-runtime/delivery/eoa-signed.js +74 -0
  201. package/dist-runtime/delivery/eoa-signed.js.map +1 -0
  202. package/dist-runtime/delivery/eoa.d.ts +81 -0
  203. package/dist-runtime/delivery/eoa.js +274 -0
  204. package/dist-runtime/delivery/eoa.js.map +1 -0
  205. package/dist-runtime/delivery/execution-db.d.ts +20 -0
  206. package/dist-runtime/delivery/execution-db.js +153 -0
  207. package/dist-runtime/delivery/execution-db.js.map +1 -0
  208. package/dist-runtime/delivery/execution-files.d.ts +9 -0
  209. package/dist-runtime/delivery/execution-files.js +138 -0
  210. package/dist-runtime/delivery/execution-files.js.map +1 -0
  211. package/dist-runtime/delivery/execution-model.d.ts +56 -0
  212. package/dist-runtime/delivery/execution-model.js +66 -0
  213. package/dist-runtime/delivery/execution-model.js.map +1 -0
  214. package/dist-runtime/delivery/execution-store.d.ts +48 -0
  215. package/dist-runtime/delivery/execution-store.js +361 -0
  216. package/dist-runtime/delivery/execution-store.js.map +1 -0
  217. package/dist-runtime/delivery/existing-code.d.ts +37 -0
  218. package/dist-runtime/delivery/existing-code.js +75 -0
  219. package/dist-runtime/delivery/existing-code.js.map +1 -0
  220. package/dist-runtime/delivery/export.d.ts +51 -0
  221. package/dist-runtime/delivery/export.js +69 -0
  222. package/dist-runtime/delivery/export.js.map +1 -0
  223. package/dist-runtime/delivery/forkAudit.d.ts +119 -0
  224. package/dist-runtime/delivery/forkAudit.js +473 -0
  225. package/dist-runtime/delivery/forkAudit.js.map +1 -0
  226. package/dist-runtime/delivery/hardhat.d.ts +3 -0
  227. package/dist-runtime/delivery/hardhat.js +45 -0
  228. package/dist-runtime/delivery/hardhat.js.map +1 -0
  229. package/dist-runtime/delivery/history-registration.d.ts +2 -0
  230. package/dist-runtime/delivery/history-registration.js +17 -0
  231. package/dist-runtime/delivery/history-registration.js.map +1 -0
  232. package/dist-runtime/delivery/identities.d.ts +22 -0
  233. package/dist-runtime/delivery/identities.js +97 -0
  234. package/dist-runtime/delivery/identities.js.map +1 -0
  235. package/dist-runtime/delivery/input-files.d.ts +5 -0
  236. package/dist-runtime/delivery/input-files.js +70 -0
  237. package/dist-runtime/delivery/input-files.js.map +1 -0
  238. package/dist-runtime/delivery/inputs.d.ts +62 -0
  239. package/dist-runtime/delivery/inputs.js +187 -0
  240. package/dist-runtime/delivery/inputs.js.map +1 -0
  241. package/dist-runtime/delivery/journal.d.ts +35 -0
  242. package/dist-runtime/delivery/journal.js +270 -0
  243. package/dist-runtime/delivery/journal.js.map +1 -0
  244. package/dist-runtime/delivery/manifest.d.ts +14 -0
  245. package/dist-runtime/delivery/manifest.js +68 -0
  246. package/dist-runtime/delivery/manifest.js.map +1 -0
  247. package/dist-runtime/delivery/materialization.d.ts +20 -0
  248. package/dist-runtime/delivery/materialization.js +138 -0
  249. package/dist-runtime/delivery/materialization.js.map +1 -0
  250. package/dist-runtime/delivery/observations.d.ts +31 -0
  251. package/dist-runtime/delivery/observations.js +38 -0
  252. package/dist-runtime/delivery/observations.js.map +1 -0
  253. package/dist-runtime/delivery/parameters.d.ts +53 -0
  254. package/dist-runtime/delivery/parameters.js +257 -0
  255. package/dist-runtime/delivery/parameters.js.map +1 -0
  256. package/dist-runtime/delivery/pending.d.ts +70 -0
  257. package/dist-runtime/delivery/pending.js +99 -0
  258. package/dist-runtime/delivery/pending.js.map +1 -0
  259. package/dist-runtime/delivery/plan.d.ts +50 -0
  260. package/dist-runtime/delivery/plan.js +209 -0
  261. package/dist-runtime/delivery/plan.js.map +1 -0
  262. package/dist-runtime/delivery/planning.d.ts +81 -0
  263. package/dist-runtime/delivery/planning.js +302 -0
  264. package/dist-runtime/delivery/planning.js.map +1 -0
  265. package/dist-runtime/delivery/policy.d.ts +4 -0
  266. package/dist-runtime/delivery/policy.js +9 -0
  267. package/dist-runtime/delivery/policy.js.map +1 -0
  268. package/dist-runtime/delivery/preparation.d.ts +6 -0
  269. package/dist-runtime/delivery/preparation.js +158 -0
  270. package/dist-runtime/delivery/preparation.js.map +1 -0
  271. package/dist-runtime/delivery/production-environment.d.ts +2 -0
  272. package/dist-runtime/delivery/production-environment.js +12 -0
  273. package/dist-runtime/delivery/production-environment.js.map +1 -0
  274. package/dist-runtime/delivery/production-finalization.d.ts +86 -0
  275. package/dist-runtime/delivery/production-finalization.js +278 -0
  276. package/dist-runtime/delivery/production-finalization.js.map +1 -0
  277. package/dist-runtime/delivery/production.d.ts +461 -0
  278. package/dist-runtime/delivery/production.js +396 -0
  279. package/dist-runtime/delivery/production.js.map +1 -0
  280. package/dist-runtime/delivery/project-files.d.ts +8 -0
  281. package/dist-runtime/delivery/project-files.js +82 -0
  282. package/dist-runtime/delivery/project-files.js.map +1 -0
  283. package/dist-runtime/delivery/project.d.ts +15 -0
  284. package/dist-runtime/delivery/project.js +157 -0
  285. package/dist-runtime/delivery/project.js.map +1 -0
  286. package/dist-runtime/delivery/protocol.d.ts +49 -0
  287. package/dist-runtime/delivery/protocol.js +112 -0
  288. package/dist-runtime/delivery/protocol.js.map +1 -0
  289. package/dist-runtime/delivery/references.d.ts +19 -0
  290. package/dist-runtime/delivery/references.js +84 -0
  291. package/dist-runtime/delivery/references.js.map +1 -0
  292. package/dist-runtime/delivery/release-graph.d.ts +93 -0
  293. package/dist-runtime/delivery/release-graph.js +106 -0
  294. package/dist-runtime/delivery/release-graph.js.map +1 -0
  295. package/dist-runtime/delivery/release-history-capture.d.ts +7 -0
  296. package/dist-runtime/delivery/release-history-capture.js +76 -0
  297. package/dist-runtime/delivery/release-history-capture.js.map +1 -0
  298. package/dist-runtime/delivery/release-history.d.ts +43 -0
  299. package/dist-runtime/delivery/release-history.js +246 -0
  300. package/dist-runtime/delivery/release-history.js.map +1 -0
  301. package/dist-runtime/delivery/release.d.ts +172 -0
  302. package/dist-runtime/delivery/release.js +209 -0
  303. package/dist-runtime/delivery/release.js.map +1 -0
  304. package/dist-runtime/delivery/safe-manifest.d.ts +9 -0
  305. package/dist-runtime/delivery/safe-manifest.js +13 -0
  306. package/dist-runtime/delivery/safe-manifest.js.map +1 -0
  307. package/dist-runtime/delivery/safe-observation.d.ts +30 -0
  308. package/dist-runtime/delivery/safe-observation.js +487 -0
  309. package/dist-runtime/delivery/safe-observation.js.map +1 -0
  310. package/dist-runtime/delivery/safe-prepare.d.ts +13 -0
  311. package/dist-runtime/delivery/safe-prepare.js +81 -0
  312. package/dist-runtime/delivery/safe-prepare.js.map +1 -0
  313. package/dist-runtime/delivery/safe.d.ts +91 -0
  314. package/dist-runtime/delivery/safe.js +243 -0
  315. package/dist-runtime/delivery/safe.js.map +1 -0
  316. package/dist-runtime/delivery/same-fork-baseline.d.ts +8 -0
  317. package/dist-runtime/delivery/same-fork-baseline.js +20 -0
  318. package/dist-runtime/delivery/same-fork-baseline.js.map +1 -0
  319. package/dist-runtime/delivery/setup.d.ts +31 -0
  320. package/dist-runtime/delivery/setup.js +215 -0
  321. package/dist-runtime/delivery/setup.js.map +1 -0
  322. package/dist-runtime/delivery/source.d.ts +41 -0
  323. package/dist-runtime/delivery/source.js +137 -0
  324. package/dist-runtime/delivery/source.js.map +1 -0
  325. package/dist-runtime/delivery/target-fields.d.ts +2 -0
  326. package/dist-runtime/delivery/target-fields.js +11 -0
  327. package/dist-runtime/delivery/target-fields.js.map +1 -0
  328. package/dist-runtime/delivery/validation.d.ts +9 -0
  329. package/dist-runtime/delivery/validation.js +150 -0
  330. package/dist-runtime/delivery/validation.js.map +1 -0
  331. package/dist-runtime/delivery/verification.d.ts +16 -0
  332. package/dist-runtime/delivery/verification.js +65 -0
  333. package/dist-runtime/delivery/verification.js.map +1 -0
  334. package/dist-runtime/migrate.js +1 -0
  335. package/dist-runtime/migrate.js.map +1 -1
  336. package/dist-runtime/miner/binary.d.ts +2 -0
  337. package/dist-runtime/miner/binary.js +54 -0
  338. package/dist-runtime/miner/binary.js.map +1 -0
  339. package/dist-runtime/miner/cli.d.ts +1 -0
  340. package/dist-runtime/miner/cli.js +131 -0
  341. package/dist-runtime/miner/cli.js.map +1 -0
  342. package/dist-runtime/miner/index.d.ts +5 -0
  343. package/dist-runtime/miner/index.js +13 -0
  344. package/dist-runtime/miner/index.js.map +1 -0
  345. package/dist-runtime/miner/request.d.ts +7 -0
  346. package/dist-runtime/miner/request.js +73 -0
  347. package/dist-runtime/miner/request.js.map +1 -0
  348. package/dist-runtime/miner/runner.d.ts +2 -0
  349. package/dist-runtime/miner/runner.js +131 -0
  350. package/dist-runtime/miner/runner.js.map +1 -0
  351. package/dist-runtime/miner/types.d.ts +89 -0
  352. package/dist-runtime/miner/types.js +3 -0
  353. package/dist-runtime/miner/types.js.map +1 -0
  354. package/dist-runtime/miner/verify.d.ts +2 -0
  355. package/dist-runtime/miner/verify.js +75 -0
  356. package/dist-runtime/miner/verify.js.map +1 -0
  357. package/dist-runtime/runtime-identity.json +2 -2
  358. package/dist-runtime/vendor/plan-codec/index.cjs +820 -0
  359. package/dist-runtime/vendor/plan-codec/index.d.cts +32 -0
  360. package/dist-runtime/vendor/plan-codec/provenance.json +24 -0
  361. package/dist-runtime/workflow/engine.d.ts +14 -0
  362. package/dist-runtime/workflow/engine.js +160 -0
  363. package/dist-runtime/workflow/engine.js.map +1 -0
  364. package/dist-runtime/workflow/lib/authority.d.ts +6 -3
  365. package/dist-runtime/workflow/lib/authority.js.map +1 -1
  366. package/dist-runtime/workflow/lib/calls.d.ts +1 -1
  367. package/dist-runtime/workflow/lib/calls.js +43 -34
  368. package/dist-runtime/workflow/lib/calls.js.map +1 -1
  369. package/dist-runtime/workflow/lib/canonicalData.d.ts +8 -0
  370. package/dist-runtime/workflow/lib/canonicalData.js +68 -0
  371. package/dist-runtime/workflow/lib/canonicalData.js.map +1 -0
  372. package/dist-runtime/workflow/lib/config.d.ts +3 -1
  373. package/dist-runtime/workflow/lib/config.js.map +1 -1
  374. package/dist-runtime/workflow/lib/context.d.ts +76 -0
  375. package/dist-runtime/workflow/lib/context.js +3 -0
  376. package/dist-runtime/workflow/lib/context.js.map +1 -0
  377. package/dist-runtime/workflow/lib/create2.d.ts +1 -1
  378. package/dist-runtime/workflow/lib/create2.js +9 -12
  379. package/dist-runtime/workflow/lib/create2.js.map +1 -1
  380. package/dist-runtime/workflow/lib/deployments.d.ts +5 -5
  381. package/dist-runtime/workflow/lib/deployments.js +5 -13
  382. package/dist-runtime/workflow/lib/deployments.js.map +1 -1
  383. package/dist-runtime/workflow/lib/evidencePorts.d.ts +55 -0
  384. package/dist-runtime/workflow/lib/evidencePorts.js +3 -0
  385. package/dist-runtime/workflow/lib/evidencePorts.js.map +1 -0
  386. package/dist-runtime/workflow/lib/executionPlan.d.ts +4 -42
  387. package/dist-runtime/workflow/lib/executionPlan.js +15 -210
  388. package/dist-runtime/workflow/lib/executionPlan.js.map +1 -1
  389. package/dist-runtime/workflow/lib/gateTool.d.ts +6 -2
  390. package/dist-runtime/workflow/lib/gateTool.js +20 -10
  391. package/dist-runtime/workflow/lib/gateTool.js.map +1 -1
  392. package/dist-runtime/workflow/lib/gateToolSync.d.ts +1 -1
  393. package/dist-runtime/workflow/lib/gateToolSync.js +3 -2
  394. package/dist-runtime/workflow/lib/gateToolSync.js.map +1 -1
  395. package/dist-runtime/workflow/lib/operationNames.d.ts +3 -0
  396. package/dist-runtime/workflow/lib/operationNames.js +34 -0
  397. package/dist-runtime/workflow/lib/operationNames.js.map +1 -0
  398. package/dist-runtime/workflow/lib/parameters.d.ts +1 -1
  399. package/dist-runtime/workflow/lib/parameters.js +6 -22
  400. package/dist-runtime/workflow/lib/parameters.js.map +1 -1
  401. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js +18 -52
  402. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js.map +1 -1
  403. package/dist-runtime/workflow/lib/pendingUupsBinding.d.ts +42 -0
  404. package/dist-runtime/workflow/lib/pendingUupsBinding.js +39 -0
  405. package/dist-runtime/workflow/lib/pendingUupsBinding.js.map +1 -0
  406. package/dist-runtime/workflow/lib/plan.d.ts +55 -0
  407. package/dist-runtime/workflow/lib/plan.js +324 -0
  408. package/dist-runtime/workflow/lib/plan.js.map +1 -0
  409. package/dist-runtime/workflow/lib/planCli.d.ts +14 -0
  410. package/dist-runtime/workflow/lib/planCli.js +279 -0
  411. package/dist-runtime/workflow/lib/planCli.js.map +1 -0
  412. package/dist-runtime/workflow/lib/preparationEvidence.d.ts +4 -0
  413. package/dist-runtime/workflow/lib/preparationEvidence.js +19 -0
  414. package/dist-runtime/workflow/lib/preparationEvidence.js.map +1 -0
  415. package/dist-runtime/workflow/lib/proxy.d.ts +3 -2
  416. package/dist-runtime/workflow/lib/proxy.js +3 -4
  417. package/dist-runtime/workflow/lib/proxy.js.map +1 -1
  418. package/dist-runtime/workflow/lib/runtime.d.ts +6 -0
  419. package/dist-runtime/workflow/lib/runtime.js +48 -0
  420. package/dist-runtime/workflow/lib/runtime.js.map +1 -0
  421. package/dist-runtime/workflow/lib/signer.d.ts +3 -2
  422. package/dist-runtime/workflow/lib/signer.js +18 -18
  423. package/dist-runtime/workflow/lib/signer.js.map +1 -1
  424. package/dist-runtime/workflow/lib/simulation.d.ts +13 -6
  425. package/dist-runtime/workflow/lib/simulation.js +39 -31
  426. package/dist-runtime/workflow/lib/simulation.js.map +1 -1
  427. package/dist-runtime/workflow/lib/state.js +3 -3
  428. package/dist-runtime/workflow/lib/state.js.map +1 -1
  429. package/dist-runtime/workflow/lib/staticValidation.d.ts +28 -0
  430. package/dist-runtime/workflow/lib/staticValidation.js +54 -10
  431. package/dist-runtime/workflow/lib/staticValidation.js.map +1 -1
  432. package/dist-runtime/workflow/lib/transactionPlanner.d.ts +62 -0
  433. package/dist-runtime/workflow/lib/transactionPlanner.js +258 -0
  434. package/dist-runtime/workflow/lib/transactionPlanner.js.map +1 -0
  435. package/dist-runtime/workflow/lib/typedValue.d.ts +3 -0
  436. package/dist-runtime/workflow/lib/typedValue.js +76 -0
  437. package/dist-runtime/workflow/lib/typedValue.js.map +1 -0
  438. package/dist-runtime/workflow/lib/validation.d.ts +23 -0
  439. package/dist-runtime/workflow/lib/validation.js +15 -0
  440. package/dist-runtime/workflow/lib/validation.js.map +1 -0
  441. package/dist-runtime/workflow/planAdd.d.ts +1 -0
  442. package/dist-runtime/workflow/planAdd.js +11 -0
  443. package/dist-runtime/workflow/planAdd.js.map +1 -0
  444. package/dist-runtime/workflow/planRead.d.ts +1 -0
  445. package/dist-runtime/workflow/planRead.js +11 -0
  446. package/dist-runtime/workflow/planRead.js.map +1 -0
  447. package/dist-runtime/workflow/planStatus.d.ts +1 -0
  448. package/dist-runtime/workflow/planStatus.js +11 -0
  449. package/dist-runtime/workflow/planStatus.js.map +1 -0
  450. package/dist-runtime/workflow/planWrite.d.ts +1 -0
  451. package/dist-runtime/workflow/planWrite.js +11 -0
  452. package/dist-runtime/workflow/planWrite.js.map +1 -0
  453. package/dist-runtime/workflow/run.d.ts +1 -40
  454. package/dist-runtime/workflow/run.js +68 -136
  455. package/dist-runtime/workflow/run.js.map +1 -1
  456. package/dist-runtime/workflow/staticValidate.js +8 -3
  457. package/dist-runtime/workflow/staticValidate.js.map +1 -1
  458. package/dist-runtime/workflow/steps/call.d.ts +1 -1
  459. package/dist-runtime/workflow/steps/check.d.ts +1 -1
  460. package/dist-runtime/workflow/steps/custom.d.ts +1 -1
  461. package/dist-runtime/workflow/steps/deploy.d.ts +1 -1
  462. package/dist-runtime/workflow/steps/deploy.js +57 -55
  463. package/dist-runtime/workflow/steps/deploy.js.map +1 -1
  464. package/dist-runtime/workflow/steps/upgrade.d.ts +1 -1
  465. package/dist-runtime/workflow/steps/upgrade.js +62 -41
  466. package/dist-runtime/workflow/steps/upgrade.js.map +1 -1
  467. package/dist-runtime/workflow/steps/view.d.ts +1 -1
  468. package/docs/compiler-qualification.md +32 -0
  469. package/docs/configuration-runtime-observation.md +29 -0
  470. package/docs/create2-miner.md +100 -0
  471. package/docs/delivery-aggregate.md +27 -0
  472. package/docs/delivery-custom-input-closure.md +51 -0
  473. package/docs/delivery-development.md +32 -0
  474. package/docs/delivery-eoa.md +46 -0
  475. package/docs/delivery-evm-manifest.md +20 -0
  476. package/docs/delivery-execution-store.md +33 -0
  477. package/docs/delivery-inputs.md +46 -0
  478. package/docs/delivery-parameters.md +65 -0
  479. package/docs/delivery-planning.md +140 -0
  480. package/docs/delivery-release.md +65 -0
  481. package/docs/delivery-safe.md +72 -0
  482. package/docs/delivery-setup.md +146 -0
  483. package/docs/delivery-source.md +67 -0
  484. package/docs/superpowers/plans/2026-09-24-scheme-aware-static-validation.md +193 -0
  485. package/docs/superpowers/plans/2026-10-28-create2-miner.md +82 -0
  486. package/package.json +133 -9
  487. package/resources/create2/LICENSE +21 -0
  488. package/resources/create2/README.md +9 -0
  489. package/resources/create2/darwin-arm64/smartflow_miner +0 -0
  490. package/resources/create2/darwin-x64/smartflow_miner +0 -0
  491. package/resources/create2/manifest.json +27 -0
  492. package/runtime/config/openzeppelin.ts +3 -21
  493. package/runtime/delivery/abi.ts +225 -0
  494. package/runtime/delivery/aggregate-bootstrap.ts +29 -0
  495. package/runtime/delivery/aggregate-channel.ts +85 -0
  496. package/runtime/delivery/aggregate-inputs.ts +39 -0
  497. package/runtime/delivery/aggregate-source.ts +53 -0
  498. package/runtime/delivery/aggregate-worker.ts +133 -0
  499. package/runtime/delivery/aggregate.ts +139 -0
  500. package/runtime/delivery/bindings.ts +37 -0
  501. package/runtime/delivery/check-code.ts +38 -0
  502. package/runtime/delivery/closure-format.ts +350 -0
  503. package/runtime/delivery/codec-pin.ts +3 -0
  504. package/runtime/delivery/codec.ts +50 -0
  505. package/runtime/delivery/compiler-dependency-pins.ts +1685 -0
  506. package/runtime/delivery/compiler-files.ts +179 -0
  507. package/runtime/delivery/compiler-io.ts +10 -0
  508. package/runtime/delivery/compiler-pins.ts +143 -0
  509. package/runtime/delivery/compiler.ts +700 -0
  510. package/runtime/delivery/config.ts +93 -0
  511. package/runtime/delivery/configuration-definition.ts +133 -0
  512. package/runtime/delivery/configuration-hre.ts +130 -0
  513. package/runtime/delivery/configuration-runtime.ts +163 -0
  514. package/runtime/delivery/configuration.ts +64 -0
  515. package/runtime/delivery/create2.ts +57 -0
  516. package/runtime/delivery/custom-closure.ts +993 -0
  517. package/runtime/delivery/custom-format.ts +464 -0
  518. package/runtime/delivery/custom.ts +219 -0
  519. package/runtime/delivery/data.ts +94 -0
  520. package/runtime/delivery/development.ts +262 -0
  521. package/runtime/delivery/engine.ts +29 -0
  522. package/runtime/delivery/eoa-observation.ts +106 -0
  523. package/runtime/delivery/eoa-signed.ts +55 -0
  524. package/runtime/delivery/eoa.ts +288 -0
  525. package/runtime/delivery/execution-db.ts +131 -0
  526. package/runtime/delivery/execution-files.ts +135 -0
  527. package/runtime/delivery/execution-model.ts +102 -0
  528. package/runtime/delivery/execution-store.ts +411 -0
  529. package/runtime/delivery/existing-code.ts +44 -0
  530. package/runtime/delivery/export.ts +99 -0
  531. package/runtime/delivery/forkAudit.ts +620 -0
  532. package/runtime/delivery/hardhat.ts +38 -0
  533. package/runtime/delivery/history-registration.ts +10 -0
  534. package/runtime/delivery/identities.ts +132 -0
  535. package/runtime/delivery/input-files.ts +46 -0
  536. package/runtime/delivery/inputs.ts +197 -0
  537. package/runtime/delivery/journal.ts +201 -0
  538. package/runtime/delivery/manifest.ts +54 -0
  539. package/runtime/delivery/materialization.ts +53 -0
  540. package/runtime/delivery/observations.ts +60 -0
  541. package/runtime/delivery/parameters.ts +349 -0
  542. package/runtime/delivery/pending.ts +98 -0
  543. package/runtime/delivery/plan.ts +337 -0
  544. package/runtime/delivery/planning.ts +397 -0
  545. package/runtime/delivery/policy.ts +9 -0
  546. package/runtime/delivery/preparation.ts +224 -0
  547. package/runtime/delivery/production-environment.ts +6 -0
  548. package/runtime/delivery/production-finalization.ts +172 -0
  549. package/runtime/delivery/production.ts +375 -0
  550. package/runtime/delivery/project-files.ts +58 -0
  551. package/runtime/delivery/project.ts +117 -0
  552. package/runtime/delivery/protocol.ts +94 -0
  553. package/runtime/delivery/references.ts +106 -0
  554. package/runtime/delivery/release-graph.ts +49 -0
  555. package/runtime/delivery/release-history-capture.ts +32 -0
  556. package/runtime/delivery/release-history.ts +120 -0
  557. package/runtime/delivery/release.ts +128 -0
  558. package/runtime/delivery/safe-manifest.ts +11 -0
  559. package/runtime/delivery/safe-observation.ts +626 -0
  560. package/runtime/delivery/safe-prepare.ts +101 -0
  561. package/runtime/delivery/safe.ts +344 -0
  562. package/runtime/delivery/same-fork-baseline.ts +16 -0
  563. package/runtime/delivery/setup.ts +172 -0
  564. package/runtime/delivery/source.ts +130 -0
  565. package/runtime/delivery/target-fields.ts +7 -0
  566. package/runtime/delivery/validation.ts +247 -0
  567. package/runtime/delivery/verification.ts +47 -0
  568. package/runtime/migrate.ts +1 -0
  569. package/runtime/miner/binary.ts +41 -0
  570. package/runtime/miner/cli.ts +87 -0
  571. package/runtime/miner/index.ts +5 -0
  572. package/runtime/miner/request.ts +54 -0
  573. package/runtime/miner/runner.ts +90 -0
  574. package/runtime/miner/types.ts +71 -0
  575. package/runtime/miner/verify.ts +61 -0
  576. package/runtime/vendor/plan-codec/index.cjs +820 -0
  577. package/runtime/vendor/plan-codec/index.d.cts +32 -0
  578. package/runtime/vendor/plan-codec/provenance.json +24 -0
  579. package/runtime/workflow/engine.ts +174 -0
  580. package/runtime/workflow/lib/authority.ts +3 -3
  581. package/runtime/workflow/lib/calls.ts +46 -37
  582. package/runtime/workflow/lib/canonicalData.ts +45 -0
  583. package/runtime/workflow/lib/config.ts +1 -1
  584. package/runtime/workflow/lib/context.ts +76 -0
  585. package/runtime/workflow/lib/create2.ts +10 -12
  586. package/runtime/workflow/lib/deployments.ts +6 -14
  587. package/runtime/workflow/lib/evidencePorts.ts +20 -0
  588. package/runtime/workflow/lib/executionPlan.ts +17 -268
  589. package/runtime/workflow/lib/gateTool.ts +20 -8
  590. package/runtime/workflow/lib/gateToolSync.ts +3 -3
  591. package/runtime/workflow/lib/operationNames.ts +32 -0
  592. package/runtime/workflow/lib/parameters.ts +4 -21
  593. package/runtime/workflow/lib/pendingDeploymentReuse.ts +4 -56
  594. package/runtime/workflow/lib/pendingUupsBinding.ts +43 -0
  595. package/runtime/workflow/lib/plan.ts +334 -0
  596. package/runtime/workflow/lib/planCli.ts +279 -0
  597. package/runtime/workflow/lib/preparationEvidence.ts +14 -0
  598. package/runtime/workflow/lib/proxy.ts +5 -3
  599. package/runtime/workflow/lib/runtime.ts +46 -0
  600. package/runtime/workflow/lib/signer.ts +8 -5
  601. package/runtime/workflow/lib/simulation.ts +41 -17
  602. package/runtime/workflow/lib/state.ts +3 -3
  603. package/runtime/workflow/lib/staticValidation.ts +92 -11
  604. package/runtime/workflow/lib/transactionPlanner.ts +314 -0
  605. package/runtime/workflow/lib/typedValue.ts +46 -0
  606. package/runtime/workflow/lib/validation.ts +50 -0
  607. package/runtime/workflow/planAdd.ts +8 -0
  608. package/runtime/workflow/planRead.ts +8 -0
  609. package/runtime/workflow/planStatus.ts +8 -0
  610. package/runtime/workflow/planWrite.ts +8 -0
  611. package/runtime/workflow/run.ts +41 -174
  612. package/runtime/workflow/staticValidate.ts +8 -3
  613. package/runtime/workflow/steps/call.ts +1 -1
  614. package/runtime/workflow/steps/check.ts +1 -1
  615. package/runtime/workflow/steps/custom.ts +1 -1
  616. package/runtime/workflow/steps/deploy.ts +57 -58
  617. package/runtime/workflow/steps/upgrade.ts +69 -46
  618. package/runtime/workflow/steps/view.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gate-evm-tools",
3
- "version": "1.0.28",
3
+ "version": "1.0.31",
4
4
  "description": "Gate 智能合约工具集 - 字节码检查、合约升级验证、合约状态同步",
5
5
  "type": "module",
6
6
  "exports": {
@@ -32,7 +32,76 @@
32
32
  "types": "./dist-runtime/config/*.d.ts",
33
33
  "default": "./dist-runtime/config/*.js"
34
34
  },
35
- "./runtime-source/*": "./runtime/*.ts"
35
+ "./runtime-source/*": "./runtime/*.ts",
36
+ "./delivery-setup": {
37
+ "types": "./dist-runtime/delivery/setup.d.ts",
38
+ "default": "./dist-runtime/delivery/setup.js"
39
+ },
40
+ "./delivery-protocol": {
41
+ "types": "./dist-runtime/delivery/protocol.d.ts",
42
+ "default": "./dist-runtime/delivery/protocol.js"
43
+ },
44
+ "./delivery-hardhat": {
45
+ "types": "./dist-runtime/delivery/hardhat.d.ts",
46
+ "default": "./dist-runtime/delivery/hardhat.js"
47
+ },
48
+ "./delivery-policy": {
49
+ "types": "./dist/delivery/policy.d.ts",
50
+ "import": "./dist/delivery/policy.js",
51
+ "require": "./dist-cjs/delivery/policy.js"
52
+ },
53
+ "./delivery-source": {
54
+ "types": "./dist-runtime/delivery/source.d.ts",
55
+ "default": "./dist-runtime/delivery/source.js"
56
+ },
57
+ "./delivery-parameters": {
58
+ "types": "./dist-runtime/delivery/parameters.d.ts",
59
+ "default": "./dist-runtime/delivery/parameters.js"
60
+ },
61
+ "./delivery-inputs": {
62
+ "types": "./dist-runtime/delivery/inputs.d.ts",
63
+ "default": "./dist-runtime/delivery/inputs.js"
64
+ },
65
+ "./delivery-configuration": {
66
+ "types": "./dist-runtime/delivery/configuration.d.ts",
67
+ "default": "./dist-runtime/delivery/configuration.js"
68
+ },
69
+ "./delivery-aggregate": {
70
+ "types": "./dist-runtime/delivery/aggregate.d.ts",
71
+ "default": "./dist-runtime/delivery/aggregate.js"
72
+ },
73
+ "./delivery-export": {
74
+ "types": "./dist-runtime/delivery/export.d.ts",
75
+ "default": "./dist-runtime/delivery/export.js"
76
+ },
77
+ "./delivery-execution-store": {
78
+ "types": "./dist-runtime/delivery/execution-store.d.ts",
79
+ "default": "./dist-runtime/delivery/execution-store.js"
80
+ },
81
+ "./delivery-eoa": {
82
+ "types": "./dist-runtime/delivery/eoa.d.ts",
83
+ "default": "./dist-runtime/delivery/eoa.js"
84
+ },
85
+ "./delivery-development": {
86
+ "types": "./dist-runtime/delivery/development.d.ts",
87
+ "default": "./dist-runtime/delivery/development.js"
88
+ },
89
+ "./delivery-release": {
90
+ "types": "./dist-runtime/delivery/release.d.ts",
91
+ "default": "./dist-runtime/delivery/release.js"
92
+ },
93
+ "./delivery-production": {
94
+ "types": "./dist-runtime/delivery/production.d.ts",
95
+ "default": "./dist-runtime/delivery/production.js"
96
+ },
97
+ "./delivery-safe": {
98
+ "types": "./dist-runtime/delivery/safe.d.ts",
99
+ "default": "./dist-runtime/delivery/safe.js"
100
+ },
101
+ "./create2-miner": {
102
+ "types": "./dist-runtime/miner/index.d.ts",
103
+ "default": "./dist-runtime/miner/index.js"
104
+ }
36
105
  },
37
106
  "typesVersions": {
38
107
  "*": {
@@ -53,12 +122,64 @@
53
122
  ],
54
123
  "runtime-config/*": [
55
124
  "dist-runtime/config/*.d.ts"
125
+ ],
126
+ "delivery-setup": [
127
+ "dist-runtime/delivery/setup.d.ts"
128
+ ],
129
+ "delivery-protocol": [
130
+ "dist-runtime/delivery/protocol.d.ts"
131
+ ],
132
+ "delivery-hardhat": [
133
+ "dist-runtime/delivery/hardhat.d.ts"
134
+ ],
135
+ "delivery-policy": [
136
+ "dist/delivery/policy.d.ts"
137
+ ],
138
+ "delivery-source": [
139
+ "dist-runtime/delivery/source.d.ts"
140
+ ],
141
+ "delivery-parameters": [
142
+ "dist-runtime/delivery/parameters.d.ts"
143
+ ],
144
+ "delivery-inputs": [
145
+ "dist-runtime/delivery/inputs.d.ts"
146
+ ],
147
+ "delivery-configuration": [
148
+ "dist-runtime/delivery/configuration.d.ts"
149
+ ],
150
+ "delivery-aggregate": [
151
+ "dist-runtime/delivery/aggregate.d.ts"
152
+ ],
153
+ "delivery-export": [
154
+ "dist-runtime/delivery/export.d.ts"
155
+ ],
156
+ "delivery-execution-store": [
157
+ "dist-runtime/delivery/execution-store.d.ts"
158
+ ],
159
+ "delivery-eoa": [
160
+ "dist-runtime/delivery/eoa.d.ts"
161
+ ],
162
+ "delivery-development": [
163
+ "dist-runtime/delivery/development.d.ts"
164
+ ],
165
+ "delivery-release": [
166
+ "dist-runtime/delivery/release.d.ts"
167
+ ],
168
+ "delivery-production": [
169
+ "dist-runtime/delivery/production.d.ts"
170
+ ],
171
+ "delivery-safe": [
172
+ "dist-runtime/delivery/safe.d.ts"
173
+ ],
174
+ "create2-miner": [
175
+ "dist-runtime/miner/index.d.ts"
56
176
  ]
57
177
  }
58
178
  },
59
179
  "bin": {
60
180
  "gate-tool": "./bin/cli.js",
61
- "gate-workflow": "./bin/workflow.cjs"
181
+ "gate-workflow": "./bin/workflow.cjs",
182
+ "gate-delivery": "./bin/delivery.cjs"
62
183
  },
63
184
  "files": [
64
185
  "bin/",
@@ -68,15 +189,17 @@
68
189
  "contractInfo.example.json",
69
190
  "dist-runtime/",
70
191
  "runtime/",
71
- "docs/"
192
+ "docs/",
193
+ "resources/create2/"
72
194
  ],
73
195
  "scripts": {
74
- "build": "tsc && tsc -p tsconfig.custody-cjs.json && node scripts/write-cjs-package.mjs && tsc -p tsconfig.runtime.json && node scripts/write-runtime-package.mjs",
196
+ "build": "tsc && tsc -p tsconfig.custody-cjs.json && node scripts/write-cjs-package.mjs && tsc -p tsconfig.runtime.json && node scripts/stage-plan-codec.mjs && node scripts/write-runtime-package.mjs",
75
197
  "dev": "tsc --watch",
76
198
  "start": "node bin/cli.js",
77
199
  "pretest": "npm run build",
78
200
  "test": "node --test test/*.test.mjs",
79
- "test:custody:hardhat-v6": "npm run build && node scripts/test-custody-hardhat-v6.mjs"
201
+ "test:custody:hardhat-v6": "npm run build && node scripts/test-custody-hardhat-v6.mjs",
202
+ "test:delivery:core": "npm run build && node --test test/integration/delivery-core.test.mjs"
80
203
  },
81
204
  "keywords": [
82
205
  "bytecode",
@@ -93,12 +216,14 @@
93
216
  "author": "",
94
217
  "license": "MIT",
95
218
  "dependencies": {
219
+ "ajv": "8.17.1",
96
220
  "chalk": "^5.3.0",
97
221
  "commander": "^11.1.0",
98
222
  "fs-extra": "^11.2.0",
99
223
  "ora": "^7.0.1",
100
224
  "prompts": "^2.4.2",
101
225
  "semver": "^7.8.5",
226
+ "typescript": "5.9.3",
102
227
  "yaml": "2.8.1",
103
228
  "zksync-ethers": "6.15.0"
104
229
  },
@@ -117,8 +242,7 @@
117
242
  "ethers": "^6.15.0",
118
243
  "ethers5": "npm:ethers@5.7.2",
119
244
  "hardhat": "2.27.1",
120
- "ts-node": "10.9.2",
121
- "typescript": "^5.9.3"
245
+ "ts-node": "10.9.2"
122
246
  },
123
247
  "peerDependencies": {
124
248
  "@matterlabs/hardhat-zksync-deploy": "1.8.0",
@@ -145,6 +269,6 @@
145
269
  }
146
270
  },
147
271
  "engines": {
148
- "node": ">=18.0.0"
272
+ "node": ">=22.13.0"
149
273
  }
150
274
  }
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 0age
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,9 @@
1
+ # Bundled CREATE2 miner
2
+
3
+ `smartflow_miner` accepts a single JSON request on stdin and emits a single final JSON response. These macOS arm64 and x64 executables are copied byte-for-byte from SmartFlowAI `resources/create2`, whose last resource commit was `a31308bdbe81c02181ff4bcd2b992681c184d40f`. The original application resources are unchanged.
4
+
5
+ `manifest.json` records sizes, SHA-256 digests and provenance. The runtime also embeds the trusted digests and checks executable permissions before invoking a bundled binary. Editing the manifest cannot authorize a replacement binary.
6
+
7
+ The local create2Crunch source reference is `38b2dcd55c45cc79947fb9bf5f363222adf24ab0`. It describes the JSON protocol, but is **not a proven build revision** for these existing executable artifacts. The exact build revision is unknown. The upstream MIT license is retained in `LICENSE`.
8
+
9
+ No downloads, postinstall hooks, or application resource lookups are used. Other hosts require a compatible user-supplied build via `GATE_TOOL_CREATE2_MINER_BIN` or `binaryPath`. See [the API and CLI documentation](../../docs/create2-miner.md).
@@ -0,0 +1,27 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "source": {
4
+ "repository": "SmartFlowAI",
5
+ "resourceCommit": "a31308bdbe81c02181ff4bcd2b992681c184d40f",
6
+ "resourceDirectory": "resources/create2"
7
+ },
8
+ "rustReference": {
9
+ "repository": "create2Crunch",
10
+ "revision": "38b2dcd55c45cc79947fb9bf5f363222adf24ab0",
11
+ "provenBuildRevision": false
12
+ },
13
+ "binaryBuildRevision": null,
14
+ "provenanceNote": "Copied byte-for-byte from the existing SmartFlowAI resources. The Rust checkout is a protocol/source reference, not a proven revision used to build these binaries.",
15
+ "binaries": {
16
+ "darwin-arm64": {
17
+ "path": "darwin-arm64/smartflow_miner",
18
+ "sha256": "9611c1ca900c24f9b14924a144b7a3ab431111b855e676f2e145e7ab8c05f954",
19
+ "bytes": 1297616
20
+ },
21
+ "darwin-x64": {
22
+ "path": "darwin-x64/smartflow_miner",
23
+ "sha256": "a38279143658a8849db484e248c62af6ae2db78de4251021f195efd9bf987d82",
24
+ "bytes": 1306112
25
+ }
26
+ }
27
+ }
@@ -3,20 +3,14 @@ import path from "path";
3
3
  import YAML from "yaml";
4
4
  import { parseForkSnapshotJson } from "../workflow/lib/forkSnapshot";
5
5
 
6
- export type DeploymentEnvironment = "local" | "development" | "production";
6
+ import { validateManifestPolicy, type ManifestEnvironment } from "../delivery/policy";
7
+ export type DeploymentEnvironment = ManifestEnvironment;
7
8
 
8
9
  export interface OpenZeppelinTargetConfig {
9
10
  environment: DeploymentEnvironment;
10
11
  openzeppelin?: { manifestDir?: unknown };
11
12
  }
12
13
 
13
- const TARGET_ENVIRONMENTS = new Set<DeploymentEnvironment>([
14
- "local",
15
- "development",
16
- "production",
17
- ]);
18
- const SAFE_MANIFEST_DIR = /^\.openzeppelin(?:\.[a-z0-9][a-z0-9-]*)?$/;
19
-
20
14
  const assertConfinedManifestDirectory = (root: string, manifestDir: string): void => {
21
15
  const rootPath = fs.realpathSync(root);
22
16
  const candidatePath = path.resolve(root, manifestDir);
@@ -37,19 +31,7 @@ export function resolveOpenZeppelinManifestDir(
37
31
  network: string,
38
32
  target: OpenZeppelinTargetConfig,
39
33
  ): string {
40
- if (!TARGET_ENVIRONMENTS.has(target?.environment)) {
41
- throw new Error(`Network ${network} must declare a valid deployment environment`);
42
- }
43
- const manifestDir = target.openzeppelin?.manifestDir;
44
- if (typeof manifestDir !== "string" || !SAFE_MANIFEST_DIR.test(manifestDir)) {
45
- throw new Error(`Network ${network} must declare one safe OpenZeppelin manifest directory segment`);
46
- }
47
- if (target.environment === "production" && manifestDir !== ".openzeppelin") {
48
- throw new Error(`Production network ${network} must use exactly .openzeppelin`);
49
- }
50
- if (target.environment !== "production" && manifestDir === ".openzeppelin") {
51
- throw new Error(`Non-production network ${network} must not use .openzeppelin`);
52
- }
34
+ const manifestDir = validateManifestPolicy(target?.environment, target.openzeppelin?.manifestDir);
53
35
  assertConfinedManifestDirectory(root, manifestDir);
54
36
  return manifestDir;
55
37
  }
@@ -0,0 +1,225 @@
1
+ import {
2
+ Interface,
3
+ ParamType,
4
+ Result,
5
+ isAddress,
6
+ getAddress,
7
+ type InterfaceAbi,
8
+ } from "ethers";
9
+ import { strictData, copyOwnData } from "./data";
10
+ import { DEFERRED } from "./references";
11
+ /** Explicit runtime return boundary. Only bigint and ethers Result extend own JSON data. */
12
+ export function normalizeRuntimeValue(value: unknown): unknown {
13
+ if (typeof value === "bigint") return value.toString(10);
14
+ if (value instanceof Result)
15
+ return value.toArray(true).map(normalizeRuntimeValue);
16
+ if (Array.isArray(value)) {
17
+ if (Object.getPrototypeOf(value) !== Array.prototype)
18
+ throw new Error("Invalid runtime array prototype");
19
+ // Check shape/descriptors before reading; bigint is deliberately normalized afterwards.
20
+ const descriptors = Object.getOwnPropertyDescriptors(value);
21
+ if (
22
+ Object.getOwnPropertySymbols(value).length ||
23
+ Object.keys(descriptors).length !== value.length + 1
24
+ )
25
+ throw new Error("Invalid runtime array");
26
+ return Array.from({ length: value.length }, (_, i) => {
27
+ const d = descriptors[String(i)];
28
+ if (!d || !d.enumerable || !("value" in d))
29
+ throw new Error("Invalid runtime array");
30
+ return normalizeRuntimeValue(d.value);
31
+ });
32
+ }
33
+ return strictData(value);
34
+ }
35
+ export function validateAbiValue(
36
+ type: ParamType,
37
+ value: unknown,
38
+ label = "ABI value",
39
+ allowDeferred = false,
40
+ ): void {
41
+ value = copyOwnData(value, label, allowDeferred ? DEFERRED : undefined);
42
+ if (value === DEFERRED && allowDeferred) return;
43
+ const fail = () => {
44
+ throw new Error(`${label} must match ABI ${type.format("sighash")}`);
45
+ };
46
+ if (type.baseType === "array") {
47
+ if (
48
+ !Array.isArray(value) ||
49
+ (type.arrayLength !== -1 && value.length !== type.arrayLength)
50
+ )
51
+ return fail();
52
+ value.forEach((v, i) =>
53
+ validateAbiValue(type.arrayChildren!, v, `${label}[${i}]`, allowDeferred),
54
+ );
55
+ return;
56
+ }
57
+ if (type.baseType === "tuple") {
58
+ const components = type.components!;
59
+ if (Array.isArray(value)) {
60
+ if (value.length !== components.length) return fail();
61
+ components.forEach((c, i) =>
62
+ validateAbiValue(c, value[i], `${label}[${i}]`, allowDeferred),
63
+ );
64
+ return;
65
+ }
66
+ if (!value || typeof value !== "object") return fail();
67
+ const names = components.map((c) => c.name);
68
+ if (
69
+ names.some((n) => !n) ||
70
+ new Set(names).size !== names.length ||
71
+ Object.keys(value).sort().join("\0") !== names.slice().sort().join("\0")
72
+ )
73
+ return fail();
74
+ components.forEach((c) =>
75
+ validateAbiValue(
76
+ c,
77
+ (value as Record<string, unknown>)[c.name],
78
+ `${label}.${c.name}`,
79
+ allowDeferred,
80
+ ),
81
+ );
82
+ return;
83
+ }
84
+ if (type.type === "bool") {
85
+ if (typeof value !== "boolean") fail();
86
+ return;
87
+ }
88
+ const integer = /^(u?int)([0-9]+)$/.exec(type.type);
89
+ if (integer) {
90
+ if (
91
+ !(typeof value === "number" && Number.isSafeInteger(value)) &&
92
+ !(typeof value === "string" && /^(0|-?[1-9][0-9]*)$/.test(value))
93
+ )
94
+ return fail();
95
+ const bits = BigInt(integer[2]),
96
+ signed = integer[1] === "int",
97
+ n = BigInt(value as string | number);
98
+ if (
99
+ n < (signed ? -(1n << (bits - 1n)) : 0n) ||
100
+ n > (signed ? (1n << (bits - 1n)) - 1n : (1n << bits) - 1n)
101
+ )
102
+ fail();
103
+ return;
104
+ }
105
+ if (type.type === "address") {
106
+ if (typeof value !== "string" || !isAddress(value)) fail();
107
+ return;
108
+ }
109
+ if (type.type === "string") {
110
+ if (typeof value !== "string") fail();
111
+ return;
112
+ }
113
+ const bytes = /^bytes([0-9]*)$/.exec(type.type);
114
+ if (bytes) {
115
+ if (
116
+ typeof value !== "string" ||
117
+ !/^0x(?:[a-fA-F0-9]{2})*$/.test(value) ||
118
+ (bytes[1] && value.length !== 2 + 2 * Number(bytes[1]))
119
+ )
120
+ fail();
121
+ return;
122
+ }
123
+ throw new Error(`Unsupported ABI type ${type.type}`);
124
+ }
125
+ function boundary(value: unknown, allowDeferred: boolean): unknown {
126
+ return copyOwnData(value, "ABI input", allowDeferred ? DEFERRED : undefined);
127
+ }
128
+ export function validateAbiArguments(
129
+ abi: InterfaceAbi,
130
+ method: string | null,
131
+ args: unknown,
132
+ options: { allowDeferred?: boolean } = {},
133
+ ): void {
134
+ const allow = options.allowDeferred === true;
135
+ const input = boundary(args, allow),
136
+ iface = new Interface(abi);
137
+ const fragment = method === null ? iface.deploy : iface.getFunction(method);
138
+ if (!fragment) throw new Error(`Unknown ABI method ${method}`);
139
+ if (input === DEFERRED)
140
+ throw new Error(
141
+ "Future state requires explicit ABI argument count and shape",
142
+ );
143
+ if (!Array.isArray(input) || input.length !== fragment.inputs.length)
144
+ throw new Error(
145
+ `ABI argument count mismatch for ${method ?? "constructor"}`,
146
+ );
147
+ fragment.inputs.forEach((type, i) =>
148
+ validateAbiValue(
149
+ type,
150
+ input[i],
151
+ `${method ?? "constructor"} args[${i}]`,
152
+ allow,
153
+ ),
154
+ );
155
+ }
156
+ export function validateTransactionValue(
157
+ value: unknown,
158
+ allowDeferred = false,
159
+ ): void {
160
+ validateAbiValue(
161
+ ParamType.from("uint256"),
162
+ value,
163
+ "transaction value",
164
+ allowDeferred,
165
+ );
166
+ }
167
+
168
+ export function validateAbiResult(
169
+ abi: InterfaceAbi,
170
+ method: string,
171
+ raw: unknown,
172
+ allowDeferred = false,
173
+ ): void {
174
+ const value = boundary(raw, allowDeferred),
175
+ fragment = new Interface(abi).getFunction(method);
176
+ if (!fragment) throw new Error("Unknown ABI method");
177
+ if (fragment.outputs.length === 1)
178
+ validateAbiValue(
179
+ fragment.outputs[0],
180
+ value,
181
+ "expected result",
182
+ allowDeferred,
183
+ );
184
+ else {
185
+ if (!Array.isArray(value) || value.length !== fragment.outputs.length)
186
+ throw new Error("ABI result count mismatch");
187
+ fragment.outputs.forEach((p, i) =>
188
+ validateAbiValue(p, value[i], `expected result[${i}]`, allowDeferred),
189
+ );
190
+ }
191
+ }
192
+ function comparable(type: ParamType, value: any): unknown {
193
+ if (type.baseType === "array")
194
+ return value.map((v: unknown) => comparable(type.arrayChildren!, v));
195
+ if (type.baseType === "tuple")
196
+ return type.components!.map((p, i) =>
197
+ comparable(p, Array.isArray(value) ? value[i] : value[p.name]),
198
+ );
199
+ if (/^(u?int)[0-9]+$/.test(type.type)) return BigInt(value).toString();
200
+ if (type.type === "address") return getAddress(value).toLowerCase();
201
+ if (type.type.startsWith("bytes")) return value.toLowerCase();
202
+ return value;
203
+ }
204
+ export function stringifyRuntimeValue(value: unknown): string {
205
+ const data = normalizeRuntimeValue(value);
206
+ return typeof data === "string" ? data : JSON.stringify(data);
207
+ }
208
+ export function compareAbiResults(
209
+ abi: InterfaceAbi,
210
+ method: string,
211
+ actual: unknown,
212
+ expected: unknown,
213
+ ): { actual: string; expected: string } {
214
+ const normalized = normalizeRuntimeValue(actual);
215
+ validateAbiResult(abi, method, normalized);
216
+ validateAbiResult(abi, method, expected);
217
+ const outputs = new Interface(abi).getFunction(method)!.outputs;
218
+ const encode = (v: any) =>
219
+ stringifyRuntimeValue(
220
+ outputs.length === 1
221
+ ? comparable(outputs[0], v)
222
+ : outputs.map((p, i) => comparable(p, v[i])),
223
+ );
224
+ return { actual: encode(normalized), expected: encode(expected) };
225
+ }
@@ -0,0 +1,29 @@
1
+ /** Private fixed-worker bootstrap. Never accepts caller config overrides. */
2
+ import path from 'node:path';
3
+ import type { HardhatConfig } from 'hardhat/types';
4
+ let fork:Readonly<{network:string;chainId:number;url:string;blockNumber:number}>|undefined;
5
+ const policies=new WeakMap<object,HardhatConfig['networks']['hardhat']>();
6
+ export function establishOwnedFork(input:NonNullable<typeof fork>):void {
7
+ if(fork||require.main?.filename!==path.join(__dirname,'aggregate-worker.js')||!process.send||!process.connected)
8
+ throw new Error('Owned worker fork bootstrap required');
9
+ const url=new URL(input.url);
10
+ if(url.protocol!=='http:'||url.hostname!=='127.0.0.1'||!/^\/[a-f0-9-]{36}$/.test(url.pathname)||url.username||url.password||url.search||url.hash)
11
+ throw new Error('Owned source proxy required');
12
+ fork=Object.freeze({...input});
13
+ }
14
+ export function registerOwnedFork(extendConfig:typeof import('hardhat/config').extendConfig):void {
15
+ if(!fork)return;
16
+ extendConfig(config=>{
17
+ if(config.networks[fork!.network]?.chainId!==fork!.chainId)throw new Error('Owned fork target chain mismatch');
18
+ policies.set(config,config.networks.hardhat);
19
+ config.networks.hardhat={...config.networks.hardhat,chainId:fork!.chainId,
20
+ forking:{enabled:true,url:fork!.url,blockNumber:fork!.blockNumber,httpHeaders:{}}};
21
+ });
22
+ }
23
+ export function originalRunnerPolicy(config:HardhatConfig):HardhatConfig['networks']['hardhat'] {
24
+ return policies.get(config)??config.networks.hardhat;
25
+ }
26
+
27
+ export function assertOwnedTargetWorker():void {
28
+ if(!fork||require.main?.filename!==path.join(__dirname,'aggregate-worker.js')||!process.send||!process.connected)throw new Error('Owned target worker required');
29
+ }
@@ -0,0 +1,85 @@
1
+ /** Finite private protocol. A nonce correlates an actual child; it is not process attestation. */
2
+ import {productionChildEnvironment} from './production-environment';
3
+ import {fork,type ChildProcess} from 'node:child_process';
4
+ import {randomUUID} from 'node:crypto';
5
+ import path from 'node:path';
6
+ import {strictData} from './data';
7
+ import {exactObject} from '../workflow/lib/canonicalData';
8
+ export class OwnedWorkerFailure extends Error {}
9
+ export type Command='stage'|'check'|'bind'|'close'|'abort';
10
+ export interface WorkerMessage {version:1;session:string;epoch:string;target:string;id:number;command:Command;data:unknown}
11
+ export function parseWorkerMessage(raw:unknown):WorkerMessage {
12
+ const x=exactObject(strictData(raw),['version','session','epoch','target','id','command','data'],'worker message');
13
+ if(x.version!==1||typeof x.session!=='string'||typeof x.epoch!=='string'||typeof x.target!=='string'||!Number.isSafeInteger(x.id)||Number(x.id)<1||!['stage','check','bind','close','abort'].includes(String(x.command)))throw new OwnedWorkerFailure('Invalid worker protocol');
14
+ return x as unknown as WorkerMessage;
15
+ }
16
+ export class OwnedWorker {
17
+ readonly #child:ChildProcess;
18
+ readonly epoch=randomUUID();
19
+ #id=0;#state:'new'|'staging'|'staged'|'checked'|'bound'|'closing'|'closed'|'failed'='new';
20
+ #pending?:{message:WorkerMessage;resolve:(v:any)=>void;reject:(e:Error)=>void;timer:NodeJS.Timeout};
21
+ #failure?:Error;
22
+ readonly #exit:Promise<void>;
23
+ #exited=false;
24
+ constructor(readonly root:string,readonly session:string,readonly target:string,readonly role:'source'|'target',readonly failAggregate:(error:Error)=>void){
25
+ const env=productionChildEnvironment(process.env);
26
+ for(const key of ['GATE_DELIVERY_CONTEXT','GATE_WORKFLOW_TARGET','MANIFEST_DEFAULT_DIR','HARDHAT_NETWORK','GATE_FORK_PROXY_HANDSHAKE','GATE_WORKFLOW_SIMULATION_FORK','GATE_WORKFLOW_SIMULATION_SOURCE_RPC'])delete env[key];
27
+ Object.assign(env,{HARDHAT_CONFIG:path.join(root,'hardhat.config.ts'),HARDHAT_TSCONFIG:path.join(root,'tsconfig.json'),HARDHAT_DISABLE_TELEMETRY_PROMPT:'true'});
28
+ this.#child=fork(path.join(__dirname,'aggregate-worker.js'),[],{cwd:root,env,execArgv:[],stdio:['ignore','ignore','ignore','ipc'],serialization:'json'});
29
+ this.#child.on('message',raw=>{
30
+ try{
31
+ const reply=parseWorkerMessage(raw),pending=this.#pending;
32
+ if(!pending||reply.session!==session||reply.target!==target||reply.epoch!==this.epoch||reply.id!==pending.message.id||reply.command!==pending.message.command)throw new OwnedWorkerFailure('Unexpected worker protocol reply');
33
+ const value=exactObject(reply.data,['ok','value'],'worker reply');
34
+ if(value.ok!==true){
35
+ const details=exactObject(value.value,['phase'],'worker failure');
36
+ const phases=['protocol','project-loader','source-open','source-configuration','fork-setup','target-configuration','compile','planning','staged-reread','barrier','configuration-seal','binding'];
37
+ if(!phases.includes(String(details.phase)))throw new Error('Invalid worker failure');
38
+ this.fail(new OwnedWorkerFailure('Owned worker failed during '+details.phase));return;
39
+ }
40
+ clearTimeout(pending.timer);this.#pending=undefined;pending.resolve(value.value);
41
+ }catch{this.fail(new OwnedWorkerFailure('Owned worker failed or sent an invalid reply'));}
42
+ });
43
+ this.#child.on('error',()=>this.fail(new OwnedWorkerFailure('Owned worker process failed')));
44
+ this.#child.on('disconnect',()=>{if(!['closing','closed','failed'].includes(this.#state))this.fail(new OwnedWorkerFailure('Unexpected worker disconnect'));});
45
+ this.#exit=new Promise(resolve=>this.#child.once('exit',(code,signal)=>{
46
+ this.#exited=true;
47
+ if(this.#state!=='closing'||code!==0||signal!==null)this.fail(new OwnedWorkerFailure('Unexpected worker exit'));
48
+ else this.#state='closed';
49
+ resolve();
50
+ }));
51
+ }
52
+ get pid():number|undefined{return this.#child.pid;}
53
+ assertLive():void {if(this.#failure||this.#exited||!this.#child.connected)throw this.#failure??new OwnedWorkerFailure('Worker is not live');}
54
+ private fail(error:Error):void {
55
+ if(this.#failure)return;this.#failure=error;this.#state='failed';
56
+ if(this.#pending){clearTimeout(this.#pending.timer);this.#pending.reject(error);this.#pending=undefined;}
57
+ this.failAggregate(error);
58
+ }
59
+ async request(command:Command,data:unknown=null):Promise<any>{
60
+ this.assertLive();
61
+ const allowed=command==='stage'?this.#state==='new':command==='check'?this.#state==='staged':command==='bind'?this.role==='target'&&this.#state==='checked':command==='close'?(this.role==='source'?this.#state==='checked':this.#state==='bound'):false;
62
+ if(!allowed||this.#pending){const error=new OwnedWorkerFailure('Worker protocol order violation');this.fail(error);throw error;}
63
+ const next=command==='stage'?'staged':command==='check'?'checked':command==='bind'?'bound':'closed';
64
+ this.#state=command==='stage'?'staging':command==='close'?'closing':this.#state;
65
+ const message:WorkerMessage={version:1,session:this.session,epoch:this.epoch,target:this.target,id:++this.#id,command,data:strictData(data)};
66
+ const result=await new Promise<any>((resolve,reject)=>{
67
+ const timer=setTimeout(()=>this.fail(new OwnedWorkerFailure('Owned worker request timed out')),180000);
68
+ this.#pending={message,resolve,reject,timer};
69
+ this.#child.send(message,error=>{if(error)this.fail(new OwnedWorkerFailure('Owned worker channel failed'));});
70
+ });
71
+ if(command==='close'){
72
+ await this.reap(false);if(this.#failure)throw this.#failure;
73
+ }else{this.assertLive();this.#state=next as 'staged'|'checked'|'bound'|'closed';}
74
+ return result;
75
+ }
76
+ async reap(abort=true):Promise<void>{
77
+ if(this.#exited)return;
78
+ if(abort){this.#state='failed';if(this.#pending){clearTimeout(this.#pending.timer);this.#pending.reject(new OwnedWorkerFailure('Aggregate aborted'));this.#pending=undefined;}this.#child.kill('SIGTERM');}
79
+ let timer:NodeJS.Timeout|undefined;
80
+ try{await Promise.race([this.#exit,new Promise<never>((_,reject)=>{timer=setTimeout(()=>reject(new OwnedWorkerFailure('Worker did not exit')),5000);})]);}
81
+ catch{this.#child.kill('SIGKILL');await Promise.race([this.#exit,new Promise<never>((_,reject)=>{timer=setTimeout(()=>reject(new OwnedWorkerFailure('Worker could not be reaped')),5000);})]);}
82
+ finally{if(timer)clearTimeout(timer);}
83
+ if(!this.#exited)throw new OwnedWorkerFailure('Worker exit unproven');
84
+ }
85
+ }