gate-evm-tools 1.0.27 → 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 (641) 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/hardhatAdapters.d.ts +2 -0
  107. package/dist-runtime/config/hardhatAdapters.js +8 -0
  108. package/dist-runtime/config/hardhatAdapters.js.map +1 -1
  109. package/dist-runtime/config/networks.d.ts +25 -1
  110. package/dist-runtime/config/networks.js +8 -2
  111. package/dist-runtime/config/networks.js.map +1 -1
  112. package/dist-runtime/config/openzeppelin.d.ts +2 -1
  113. package/dist-runtime/config/openzeppelin.js +2 -19
  114. package/dist-runtime/config/openzeppelin.js.map +1 -1
  115. package/dist-runtime/delivery/abi.d.ts +14 -0
  116. package/dist-runtime/delivery/abi.js +161 -0
  117. package/dist-runtime/delivery/abi.js.map +1 -0
  118. package/dist-runtime/delivery/aggregate-bootstrap.d.ts +12 -0
  119. package/dist-runtime/delivery/aggregate-bootstrap.js +40 -0
  120. package/dist-runtime/delivery/aggregate-bootstrap.js.map +1 -0
  121. package/dist-runtime/delivery/aggregate-channel.d.ts +28 -0
  122. package/dist-runtime/delivery/aggregate-channel.js +155 -0
  123. package/dist-runtime/delivery/aggregate-channel.js.map +1 -0
  124. package/dist-runtime/delivery/aggregate-inputs.d.ts +168 -0
  125. package/dist-runtime/delivery/aggregate-inputs.js +57 -0
  126. package/dist-runtime/delivery/aggregate-inputs.js.map +1 -0
  127. package/dist-runtime/delivery/aggregate-source.d.ts +25 -0
  128. package/dist-runtime/delivery/aggregate-source.js +79 -0
  129. package/dist-runtime/delivery/aggregate-source.js.map +1 -0
  130. package/dist-runtime/delivery/aggregate-worker.d.ts +1 -0
  131. package/dist-runtime/delivery/aggregate-worker.js +191 -0
  132. package/dist-runtime/delivery/aggregate-worker.js.map +1 -0
  133. package/dist-runtime/delivery/aggregate.d.ts +51 -0
  134. package/dist-runtime/delivery/aggregate.js +190 -0
  135. package/dist-runtime/delivery/aggregate.js.map +1 -0
  136. package/dist-runtime/delivery/bindings.d.ts +21 -0
  137. package/dist-runtime/delivery/bindings.js +53 -0
  138. package/dist-runtime/delivery/bindings.js.map +1 -0
  139. package/dist-runtime/delivery/check-code.d.ts +19 -0
  140. package/dist-runtime/delivery/check-code.js +63 -0
  141. package/dist-runtime/delivery/check-code.js.map +1 -0
  142. package/dist-runtime/delivery/closure-format.d.ts +77 -0
  143. package/dist-runtime/delivery/closure-format.js +225 -0
  144. package/dist-runtime/delivery/closure-format.js.map +1 -0
  145. package/dist-runtime/delivery/codec-pin.d.ts +2 -0
  146. package/dist-runtime/delivery/codec-pin.js +7 -0
  147. package/dist-runtime/delivery/codec-pin.js.map +1 -0
  148. package/dist-runtime/delivery/codec.d.ts +19 -0
  149. package/dist-runtime/delivery/codec.js +73 -0
  150. package/dist-runtime/delivery/codec.js.map +1 -0
  151. package/dist-runtime/delivery/compiler-dependency-pins.d.ts +7 -0
  152. package/dist-runtime/delivery/compiler-dependency-pins.js +1689 -0
  153. package/dist-runtime/delivery/compiler-dependency-pins.js.map +1 -0
  154. package/dist-runtime/delivery/compiler-files.d.ts +40 -0
  155. package/dist-runtime/delivery/compiler-files.js +220 -0
  156. package/dist-runtime/delivery/compiler-files.js.map +1 -0
  157. package/dist-runtime/delivery/compiler-io.d.ts +2 -0
  158. package/dist-runtime/delivery/compiler-io.js +13 -0
  159. package/dist-runtime/delivery/compiler-io.js.map +1 -0
  160. package/dist-runtime/delivery/compiler-pins.d.ts +10 -0
  161. package/dist-runtime/delivery/compiler-pins.js +147 -0
  162. package/dist-runtime/delivery/compiler-pins.js.map +1 -0
  163. package/dist-runtime/delivery/compiler.d.ts +188 -0
  164. package/dist-runtime/delivery/compiler.js +850 -0
  165. package/dist-runtime/delivery/compiler.js.map +1 -0
  166. package/dist-runtime/delivery/config.d.ts +48 -0
  167. package/dist-runtime/delivery/config.js +99 -0
  168. package/dist-runtime/delivery/config.js.map +1 -0
  169. package/dist-runtime/delivery/configuration-definition.d.ts +22 -0
  170. package/dist-runtime/delivery/configuration-definition.js +316 -0
  171. package/dist-runtime/delivery/configuration-definition.js.map +1 -0
  172. package/dist-runtime/delivery/configuration-hre.d.ts +17 -0
  173. package/dist-runtime/delivery/configuration-hre.js +198 -0
  174. package/dist-runtime/delivery/configuration-hre.js.map +1 -0
  175. package/dist-runtime/delivery/configuration-runtime.d.ts +36 -0
  176. package/dist-runtime/delivery/configuration-runtime.js +248 -0
  177. package/dist-runtime/delivery/configuration-runtime.js.map +1 -0
  178. package/dist-runtime/delivery/configuration.d.ts +35 -0
  179. package/dist-runtime/delivery/configuration.js +83 -0
  180. package/dist-runtime/delivery/configuration.js.map +1 -0
  181. package/dist-runtime/delivery/create2.d.ts +3 -0
  182. package/dist-runtime/delivery/create2.js +48 -0
  183. package/dist-runtime/delivery/create2.js.map +1 -0
  184. package/dist-runtime/delivery/custom-closure.d.ts +27 -0
  185. package/dist-runtime/delivery/custom-closure.js +818 -0
  186. package/dist-runtime/delivery/custom-closure.js.map +1 -0
  187. package/dist-runtime/delivery/custom-format.d.ts +35 -0
  188. package/dist-runtime/delivery/custom-format.js +383 -0
  189. package/dist-runtime/delivery/custom-format.js.map +1 -0
  190. package/dist-runtime/delivery/custom.d.ts +32 -0
  191. package/dist-runtime/delivery/custom.js +158 -0
  192. package/dist-runtime/delivery/custom.js.map +1 -0
  193. package/dist-runtime/delivery/data.d.ts +7 -0
  194. package/dist-runtime/delivery/data.js +86 -0
  195. package/dist-runtime/delivery/data.js.map +1 -0
  196. package/dist-runtime/delivery/development.d.ts +91 -0
  197. package/dist-runtime/delivery/development.js +395 -0
  198. package/dist-runtime/delivery/development.js.map +1 -0
  199. package/dist-runtime/delivery/engine.d.ts +9 -0
  200. package/dist-runtime/delivery/engine.js +23 -0
  201. package/dist-runtime/delivery/engine.js.map +1 -0
  202. package/dist-runtime/delivery/eoa-observation.d.ts +43 -0
  203. package/dist-runtime/delivery/eoa-observation.js +145 -0
  204. package/dist-runtime/delivery/eoa-observation.js.map +1 -0
  205. package/dist-runtime/delivery/eoa-signed.d.ts +2 -0
  206. package/dist-runtime/delivery/eoa-signed.js +74 -0
  207. package/dist-runtime/delivery/eoa-signed.js.map +1 -0
  208. package/dist-runtime/delivery/eoa.d.ts +81 -0
  209. package/dist-runtime/delivery/eoa.js +274 -0
  210. package/dist-runtime/delivery/eoa.js.map +1 -0
  211. package/dist-runtime/delivery/execution-db.d.ts +20 -0
  212. package/dist-runtime/delivery/execution-db.js +153 -0
  213. package/dist-runtime/delivery/execution-db.js.map +1 -0
  214. package/dist-runtime/delivery/execution-files.d.ts +9 -0
  215. package/dist-runtime/delivery/execution-files.js +138 -0
  216. package/dist-runtime/delivery/execution-files.js.map +1 -0
  217. package/dist-runtime/delivery/execution-model.d.ts +56 -0
  218. package/dist-runtime/delivery/execution-model.js +66 -0
  219. package/dist-runtime/delivery/execution-model.js.map +1 -0
  220. package/dist-runtime/delivery/execution-store.d.ts +48 -0
  221. package/dist-runtime/delivery/execution-store.js +361 -0
  222. package/dist-runtime/delivery/execution-store.js.map +1 -0
  223. package/dist-runtime/delivery/existing-code.d.ts +37 -0
  224. package/dist-runtime/delivery/existing-code.js +75 -0
  225. package/dist-runtime/delivery/existing-code.js.map +1 -0
  226. package/dist-runtime/delivery/export.d.ts +51 -0
  227. package/dist-runtime/delivery/export.js +69 -0
  228. package/dist-runtime/delivery/export.js.map +1 -0
  229. package/dist-runtime/delivery/forkAudit.d.ts +119 -0
  230. package/dist-runtime/delivery/forkAudit.js +473 -0
  231. package/dist-runtime/delivery/forkAudit.js.map +1 -0
  232. package/dist-runtime/delivery/hardhat.d.ts +3 -0
  233. package/dist-runtime/delivery/hardhat.js +45 -0
  234. package/dist-runtime/delivery/hardhat.js.map +1 -0
  235. package/dist-runtime/delivery/history-registration.d.ts +2 -0
  236. package/dist-runtime/delivery/history-registration.js +17 -0
  237. package/dist-runtime/delivery/history-registration.js.map +1 -0
  238. package/dist-runtime/delivery/identities.d.ts +22 -0
  239. package/dist-runtime/delivery/identities.js +97 -0
  240. package/dist-runtime/delivery/identities.js.map +1 -0
  241. package/dist-runtime/delivery/input-files.d.ts +5 -0
  242. package/dist-runtime/delivery/input-files.js +70 -0
  243. package/dist-runtime/delivery/input-files.js.map +1 -0
  244. package/dist-runtime/delivery/inputs.d.ts +62 -0
  245. package/dist-runtime/delivery/inputs.js +187 -0
  246. package/dist-runtime/delivery/inputs.js.map +1 -0
  247. package/dist-runtime/delivery/journal.d.ts +35 -0
  248. package/dist-runtime/delivery/journal.js +270 -0
  249. package/dist-runtime/delivery/journal.js.map +1 -0
  250. package/dist-runtime/delivery/manifest.d.ts +14 -0
  251. package/dist-runtime/delivery/manifest.js +68 -0
  252. package/dist-runtime/delivery/manifest.js.map +1 -0
  253. package/dist-runtime/delivery/materialization.d.ts +20 -0
  254. package/dist-runtime/delivery/materialization.js +138 -0
  255. package/dist-runtime/delivery/materialization.js.map +1 -0
  256. package/dist-runtime/delivery/observations.d.ts +31 -0
  257. package/dist-runtime/delivery/observations.js +38 -0
  258. package/dist-runtime/delivery/observations.js.map +1 -0
  259. package/dist-runtime/delivery/parameters.d.ts +53 -0
  260. package/dist-runtime/delivery/parameters.js +257 -0
  261. package/dist-runtime/delivery/parameters.js.map +1 -0
  262. package/dist-runtime/delivery/pending.d.ts +70 -0
  263. package/dist-runtime/delivery/pending.js +99 -0
  264. package/dist-runtime/delivery/pending.js.map +1 -0
  265. package/dist-runtime/delivery/plan.d.ts +50 -0
  266. package/dist-runtime/delivery/plan.js +209 -0
  267. package/dist-runtime/delivery/plan.js.map +1 -0
  268. package/dist-runtime/delivery/planning.d.ts +81 -0
  269. package/dist-runtime/delivery/planning.js +302 -0
  270. package/dist-runtime/delivery/planning.js.map +1 -0
  271. package/dist-runtime/delivery/policy.d.ts +4 -0
  272. package/dist-runtime/delivery/policy.js +9 -0
  273. package/dist-runtime/delivery/policy.js.map +1 -0
  274. package/dist-runtime/delivery/preparation.d.ts +6 -0
  275. package/dist-runtime/delivery/preparation.js +158 -0
  276. package/dist-runtime/delivery/preparation.js.map +1 -0
  277. package/dist-runtime/delivery/production-environment.d.ts +2 -0
  278. package/dist-runtime/delivery/production-environment.js +12 -0
  279. package/dist-runtime/delivery/production-environment.js.map +1 -0
  280. package/dist-runtime/delivery/production-finalization.d.ts +86 -0
  281. package/dist-runtime/delivery/production-finalization.js +278 -0
  282. package/dist-runtime/delivery/production-finalization.js.map +1 -0
  283. package/dist-runtime/delivery/production.d.ts +461 -0
  284. package/dist-runtime/delivery/production.js +396 -0
  285. package/dist-runtime/delivery/production.js.map +1 -0
  286. package/dist-runtime/delivery/project-files.d.ts +8 -0
  287. package/dist-runtime/delivery/project-files.js +82 -0
  288. package/dist-runtime/delivery/project-files.js.map +1 -0
  289. package/dist-runtime/delivery/project.d.ts +15 -0
  290. package/dist-runtime/delivery/project.js +157 -0
  291. package/dist-runtime/delivery/project.js.map +1 -0
  292. package/dist-runtime/delivery/protocol.d.ts +49 -0
  293. package/dist-runtime/delivery/protocol.js +112 -0
  294. package/dist-runtime/delivery/protocol.js.map +1 -0
  295. package/dist-runtime/delivery/references.d.ts +19 -0
  296. package/dist-runtime/delivery/references.js +84 -0
  297. package/dist-runtime/delivery/references.js.map +1 -0
  298. package/dist-runtime/delivery/release-graph.d.ts +93 -0
  299. package/dist-runtime/delivery/release-graph.js +106 -0
  300. package/dist-runtime/delivery/release-graph.js.map +1 -0
  301. package/dist-runtime/delivery/release-history-capture.d.ts +7 -0
  302. package/dist-runtime/delivery/release-history-capture.js +76 -0
  303. package/dist-runtime/delivery/release-history-capture.js.map +1 -0
  304. package/dist-runtime/delivery/release-history.d.ts +43 -0
  305. package/dist-runtime/delivery/release-history.js +246 -0
  306. package/dist-runtime/delivery/release-history.js.map +1 -0
  307. package/dist-runtime/delivery/release.d.ts +172 -0
  308. package/dist-runtime/delivery/release.js +209 -0
  309. package/dist-runtime/delivery/release.js.map +1 -0
  310. package/dist-runtime/delivery/safe-manifest.d.ts +9 -0
  311. package/dist-runtime/delivery/safe-manifest.js +13 -0
  312. package/dist-runtime/delivery/safe-manifest.js.map +1 -0
  313. package/dist-runtime/delivery/safe-observation.d.ts +30 -0
  314. package/dist-runtime/delivery/safe-observation.js +487 -0
  315. package/dist-runtime/delivery/safe-observation.js.map +1 -0
  316. package/dist-runtime/delivery/safe-prepare.d.ts +13 -0
  317. package/dist-runtime/delivery/safe-prepare.js +81 -0
  318. package/dist-runtime/delivery/safe-prepare.js.map +1 -0
  319. package/dist-runtime/delivery/safe.d.ts +91 -0
  320. package/dist-runtime/delivery/safe.js +243 -0
  321. package/dist-runtime/delivery/safe.js.map +1 -0
  322. package/dist-runtime/delivery/same-fork-baseline.d.ts +8 -0
  323. package/dist-runtime/delivery/same-fork-baseline.js +20 -0
  324. package/dist-runtime/delivery/same-fork-baseline.js.map +1 -0
  325. package/dist-runtime/delivery/setup.d.ts +31 -0
  326. package/dist-runtime/delivery/setup.js +215 -0
  327. package/dist-runtime/delivery/setup.js.map +1 -0
  328. package/dist-runtime/delivery/source.d.ts +41 -0
  329. package/dist-runtime/delivery/source.js +137 -0
  330. package/dist-runtime/delivery/source.js.map +1 -0
  331. package/dist-runtime/delivery/target-fields.d.ts +2 -0
  332. package/dist-runtime/delivery/target-fields.js +11 -0
  333. package/dist-runtime/delivery/target-fields.js.map +1 -0
  334. package/dist-runtime/delivery/validation.d.ts +9 -0
  335. package/dist-runtime/delivery/validation.js +150 -0
  336. package/dist-runtime/delivery/validation.js.map +1 -0
  337. package/dist-runtime/delivery/verification.d.ts +16 -0
  338. package/dist-runtime/delivery/verification.js +65 -0
  339. package/dist-runtime/delivery/verification.js.map +1 -0
  340. package/dist-runtime/migrate.js +1 -0
  341. package/dist-runtime/migrate.js.map +1 -1
  342. package/dist-runtime/miner/binary.d.ts +2 -0
  343. package/dist-runtime/miner/binary.js +54 -0
  344. package/dist-runtime/miner/binary.js.map +1 -0
  345. package/dist-runtime/miner/cli.d.ts +1 -0
  346. package/dist-runtime/miner/cli.js +131 -0
  347. package/dist-runtime/miner/cli.js.map +1 -0
  348. package/dist-runtime/miner/index.d.ts +5 -0
  349. package/dist-runtime/miner/index.js +13 -0
  350. package/dist-runtime/miner/index.js.map +1 -0
  351. package/dist-runtime/miner/request.d.ts +7 -0
  352. package/dist-runtime/miner/request.js +73 -0
  353. package/dist-runtime/miner/request.js.map +1 -0
  354. package/dist-runtime/miner/runner.d.ts +2 -0
  355. package/dist-runtime/miner/runner.js +131 -0
  356. package/dist-runtime/miner/runner.js.map +1 -0
  357. package/dist-runtime/miner/types.d.ts +89 -0
  358. package/dist-runtime/miner/types.js +3 -0
  359. package/dist-runtime/miner/types.js.map +1 -0
  360. package/dist-runtime/miner/verify.d.ts +2 -0
  361. package/dist-runtime/miner/verify.js +75 -0
  362. package/dist-runtime/miner/verify.js.map +1 -0
  363. package/dist-runtime/runtime-identity.json +2 -2
  364. package/dist-runtime/vendor/plan-codec/index.cjs +820 -0
  365. package/dist-runtime/vendor/plan-codec/index.d.cts +32 -0
  366. package/dist-runtime/vendor/plan-codec/provenance.json +24 -0
  367. package/dist-runtime/workflow/engine.d.ts +14 -0
  368. package/dist-runtime/workflow/engine.js +160 -0
  369. package/dist-runtime/workflow/engine.js.map +1 -0
  370. package/dist-runtime/workflow/lib/authority.d.ts +6 -3
  371. package/dist-runtime/workflow/lib/authority.js.map +1 -1
  372. package/dist-runtime/workflow/lib/calls.d.ts +1 -1
  373. package/dist-runtime/workflow/lib/calls.js +43 -34
  374. package/dist-runtime/workflow/lib/calls.js.map +1 -1
  375. package/dist-runtime/workflow/lib/canonicalData.d.ts +8 -0
  376. package/dist-runtime/workflow/lib/canonicalData.js +68 -0
  377. package/dist-runtime/workflow/lib/canonicalData.js.map +1 -0
  378. package/dist-runtime/workflow/lib/config.d.ts +3 -1
  379. package/dist-runtime/workflow/lib/config.js.map +1 -1
  380. package/dist-runtime/workflow/lib/context.d.ts +76 -0
  381. package/dist-runtime/workflow/lib/context.js +3 -0
  382. package/dist-runtime/workflow/lib/context.js.map +1 -0
  383. package/dist-runtime/workflow/lib/controlledMulticallAbi.d.ts +2 -0
  384. package/dist-runtime/workflow/lib/controlledMulticallAbi.js +10 -0
  385. package/dist-runtime/workflow/lib/controlledMulticallAbi.js.map +1 -0
  386. package/dist-runtime/workflow/lib/create2.d.ts +1 -1
  387. package/dist-runtime/workflow/lib/create2.js +9 -12
  388. package/dist-runtime/workflow/lib/create2.js.map +1 -1
  389. package/dist-runtime/workflow/lib/deployments.d.ts +5 -5
  390. package/dist-runtime/workflow/lib/deployments.js +5 -13
  391. package/dist-runtime/workflow/lib/deployments.js.map +1 -1
  392. package/dist-runtime/workflow/lib/evidencePorts.d.ts +55 -0
  393. package/dist-runtime/workflow/lib/evidencePorts.js +3 -0
  394. package/dist-runtime/workflow/lib/evidencePorts.js.map +1 -0
  395. package/dist-runtime/workflow/lib/executionPlan.d.ts +4 -42
  396. package/dist-runtime/workflow/lib/executionPlan.js +15 -210
  397. package/dist-runtime/workflow/lib/executionPlan.js.map +1 -1
  398. package/dist-runtime/workflow/lib/gateTool.d.ts +6 -2
  399. package/dist-runtime/workflow/lib/gateTool.js +20 -10
  400. package/dist-runtime/workflow/lib/gateTool.js.map +1 -1
  401. package/dist-runtime/workflow/lib/gateToolSync.d.ts +1 -1
  402. package/dist-runtime/workflow/lib/gateToolSync.js +3 -2
  403. package/dist-runtime/workflow/lib/gateToolSync.js.map +1 -1
  404. package/dist-runtime/workflow/lib/operationNames.d.ts +3 -0
  405. package/dist-runtime/workflow/lib/operationNames.js +34 -0
  406. package/dist-runtime/workflow/lib/operationNames.js.map +1 -0
  407. package/dist-runtime/workflow/lib/parameters.d.ts +1 -1
  408. package/dist-runtime/workflow/lib/parameters.js +9 -24
  409. package/dist-runtime/workflow/lib/parameters.js.map +1 -1
  410. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js +18 -52
  411. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js.map +1 -1
  412. package/dist-runtime/workflow/lib/pendingUupsBinding.d.ts +42 -0
  413. package/dist-runtime/workflow/lib/pendingUupsBinding.js +39 -0
  414. package/dist-runtime/workflow/lib/pendingUupsBinding.js.map +1 -0
  415. package/dist-runtime/workflow/lib/plan.d.ts +55 -0
  416. package/dist-runtime/workflow/lib/plan.js +324 -0
  417. package/dist-runtime/workflow/lib/plan.js.map +1 -0
  418. package/dist-runtime/workflow/lib/planCli.d.ts +14 -0
  419. package/dist-runtime/workflow/lib/planCli.js +279 -0
  420. package/dist-runtime/workflow/lib/planCli.js.map +1 -0
  421. package/dist-runtime/workflow/lib/preparationEvidence.d.ts +4 -0
  422. package/dist-runtime/workflow/lib/preparationEvidence.js +19 -0
  423. package/dist-runtime/workflow/lib/preparationEvidence.js.map +1 -0
  424. package/dist-runtime/workflow/lib/proxy.d.ts +3 -2
  425. package/dist-runtime/workflow/lib/proxy.js +3 -4
  426. package/dist-runtime/workflow/lib/proxy.js.map +1 -1
  427. package/dist-runtime/workflow/lib/runtime.d.ts +6 -0
  428. package/dist-runtime/workflow/lib/runtime.js +48 -0
  429. package/dist-runtime/workflow/lib/runtime.js.map +1 -0
  430. package/dist-runtime/workflow/lib/signer.d.ts +3 -2
  431. package/dist-runtime/workflow/lib/signer.js +18 -18
  432. package/dist-runtime/workflow/lib/signer.js.map +1 -1
  433. package/dist-runtime/workflow/lib/simulation.d.ts +13 -6
  434. package/dist-runtime/workflow/lib/simulation.js +39 -31
  435. package/dist-runtime/workflow/lib/simulation.js.map +1 -1
  436. package/dist-runtime/workflow/lib/state.js +3 -3
  437. package/dist-runtime/workflow/lib/state.js.map +1 -1
  438. package/dist-runtime/workflow/lib/staticValidation.d.ts +28 -0
  439. package/dist-runtime/workflow/lib/staticValidation.js +54 -10
  440. package/dist-runtime/workflow/lib/staticValidation.js.map +1 -1
  441. package/dist-runtime/workflow/lib/transactionPlanner.d.ts +62 -0
  442. package/dist-runtime/workflow/lib/transactionPlanner.js +258 -0
  443. package/dist-runtime/workflow/lib/transactionPlanner.js.map +1 -0
  444. package/dist-runtime/workflow/lib/typedValue.d.ts +3 -0
  445. package/dist-runtime/workflow/lib/typedValue.js +76 -0
  446. package/dist-runtime/workflow/lib/typedValue.js.map +1 -0
  447. package/dist-runtime/workflow/lib/validation.d.ts +23 -0
  448. package/dist-runtime/workflow/lib/validation.js +15 -0
  449. package/dist-runtime/workflow/lib/validation.js.map +1 -0
  450. package/dist-runtime/workflow/planAdd.d.ts +1 -0
  451. package/dist-runtime/workflow/planAdd.js +11 -0
  452. package/dist-runtime/workflow/planAdd.js.map +1 -0
  453. package/dist-runtime/workflow/planRead.d.ts +1 -0
  454. package/dist-runtime/workflow/planRead.js +11 -0
  455. package/dist-runtime/workflow/planRead.js.map +1 -0
  456. package/dist-runtime/workflow/planStatus.d.ts +1 -0
  457. package/dist-runtime/workflow/planStatus.js +11 -0
  458. package/dist-runtime/workflow/planStatus.js.map +1 -0
  459. package/dist-runtime/workflow/planWrite.d.ts +1 -0
  460. package/dist-runtime/workflow/planWrite.js +11 -0
  461. package/dist-runtime/workflow/planWrite.js.map +1 -0
  462. package/dist-runtime/workflow/run.d.ts +1 -40
  463. package/dist-runtime/workflow/run.js +68 -136
  464. package/dist-runtime/workflow/run.js.map +1 -1
  465. package/dist-runtime/workflow/staticValidate.js +8 -3
  466. package/dist-runtime/workflow/staticValidate.js.map +1 -1
  467. package/dist-runtime/workflow/steps/call.d.ts +1 -1
  468. package/dist-runtime/workflow/steps/check.d.ts +1 -1
  469. package/dist-runtime/workflow/steps/custom.d.ts +1 -1
  470. package/dist-runtime/workflow/steps/deploy.d.ts +1 -1
  471. package/dist-runtime/workflow/steps/deploy.js +58 -55
  472. package/dist-runtime/workflow/steps/deploy.js.map +1 -1
  473. package/dist-runtime/workflow/steps/upgrade.d.ts +1 -1
  474. package/dist-runtime/workflow/steps/upgrade.js +63 -41
  475. package/dist-runtime/workflow/steps/upgrade.js.map +1 -1
  476. package/dist-runtime/workflow/steps/view.d.ts +1 -1
  477. package/docs/compiler-qualification.md +32 -0
  478. package/docs/configuration-runtime-observation.md +29 -0
  479. package/docs/create2-miner.md +100 -0
  480. package/docs/delivery-aggregate.md +27 -0
  481. package/docs/delivery-custom-input-closure.md +51 -0
  482. package/docs/delivery-development.md +32 -0
  483. package/docs/delivery-eoa.md +46 -0
  484. package/docs/delivery-evm-manifest.md +20 -0
  485. package/docs/delivery-execution-store.md +33 -0
  486. package/docs/delivery-inputs.md +46 -0
  487. package/docs/delivery-parameters.md +65 -0
  488. package/docs/delivery-planning.md +140 -0
  489. package/docs/delivery-release.md +65 -0
  490. package/docs/delivery-safe.md +72 -0
  491. package/docs/delivery-setup.md +146 -0
  492. package/docs/delivery-source.md +67 -0
  493. package/docs/direct-package-acceptance.md +20 -0
  494. package/docs/external-infrastructure-acceptance.md +33 -0
  495. package/docs/network-runtime-acceptance.md +18 -0
  496. package/docs/plans/2026-09-09-workflow-extraction.md +16 -0
  497. package/docs/superpowers/plans/2026-07-22-manifest-bootstrap-transaction.md +50 -0
  498. package/docs/superpowers/plans/2026-07-22-manifest-review-remediation.md +49 -0
  499. package/docs/superpowers/plans/2026-08-17-custody-hardhat-signers.md +227 -0
  500. package/docs/superpowers/plans/2026-09-09-remove-template-infrastructure-contracts.md +11 -0
  501. package/docs/superpowers/plans/2026-09-24-scheme-aware-static-validation.md +193 -0
  502. package/docs/superpowers/plans/2026-10-28-create2-miner.md +82 -0
  503. package/docs/workflow-reference.md +1181 -0
  504. package/docs/workflow-runtime-acceptance.md +17 -0
  505. package/docs/workflow-runtime.md +56 -0
  506. package/package.json +134 -9
  507. package/resources/create2/LICENSE +21 -0
  508. package/resources/create2/README.md +9 -0
  509. package/resources/create2/darwin-arm64/smartflow_miner +0 -0
  510. package/resources/create2/darwin-x64/smartflow_miner +0 -0
  511. package/resources/create2/manifest.json +27 -0
  512. package/runtime/config/hardhatAdapters.ts +8 -0
  513. package/runtime/config/networks.ts +20 -11
  514. package/runtime/config/openzeppelin.ts +3 -21
  515. package/runtime/delivery/abi.ts +225 -0
  516. package/runtime/delivery/aggregate-bootstrap.ts +29 -0
  517. package/runtime/delivery/aggregate-channel.ts +85 -0
  518. package/runtime/delivery/aggregate-inputs.ts +39 -0
  519. package/runtime/delivery/aggregate-source.ts +53 -0
  520. package/runtime/delivery/aggregate-worker.ts +133 -0
  521. package/runtime/delivery/aggregate.ts +139 -0
  522. package/runtime/delivery/bindings.ts +37 -0
  523. package/runtime/delivery/check-code.ts +38 -0
  524. package/runtime/delivery/closure-format.ts +350 -0
  525. package/runtime/delivery/codec-pin.ts +3 -0
  526. package/runtime/delivery/codec.ts +50 -0
  527. package/runtime/delivery/compiler-dependency-pins.ts +1685 -0
  528. package/runtime/delivery/compiler-files.ts +179 -0
  529. package/runtime/delivery/compiler-io.ts +10 -0
  530. package/runtime/delivery/compiler-pins.ts +143 -0
  531. package/runtime/delivery/compiler.ts +700 -0
  532. package/runtime/delivery/config.ts +93 -0
  533. package/runtime/delivery/configuration-definition.ts +133 -0
  534. package/runtime/delivery/configuration-hre.ts +130 -0
  535. package/runtime/delivery/configuration-runtime.ts +163 -0
  536. package/runtime/delivery/configuration.ts +64 -0
  537. package/runtime/delivery/create2.ts +57 -0
  538. package/runtime/delivery/custom-closure.ts +993 -0
  539. package/runtime/delivery/custom-format.ts +464 -0
  540. package/runtime/delivery/custom.ts +219 -0
  541. package/runtime/delivery/data.ts +94 -0
  542. package/runtime/delivery/development.ts +262 -0
  543. package/runtime/delivery/engine.ts +29 -0
  544. package/runtime/delivery/eoa-observation.ts +106 -0
  545. package/runtime/delivery/eoa-signed.ts +55 -0
  546. package/runtime/delivery/eoa.ts +288 -0
  547. package/runtime/delivery/execution-db.ts +131 -0
  548. package/runtime/delivery/execution-files.ts +135 -0
  549. package/runtime/delivery/execution-model.ts +102 -0
  550. package/runtime/delivery/execution-store.ts +411 -0
  551. package/runtime/delivery/existing-code.ts +44 -0
  552. package/runtime/delivery/export.ts +99 -0
  553. package/runtime/delivery/forkAudit.ts +620 -0
  554. package/runtime/delivery/hardhat.ts +38 -0
  555. package/runtime/delivery/history-registration.ts +10 -0
  556. package/runtime/delivery/identities.ts +132 -0
  557. package/runtime/delivery/input-files.ts +46 -0
  558. package/runtime/delivery/inputs.ts +197 -0
  559. package/runtime/delivery/journal.ts +201 -0
  560. package/runtime/delivery/manifest.ts +54 -0
  561. package/runtime/delivery/materialization.ts +53 -0
  562. package/runtime/delivery/observations.ts +60 -0
  563. package/runtime/delivery/parameters.ts +349 -0
  564. package/runtime/delivery/pending.ts +98 -0
  565. package/runtime/delivery/plan.ts +337 -0
  566. package/runtime/delivery/planning.ts +397 -0
  567. package/runtime/delivery/policy.ts +9 -0
  568. package/runtime/delivery/preparation.ts +224 -0
  569. package/runtime/delivery/production-environment.ts +6 -0
  570. package/runtime/delivery/production-finalization.ts +172 -0
  571. package/runtime/delivery/production.ts +375 -0
  572. package/runtime/delivery/project-files.ts +58 -0
  573. package/runtime/delivery/project.ts +117 -0
  574. package/runtime/delivery/protocol.ts +94 -0
  575. package/runtime/delivery/references.ts +106 -0
  576. package/runtime/delivery/release-graph.ts +49 -0
  577. package/runtime/delivery/release-history-capture.ts +32 -0
  578. package/runtime/delivery/release-history.ts +120 -0
  579. package/runtime/delivery/release.ts +128 -0
  580. package/runtime/delivery/safe-manifest.ts +11 -0
  581. package/runtime/delivery/safe-observation.ts +626 -0
  582. package/runtime/delivery/safe-prepare.ts +101 -0
  583. package/runtime/delivery/safe.ts +344 -0
  584. package/runtime/delivery/same-fork-baseline.ts +16 -0
  585. package/runtime/delivery/setup.ts +172 -0
  586. package/runtime/delivery/source.ts +130 -0
  587. package/runtime/delivery/target-fields.ts +7 -0
  588. package/runtime/delivery/validation.ts +247 -0
  589. package/runtime/delivery/verification.ts +47 -0
  590. package/runtime/migrate.ts +1 -0
  591. package/runtime/miner/binary.ts +41 -0
  592. package/runtime/miner/cli.ts +87 -0
  593. package/runtime/miner/index.ts +5 -0
  594. package/runtime/miner/request.ts +54 -0
  595. package/runtime/miner/runner.ts +90 -0
  596. package/runtime/miner/types.ts +71 -0
  597. package/runtime/miner/verify.ts +61 -0
  598. package/runtime/vendor/plan-codec/index.cjs +820 -0
  599. package/runtime/vendor/plan-codec/index.d.cts +32 -0
  600. package/runtime/vendor/plan-codec/provenance.json +24 -0
  601. package/runtime/workflow/engine.ts +174 -0
  602. package/runtime/workflow/lib/authority.ts +3 -3
  603. package/runtime/workflow/lib/calls.ts +46 -37
  604. package/runtime/workflow/lib/canonicalData.ts +45 -0
  605. package/runtime/workflow/lib/config.ts +1 -1
  606. package/runtime/workflow/lib/context.ts +76 -0
  607. package/runtime/workflow/lib/controlledMulticallAbi.ts +6 -0
  608. package/runtime/workflow/lib/create2.ts +10 -12
  609. package/runtime/workflow/lib/deployments.ts +6 -14
  610. package/runtime/workflow/lib/evidencePorts.ts +20 -0
  611. package/runtime/workflow/lib/executionPlan.ts +17 -268
  612. package/runtime/workflow/lib/gateTool.ts +20 -8
  613. package/runtime/workflow/lib/gateToolSync.ts +3 -3
  614. package/runtime/workflow/lib/operationNames.ts +32 -0
  615. package/runtime/workflow/lib/parameters.ts +7 -23
  616. package/runtime/workflow/lib/pendingDeploymentReuse.ts +4 -56
  617. package/runtime/workflow/lib/pendingUupsBinding.ts +43 -0
  618. package/runtime/workflow/lib/plan.ts +334 -0
  619. package/runtime/workflow/lib/planCli.ts +279 -0
  620. package/runtime/workflow/lib/preparationEvidence.ts +14 -0
  621. package/runtime/workflow/lib/proxy.ts +5 -3
  622. package/runtime/workflow/lib/runtime.ts +46 -0
  623. package/runtime/workflow/lib/signer.ts +8 -5
  624. package/runtime/workflow/lib/simulation.ts +41 -17
  625. package/runtime/workflow/lib/state.ts +3 -3
  626. package/runtime/workflow/lib/staticValidation.ts +92 -11
  627. package/runtime/workflow/lib/transactionPlanner.ts +314 -0
  628. package/runtime/workflow/lib/typedValue.ts +46 -0
  629. package/runtime/workflow/lib/validation.ts +50 -0
  630. package/runtime/workflow/planAdd.ts +8 -0
  631. package/runtime/workflow/planRead.ts +8 -0
  632. package/runtime/workflow/planStatus.ts +8 -0
  633. package/runtime/workflow/planWrite.ts +8 -0
  634. package/runtime/workflow/run.ts +41 -174
  635. package/runtime/workflow/staticValidate.ts +8 -3
  636. package/runtime/workflow/steps/call.ts +1 -1
  637. package/runtime/workflow/steps/check.ts +1 -1
  638. package/runtime/workflow/steps/custom.ts +1 -1
  639. package/runtime/workflow/steps/deploy.ts +59 -59
  640. package/runtime/workflow/steps/upgrade.ts +71 -47
  641. package/runtime/workflow/steps/view.ts +1 -1
@@ -0,0 +1,227 @@
1
+ # Custody Hardhat Signers Implementation Plan
2
+
3
+ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
+
5
+ **Goal:** Extend `gate-evm-tools` with one custody credential format that automatically creates an ethers v5 or v6 remote signer and transparently supplies it through Hardhat signer helpers.
6
+
7
+ **Architecture:** A dependency-light credential module parses real private keys and `custody:<ProjectSecret>:<WalletAddress>` values. A runtime signer factory receives the active `hre.ethers` object, detects its real major version, and constructs the matching v5/v6 Signer without bundling ethers. A Hardhat environment wrapper replaces `getSigners`, matching `getSigner`, and matching `provider.getSigner`, while real private keys continue through native `networks.accounts`. The package publishes ESM and CJS subpath exports so both modern imports and Hardhat 2 configuration loading work.
8
+
9
+ **Tech Stack:** TypeScript, Node.js ESM/CJS, Node test runner, ethers 5.7/6.15, Hardhat 2, OpenZeppelin Hardhat Upgrades 3.9.
10
+
11
+ ---
12
+
13
+ ### Task 1: Credential parsing and Hardhat accounts
14
+
15
+ **Files:**
16
+ - Create: `test/custody-credential.test.mjs`
17
+ - Create: `src/custody/credential.ts`
18
+ - Create: `src/custody/version.ts`
19
+ - Create: `src/custody/index.ts`
20
+
21
+ - [ ] **Step 1: Write failing credential tests**
22
+
23
+ Test these public calls before they exist:
24
+
25
+ ```js
26
+ parseWalletCredential(`0x${"11".repeat(32)}`)
27
+ parseWalletCredential(`custody:${projectSecret}:${walletAddress}`)
28
+ resolveHardhatAccounts(custodyCredential)
29
+ resolveWalletCredential({ PRIVATE_KEY: custodyCredential })
30
+ detectEthersMajor({ version: "ethers/5.7.2" })
31
+ detectEthersMajor({ version: "6.15.0" })
32
+ ```
33
+
34
+ Require private keys to normalize to `0x` form, custody credentials to expose only the parsed secret/address internally, custody accounts to return `[]`, private-key accounts to return `[privateKey]`, conflicting environment variables to fail, zero/invalid addresses to fail, and unsupported ethers versions to fail.
35
+
36
+ - [ ] **Step 2: Verify RED**
37
+
38
+ Run:
39
+
40
+ ```bash
41
+ npm run build
42
+ node --test test/custody-credential.test.mjs
43
+ ```
44
+
45
+ Expected: FAIL because `gate-evm-tools/custody` is not exported.
46
+
47
+ - [ ] **Step 3: Implement minimal parsing and version detection**
48
+
49
+ Expose:
50
+
51
+ ```ts
52
+ parseWalletCredential(value: string): ParsedWalletCredential
53
+ resolveWalletCredential(env?: NodeJS.ProcessEnv): ParsedWalletCredential | undefined
54
+ resolveHardhatAccounts(value?: string): string[]
55
+ detectEthersMajor(ethersRuntime: { version?: unknown }): 5 | 6
56
+ ```
57
+
58
+ Accept only `0x`-optional 64-hex private keys or the versioned custody format. Never treat a valid-looking 64-hex value as a custody credential.
59
+
60
+ - [ ] **Step 4: Verify GREEN**
61
+
62
+ Run the focused test and require all assertions to pass.
63
+
64
+ ### Task 2: Real ethers v5/v6 remote signers
65
+
66
+ **Files:**
67
+ - Create: `test/custody-signer.test.mjs`
68
+ - Create: `src/custody/service.ts`
69
+ - Create: `src/custody/signer.ts`
70
+ - Modify: `src/custody/index.ts`
71
+ - Modify: `package.json`
72
+ - Modify: `package-lock.json`
73
+
74
+ - [ ] **Step 1: Install a test-only ethers v5 alias**
75
+
76
+ Add:
77
+
78
+ ```json
79
+ "ethers5": "npm:ethers@5.7.2"
80
+ ```
81
+
82
+ Keep host `ethers` as a peer dependency rather than a production dependency.
83
+
84
+ - [ ] **Step 2: Write failing cross-version signer tests**
85
+
86
+ For real ethers 5.7 and 6.15 runtime objects, require `createSigner` to:
87
+
88
+ ```js
89
+ createSigner({
90
+ ethers: ethersRuntime,
91
+ credential,
92
+ provider,
93
+ baseUrl: "http://custody.local",
94
+ fetchImpl,
95
+ })
96
+ ```
97
+
98
+ Test a real private key returns the matching native Wallet. For custody mode, make the fake HTTP service sign transactions, UTF-8 messages, byte messages, and EIP-712 values with a known wallet. Require v6 `signTypedData`, v5 `_signTypedData`, locally recovered addresses, signed raw transaction sender, unchanged unsigned transaction, Authorization header, endpoint paths, and unique idempotency keys.
99
+
100
+ - [ ] **Step 3: Verify RED**
101
+
102
+ Run the focused test. Expected: FAIL because `createSigner` does not exist.
103
+
104
+ - [ ] **Step 4: Implement service client and dynamic signer classes**
105
+
106
+ The v6 class must extend the active runtime's `AbstractSigner`; the v5 class must extend its `Signer`. Both implement `getAddress`, `connect`, `signTransaction`, and `signMessage`; v6 implements `signTypedData`, while v5 implements `_signTypedData`. Validate every returned signature locally before returning it, and compare signed/unsigned transaction payloads before broadcast.
107
+
108
+ - [ ] **Step 5: Verify GREEN**
109
+
110
+ Run focused credential and signer tests for both majors.
111
+
112
+ ### Task 3: Hardhat signer injection
113
+
114
+ **Files:**
115
+ - Create: `test/custody-hardhat.test.mjs`
116
+ - Create: `src/custody/hardhat-runtime.ts`
117
+ - Create: `src/custody/hardhat.ts`
118
+
119
+ - [ ] **Step 1: Write failing Hardhat wrapper tests**
120
+
121
+ Use v5 and v6-shaped HRE fixtures. Require custody mode to return the remote signer from:
122
+
123
+ ```js
124
+ await hre.ethers.getSigners()
125
+ await hre.ethers.getSigner(custodyAddress)
126
+ await hre.ethers.provider.getSigner(0)
127
+ await hre.ethers.provider.getSigner(custodyAddress)
128
+ ```
129
+
130
+ Require an unrelated address and non-custody configuration to delegate to the original methods. Require version/address logging without logging the Project Secret.
131
+
132
+ - [ ] **Step 2: Verify RED**
133
+
134
+ Run the focused test. Expected: FAIL because `installCustodyHardhatRuntime` does not exist.
135
+
136
+ - [ ] **Step 3: Implement runtime installation and plugin registration**
137
+
138
+ Expose a pure testable installer and register it through `extendEnvironment`. Read `WALLET_CREDENTIAL` or legacy `PRIVATE_KEY` only when signer helpers execute, cache by credential, require `CUSTODY_API_BASE_URL`, and never change impersonated signers.
139
+
140
+ - [ ] **Step 4: Verify GREEN**
141
+
142
+ Run all custody unit tests.
143
+
144
+ ### Task 4: Dual ESM/CJS packaging and documentation
145
+
146
+ **Files:**
147
+ - Create: `tsconfig.custody-cjs.json`
148
+ - Create: `scripts/write-cjs-package.mjs`
149
+ - Modify: `package.json`
150
+ - Modify: `package-lock.json`
151
+ - Modify: `README.md`
152
+ - Verify: `dist/custody/**`
153
+ - Verify: `dist-cjs/custody/**`
154
+
155
+ - [ ] **Step 1: Write failing package export tests**
156
+
157
+ Extend tests to load both:
158
+
159
+ ```js
160
+ await import("gate-evm-tools/custody")
161
+ require("gate-evm-tools/custody")
162
+ await import("gate-evm-tools/hardhat")
163
+ require("gate-evm-tools/hardhat")
164
+ ```
165
+
166
+ Expected before packaging work: CJS or subpath resolution fails.
167
+
168
+ - [ ] **Step 2: Build both module formats**
169
+
170
+ Compile all source to `dist` as ESM and custody source to `dist-cjs` as CommonJS. Write `dist-cjs/package.json` containing `{ "type": "commonjs" }`. Add `exports` entries with `types`, `import`, and `require`, include `dist-cjs/` in package files, expand the ethers peer range to `>=5.7.0 <7.0.0`, and build before tests.
171
+
172
+ - [ ] **Step 3: Document migration**
173
+
174
+ Document:
175
+
176
+ ```ts
177
+ import { resolveHardhatAccounts } from "gate-evm-tools/hardhat";
178
+
179
+ const PRIVATE_KEY = process.env.PRIVATE_KEY || "";
180
+ accounts: resolveHardhatAccounts(PRIVATE_KEY)
181
+ ```
182
+
183
+ Explain that business scripts stay unchanged, custody mode leaves native accounts empty, v5/v6 are selected from `hre.ethers.version`, and OpenZeppelin CREATE2 patching remains independent.
184
+
185
+ - [ ] **Step 4: Verify package contents**
186
+
187
+ Run build, all tests, and `npm pack --dry-run`; require both module formats and docs to be included with no fixture secrets.
188
+
189
+ ### Task 5: Native Hardhat and OpenZeppelin local integration
190
+
191
+ **Files:**
192
+ - Create: `test/fixtures/custody-hardhat-v6/**`
193
+ - Create: `scripts/test-custody-hardhat-v6.mjs`
194
+ - Modify: `package.json`
195
+
196
+ - [ ] **Step 1: Create a local native fixture**
197
+
198
+ Start a Hardhat node with its public first development key, start a mock custody HTTP service for that key, and run a second Hardhat config whose remote `localhost` network uses:
199
+
200
+ ```ts
201
+ accounts: resolveHardhatAccounts(process.env.PRIVATE_KEY)
202
+ ```
203
+
204
+ The deployment script must call `ethers.getContractFactory` and `upgrades.deployProxy` without explicitly passing a signer.
205
+
206
+ - [ ] **Step 2: Verify the native flow**
207
+
208
+ Set only the composite `PRIVATE_KEY`, custody URL, and RPC URL. Require implementation/proxy deployment transactions to hit `/sign-transaction`, the proxy state to be initialized, and the signer address to equal the custody address.
209
+
210
+ - [ ] **Step 3: Final verification**
211
+
212
+ Run:
213
+
214
+ ```bash
215
+ npm test
216
+ npm run test:custody:hardhat-v6
217
+ npm pack --dry-run
218
+ git diff --check
219
+ ```
220
+
221
+ Expected: all commands exit 0. Record the limitation that a separate native ethers-v5 Hardhat fixture remains necessary before publishing v5 support if the real plugin integration differs from the unit-tested runtime contract.
222
+
223
+ ## Self-review
224
+
225
+ - Spec coverage: unified credential, native private key fallback, automatic ethers v5/v6 detection, Hardhat signer replacement, OpenZeppelin proxy deployment, ESM/CJS loading, and local tests are covered.
226
+ - Safety: Project Secrets are never logged or written to fixtures; the mock uses only Hardhat's public development key.
227
+ - Type consistency: the public factory, Hardhat wrapper, and tests all use the same credential and signer option names.
@@ -0,0 +1,11 @@
1
+ # Remove template infrastructure contracts
2
+
3
+ Goal: business projects consume deployed Multicall and placeholder addresses without compiling their implementations.
4
+
5
+ - [x] Add packaged authority ABI; use it in deploy/upgrade without named Multicall artifacts.
6
+ - [x] Accept business implementation name in proxy step.contract, require agreement with firstUpgrade.contract, retain legacy placeholder name as compatibility metadata.
7
+ - [x] Remove two template contracts, compile ERC1967Proxy directly from OpenZeppelin through the package adapter and business compiler configuration.
8
+ - [x] Update examples, initialization detection and tests; do not delete historical project contracts automatically.
9
+ - [x] Bump minimum runtime/template patch versions and validate using a local tarball, tests and no-broadcast compilation.
10
+
11
+ Compatibility: deployed infrastructure and proxy init code must remain unchanged. No redeployment, salt changes, transaction broadcast, npm publication or Git push. Historical artifact fixtures stay available for unrelated infrastructure deployment tests.
@@ -0,0 +1,193 @@
1
+ # Scheme-Aware Dual Static Validation Implementation Plan
2
+
3
+ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
+
5
+ **Goal:** Make the canonical static-validation command run and record the required EVM and zkSync compile checks while preserving the existing zkSync project configuration and fail-closed evidence contract.
6
+
7
+ **Architecture:** Keep `hardhat.config.ts` and its zkSync compiler/network settings untouched. Extend GateTool's static-validation API with explicit compile targets for `evm` and `zksync-eravm`; the CLI resolves those targets from task/workflow inputs and records scheme-aware checks in `static-validation.json`. Existing TypeScript, test, and task-document checks remain shared checks. No deploy/upgrade adapter rewrite is included in this phase.
8
+
9
+ **Tech Stack:** TypeScript, Node.js `spawnSync`, YAML/JSON evidence, Node test runner, GateTool runtime package.
10
+
11
+ ---
12
+
13
+ ### Task 1: Define scheme-aware static-validation evidence and target inputs
14
+
15
+ **Files:**
16
+ - Modify: `runtime/workflow/lib/staticValidation.ts`
17
+ - Test: `test/static-validation.test.mjs`
18
+
19
+ - [ ] **Step 1: Write failing tests**
20
+
21
+ Add tests proving that `runStaticValidation` accepts explicit compile targets and emits:
22
+
23
+ ```json
24
+ {
25
+ "scheme": "evm",
26
+ "network": "gtDev"
27
+ }
28
+ ```
29
+
30
+ and
31
+
32
+ ```json
33
+ {
34
+ "scheme": "zksync-eravm",
35
+ "network": "zk"
36
+ }
37
+ ```
38
+
39
+ for the two compile checks, while `compiledSchemes` contains both schemes. Add a failure test proving a failed zkSync compile creates a blocking reason naming the scheme and network.
40
+
41
+ - [ ] **Step 2: Run the focused test and verify it fails**
42
+
43
+ Run:
44
+
45
+ ```bash
46
+ cd /Users/vector/gate/EvmGateTools
47
+ npm run build && node --test test/static-validation.test.mjs
48
+ ```
49
+
50
+ Expected: the new assertions fail because compile evidence currently has no scheme/network fields and only one compile command is run.
51
+
52
+ - [ ] **Step 3: Implement the minimal evidence model**
53
+
54
+ Add explicit compile-target types and extend compile check evidence with optional `scheme` and `network`. Add `compiledSchemes` and `compileTargets` to the structured evidence. Preserve the existing report paths and fail-closed status calculation.
55
+
56
+ - [ ] **Step 4: Run the focused test and verify it passes**
57
+
58
+ Run the same build and test command. Expected: all static-validation tests pass.
59
+
60
+ - [ ] **Step 5: Commit the focused GateTool change**
61
+
62
+ ```bash
63
+ git add runtime/workflow/lib/staticValidation.ts test/static-validation.test.mjs
64
+ git commit -m "feat: record scheme-aware static validation"
65
+ ```
66
+
67
+ ### Task 2: Make the static-validation CLI run explicit EVM and zkSync compiles
68
+
69
+ **Files:**
70
+ - Modify: `runtime/workflow/staticValidate.ts`
71
+ - Modify: `runtime/workflow/lib/staticValidation.ts`
72
+ - Test: `test/static-validation.test.mjs`
73
+
74
+ - [ ] **Step 1: Write failing CLI/runner tests**
75
+
76
+ Add a test that supplies two compile targets and asserts the runner invokes exactly:
77
+
78
+ ```text
79
+ npm run compile -- --network <evm-network>
80
+ npm run compile -- --network <zksync-network>
81
+ ```
82
+
83
+ before `tsc`, tests, and document parsing. Add a test that omits either required target and verifies the runner fails before claiming `passed`.
84
+
85
+ - [ ] **Step 2: Run tests to verify the new behavior fails**
86
+
87
+ ```bash
88
+ cd /Users/vector/gate/EvmGateTools
89
+ npm run build && node --test test/static-validation.test.mjs
90
+ ```
91
+
92
+ Expected: the invocation and missing-target assertions fail against the current single-network implementation.
93
+
94
+ - [ ] **Step 3: Implement target-driven compile execution**
95
+
96
+ Add `compileTargets` to `StaticValidationOptions`. For this phase require one `evm` and one `zksync-eravm` target from the canonical CLI path. Execute each target with its own `--network` value, preserve command errors, and record target-specific evidence. Keep the existing optional test command and shared checks unchanged.
97
+
98
+ - [ ] **Step 4: Run the focused tests**
99
+
100
+ ```bash
101
+ npm run build && node --test test/static-validation.test.mjs
102
+ ```
103
+
104
+ Expected: all tests pass and evidence contains both compile checks and both compiled schemes.
105
+
106
+ - [ ] **Step 5: Commit**
107
+
108
+ ```bash
109
+ git add runtime/workflow/staticValidate.ts runtime/workflow/lib/staticValidation.ts test/static-validation.test.mjs
110
+ git commit -m "feat: require EVM and zkSync static compiles"
111
+ ```
112
+
113
+ ### Task 3: Wire workflow inputs and preserve the project zkSync configuration
114
+
115
+ **Files:**
116
+ - Modify: `runtime/workflow/staticValidate.ts`
117
+ - Modify: `ai-workflows/workflows/v2/deployment/contract-deployment-developer-role-v2.yaml`
118
+ - Modify: `ai-workflows/tests/deployment-runtime-context-policy.test.mjs`
119
+
120
+ - [ ] **Step 1: Add policy regression assertions**
121
+
122
+ Require the canonical command to pass explicit EVM and zkSync network arguments/targets and require both scheme results in structured evidence. Assert that the policy retains the project's `zksolc` configuration rather than asking the developer to delete it.
123
+
124
+ - [ ] **Step 2: Run the policy test to verify it fails**
125
+
126
+ ```bash
127
+ cd /Users/vector/gate/ai-workflows
128
+ node --test tests/deployment-runtime-context-policy.test.mjs
129
+ ```
130
+
131
+ Expected: the new dual-target assertions fail before the workflow text is updated.
132
+
133
+ - [ ] **Step 3: Update the canonical workflow instructions**
134
+
135
+ Document that `hardhat.config.ts` keeps its zkSync plugin, network, and `zksolc` settings; the developer must run isolated EVM and zkSync compiles using the selected configured network names; and `static-validation.json` must contain passed evidence for both schemes. Do not add a new user-facing scheme selector or infer scheme from a network name.
136
+
137
+ - [ ] **Step 4: Run policy tests**
138
+
139
+ ```bash
140
+ node --test tests/deployment-runtime-context-policy.test.mjs tests/zksync-create2-policy.test.mjs
141
+ ```
142
+
143
+ Expected: all relevant policy tests pass.
144
+
145
+ - [ ] **Step 5: Commit and push workflow policy**
146
+
147
+ ```bash
148
+ git add workflows/v2/deployment/contract-deployment-developer-role-v2.yaml tests/deployment-runtime-context-policy.test.mjs
149
+ git commit -m "docs: require dual-scheme static validation"
150
+ git push origin main
151
+ ```
152
+
153
+ ### Task 4: Validate compiler compatibility and package the result
154
+
155
+ **Files:**
156
+ - Modify only if the compatibility test proves the current project combination is invalid: the SuperTask worktree's project-owned `hardhat.config.ts` and dependency manifest; do not alter GateTool's shared runtime config.
157
+ - Test: current SuperTask worktree compile commands and generated evidence.
158
+
159
+ - [ ] **Step 1: Run the exact EVM and zkSync compile commands in the current SuperTask worktree**
160
+
161
+ ```bash
162
+ cd /Users/vector/gate/repo_migrate/GateFun/.worktrees/supertask-muf4zhlc-l4a7e-gatefun4
163
+ npm run compile -- --network gtDev
164
+ npm run compile -- --network zk
165
+ ```
166
+
167
+ Expected: EVM compile passes; zkSync compile either passes or produces the exact plugin/compiler incompatibility needed for a project-owned version update.
168
+
169
+ - [ ] **Step 2: If zkSync compile fails, verify the installed plugin's supported compiler range before changing config**
170
+
171
+ Inspect the installed `@matterlabs/hardhat-zksync-solc` constants and compile error. Only update `zksolc` to an officially supported version if the current `1.3.22` is actually rejected by the installed plugin; preserve the plugin and network declarations.
172
+
173
+ - [ ] **Step 3: Run GateTool's complete test suite and build**
174
+
175
+ ```bash
176
+ cd /Users/vector/gate/EvmGateTools
177
+ npm test
178
+ ```
179
+
180
+ Expected: all tests pass.
181
+
182
+ - [ ] **Step 4: Pack and install the resulting local package into the current SuperTask worktree**
183
+
184
+ ```bash
185
+ mkdir -p /tmp/gateflow-local-packages
186
+ npm pack --pack-destination /tmp/gateflow-local-packages
187
+ cd /Users/vector/gate/repo_migrate/GateFun/.worktrees/supertask-muf4zhlc-l4a7e-gatefun4
188
+ npm install --no-save --ignore-scripts /tmp/gateflow-local-packages/gate-evm-tools-1.0.28.tgz
189
+ ```
190
+
191
+ - [ ] **Step 5: Verify structured evidence and repository status**
192
+
193
+ Run the canonical static validation with explicit targets, inspect `docs/static-validation.json`, and confirm the evidence is current-run and contains both schemes. Do not modify or delete failed SuperTask state automatically. Confirm all intended repositories are clean or contain only explicitly documented changes.
@@ -0,0 +1,82 @@
1
+ # GateTool CREATE2 Miner Implementation Plan
2
+
3
+ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox syntax for tracking.
4
+
5
+ **Goal:** Add an independently callable, packaged CREATE2 miner to GateTool while retaining the existing GateFlow miner unchanged.
6
+
7
+ **Architecture:** Reuse the existing create2Crunch macOS executables, with a GateTool-owned typed request/result API, binary resolver, bounded child-process lifecycle and independent cryptographic verification. Mining is explicit preparation work: no automatic deployment hooks, transaction signing, DB/state migration or parameter mutation. Publish a `gate-evm-tools/create2-miner` subpath and `gate-tool miner` CLI; distribute both binaries offline in the npm archive.
8
+
9
+ **Tech Stack:** TypeScript, Node child_process, existing ethers v6 runtime/hash helpers, Rust Mach-O binaries, node:test, npm pack.
10
+
11
+ **Workspace:** `/Users/vector/gate/.worktrees/evm-delivery/EvmGateTools`, existing clean branch `feat/evm-delivery`, base `31c709a6bf7eb69ecad99a3f49ec08f332819cd5`. No changes in SmartFlowAI, EvmHardhatCli or create2Crunch; no npm publication/version bump/App rebuild.
12
+
13
+ ## Task 1: Miner API, CLI and offline distribution
14
+
15
+ **Files:**
16
+ - Create `runtime/miner/{types,request,verify,binary,runner,index,cli}.ts` with one responsibility per module.
17
+ - Create `resources/create2/{darwin-arm64,darwin-x64}/smartflow_miner`, `resources/create2/{LICENSE,manifest.json,README.md}`.
18
+ - Modify `package.json` exports/typesVersions/files; `bin/cli.js` may route the `miner` command before heavyweight legacy CLI loading. Add help integration in `src/index.ts` if needed.
19
+ - Create `test/create2-miner.test.mjs`, `test/create2-miner-process.test.mjs`, `test/create2-miner-package.test.mjs` and small executable test fixtures as needed.
20
+ - Modify `README.md`, add `docs/create2-miner.md`; regenerate tracked build artifacts with the existing build.
21
+
22
+ ### Public contract
23
+
24
+ ```ts
25
+ // Export typed requests, normalized requests/results and options from the subpath.
26
+ normalizeCreate2MinerRequest(input: unknown): NormalizedCreate2MinerRequest;
27
+ create2MinerRequestFromArtifact(input: {
28
+ scheme?: 'evm' | 'zksync-eravm'; artifact: Create2HashArtifact;
29
+ args: unknown[]; factory: string; caller: string;
30
+ leadingZeroBytes?: number; leadingPattern?: number; targetCount?: number;
31
+ backend?: 'auto' | 'cpu' | 'gpu' | 'metal' | 'opencl';
32
+ }): NormalizedCreate2MinerRequest;
33
+ resolveCreate2MinerBinary(options?: { binaryPath?: string }): string;
34
+ verifyCreate2MinerResponse(request: Create2MinerRequest, response: unknown): Create2MinerRunResult;
35
+ mineCreate2(request: Create2MinerRequest, options?: {
36
+ binaryPath?: string; signal?: AbortSignal; timeoutMs?: number;
37
+ onProgress?: (progress: { status: 'running'; elapsedMs: number }) => void;
38
+ }): Promise<Create2MinerRunResult>;
39
+ ```
40
+
41
+ Contract details:
42
+ - Normalize EVM default scheme and explicit EraVM, strict address/hash lengths, separate scheme-specific hashes, required caller salt prefix, positive bounded targetCount (1–100), leadingZeroBytes 0–20, leadingPattern 0–255. Default backend auto, targetCount 1, difficulty/pattern 0. Unknown/irrelevant fields must not silently change intent. Do not expose Rust debugging nonce/prefix controls yet.
43
+ - GPU supports only repeated-nibble patterns (00,11,...,ff); reject other patterns before spawn unless CPU selected. Validate platform-incompatible backend selection clearly.
44
+ - Artifact helper reuses existing canonicalCreate2Hashes (actual ABI constructor encoding, artifact format and linked bytecode validation); no HRE/RPC/compiler/secret needed.
45
+ - Return normalized request identity plus verified results, actual backend, attempts/duration/rate from binary, explicit status found. Strictly require status, scheme, count, unique salts/addresses and all identity fields. Reject forged/missing/foreign hashes, caller mismatch, leading policy mismatch, nonmatching computed addresses/patterns and partial results. EVM address uses ff/factory/salt/initCodeHash; EraVM uses zksyncCreate2 domain/factory padding/salt/bytecodeHash/constructorInputHash. Metrics must be finite nonnegative; they are reported telemetry, not proof.
46
+ - Resolver uses explicit binaryPath, then GATE_TOOL_CREATE2_MINER_BIN, then package-relative resources for host platform/architecture. Unsupported hosts get an actionable override/build error. Validate bundled file SHA-256 against a trusted manifest pin and executable permissions. Explicit overrides are trusted executable paths; do not fall back silently when invalid. No cwd-based discovery/download/postinstall.
47
+ - Manifest records actual file lengths/SHA-256 and honest provenance (copied from SmartFlow repository resources at its inspected commit; Rust reference checkout is not proof of the binary build revision). Include upstream MIT license, preserve executable bits.
48
+ - Spawn without shell; send JSON over stdin. Bounded stdout/stderr, handle spawn/nonzero exit/malformed JSON/stalled processes. Abort/timeout kills and reaps child (TERM with bounded KILL fallback), clears timers/listeners, settles once, no orphan process. Progress reports elapsed time only. Catch callback errors and terminate cleanly. Pre-aborted calls must not spawn.
49
+ - CLI: `gate-tool miner --request request.json [--output result.json] [--binary /absolute/path] [--timeout-ms N]`; request `-` accepts stdin. JSON result on stdout, diagnostics on stderr, optional output written only after successful verification (avoid truncating existing files on failure; reject overwriting request). SIGINT/SIGTERM must cancel child and exit nonzero. Help must be discoverable through both `gate-tool --help` and `gate-tool miner --help`.
50
+ - This API uses the existing ethers v6 runtime requirement; document it. No changes to old SuperTask adapters, handoff tasks, release sealing, frozen salts, setup version pin or deployment executors.
51
+
52
+ ### Execution steps
53
+
54
+ - [x] Write failing functional tests for request normalization, artifact hash construction, EVM known address and EraVM reference vectors, and forged response rejection. Assert exports exist before importing lazily so the initial failure identifies missing capability. Run `node --test test/create2-miner.test.mjs` and record expected RED.
55
+ - [x] Implement request/types/verification and API exports; run `npm run build` and the functional test to GREEN.
56
+ - [x] Write lifecycle and CLI tests before implementation: real fixture subprocess stdout/failure/hang/oversized output, AbortSignal, timeout, callback failure, executable resolution and invalid paths. Run new tests to expected RED; then implement process runner/resolver/CLI.
57
+ - [x] Copy the two authorized existing executables (do not remove originals), license and manifest with source/hash evidence. Write package acceptance test before packaging changes: pack into a temp directory, extract away from checkout, verify both binary bytes/modes and API types/exports/help, invoke bundled native CPU mining for EVM and EraVM on supported hosts. Tests may use isolated installed dependencies or explicit symlinks to dependencies, but must not resolve the miner from a checkout path. Test failure diagnostics and clean temporary resources.
58
+ - [x] Wire package and help; add usage docs and verified-result JSON example. Run `npm run build`, `node --test test/create2-miner*.test.mjs test/delivery-source-package.test.mjs test/runtime-version.test.mjs` once all source changes are ready. Record actual tar size. Smoke real native GPU if the current Mac supports it, separately from required deterministic CPU acceptance.
59
+ - [x] Review source and spec independently, resolve concrete findings, and rerun affected checks only. Record evidence here. Commit only these changes locally after verification; do not push/publish/update App runtime archives.
60
+
61
+ ## Acceptance record
62
+
63
+ Implementation and independent reviews complete. The GateFlow application continues using its original miner until a separately authorized integration.
64
+
65
+ Parent baseline checks (before new wrapper implementation):
66
+ - Existing runtime identity binding regression: 1 passed.
67
+ - Existing macOS arm64 executable: CPU EVM and EraVM requests returned complete `found` responses.
68
+ - Existing macOS arm64 executable: GPU EVM request with one leading zero byte returned a qualifying address through Metal (~5.8 seconds); reported attempts/hashRate were zero, confirming these counters are unavailable on GPU.
69
+ - Existing x64 executable cannot run on this arm64 host (`Bad CPU type in executable`); x64 runtime acceptance remains outside this host's coverage.
70
+ - Both executables link to macOS system libraries/frameworks, not developer checkout paths.
71
+ - Source resource SHA-256: arm64 `9611c1ca900c24f9b14924a144b7a3ab431111b855e676f2e145e7ab8c05f954` (1,297,616 bytes); x64 `a38279143658a8849db484e248c62af6ae2db78de4251021f195efd9bf987d82` (1,306,112 bytes).
72
+
73
+ Feature commit `8f7a8a2d1d9cb7106ac53b0dcb2b2beefa2ddc32`:
74
+ - Functional RED (5 missing-export failures), lifecycle/CLI RED (15 missing-runner failures), package/type RED (missing resources and raw-input type) were observed before corresponding implementation. Result type alias also received a consumer RED/GREEN check.
75
+ - Full build succeeded. Focused command passed 25 tests, 0 failures/skips. Raw logs are preserved outside the published package at `../setup-logs/create2-miner-20261028/{build.log,focused-tests.log}`.
76
+ - Extracted npm package CPU runs: EVM and EraVM each returned two unique, verified addresses with a leading zero byte; CJS/ESM imports and `.cts`/`.mts` consumers passed. Both architectures' binary hashes, modes and tamper rejection passed.
77
+ - Implementer's separate extracted-package Metal smoke passed EVM (5,117 ms, address `0x001f764470407c723db31f0f490c2edaed0fed70`) and EraVM (11,733 ms, address `0x0012736ec2bc4d20068df1bc6bd9676663a02e2b`). Native GPU attempts/rate remained zero/unavailable.
78
+ - Acceptance tar at this stage was 2,448,819 bytes compressed; final delivery tar may differ due to review fixes and this record.
79
+ - Independent specification review identified a CLI cancellation window during asynchronous output writing. Fix `86daf843d44486561dc60ea3f1541e4f47a99fb9` checks cancellation around output commit and before success reporting. All 16 process tests passed, including SIGINT/SIGTERM at three real filesystem-operation boundaries. The reviewer independently rechecked and issued specification PASS. Raw logs: `output-cancellation-{build,red-original,green}.log` in the same evidence directory.
80
+ - Quality review found that the exported verifier's array `map` could skip sparse result slots from JavaScript callers (native JSON cannot encode holes). Fix `c21667ffd7151db2b6316d2fcb3d414c22285306` validates every expected index, independent of array holes/custom iterators. Full build and affected functional tests passed (5/5); the reviewer independently reproduced rejection and issued quality PASS. Raw logs: `sparse-response-{red,iterator-red,build,green}.log`.
81
+ - No remaining critical/important review findings. Final source has 26 focused tests; the full 25-test run preceded review corrections, which were verified with affected suites (16 process/CLI and 5 functional tests). No production-chain execution, npm publication, App build/toolchain replacement, or changes to other repositories were performed.
82
+ - A local installation archive and machine-readable receipt are produced at `../artifacts/create2-miner-20261028/`. `ACCEPTANCE.json` records final package SHA-256, bytes, source commit and extracted-package CLI acceptance for both schemes. Reproduction script: `../setup-logs/create2-miner-20261028/verify-local-package.mjs`. Package-only checks reuse the worktree's dependencies by symlink; miner code and native resources come exclusively from the extracted archive.