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
@@ -4,27 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.runUpgradeStep = void 0;
7
+ const validation_1 = require("../lib/validation");
8
+ const preparationEvidence_1 = require("../lib/preparationEvidence");
7
9
  const controlledMulticallAbi_1 = require("../lib/controlledMulticallAbi");
8
10
  const ethers_1 = require("ethers");
9
- const projectHardhat_1 = require("../../projectHardhat");
10
11
  const path_1 = __importDefault(require("path"));
11
12
  const authority_1 = require("../lib/authority");
12
13
  const deployments_1 = require("../lib/deployments");
13
14
  const gateTool_1 = require("../lib/gateTool");
14
15
  const gateToolSync_1 = require("../lib/gateToolSync");
15
16
  const erc1967_1 = require("../lib/erc1967");
16
- const lock_1 = require("../lib/lock");
17
- const parameters_1 = require("../lib/parameters");
18
17
  const create2_1 = require("../lib/create2");
19
18
  const proxy_1 = require("../lib/proxy");
20
- const signer_1 = require("../lib/signer");
19
+ const runtime_1 = require("../lib/runtime");
21
20
  const simulation_1 = require("../lib/simulation");
22
- const resolveInContext = (context, value) => (0, parameters_1.resolveValue)(value, {
23
- targetId: context.targetId,
24
- target: context.target,
25
- params: context.targetParams,
26
- state: context.state,
27
- });
21
+ const resolveInContext = (context, value) => (0, validation_1.resolveWorkflowValue)(context, value);
28
22
  const resolveObject = (context, value) => {
29
23
  const resolved = resolveInContext(context, value || {});
30
24
  if (!resolved || typeof resolved !== "object" || Array.isArray(resolved))
@@ -39,12 +33,18 @@ const resolveArray = (context, value, label) => {
39
33
  };
40
34
  const stringField = (source, key) => (typeof source[key] === "string" && source[key] ? String(source[key]) : undefined);
41
35
  const proxyReference = (context, step) => {
42
- const proxyObject = resolveObject(context, step.proxy);
43
- const rawProxy = stringField(proxyObject, "address")
36
+ const resolvedProxy = step.proxy === undefined ? undefined : resolveInContext(context, step.proxy);
37
+ const proxyObject = resolvedProxy && typeof resolvedProxy === "object" && !Array.isArray(resolvedProxy)
38
+ ? resolvedProxy
39
+ : {};
40
+ let rawProxy = stringField(proxyObject, "address")
44
41
  || stringField(proxyObject, "name")
45
42
  || stringField(proxyObject, "contract")
46
- || (typeof step.proxy === "string" ? String(resolveInContext(context, step.proxy)) : undefined)
47
- || (typeof step.address === "string" ? String(resolveInContext(context, step.address)) : undefined);
43
+ || (typeof resolvedProxy === "string" ? resolvedProxy : undefined);
44
+ if (!rawProxy) {
45
+ const resolvedAddress = step.address === undefined ? undefined : resolveInContext(context, step.address);
46
+ rawProxy = typeof resolvedAddress === "string" ? resolvedAddress : undefined;
47
+ }
48
48
  if (!rawProxy)
49
49
  throw new Error(`Step ${step.id} requires proxy address or deployment name`);
50
50
  const registryDeployment = (0, ethers_1.isAddress)(rawProxy)
@@ -108,11 +108,11 @@ const transactionEnvelope = (transaction) => ({
108
108
  ? {}
109
109
  : { scheme: "zksync-eravm", factoryDeps: transaction.factoryDeps }),
110
110
  });
111
- const assertUupsChainState = async (proxy, implementation) => {
111
+ const assertUupsChainState = async (context, proxy, implementation) => {
112
112
  const [proxyCode, implementationCode, currentImplementation] = await Promise.all([
113
- projectHardhat_1.ethers.provider.getCode(proxy),
114
- projectHardhat_1.ethers.provider.getCode(implementation),
115
- (0, erc1967_1.getERC1967Implementation)(projectHardhat_1.ethers.provider, proxy),
113
+ context.runtime.hre.ethers.provider.getCode(proxy),
114
+ context.runtime.hre.ethers.provider.getCode(implementation),
115
+ (0, erc1967_1.getERC1967Implementation)(context.runtime.hre.ethers.provider, proxy),
116
116
  ]);
117
117
  if (!proxyCode || proxyCode === "0x") {
118
118
  throw new Error(`UUPS proxy is missing deployed code at ${proxy}`);
@@ -134,31 +134,43 @@ const runUpgradeStep = async (context, step) => {
134
134
  if ((proxy.proxy.kind || "uups") !== "uups") {
135
135
  throw new Error(`Upgrade step ${step.id} only supports UUPS proxies`);
136
136
  }
137
- if (context.mode === "simulate") {
138
- await (0, simulation_1.assertSimulationUupsSourceState)(context.simulation, proxy.proxyAddress);
137
+ const sameFork = context.preparations?.assertUpgradeBaseline(proxy.proxyAddress) === true;
138
+ if (sameFork) {
139
+ if (context.mode !== 'simulate' || !context.validation?.sameForkUpgrade)
140
+ throw new Error('Same-fork upgrade requires owned local-fork validation');
141
+ await context.validation.sameForkUpgrade(proxy.proxyAddress);
142
+ }
143
+ else if (context.mode === "simulate") {
144
+ await (0, simulation_1.assertSimulationUupsSourceState)(context.runtime.hre.ethers.provider, context.simulation, proxy.proxyAddress);
139
145
  }
140
146
  const call = upgradeCall(context, step);
141
147
  const actualContract = (0, deployments_1.actualContractName)(contractName);
142
- const targetCreate2 = context.target.create2;
143
- const targetMulticall = context.target.multicall;
148
+ const targetCreate2 = context.validation
149
+ ? context.validation.create2Fields(resolveInContext(context, context.target.create2 === undefined ? {} : context.target.create2), "target")
150
+ : context.target.create2;
151
+ const targetMulticall = context.validation
152
+ ? context.validation.create2Fields(resolveInContext(context, context.target.multicall === undefined ? {} : context.target.multicall), "multicall")
153
+ : context.target.multicall;
154
+ const factory = targetCreate2?.factory;
155
+ const controlledMulticall = targetMulticall?.controlledMulticall;
144
156
  const scheme = targetCreate2?.scheme || "evm";
145
157
  if (scheme !== "evm" && scheme !== "zksync-eravm") {
146
158
  throw new Error(`Upgrade step ${step.id} target create2 scheme is invalid`);
147
159
  }
148
- if (!targetCreate2?.factory || !targetMulticall?.controlledMulticall) {
160
+ if (typeof factory !== "string" || !factory || typeof controlledMulticall !== "string" || !controlledMulticall) {
149
161
  throw new Error(`Upgrade step ${step.id} requires target create2 factory and controlledMulticall`);
150
162
  }
151
163
  const constructorArgs = resolveArray(context, step.constructorArgs || proxy.proxy.constructorArgs || [], `Step ${step.id} constructorArgs`);
152
- const implementationSalt = (0, proxy_1.deriveImplementationSalt)(context.executionId, contractName, proxy.proxyAddress);
164
+ const implementationSalt = (0, proxy_1.deriveImplementationSalt)(context.bindings?.derivationSeed ?? context.executionId, contractName, proxy.proxyAddress);
153
165
  const request = {
154
166
  version: 1,
155
167
  kind: "uups-upgrade",
156
168
  scheme,
157
- network: projectHardhat_1.network.name,
169
+ network: context.runtime.hre.network.name,
158
170
  target: context.targetId,
159
171
  contract: contractName,
160
172
  constructorArgs,
161
- factory: targetCreate2.factory,
173
+ factory,
162
174
  proxyKind: "uups",
163
175
  proxy: proxy.proxyAddress,
164
176
  implementationSalt,
@@ -167,10 +179,13 @@ const runUpgradeStep = async (context, step) => {
167
179
  };
168
180
  const gateToolEvidenceDir = path_1.default.join(context.taskDir, "results", context.targetId, context.executionId, "gate-tool", context.mode);
169
181
  const prepared = await (0, gateTool_1.prepareGateToolWorkflow)({
182
+ hre: context.runtime.hre,
183
+ validation: context.validation,
170
184
  root: context.root,
171
185
  evidenceDir: gateToolEvidenceDir,
172
186
  evidenceName: step.id,
173
187
  request,
188
+ expected: context.preparations?.expected(step.id, request),
174
189
  readBlockTag: context.mode === "simulate"
175
190
  ? context.simulation.snapshot?.blockNumber
176
191
  : undefined,
@@ -191,21 +206,21 @@ const runUpgradeStep = async (context, step) => {
191
206
  implementationAddress: implementation.address,
192
207
  implementationSalt,
193
208
  constructorArgs,
194
- factory: targetCreate2.factory,
209
+ factory,
210
+ multicall: controlledMulticall,
195
211
  gateTool: {
196
212
  outputPath: gateToolPlan,
197
213
  data: prepared.plan,
198
214
  },
199
215
  };
200
- if (context.parameterLockExecutionId) {
201
- (0, lock_1.recordParameterLockImplementationSalts)(context.taskDir, context.parameterLockExecutionId, { [`${step.id}.implementation`]: implementationSalt });
202
- }
216
+ context.bindings?.recordOrAssertDerivedValue(`${step.id}.implementation`, implementationSalt);
203
217
  const recorder = context.mode === "execute" ? context.deploymentRecorder : undefined;
204
218
  if (context.mode === "execute" && !recorder) {
205
219
  throw new Error(`Upgrade step ${step.id} requires an execution deployment recorder`);
206
220
  }
207
221
  recorder?.prepare(preparedChange);
208
- const proxyContract = await projectHardhat_1.ethers.getContractAt(String(step.abi || contractName), proxy.proxyAddress, context.signer);
222
+ (0, preparationEvidence_1.recordPreparedDeployment)(context, preparedChange, prepared, [`${step.id}.implementation`]);
223
+ const proxyContract = await context.runtime.hre.ethers.getContractAt(String(step.abi || contractName), proxy.proxyAddress, context.signer);
209
224
  const upgradeAuthority = await (0, authority_1.decideAuthority)(proxyContract, context.target, context.signerAddress);
210
225
  if (context.mode === "simulate"
211
226
  && !context.configuredSimulationCaller
@@ -213,7 +228,7 @@ const runUpgradeStep = async (context, step) => {
213
228
  (0, authority_1.assertSelectedSimulationSignerAuthorized)(upgradeAuthority, step.id);
214
229
  }
215
230
  const implementationMulticall = implementationCall
216
- ? (0, create2_1.prepareControlledMulticallTransaction)(targetMulticall.controlledMulticall, [{
231
+ ? (0, create2_1.prepareControlledMulticallTransaction)(controlledMulticall, [{
217
232
  target: implementationCall.to,
218
233
  value: implementationCall.value,
219
234
  data: implementationCall.data,
@@ -223,10 +238,10 @@ const runUpgradeStep = async (context, step) => {
223
238
  }], scheme)
224
239
  : undefined;
225
240
  const multicall = implementationMulticall
226
- ? await projectHardhat_1.ethers.getContractAt(controlledMulticallAbi_1.CONTROLLED_MULTICALL_AUTHORITY_ABI, targetMulticall.controlledMulticall, context.signer)
241
+ ? await context.runtime.hre.ethers.getContractAt(controlledMulticallAbi_1.CONTROLLED_MULTICALL_AUTHORITY_ABI, controlledMulticall, context.signer)
227
242
  : undefined;
228
243
  const implementationAuthority = multicall
229
- ? await (0, authority_1.decideControlledMulticallAuthority)(multicall, targetCreate2.factory, context.target, context.signerAddress)
244
+ ? await (0, authority_1.decideControlledMulticallAuthority)(multicall, factory, context.target, context.signerAddress)
230
245
  : undefined;
231
246
  if (scheme === "zksync-eravm"
232
247
  && (upgradeAuthority.mode !== "execute"
@@ -247,14 +262,15 @@ const runUpgradeStep = async (context, step) => {
247
262
  implementationTxHash = tx.hash;
248
263
  }
249
264
  const upgradeTx = await (0, create2_1.sendPreparedWorkflowTransaction)(transactionEnvelope(proxyUpgradeCall), context.signer);
250
- await assertUupsChainState(proxy.proxyAddress, implementation.address);
265
+ await assertUupsChainState(context, proxy.proxyAddress, implementation.address);
251
266
  const gateToolSync = context.mode === "execute"
252
267
  ? await (0, gateToolSync_1.syncGateToolUups)({
268
+ hre: context.runtime.hre,
253
269
  root: context.root,
254
270
  evidenceDir: gateToolEvidenceDir,
255
271
  evidenceName: step.id,
256
272
  scheme: prepared.plan.scheme,
257
- network: projectHardhat_1.network.name,
273
+ network: context.runtime.hre.network.name,
258
274
  target: context.targetId,
259
275
  manifestDir: context.target.openzeppelin.manifestDir,
260
276
  proxy: proxy.proxyAddress,
@@ -322,6 +338,7 @@ const runUpgradeStep = async (context, step) => {
322
338
  ? {}
323
339
  : { factoryDeps: implementationMulticall.factoryDeps }),
324
340
  });
341
+ context.preparations?.bind(step.id, { transactionId: planned.transactionId, gateToolTransactionIds: [implementationCall.id], kind: "multicall" });
325
342
  implementationTransactionId = planned.transactionId;
326
343
  implementationExternal = planned.route === "external";
327
344
  if (planned.executionAction === "replay") {
@@ -343,9 +360,10 @@ const runUpgradeStep = async (context, step) => {
343
360
  }
344
361
  else {
345
362
  const selectedSigner = planned.route === "external"
346
- ? await (0, signer_1.impersonateWorkflowSimulationSigner)(planned.executor)
363
+ ? await (0, runtime_1.impersonateLocalForkSigner)(context.runtime, planned.executor)
347
364
  : context.signer;
348
365
  const tx = await (0, create2_1.sendPreparedControlledMulticallTransaction)(implementationMulticall, selectedSigner);
366
+ context.transactionObserver?.record({ transactionId: planned.transactionId, transactionHash: tx.hash });
349
367
  implementationTxHash = tx.hash;
350
368
  if (context.mode === "execute" && planned.route === "operator") {
351
369
  context.operatorReceipts.push({
@@ -373,6 +391,7 @@ const runUpgradeStep = async (context, step) => {
373
391
  ? {}
374
392
  : { factoryDeps: upgradeEnvelope.factoryDeps }),
375
393
  });
394
+ context.preparations?.bind(step.id, { transactionId: upgradeTransaction.transactionId, gateToolTransactionIds: [proxyUpgradeCall.id], kind: "direct" });
376
395
  if (context.mode === "execute") {
377
396
  recorder?.bindProxyTransaction(step.id, upgradeTransaction.transactionId);
378
397
  }
@@ -396,9 +415,10 @@ const runUpgradeStep = async (context, step) => {
396
415
  }
397
416
  else {
398
417
  const selectedSigner = upgradeTransaction.route === "external"
399
- ? await (0, signer_1.impersonateWorkflowSimulationSigner)(upgradeTransaction.executor)
418
+ ? await (0, runtime_1.impersonateLocalForkSigner)(context.runtime, upgradeTransaction.executor)
400
419
  : context.signer;
401
420
  const tx = await (0, create2_1.sendPreparedWorkflowTransaction)(upgradeEnvelope, selectedSigner);
421
+ context.transactionObserver?.record({ transactionId: upgradeTransaction.transactionId, transactionHash: tx.hash });
402
422
  upgradeTxHash = tx.hash;
403
423
  if (context.mode === "execute" && upgradeTransaction.route === "operator") {
404
424
  context.operatorReceipts.push({
@@ -410,13 +430,14 @@ const runUpgradeStep = async (context, step) => {
410
430
  if (context.mode === "execute"
411
431
  && !implementationExternal
412
432
  && upgradeTransaction.route === "operator") {
413
- await assertUupsChainState(proxy.proxyAddress, implementation.address);
433
+ await assertUupsChainState(context, proxy.proxyAddress, implementation.address);
414
434
  const gateToolSync = await (0, gateToolSync_1.syncGateToolUups)({
435
+ hre: context.runtime.hre,
415
436
  root: context.root,
416
437
  evidenceDir: gateToolEvidenceDir,
417
438
  evidenceName: step.id,
418
439
  scheme: prepared.plan.scheme,
419
- network: projectHardhat_1.network.name,
440
+ network: context.runtime.hre.network.name,
420
441
  target: context.targetId,
421
442
  manifestDir: context.target.openzeppelin.manifestDir,
422
443
  proxy: proxy.proxyAddress,
@@ -433,7 +454,7 @@ const runUpgradeStep = async (context, step) => {
433
454
  });
434
455
  }
435
456
  else if (context.mode === "simulate") {
436
- await assertUupsChainState(proxy.proxyAddress, implementation.address);
457
+ await assertUupsChainState(context, proxy.proxyAddress, implementation.address);
437
458
  }
438
459
  context.state.set(`${proxy.saveAs}Upgrade`, {
439
460
  proxyAddress: proxy.proxyAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../runtime/workflow/steps/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../runtime/workflow/steps/upgrade.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { WorkflowContext } from "../run";
1
+ import type { WorkflowContext } from "../lib/context";
2
2
  import { WorkflowStep } from "../lib/parameters";
3
3
  export declare const runViewStep: (context: WorkflowContext, step: WorkflowStep) => Promise<void>;
@@ -0,0 +1,32 @@
1
+ # Compiler qualification contribution v1
2
+
3
+ `gate-evm-tools/delivery-hardhat` retains the manifest-before-OpenZeppelin bootstrap order and exports `qualifyDeliveryCompiler(hre, options)` and `parseCompilerEvidence(data)`. Qualification is opt-in. Ordinary project compilation retains its existing behavior.
4
+
5
+ The qualification adapter currently supports **macOS with the reviewed Hardhat Solidity parser backend**, Hardhat 2.26.3, ethers 6.15.0, hardhat-upgrades 3.9.1, upgrades-core 1.44.2, Slang 0.18.3 and preview2-shim 0.17.0. The portability of npm soljson does not imply portability of the entire Hardhat/OZ adapter. Other platforms, compiler versions, backend payloads and task overrides fail qualification. The adapter records Node version, ABI, architecture, actual package payloads and actual entries.
6
+
7
+ Two compiler sources are approved:
8
+
9
+ * `native-macos-0.8.28`: official universal macOS executable, SHA-256 `81515b0e53deaa266d549545ccaac0a5a96e6d4e8201c77f673b2c710976d9ea`. Its source is solc-bin commit `78d9b01518c352f6c075a9d30f7b27b6e592da1d`, `macosx-amd64/solc-macosx-amd64-v0.8.28+commit.7893614a`.
10
+ * `npm-soljson-0.8.28`: `solc@0.8.28/soljson.js`, SHA-256 `9ef37cc1d2597ed6d2f706a960f449e33eb9eee920936cea77b11e6f43861970`; tarball integrity `sha512-AFCiJ+b4RosyyNhnfdVH4ZR1+TxiL91iluPjw0EJslIu4LXGM9NYqi2z5y8TqochC4tcH9QsHfwWhOIC9jPDKA==`. This differs from the official release WASM bytes, which are not approved by this adapter.
11
+
12
+ Pass an explicit absolute regular-file path as `{ compiler: { kind, path } }`. The integration fixture supplies disposable independently checked copies. Without an explicit compiler, only the approved stock macOS native selection is accepted; host downloader metadata is not a trust root. Actual runner paths must match the observed SolcBuild. Compiler bytes are checked before and after the stock runner executes. Host paths stay outside portable evidence.
13
+
14
+ The checked-in package pins are distributed in the packed GateTool package. They were derived from registry tarballs whose full SHA-512 SRI was independently checked, then compared against the complete installed regular-file payload. The versioned npm extraction projection accounts for `.gitignore` becoming `.npmignore` when that name is absent. Standard package-root `node_modules` directories are separate package boundaries, and a used nested executable helper requires its own exact lock location and reviewed payload. The actual solc child wrapper and its complete recursive helper closure have a compiler-child role that requires reviewed payloads and supports only this npm topology: `node_modules` below an internal package subdirectory is rejected before child execution and during subsequent evidence verification. Once a package has this role, later ordinary reads cannot weaken it. Parent-process toolchain packages retain their actual loaded-module and reviewed-payload checks; this topology restriction does not apply to source-only packages or GateTool's own-package role. Runtime qualification reads the project's installed packages and npm lock; **it does not read an npm cache, sibling checkout or research directory**. A new installation needs the explicit compiler file and the normal locked dependencies, not the development machine's cache. Updating adapter versions requires reviewing and regenerating pins; lock integrity alone never proves installed bytes.
15
+
16
+ The solc-js branch resolves `solc/wrapper` from the actual Hardhat runner. In the pinned toolchain this is wrapper 0.8.26 applied to soljson 0.8.28. The complete wrapper package, importer-resolved helper packages and loaded compiler/OZ module payloads are bound. The own-package role is limited to the exact package location resolved by the project's `gate-evm-tools/workflow` entry, which must match the physical package containing the running collector. A helper cannot obtain this role by claiming the GateTool package name; other loaded helpers retain reviewed-payload checks through final verification. This qualification check is not a sandbox for parent-process packages that HRE bootstrap has already executed. Core is resolved independently from the plugin and preparation call site. Slang's actual ESM parser/cst and component issuer are bound to the shim's Node ESM entries and all four package WASM payloads. These are reviewed toolchain adapters; no custom planning package receives an exemption from the custom-code purity policy.
17
+
18
+ Qualification performs one fresh compile, bypassing both job filtering and the Solidity parser cache. Per-job asynchronous contexts observe the actual original and OZ auxiliary invocations, builds and runners, including auxiliary compilation through OZ `runSuper`. The completed task chain must match stock/pinned/owned adapters and remain unchanged. The initial dispatcher must match the reviewed Hardhat 2.26.3 function-source pin and its bootstrap-observed HRE reference; installing a wrapper before qualification is rejected. The actual provider reference is retained. Ordinary unqualified compilation remains unaffected, and Hardhat's task-local proxied HRE remains supported. Source contents are reread as exact UTF-8, mapped to confined physical project/npm files, with dependency edges and complete effective job settings. Later preparation compilation may be a cache hit; a new unassociated job is rejected. No extra compilation is performed to reconstruct validation.
19
+
20
+ Every actual artifact read after qualification passes through the owned index. ABI-only interfaces are valid roots; deployment and OZ version computation still require nonempty bytecode. The adapter independently projects stock artifacts and reads confined artifact/debug/build-info files, permitting the standard relative debug pointer only inside `artifacts/build-info`. It compares full persisted input/output/version data with observations, not the noncryptographic build-info ID. Sources, package membership, resolution, files, task registry and compiler configuration are rechecked when taking evidence.
21
+
22
+ `collector.implementation(name, constructorArgs, options)` observes actual official `getDeployData`, recomputes validation from captured main/auxiliary outputs, and checks the first selected run/FQN, unlinked and linked bytecode, constructor version, inheritance/library validation closure, full effective layout and full safety options. Initial UUPS preparation on the owned path obtains one actual DeployData and performs the official safety check. Upgrades observe the existing owned call. Official optional undefined fields use a version-specific persisted projection; general delivery JSON remains strict.
23
+
24
+ `collector.baseline(address, priorCollector, priorSelection)` accepts only a selection produced by an owned collector. The explicit prior selection binds source, artifact, constructor and version. Historical fresh and independent expected/disk upgrades use the actual pinned core implementation-slot reader and the configured target-manifest reader. The awaited read-only observation binds the unique proxy/implementation record, implementation map key, complete selected entry, raw manifest digest, layout, target, chain, manifest policy and replacement selection. A manifest by itself is insufficient. The pure reuse check requires that complete owned association and executes official storage compatibility validation. Replay performs no compile, preparation or DeployData call and does not change required/reused decisions.
25
+
26
+ Compiler-qualified collection also supports a new initial UUPS deployment followed by an upgrade in the same local fork. Its journal must reference the owned, fully checked initial preparation. Before bypassing the historical source-state guard, the owned adapter verifies proxy absence at the pinned source block, actual local proxy/implementation code and the actual implementation slot. An awaited in-memory baseline port supplies the qualified prior layout to the normal core safety check; no manifest entry is synthesized or written. The plan uses `sameForkBaselineDigest`, strictly exclusive with historical `manifestDigest`. Its stable commitment covers the canonical initial request/plan and full old-layout hash, thereby binding target, chain, proxy, implementation, artifact and constructor to the prior qualified selection. Exact auxiliary compiler evidence remains separate. Both the preparation journal and compiler-evidence parser check the corresponding prior relationship. Unqualified collection keeps the original same-fork refusal.
27
+
28
+ The public collector is an immutable opaque handle. `parseCompilerEvidence` checks persisted shape, hashes and relationships; parsing a record cannot obtain collector authority. `collectCompilerQualifiedDeliveryPlan` in the delivery planning runtime requires the actual HRE's owned collector and returns the ordinary collection plus its compiler contribution. The existing source/input/runtime header remains a trusted launcher port. The fixture-only upgrade evidence seam is not qualification authority.
29
+
30
+ `stableDigest` binds original sources/input/settings, actual compiler/toolchain, artifacts and full selected layouts/validation. `exactDigest` additionally binds the actual randomized auxiliary inputs/outputs and exact qualification evidence. Repeated real compilation of nested namespace struct/enum/UDVT fixtures produced equal full selected layouts without type-ID normalization. Auxiliary raw digests must remain outside the future stable aggregate input hash. Evidence snapshots are contributions, not terminal input sealing, aggregate freeze or `release_ready`; those remain the subsequent aggregate stage.
31
+
32
+ This is a supported-runtime contract with ordinary before/after drift detection, not arbitrary JavaScript sandboxing or hostile same-process/concurrent-writer attestation. It sends no transaction. The localhost acceptance harness separately exercises actual preparation and existing fork/reuse behavior.
@@ -0,0 +1,29 @@
1
+ # Configuration and runtime contributor v1
2
+
3
+ `gate-evm-tools/delivery-configuration` exports `openDeliveryConfiguration({ workspaceRoot, projectRoot, network })`. Call it in the project process **after** Hardhat and all environment extenders have initialized, with `delivery-hardhat` as the first runtime config import, and **before** compilation or planning. It retrieves the initialized project singleton and its owned bootstrap association internally. `network` selects a project-owned HTTP alias; it does not authorize a request, select an operator, validate a fork block, or authorize execution. Arbitrary positive safe EVM chain IDs require no GateTool catalog update.
4
+
5
+ The frozen snapshot is a contributor, not aggregate or release authority. `assertUnchanged()` rereads files and finite private capabilities. `seal()` is terminal and includes dependencies/modules first used during planning. Failure closes the owner; `close()` discards it. Only one runtime observer may be open per process. The outer collector must retain the actual handle and bind its result with business/source, compiler, custom-code, source-block/fork and plan/audit evidence. Copied evidence is not an owned session. `configurationRuntimeHash` excludes the compiler's randomized `exactDigest`; that exact association is retained separately in `compiler`. No compiler is invoked or job captured here.
6
+
7
+ ## Finite source policy
8
+
9
+ Supported config source is one default object literal, or one `const` containing that object followed by its default export. A `HardhatUserConfig` type import, parentheses, `as` and `satisfies` are accepted. Extra executable statements, functions/calls, arbitrary bindings, computed/spread properties, dynamic settings, null, duplicate properties and unsupported fields are rejected. Runtime imports are ordered and limited to delivery-hardhat, the pinned ethers/chai-matchers plugins, and official OpenZeppelin upgrades. Delivery-hardhat must be first. Unknown environment/config/provider extenders are rejected, including additions after opening.
10
+
11
+ Top-level fields are `solidity`, `networks`, optional `defaultNetwork`, and optional `paths` (`sources`, `cache`, `artifacts`, `tests`). Paths must be confined project-relative paths, without links. Every reread rechecks the physical directory type and confinement of sources/cache/artifacts/tests; creating real directories is allowed, introducing links or files is not. Solidity supports a version string, a single compiler, or `compilers` and `overrides`. Complete static settings are retained: `optimizer`, `evmVersion`, `viaIR`, `outputSelection`, `metadata`, `libraries`, `remappings`, `debug`, and `stopAfter`. Unknown setting names are unsupported. Actual Hardhat 2.26.3 resolution supplies defaults and the verified actual official OZ config extender supplies storageLayout, including overrides. The entire effective config, including outputSelection, is compared, rather than projecting away unknown fields. No extender or resolver is rerun at closure.
12
+
13
+ HTTP fields are `chainId`, `from`, `gas`, `gasPrice`, `gasMultiplier`, `url`, `timeout`, `httpHeaders`, and `accounts`. Hardhat supplies actual pinned defaults (including localhost's distinct timeout). `gas`/`gasPrice` accept `auto` or a nonnegative safe integer. The v1 numeric adapter supports safe integers only; fractional gas multipliers are explicitly unsupported. Zero is retained where supported; chainId, blockGasLimit and gasMultiplier must be positive.
14
+
15
+ The local hardhat runner has a separate full policy. Supported fields are Hardhat 2.26.3's chainId/from/gas/gasPrice/gasMultiplier, hardfork, blockGasLimit, minGasPrice, initialBaseFeePerGas, mining (auto/interval/mempool order), accounts, failure flags, contract-size flag, timestamp flag, initialDate, loggingEnabled, forking, coinbase, chains/hardforkHistory, enableTransientStorage and enableRip7212. Unsupported fields and values are rejected; defaults come from the pinned installed resolver. Maps and bigint have explicit portable representations. The entire actual runner is checked even when the selected HTTP policy differs. An omitted initialDate is captured privately by bootstrap and checked at open/closure, while evidence records `startup-observation`. An explicitly configured date stays stable evidence. Fork URLs/headers and temporary endpoint ports remain private evaluated observations; their literal/env definitions and configured enabled/blockNumber policy are bound. This adapter currently requires any fork setup to correspond to the finite source definition. A future C-owned injection needs an owned association; arbitrary post-load runner mutation is rejected.
16
+
17
+ ## Capabilities and provenance
18
+
19
+ URLs, private keys, mnemonic, passphrase, and header names/values are never serialized. Literal definitions use `sha256("gate-delivery-secret-definition@1\\0" + literal)`; environment descriptors retain the variable name; fallback trees retain the exact `||` or `??` operator. Dot and bracket env access are supported. Accounts distinguish omitted/remote, empty, key arrays and HD policies. Public HD policy contains derivation settings, not mnemonic/passphrase. The selected HTTP capability must be ready. Unused generated networks with empty fallback RPCs do not need secrets. Environment rotation across sessions preserves definition identity; changing capabilities inside an open session invalidates that session. Actual signer/operator validation stays a separate boundary.
20
+
21
+ Config and marker projections/digests use captured bytes. `.gate-template.json` is generation provenance, not a requirement that current files equal initial ownership hashes; later network edits and plugin insertion are supported. Marker input values, raw config, lock source URLs and host paths are not portable evidence. Boundary errors are sanitized and contain no nested I/O or parser diagnostics.
22
+
23
+ ## Runtime association
24
+
25
+ The running installed GateTool directory must match the project's resolved configuration, bootstrap and workflow entries. Declared runtime version and digest are checked by recomputing the exact existing `write-runtime-package.mjs` JS/CJS algorithm. Separately, `regular-package-payload@1` binds the entire actual package payload (metadata/exports, boundary JSON, assets, declarations, runtime source, codec and code), excluding nested `node_modules`. This external evidence avoids a self-referential package manifest. Regular confined files only; links/nonregular files and outside-project package resolution are rejected.
26
+
27
+ Dependency closure is separate from GateTool payload. It reuses CompilerFiles' actual npm lock provenance, full regular-file payload and reviewed compiler/dependency pins unchanged. GateTool exemption is by the actual owned location, never metadata.name. Previously loaded CJS dependencies are recovered from actual cache child associations and literal requests. Initial computed cross-package requests must have a reconstructible logical package request resolving to that same child, otherwise the adapter rejects them. A private resolver observer records actual later issuer/request/result edges. A separate native-load guard rejects project runtime evaluation outside installed packages (except the exact owned Hardhat config-loading edge) and invalidates the owner even if the caller catches that rejection. Resolve-only lookups remain available to the existing bounded custom-module loader, whose evaluations retain their own byte-bound closure. Closure includes late modules and resolves recorded edges with a fresh positive path cache to reject a nearer dependency introduced after load. ESM compiler toolchain evidence remains with the existing compiler adapter; this contributor does not claim to replace its ESM/WASM observations or the bounded custom-module closure.
28
+
29
+ The actual staged codec loader verifies the existing provenance pin and source commit `2d729b6f7b4400cadbc0c53cb94a717673657de5`. Its owned observation binds the loaded `index.cjs`, `index.d.cts`, `provenance.json` and module-cache association and rereads them at closure. Caller codec versions cannot substitute for this observation.
@@ -0,0 +1,100 @@
1
+ # CREATE2 miner
2
+
3
+ The standalone `gate-evm-tools/create2-miner` API and `gate-tool miner` command prepare and verify vanity CREATE2 salts locally. They require **ethers v6** and Node.js >=22.13.0. The package's broader peer range also supports ethers v5 for legacy consumers, but this runtime entry point uses v6 APIs. No Hardhat runtime, RPC connection, signer, private key or deployment database is needed. Mining does not execute deployment, select/freeze delivery parameters, or change GateFlow's existing miner UI or call paths.
4
+
5
+ ## API
6
+
7
+ Both CommonJS and ESM named imports are supported:
8
+
9
+ ```js
10
+ const { normalizeCreate2MinerRequest, mineCreate2 } = require('gate-evm-tools/create2-miner');
11
+ // import { normalizeCreate2MinerRequest, mineCreate2 } from 'gate-evm-tools/create2-miner';
12
+
13
+ const request = normalizeCreate2MinerRequest({
14
+ factory: '0x0000000000000000000000000000000000000000',
15
+ caller: '0x0000000000000000000000000000000000000000',
16
+ initCodeHash: '0xbc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a',
17
+ leadingZeroBytes: 1,
18
+ backend: 'cpu',
19
+ });
20
+ const result = await mineCreate2(request, {
21
+ timeoutMs: 300000,
22
+ onProgress: ({ status, elapsedMs }) => console.error(status, elapsedMs),
23
+ });
24
+ console.log(result.results[0].salt, result.results[0].address);
25
+ ```
26
+
27
+ A real verified response excerpt from the packaged arm64 CPU binary using the request above is shown below. Other identity and telemetry fields are omitted here; salts vary between runs.
28
+
29
+ ```json
30
+ {
31
+ "scheme": "evm",
32
+ "backend": "cpu",
33
+ "status": "found",
34
+ "results": [
35
+ {
36
+ "salt": "0x00000000000000000000000000000000000000002f52c1140000000000000075",
37
+ "address": "0x00e5e275f3876045b18be60f7c7a24eaa5032ac2"
38
+ }
39
+ ]
40
+ }
41
+ ```
42
+
43
+ The exports are:
44
+
45
+ - `normalizeCreate2MinerRequest(input: unknown): NormalizedCreate2MinerRequest` validates unknown JSON, lowercases hex and fills defaults.
46
+ - `create2MinerRequestFromArtifact({scheme?, artifact, args, factory, caller, leadingZeroBytes?, leadingPattern?, targetCount?, backend?})` encodes constructor arguments through the existing workflow `canonicalCreate2Hashes`. EVM requires `hh-sol-artifact-1`; EraVM requires `hh-zksolc-artifact-1`. Bytecode must be non-empty, linked and byte-aligned; EraVM bytecode must also satisfy its word-length rules. `args` must be an array.
47
+ - `resolveCreate2MinerBinary({binaryPath?}?)` returns a checked absolute executable path.
48
+ - `verifyCreate2MinerResponse(request, response)` independently validates native output and returns the normalized response.
49
+ - `mineCreate2(request, {binaryPath?, signal?, timeoutMs?, onProgress?}?)` spawns, waits for exit, verifies, and returns a `Promise<Create2MinerResponse>`.
50
+
51
+ `Create2MinerRequest` is the typed caller input with optional default controls; `NormalizedCreate2MinerRequest` makes the defaults required. `Create2MinerResult`, `Create2MinerResponse` (also named `Create2MinerRunResult`), option, backend and progress types are also exported. Responses carry normalized request identity, the actual concrete backend (`cpu`, `metal`, or `opencl`), and verified results.
52
+
53
+ ## Request and schemes
54
+
55
+ | Field | Rules |
56
+ | --- | --- |
57
+ | `scheme` | Defaults to `evm`; alternatively `zksync-eravm` |
58
+ | `factory` | Required 20-byte `0x` hex address, the CREATE2 deployer |
59
+ | `caller` | Required 20-byte `0x` hex address; the **first 20 salt bytes**, not necessarily the transaction sender |
60
+ | `initCodeHash` | EVM only; required 32-byte hash of init code including constructor arguments |
61
+ | `bytecodeHash`, `constructorInputHash` | EraVM only; required 32-byte hashes of zkSync bytecode and ABI-encoded constructor input respectively |
62
+ | `leadingZeroBytes` | Integer 0–20, default 0; the number of leading **bytes** matching `leadingPattern` |
63
+ | `leadingPattern` | Integer 0–255, default 0 |
64
+ | `targetCount` | Integer 1–100, default 1 |
65
+ | `backend` | `auto` (default), `cpu`, `gpu`, `metal`, or `opencl` |
66
+
67
+ Unknown fields, foreign scheme hashes, missing addresses, and invalid controls are rejected before spawning. `randomPrefix`, `startNonce` and the native `saltPrefix` alias are not exposed in this first API. The native miner chooses the four random salt bytes and eight nonce bytes. CPU supports any pattern byte. GPU requests (including `auto`) require a repeated-nibble pattern: `0x00`, `0x11`, …, `0xff`. The constraint applies even when `leadingZeroBytes` is zero. `auto` and `gpu` request Metal on macOS and OpenCL elsewhere; there is no silent CPU fallback. `metal` is rejected outside macOS. OpenCL requires a compatible build and available OpenCL runtime/device.
68
+
69
+ Verification does not trust `status: found`. It checks explicit batch/result identity, hash separation, exact result count, unique salts and addresses, salt caller/random/nonce fields, and the address pattern. It recalculates EVM CREATE2 against the requested factory and init-code hash, or EraVM `keccak256(keccak256("zksyncCreate2") || zeroPad(factory,32) || salt || bytecodeHash || constructorInputHash)[12:]`. Echoed hashes or addresses cannot change the requested identity.
70
+
71
+ Native metrics must be finite and nonnegative, but remain telemetry rather than cryptographic evidence. GPU `attempts: 0` and `hashRate: 0` mean unavailable metrics. Only `{status: 'running', elapsedMs}` is sent to `onProgress`; the binary offers no live attempt count or hash rate.
72
+
73
+ ## Binaries and lifecycle
74
+
75
+ Resolution order is explicit `binaryPath`, then `GATE_TOOL_CREATE2_MINER_BIN`, then this package's `resources/create2/<platform>-<arch>/smartflow_miner`. Explicit and environment paths are user-trusted overrides; relative override paths resolve against the caller's current directory. An invalid override fails without fallback. Bundled resource lookup is relative to the installed package, never the current directory or an application checkout. No legacy application environment variables, downloads or postinstall step are used.
76
+
77
+ macOS arm64 and x64 are bundled with MIT license, hash pins and an honest provenance manifest. The existing binary build revision is unknown; the Rust source reference is not asserted to be its build revision. Linux and Windows require a compatible native `smartflow_miner` build supplied through an override. Runtime checks executable permissions and bundled SHA-256 pins before invocation. Runtime acceptance on an arm64 host covers arm64 execution; x64 hashes/permissions do not constitute an x64 execution test.
78
+
79
+ `timeoutMs` defaults to **300000 (5 minutes)** and must be an integer from 1 through 2147483647. Raise it for difficult vanity searches, especially several leading bytes; no finite timeout guarantees a match. An `AbortSignal` can cancel a run. A pre-aborted signal never spawns. Abort, timeout, progress callback errors and output limits terminate the child with SIGTERM then SIGKILL after a 250 ms grace period. The promise settles after the child is reaped, and all timers/listeners are cleared. Runs keep independent state and snapshot their normalized request before spawning.
80
+
81
+ The process receives JSON on stdin without a shell. Stdout is limited to 1 MiB and stderr to 64 KiB; excess output fails the run. Spawn, stdin, nonzero exit, malformed JSON and verification errors reject rather than returning partial results.
82
+
83
+ ## CLI
84
+
85
+ ```sh
86
+ gate-tool miner --request request.json --output result.json
87
+ gate-tool miner --request - --binary /absolute/path/smartflow_miner --timeout-ms 600000 < request.json
88
+ gate-tool miner --help
89
+ ```
90
+
91
+ The request file contains the JSON shape above. Successful output is verified JSON on stdout; diagnostics go to stderr. `--output` additionally writes that JSON through a temporary file and atomic rename after verification. Mining, verification, and output errors before the atomic rename preserve existing output; cancellation before that commit also preserves it. The request file cannot also be the output (including symlink/hardlink aliases). SIGINT and SIGTERM cancel the run and produce a nonzero exit without success JSON, including during asynchronous output work. If a signal arrives during or after the atomic rename, the verified result may already have been saved; that commit cannot be rolled back. Stdin requests are limited to 1 MiB. `gate-tool miner` is routed before importing the legacy CLI.
92
+
93
+ ## Focused verification
94
+
95
+ ```sh
96
+ npm run build
97
+ node --test test/create2-miner*.test.mjs test/delivery-source-package.test.mjs test/runtime-version.test.mjs
98
+ ```
99
+
100
+ Tests use EIP-1014 example 0 and the installed zkSync SDK as independent address references, hostile child-process fixtures, an independently extracted npm package, CJS/ESM and TypeScript consumers, and actual CPU native execution for both schemes on a supported macOS host. GPU smoke is a separate hardware-dependent check.
@@ -0,0 +1,27 @@
1
+ # Owned aggregate input qualification
2
+
3
+ `gate-evm-tools/delivery-aggregate` exports `collectDeliveryAggregate`. It reads the actual core project's handoff and `scripts/tasks/<deploymentId>/{task.yaml,manifest.yaml,parameters.schema.json,parameters.yaml,parameters.provenance.json}`. Run it from the original installed project root.
4
+
5
+ ```ts
6
+ const aggregate = await collectDeliveryAggregate({
7
+ workspaceRoot: process.cwd(),
8
+ projectRoot: '.',
9
+ selection: 'all', // development | release | all
10
+ targets: [
11
+ { request: developmentRequest, executionId: 'vault-development-1' },
12
+ { request: qualificationRequest, executionId: 'vault-production-1' },
13
+ ],
14
+ });
15
+ ```
16
+
17
+ Every request is the existing explicit `DeliveryRequest`, including its actual sourceRef, devSigner or operator, and requested pinned read-only fork. Requests must match the ordered selected target set; every executionId is distinct. Development selection requires only development values. Release/all selection requires every selected production envelope. The single ordered manifest applies to each selected target. Callers cannot replace it with steps, target objects, parameter values, snapshots or hashes.
18
+
19
+ The parent validates each request's actual handoff invocation and unions canonical upstream definitions. It runs each bounded computed producer once per selected target and retains its opaque input owner through sealing. Children receive frozen verified values over their owned channels and never evaluate producers.
20
+
21
+ Each target stages once in a fresh fixed package worker, using the original project, config, sources, module resolution, artifacts and cache paths. A separate actual source HRE serves the workflow's reviewed read-only RPC allowlist. The owned fork config extender runs before HRE construction; manifest context is established before OpenZeppelin loads. Configuration evidence preserves the original runner policy while private baseline checks cover the injected fork capability.
22
+
23
+ Earlier workers and compiler collectors remain live while later targets compile. Selected artifact, debug and build-info bytes must survive unchanged; growing whole validation/Solidity caches are not immutable inputs. After all stages, business ports close, every actual contribution is reread, conflicting files reject, and the parent computes one stable input union. Runtime observations and randomized exact compiler evidence remain outside that hash. Every target custom snapshot is included; native-only plans retain `customInputClosure: null`.
24
+
25
+ Binding is private and one-shot. It changes only input/plan/audit hash bindings; transaction IDs/order/bytes, execution-derived values, preparations, verification, references and the captured fork interval remain byte-equivalent. No evaluation, preparation, producer call or send occurs during binding. Any failed target invalidates the whole aggregate. No collection is returned until every target and source child exits successfully and is reaped. IPC session/epoch/request IDs correlate the actual process/channel; they are not hostile-process attestation.
26
+
27
+ Discovery does not have independently closed current inputs before execution, so it rejects `expected` requests before any producers or workers run. Existing known-final `collectDeliveryPlan` replay retains its original expected identity, transaction, derivation, preparation and plan checks. Discovery cannot create pending-reuse authority. This API qualifies inputs and local simulation collections; it does not establish business acceptance, finality, a complete production release graph, release readiness or broadcast authority.