gate-evm-tools 1.0.26 → 1.0.28

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 (338) hide show
  1. package/README.md +14 -0
  2. package/bin/workflow.cjs +19 -0
  3. package/dist/core/BytecodeChecker.d.ts.map +1 -1
  4. package/dist/core/BytecodeChecker.js +16 -1
  5. package/dist/core/BytecodeChecker.js.map +1 -1
  6. package/dist/core/legacyProxyArtifact.d.ts +6 -0
  7. package/dist/core/legacyProxyArtifact.d.ts.map +1 -0
  8. package/dist/core/legacyProxyArtifact.js +36 -0
  9. package/dist/core/legacyProxyArtifact.js.map +1 -0
  10. package/dist-runtime/config/hardhatAdapters.d.ts +7 -0
  11. package/dist-runtime/config/hardhatAdapters.js +61 -0
  12. package/dist-runtime/config/hardhatAdapters.js.map +1 -0
  13. package/dist-runtime/config/networks.d.ts +32 -0
  14. package/dist-runtime/config/networks.js +275 -0
  15. package/dist-runtime/config/networks.js.map +1 -0
  16. package/dist-runtime/config/openzeppelin.d.ts +28 -0
  17. package/dist-runtime/config/openzeppelin.js +144 -0
  18. package/dist-runtime/config/openzeppelin.js.map +1 -0
  19. package/dist-runtime/config/rpc.d.ts +7 -0
  20. package/dist-runtime/config/rpc.js +19 -0
  21. package/dist-runtime/config/rpc.js.map +1 -0
  22. package/dist-runtime/config/zksyncSolcPath.d.ts +1 -0
  23. package/dist-runtime/config/zksyncSolcPath.js +61 -0
  24. package/dist-runtime/config/zksyncSolcPath.js.map +1 -0
  25. package/dist-runtime/migrate.d.ts +13 -0
  26. package/dist-runtime/migrate.js +208 -0
  27. package/dist-runtime/migrate.js.map +1 -0
  28. package/dist-runtime/package.json +1 -0
  29. package/dist-runtime/projectHardhat.d.ts +4 -0
  30. package/dist-runtime/projectHardhat.js +16 -0
  31. package/dist-runtime/projectHardhat.js.map +1 -0
  32. package/dist-runtime/runtime-identity.json +4 -0
  33. package/dist-runtime/template-migration.json +293 -0
  34. package/dist-runtime/workflow/checkCode.d.ts +1 -0
  35. package/dist-runtime/workflow/checkCode.js +16 -0
  36. package/dist-runtime/workflow/checkCode.js.map +1 -0
  37. package/dist-runtime/workflow/checkCodeFinalize.d.ts +1 -0
  38. package/dist-runtime/workflow/checkCodeFinalize.js +11 -0
  39. package/dist-runtime/workflow/checkCodeFinalize.js.map +1 -0
  40. package/dist-runtime/workflow/checkCodePlan.d.ts +1 -0
  41. package/dist-runtime/workflow/checkCodePlan.js +11 -0
  42. package/dist-runtime/workflow/checkCodePlan.js.map +1 -0
  43. package/dist-runtime/workflow/cli.d.ts +1 -0
  44. package/dist-runtime/workflow/cli.js +302 -0
  45. package/dist-runtime/workflow/cli.js.map +1 -0
  46. package/dist-runtime/workflow/commitContractInfo.d.ts +1 -0
  47. package/dist-runtime/workflow/commitContractInfo.js +64 -0
  48. package/dist-runtime/workflow/commitContractInfo.js.map +1 -0
  49. package/dist-runtime/workflow/create2Hashes.d.ts +1 -0
  50. package/dist-runtime/workflow/create2Hashes.js +76 -0
  51. package/dist-runtime/workflow/create2Hashes.js.map +1 -0
  52. package/dist-runtime/workflow/forkSourceProxy.d.ts +1 -0
  53. package/dist-runtime/workflow/forkSourceProxy.js +151 -0
  54. package/dist-runtime/workflow/forkSourceProxy.js.map +1 -0
  55. package/dist-runtime/workflow/importState.d.ts +1 -0
  56. package/dist-runtime/workflow/importState.js +193 -0
  57. package/dist-runtime/workflow/importState.js.map +1 -0
  58. package/dist-runtime/workflow/lib/authority.d.ts +28 -0
  59. package/dist-runtime/workflow/lib/authority.js +122 -0
  60. package/dist-runtime/workflow/lib/authority.js.map +1 -0
  61. package/dist-runtime/workflow/lib/calldata.d.ts +2 -0
  62. package/dist-runtime/workflow/lib/calldata.js +8 -0
  63. package/dist-runtime/workflow/lib/calldata.js.map +1 -0
  64. package/dist-runtime/workflow/lib/calls.d.ts +23 -0
  65. package/dist-runtime/workflow/lib/calls.js +316 -0
  66. package/dist-runtime/workflow/lib/calls.js.map +1 -0
  67. package/dist-runtime/workflow/lib/checkCode/args.d.ts +2 -0
  68. package/dist-runtime/workflow/lib/checkCode/args.js +68 -0
  69. package/dist-runtime/workflow/lib/checkCode/args.js.map +1 -0
  70. package/dist-runtime/workflow/lib/checkCode/command.d.ts +5 -0
  71. package/dist-runtime/workflow/lib/checkCode/command.js +35 -0
  72. package/dist-runtime/workflow/lib/checkCode/command.js.map +1 -0
  73. package/dist-runtime/workflow/lib/checkCode/dependencies.d.ts +6 -0
  74. package/dist-runtime/workflow/lib/checkCode/dependencies.js +125 -0
  75. package/dist-runtime/workflow/lib/checkCode/dependencies.js.map +1 -0
  76. package/dist-runtime/workflow/lib/checkCode/finalize.d.ts +17 -0
  77. package/dist-runtime/workflow/lib/checkCode/finalize.js +174 -0
  78. package/dist-runtime/workflow/lib/checkCode/finalize.js.map +1 -0
  79. package/dist-runtime/workflow/lib/checkCode/index.d.ts +3 -0
  80. package/dist-runtime/workflow/lib/checkCode/index.js +20 -0
  81. package/dist-runtime/workflow/lib/checkCode/index.js.map +1 -0
  82. package/dist-runtime/workflow/lib/checkCode/plan.d.ts +22 -0
  83. package/dist-runtime/workflow/lib/checkCode/plan.js +145 -0
  84. package/dist-runtime/workflow/lib/checkCode/plan.js.map +1 -0
  85. package/dist-runtime/workflow/lib/checkCodeReport.d.ts +25 -0
  86. package/dist-runtime/workflow/lib/checkCodeReport.js +102 -0
  87. package/dist-runtime/workflow/lib/checkCodeReport.js.map +1 -0
  88. package/dist-runtime/workflow/lib/checkCodeRunner.d.ts +87 -0
  89. package/dist-runtime/workflow/lib/checkCodeRunner.js +964 -0
  90. package/dist-runtime/workflow/lib/checkCodeRunner.js.map +1 -0
  91. package/dist-runtime/workflow/lib/cliTool.d.ts +10 -0
  92. package/dist-runtime/workflow/lib/cliTool.js +25 -0
  93. package/dist-runtime/workflow/lib/cliTool.js.map +1 -0
  94. package/dist-runtime/workflow/lib/config.d.ts +33 -0
  95. package/dist-runtime/workflow/lib/config.js +100 -0
  96. package/dist-runtime/workflow/lib/config.js.map +1 -0
  97. package/dist-runtime/workflow/lib/contractInfoCandidates.d.ts +82 -0
  98. package/dist-runtime/workflow/lib/contractInfoCandidates.js +441 -0
  99. package/dist-runtime/workflow/lib/contractInfoCandidates.js.map +1 -0
  100. package/dist-runtime/workflow/lib/controlledMulticallAbi.d.ts +2 -0
  101. package/dist-runtime/workflow/lib/controlledMulticallAbi.js +10 -0
  102. package/dist-runtime/workflow/lib/controlledMulticallAbi.js.map +1 -0
  103. package/dist-runtime/workflow/lib/create2.d.ts +49 -0
  104. package/dist-runtime/workflow/lib/create2.js +194 -0
  105. package/dist-runtime/workflow/lib/create2.js.map +1 -0
  106. package/dist-runtime/workflow/lib/create2Hashes.d.ts +22 -0
  107. package/dist-runtime/workflow/lib/create2Hashes.js +57 -0
  108. package/dist-runtime/workflow/lib/create2Hashes.js.map +1 -0
  109. package/dist-runtime/workflow/lib/deploymentInfo.d.ts +40 -0
  110. package/dist-runtime/workflow/lib/deploymentInfo.js +240 -0
  111. package/dist-runtime/workflow/lib/deploymentInfo.js.map +1 -0
  112. package/dist-runtime/workflow/lib/deploymentRecords.d.ts +137 -0
  113. package/dist-runtime/workflow/lib/deploymentRecords.js +374 -0
  114. package/dist-runtime/workflow/lib/deploymentRecords.js.map +1 -0
  115. package/dist-runtime/workflow/lib/deployments.d.ts +21 -0
  116. package/dist-runtime/workflow/lib/deployments.js +240 -0
  117. package/dist-runtime/workflow/lib/deployments.js.map +1 -0
  118. package/dist-runtime/workflow/lib/erc1967.d.ts +5 -0
  119. package/dist-runtime/workflow/lib/erc1967.js +29 -0
  120. package/dist-runtime/workflow/lib/erc1967.js.map +1 -0
  121. package/dist-runtime/workflow/lib/errors.d.ts +6 -0
  122. package/dist-runtime/workflow/lib/errors.js +77 -0
  123. package/dist-runtime/workflow/lib/errors.js.map +1 -0
  124. package/dist-runtime/workflow/lib/executionId.d.ts +7 -0
  125. package/dist-runtime/workflow/lib/executionId.js +26 -0
  126. package/dist-runtime/workflow/lib/executionId.js.map +1 -0
  127. package/dist-runtime/workflow/lib/executionPlan.d.ts +85 -0
  128. package/dist-runtime/workflow/lib/executionPlan.js +450 -0
  129. package/dist-runtime/workflow/lib/executionPlan.js.map +1 -0
  130. package/dist-runtime/workflow/lib/executionProgress.d.ts +5 -0
  131. package/dist-runtime/workflow/lib/executionProgress.js +100 -0
  132. package/dist-runtime/workflow/lib/executionProgress.js.map +1 -0
  133. package/dist-runtime/workflow/lib/external.d.ts +62 -0
  134. package/dist-runtime/workflow/lib/external.js +282 -0
  135. package/dist-runtime/workflow/lib/external.js.map +1 -0
  136. package/dist-runtime/workflow/lib/externalExecutionScanner.d.ts +64 -0
  137. package/dist-runtime/workflow/lib/externalExecutionScanner.js +638 -0
  138. package/dist-runtime/workflow/lib/externalExecutionScanner.js.map +1 -0
  139. package/dist-runtime/workflow/lib/forkSnapshot.d.ts +34 -0
  140. package/dist-runtime/workflow/lib/forkSnapshot.js +167 -0
  141. package/dist-runtime/workflow/lib/forkSnapshot.js.map +1 -0
  142. package/dist-runtime/workflow/lib/gateTool.d.ts +16 -0
  143. package/dist-runtime/workflow/lib/gateTool.js +177 -0
  144. package/dist-runtime/workflow/lib/gateTool.js.map +1 -0
  145. package/dist-runtime/workflow/lib/gateToolSync.d.ts +22 -0
  146. package/dist-runtime/workflow/lib/gateToolSync.js +253 -0
  147. package/dist-runtime/workflow/lib/gateToolSync.js.map +1 -0
  148. package/dist-runtime/workflow/lib/lock.d.ts +52 -0
  149. package/dist-runtime/workflow/lib/lock.js +269 -0
  150. package/dist-runtime/workflow/lib/lock.js.map +1 -0
  151. package/dist-runtime/workflow/lib/migrationState.d.ts +103 -0
  152. package/dist-runtime/workflow/lib/migrationState.js +920 -0
  153. package/dist-runtime/workflow/lib/migrationState.js.map +1 -0
  154. package/dist-runtime/workflow/lib/operatorExecution.d.ts +28 -0
  155. package/dist-runtime/workflow/lib/operatorExecution.js +134 -0
  156. package/dist-runtime/workflow/lib/operatorExecution.js.map +1 -0
  157. package/dist-runtime/workflow/lib/parameters.d.ts +58 -0
  158. package/dist-runtime/workflow/lib/parameters.js +323 -0
  159. package/dist-runtime/workflow/lib/parameters.js.map +1 -0
  160. package/dist-runtime/workflow/lib/pendingDeploymentReuse.d.ts +29 -0
  161. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js +277 -0
  162. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js.map +1 -0
  163. package/dist-runtime/workflow/lib/proxy.d.ts +18 -0
  164. package/dist-runtime/workflow/lib/proxy.js +19 -0
  165. package/dist-runtime/workflow/lib/proxy.js.map +1 -0
  166. package/dist-runtime/workflow/lib/registryCommit.d.ts +33 -0
  167. package/dist-runtime/workflow/lib/registryCommit.js +319 -0
  168. package/dist-runtime/workflow/lib/registryCommit.js.map +1 -0
  169. package/dist-runtime/workflow/lib/release.d.ts +57 -0
  170. package/dist-runtime/workflow/lib/release.js +256 -0
  171. package/dist-runtime/workflow/lib/release.js.map +1 -0
  172. package/dist-runtime/workflow/lib/releaseFinalize.d.ts +14 -0
  173. package/dist-runtime/workflow/lib/releaseFinalize.js +571 -0
  174. package/dist-runtime/workflow/lib/releaseFinalize.js.map +1 -0
  175. package/dist-runtime/workflow/lib/releaseParameters.d.ts +43 -0
  176. package/dist-runtime/workflow/lib/releaseParameters.js +184 -0
  177. package/dist-runtime/workflow/lib/releaseParameters.js.map +1 -0
  178. package/dist-runtime/workflow/lib/reporter.d.ts +39 -0
  179. package/dist-runtime/workflow/lib/reporter.js +452 -0
  180. package/dist-runtime/workflow/lib/reporter.js.map +1 -0
  181. package/dist-runtime/workflow/lib/resultPaths.d.ts +17 -0
  182. package/dist-runtime/workflow/lib/resultPaths.js +29 -0
  183. package/dist-runtime/workflow/lib/resultPaths.js.map +1 -0
  184. package/dist-runtime/workflow/lib/runtimeVersion.d.ts +10 -0
  185. package/dist-runtime/workflow/lib/runtimeVersion.js +46 -0
  186. package/dist-runtime/workflow/lib/runtimeVersion.js.map +1 -0
  187. package/dist-runtime/workflow/lib/signer.d.ts +10 -0
  188. package/dist-runtime/workflow/lib/signer.js +105 -0
  189. package/dist-runtime/workflow/lib/signer.js.map +1 -0
  190. package/dist-runtime/workflow/lib/signerIdentity.d.ts +1 -0
  191. package/dist-runtime/workflow/lib/signerIdentity.js +23 -0
  192. package/dist-runtime/workflow/lib/signerIdentity.js.map +1 -0
  193. package/dist-runtime/workflow/lib/simulation.d.ts +35 -0
  194. package/dist-runtime/workflow/lib/simulation.js +282 -0
  195. package/dist-runtime/workflow/lib/simulation.js.map +1 -0
  196. package/dist-runtime/workflow/lib/simulationCallers.d.ts +44 -0
  197. package/dist-runtime/workflow/lib/simulationCallers.js +260 -0
  198. package/dist-runtime/workflow/lib/simulationCallers.js.map +1 -0
  199. package/dist-runtime/workflow/lib/sourceRpcPolicy.d.ts +1 -0
  200. package/dist-runtime/workflow/lib/sourceRpcPolicy.js +43 -0
  201. package/dist-runtime/workflow/lib/sourceRpcPolicy.js.map +1 -0
  202. package/dist-runtime/workflow/lib/state.d.ts +6 -0
  203. package/dist-runtime/workflow/lib/state.js +25 -0
  204. package/dist-runtime/workflow/lib/state.js.map +1 -0
  205. package/dist-runtime/workflow/lib/staticValidation.d.ts +22 -0
  206. package/dist-runtime/workflow/lib/staticValidation.js +124 -0
  207. package/dist-runtime/workflow/lib/staticValidation.js.map +1 -0
  208. package/dist-runtime/workflow/lib/zksyncForkCapability.d.ts +27 -0
  209. package/dist-runtime/workflow/lib/zksyncForkCapability.js +52 -0
  210. package/dist-runtime/workflow/lib/zksyncForkCapability.js.map +1 -0
  211. package/dist-runtime/workflow/lib/zksyncForkRunner.d.ts +57 -0
  212. package/dist-runtime/workflow/lib/zksyncForkRunner.js +344 -0
  213. package/dist-runtime/workflow/lib/zksyncForkRunner.js.map +1 -0
  214. package/dist-runtime/workflow/reconcileExternal.d.ts +1 -0
  215. package/dist-runtime/workflow/reconcileExternal.js +87 -0
  216. package/dist-runtime/workflow/reconcileExternal.js.map +1 -0
  217. package/dist-runtime/workflow/reconcileExternalRun.d.ts +1 -0
  218. package/dist-runtime/workflow/reconcileExternalRun.js +77 -0
  219. package/dist-runtime/workflow/reconcileExternalRun.js.map +1 -0
  220. package/dist-runtime/workflow/releaseFinalize.d.ts +1 -0
  221. package/dist-runtime/workflow/releaseFinalize.js +11 -0
  222. package/dist-runtime/workflow/releaseFinalize.js.map +1 -0
  223. package/dist-runtime/workflow/run.d.ts +40 -0
  224. package/dist-runtime/workflow/run.js +858 -0
  225. package/dist-runtime/workflow/run.js.map +1 -0
  226. package/dist-runtime/workflow/staticValidate.d.ts +1 -0
  227. package/dist-runtime/workflow/staticValidate.js +26 -0
  228. package/dist-runtime/workflow/staticValidate.js.map +1 -0
  229. package/dist-runtime/workflow/steps/call.d.ts +3 -0
  230. package/dist-runtime/workflow/steps/call.js +9 -0
  231. package/dist-runtime/workflow/steps/call.js.map +1 -0
  232. package/dist-runtime/workflow/steps/check.d.ts +3 -0
  233. package/dist-runtime/workflow/steps/check.js +9 -0
  234. package/dist-runtime/workflow/steps/check.js.map +1 -0
  235. package/dist-runtime/workflow/steps/custom.d.ts +3 -0
  236. package/dist-runtime/workflow/steps/custom.js +33 -0
  237. package/dist-runtime/workflow/steps/custom.js.map +1 -0
  238. package/dist-runtime/workflow/steps/deploy.d.ts +3 -0
  239. package/dist-runtime/workflow/steps/deploy.js +596 -0
  240. package/dist-runtime/workflow/steps/deploy.js.map +1 -0
  241. package/dist-runtime/workflow/steps/upgrade.d.ts +3 -0
  242. package/dist-runtime/workflow/steps/upgrade.js +466 -0
  243. package/dist-runtime/workflow/steps/upgrade.js.map +1 -0
  244. package/dist-runtime/workflow/steps/view.d.ts +3 -0
  245. package/dist-runtime/workflow/steps/view.js +9 -0
  246. package/dist-runtime/workflow/steps/view.js.map +1 -0
  247. package/docs/direct-package-acceptance.md +20 -0
  248. package/docs/external-infrastructure-acceptance.md +33 -0
  249. package/docs/network-runtime-acceptance.md +18 -0
  250. package/docs/plans/2026-09-09-workflow-extraction.md +16 -0
  251. package/docs/superpowers/plans/2026-07-22-manifest-bootstrap-transaction.md +50 -0
  252. package/docs/superpowers/plans/2026-07-22-manifest-review-remediation.md +49 -0
  253. package/docs/superpowers/plans/2026-08-17-custody-hardhat-signers.md +227 -0
  254. package/docs/superpowers/plans/2026-09-09-remove-template-infrastructure-contracts.md +11 -0
  255. package/docs/workflow-reference.md +1181 -0
  256. package/docs/workflow-runtime-acceptance.md +17 -0
  257. package/docs/workflow-runtime.md +56 -0
  258. package/package.json +26 -5
  259. package/runtime/config/hardhatAdapters.ts +58 -0
  260. package/runtime/config/networks.ts +305 -0
  261. package/runtime/config/openzeppelin.ts +173 -0
  262. package/runtime/config/rpc.ts +27 -0
  263. package/runtime/config/zksyncSolcPath.ts +59 -0
  264. package/runtime/hardhat-types.d.ts +2 -0
  265. package/runtime/migrate.ts +154 -0
  266. package/runtime/projectHardhat.ts +10 -0
  267. package/runtime/template-migration.json +293 -0
  268. package/runtime/workflow/checkCode.ts +13 -0
  269. package/runtime/workflow/checkCodeFinalize.ts +8 -0
  270. package/runtime/workflow/checkCodePlan.ts +8 -0
  271. package/runtime/workflow/cli.ts +356 -0
  272. package/runtime/workflow/commitContractInfo.ts +63 -0
  273. package/runtime/workflow/create2Hashes.ts +79 -0
  274. package/runtime/workflow/forkSourceProxy.ts +193 -0
  275. package/runtime/workflow/importState.ts +190 -0
  276. package/runtime/workflow/lib/authority.ts +170 -0
  277. package/runtime/workflow/lib/calldata.ts +9 -0
  278. package/runtime/workflow/lib/calls.ts +407 -0
  279. package/runtime/workflow/lib/checkCode/args.ts +76 -0
  280. package/runtime/workflow/lib/checkCode/command.ts +36 -0
  281. package/runtime/workflow/lib/checkCode/dependencies.ts +112 -0
  282. package/runtime/workflow/lib/checkCode/finalize.ts +198 -0
  283. package/runtime/workflow/lib/checkCode/index.ts +18 -0
  284. package/runtime/workflow/lib/checkCode/plan.ts +163 -0
  285. package/runtime/workflow/lib/checkCodeReport.ts +133 -0
  286. package/runtime/workflow/lib/checkCodeRunner.ts +1225 -0
  287. package/runtime/workflow/lib/cliTool.ts +31 -0
  288. package/runtime/workflow/lib/config.ts +130 -0
  289. package/runtime/workflow/lib/contractInfoCandidates.ts +690 -0
  290. package/runtime/workflow/lib/controlledMulticallAbi.ts +6 -0
  291. package/runtime/workflow/lib/create2.ts +278 -0
  292. package/runtime/workflow/lib/create2Hashes.ts +83 -0
  293. package/runtime/workflow/lib/deploymentInfo.ts +286 -0
  294. package/runtime/workflow/lib/deploymentRecords.ts +576 -0
  295. package/runtime/workflow/lib/deployments.ts +276 -0
  296. package/runtime/workflow/lib/erc1967.ts +57 -0
  297. package/runtime/workflow/lib/errors.ts +95 -0
  298. package/runtime/workflow/lib/executionId.ts +35 -0
  299. package/runtime/workflow/lib/executionPlan.ts +550 -0
  300. package/runtime/workflow/lib/executionProgress.ts +127 -0
  301. package/runtime/workflow/lib/external.ts +372 -0
  302. package/runtime/workflow/lib/externalExecutionScanner.ts +892 -0
  303. package/runtime/workflow/lib/forkSnapshot.ts +231 -0
  304. package/runtime/workflow/lib/gateTool.ts +261 -0
  305. package/runtime/workflow/lib/gateToolSync.ts +398 -0
  306. package/runtime/workflow/lib/lock.ts +388 -0
  307. package/runtime/workflow/lib/migrationState.ts +1246 -0
  308. package/runtime/workflow/lib/operatorExecution.ts +174 -0
  309. package/runtime/workflow/lib/parameters.ts +438 -0
  310. package/runtime/workflow/lib/pendingDeploymentReuse.ts +428 -0
  311. package/runtime/workflow/lib/proxy.ts +45 -0
  312. package/runtime/workflow/lib/registryCommit.ts +455 -0
  313. package/runtime/workflow/lib/release.ts +329 -0
  314. package/runtime/workflow/lib/releaseFinalize.ts +711 -0
  315. package/runtime/workflow/lib/releaseParameters.ts +248 -0
  316. package/runtime/workflow/lib/reporter.ts +502 -0
  317. package/runtime/workflow/lib/resultPaths.ts +49 -0
  318. package/runtime/workflow/lib/runtimeVersion.ts +28 -0
  319. package/runtime/workflow/lib/signer.ts +124 -0
  320. package/runtime/workflow/lib/signerIdentity.ts +22 -0
  321. package/runtime/workflow/lib/simulation.ts +415 -0
  322. package/runtime/workflow/lib/simulationCallers.ts +335 -0
  323. package/runtime/workflow/lib/sourceRpcPolicy.ts +41 -0
  324. package/runtime/workflow/lib/state.ts +25 -0
  325. package/runtime/workflow/lib/staticValidation.ts +142 -0
  326. package/runtime/workflow/lib/zksyncForkCapability.ts +80 -0
  327. package/runtime/workflow/lib/zksyncForkRunner.ts +505 -0
  328. package/runtime/workflow/reconcileExternal.ts +86 -0
  329. package/runtime/workflow/reconcileExternalRun.ts +88 -0
  330. package/runtime/workflow/releaseFinalize.ts +8 -0
  331. package/runtime/workflow/run.ts +1072 -0
  332. package/runtime/workflow/staticValidate.ts +23 -0
  333. package/runtime/workflow/steps/call.ts +10 -0
  334. package/runtime/workflow/steps/check.ts +10 -0
  335. package/runtime/workflow/steps/custom.ts +43 -0
  336. package/runtime/workflow/steps/deploy.ts +772 -0
  337. package/runtime/workflow/steps/upgrade.ts +599 -0
  338. package/runtime/workflow/steps/view.ts +10 -0
@@ -0,0 +1,466 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runUpgradeStep = void 0;
7
+ const controlledMulticallAbi_1 = require("../lib/controlledMulticallAbi");
8
+ const ethers_1 = require("ethers");
9
+ const projectHardhat_1 = require("../../projectHardhat");
10
+ const path_1 = __importDefault(require("path"));
11
+ const authority_1 = require("../lib/authority");
12
+ const deployments_1 = require("../lib/deployments");
13
+ const gateTool_1 = require("../lib/gateTool");
14
+ const gateToolSync_1 = require("../lib/gateToolSync");
15
+ const erc1967_1 = require("../lib/erc1967");
16
+ const lock_1 = require("../lib/lock");
17
+ const parameters_1 = require("../lib/parameters");
18
+ const create2_1 = require("../lib/create2");
19
+ const proxy_1 = require("../lib/proxy");
20
+ const signer_1 = require("../lib/signer");
21
+ 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
+ });
28
+ const resolveObject = (context, value) => {
29
+ const resolved = resolveInContext(context, value || {});
30
+ if (!resolved || typeof resolved !== "object" || Array.isArray(resolved))
31
+ return {};
32
+ return resolved;
33
+ };
34
+ const resolveArray = (context, value, label) => {
35
+ const resolved = resolveInContext(context, value || []);
36
+ if (!Array.isArray(resolved))
37
+ throw new Error(`${label} must resolve to an array`);
38
+ return resolved;
39
+ };
40
+ const stringField = (source, key) => (typeof source[key] === "string" && source[key] ? String(source[key]) : undefined);
41
+ const proxyReference = (context, step) => {
42
+ const proxyObject = resolveObject(context, step.proxy);
43
+ const rawProxy = stringField(proxyObject, "address")
44
+ || stringField(proxyObject, "name")
45
+ || 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);
48
+ if (!rawProxy)
49
+ throw new Error(`Step ${step.id} requires proxy address or deployment name`);
50
+ const registryDeployment = (0, ethers_1.isAddress)(rawProxy)
51
+ ? undefined
52
+ : (0, deployments_1.resolveDeployment)((0, deployments_1.loadContractInfo)(context.root, context.config), context.targetId, rawProxy);
53
+ if (!(0, ethers_1.isAddress)(rawProxy) && !registryDeployment) {
54
+ throw new Error(`Missing contractInfo address: ${context.targetId}.${rawProxy}`);
55
+ }
56
+ const proxyAddress = (0, ethers_1.isAddress)(rawProxy) ? rawProxy : registryDeployment.address;
57
+ const defaultSaveAs = (0, ethers_1.isAddress)(rawProxy)
58
+ ? (0, deployments_1.actualContractName)(String(step.contract))
59
+ : registryDeployment.key.split(":", 1)[0];
60
+ const saveAs = (0, deployments_1.deploymentInstanceId)(String(step.saveAs || defaultSaveAs));
61
+ const registryKey = registryDeployment?.key || (0, deployments_1.contractInfoKey)(saveAs, String(step.contract));
62
+ return {
63
+ proxyAddress,
64
+ saveAs,
65
+ contractInfoKey: registryKey,
66
+ proxy: {
67
+ kind: stringField(proxyObject, "kind")
68
+ || (typeof step.proxyKind === "string" ? step.proxyKind : "uups"),
69
+ initializer: proxyObject.initializer === false
70
+ ? false
71
+ : stringField(proxyObject, "initializer"),
72
+ unsafeAllow: Array.isArray(proxyObject.unsafeAllow)
73
+ ? proxyObject.unsafeAllow.map((item) => String(item))
74
+ : undefined,
75
+ constructorArgs: proxyObject.constructorArgs === undefined
76
+ ? undefined
77
+ : resolveArray(context, proxyObject.constructorArgs, `Step ${step.id} proxy.constructorArgs`),
78
+ },
79
+ };
80
+ };
81
+ const upgradeCall = (context, step) => {
82
+ const call = resolveObject(context, step.call);
83
+ const fn = stringField(call, "fn") || stringField(call, "method");
84
+ return fn
85
+ ? { fn, args: resolveArray(context, call.args || [], `Step ${step.id} call.args`) }
86
+ : undefined;
87
+ };
88
+ const requiredPlanTransaction = (transactions, purpose) => {
89
+ const selected = transactions.filter((transaction) => transaction.purpose === purpose);
90
+ if (selected.length !== 1) {
91
+ throw new Error(`GateTool plan must contain exactly one ${purpose} transaction`);
92
+ }
93
+ return selected[0];
94
+ };
95
+ const implementationDeployment = (deployments) => {
96
+ const selected = deployments.filter((deployment) => deployment.role === "implementation");
97
+ if (selected.length !== 1) {
98
+ throw new Error("GateTool plan must contain exactly one implementation deployment");
99
+ }
100
+ return selected[0];
101
+ };
102
+ const transactionEnvelope = (transaction) => ({
103
+ target: transaction.to,
104
+ value: transaction.value,
105
+ data: transaction.data,
106
+ operation: transaction.operation,
107
+ ...(transaction.factoryDeps === undefined
108
+ ? {}
109
+ : { scheme: "zksync-eravm", factoryDeps: transaction.factoryDeps }),
110
+ });
111
+ const assertUupsChainState = async (proxy, implementation) => {
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),
116
+ ]);
117
+ if (!proxyCode || proxyCode === "0x") {
118
+ throw new Error(`UUPS proxy is missing deployed code at ${proxy}`);
119
+ }
120
+ if (!implementationCode || implementationCode === "0x") {
121
+ throw new Error(`UUPS implementation is missing deployed code at ${implementation}`);
122
+ }
123
+ if (!currentImplementation
124
+ || currentImplementation.toLowerCase() !== implementation.toLowerCase()) {
125
+ throw new Error(`UUPS proxy ${proxy} does not point to GateTool implementation ${implementation}`);
126
+ }
127
+ };
128
+ const runUpgradeStep = async (context, step) => {
129
+ if (!context.signer || !context.signerAddress) {
130
+ throw new Error(`Upgrade step ${step.id} requires a signer`);
131
+ }
132
+ const contractName = String(step.contract);
133
+ const proxy = proxyReference(context, step);
134
+ if ((proxy.proxy.kind || "uups") !== "uups") {
135
+ throw new Error(`Upgrade step ${step.id} only supports UUPS proxies`);
136
+ }
137
+ if (context.mode === "simulate") {
138
+ await (0, simulation_1.assertSimulationUupsSourceState)(context.simulation, proxy.proxyAddress);
139
+ }
140
+ const call = upgradeCall(context, step);
141
+ const actualContract = (0, deployments_1.actualContractName)(contractName);
142
+ const targetCreate2 = context.target.create2;
143
+ const targetMulticall = context.target.multicall;
144
+ const scheme = targetCreate2?.scheme || "evm";
145
+ if (scheme !== "evm" && scheme !== "zksync-eravm") {
146
+ throw new Error(`Upgrade step ${step.id} target create2 scheme is invalid`);
147
+ }
148
+ if (!targetCreate2?.factory || !targetMulticall?.controlledMulticall) {
149
+ throw new Error(`Upgrade step ${step.id} requires target create2 factory and controlledMulticall`);
150
+ }
151
+ 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);
153
+ const request = {
154
+ version: 1,
155
+ kind: "uups-upgrade",
156
+ scheme,
157
+ network: projectHardhat_1.network.name,
158
+ target: context.targetId,
159
+ contract: contractName,
160
+ constructorArgs,
161
+ factory: targetCreate2.factory,
162
+ proxyKind: "uups",
163
+ proxy: proxy.proxyAddress,
164
+ implementationSalt,
165
+ ...(proxy.proxy.unsafeAllow ? { unsafeAllow: proxy.proxy.unsafeAllow } : {}),
166
+ ...(call ? { call: { method: call.fn, args: call.args } } : {}),
167
+ };
168
+ const gateToolEvidenceDir = path_1.default.join(context.taskDir, "results", context.targetId, context.executionId, "gate-tool", context.mode);
169
+ const prepared = await (0, gateTool_1.prepareGateToolWorkflow)({
170
+ root: context.root,
171
+ evidenceDir: gateToolEvidenceDir,
172
+ evidenceName: step.id,
173
+ request,
174
+ readBlockTag: context.mode === "simulate"
175
+ ? context.simulation.snapshot?.blockNumber
176
+ : undefined,
177
+ });
178
+ const implementation = implementationDeployment(prepared.plan.deployments);
179
+ const implementationCall = prepared.plan.transactions.find((transaction) => transaction.purpose === "deploy-implementation");
180
+ const proxyUpgradeCall = requiredPlanTransaction(prepared.plan.transactions, "upgrade-proxy");
181
+ const gateToolPlan = path_1.default.relative(context.root, prepared.planPath).split(path_1.default.sep).join("/");
182
+ const preparedChange = {
183
+ stepId: step.id,
184
+ kind: "upgrade",
185
+ instanceId: proxy.saveAs,
186
+ actualContract,
187
+ contractInfoKey: proxy.contractInfoKey,
188
+ strategy: "gate-tool",
189
+ proxyKind: "uups",
190
+ proxyAddress: proxy.proxyAddress,
191
+ implementationAddress: implementation.address,
192
+ implementationSalt,
193
+ constructorArgs,
194
+ factory: targetCreate2.factory,
195
+ gateTool: {
196
+ outputPath: gateToolPlan,
197
+ data: prepared.plan,
198
+ },
199
+ };
200
+ if (context.parameterLockExecutionId) {
201
+ (0, lock_1.recordParameterLockImplementationSalts)(context.taskDir, context.parameterLockExecutionId, { [`${step.id}.implementation`]: implementationSalt });
202
+ }
203
+ const recorder = context.mode === "execute" ? context.deploymentRecorder : undefined;
204
+ if (context.mode === "execute" && !recorder) {
205
+ throw new Error(`Upgrade step ${step.id} requires an execution deployment recorder`);
206
+ }
207
+ recorder?.prepare(preparedChange);
208
+ const proxyContract = await projectHardhat_1.ethers.getContractAt(String(step.abi || contractName), proxy.proxyAddress, context.signer);
209
+ const upgradeAuthority = await (0, authority_1.decideAuthority)(proxyContract, context.target, context.signerAddress);
210
+ if (context.mode === "simulate"
211
+ && !context.configuredSimulationCaller
212
+ && !context.executionPlanner) {
213
+ (0, authority_1.assertSelectedSimulationSignerAuthorized)(upgradeAuthority, step.id);
214
+ }
215
+ const implementationMulticall = implementationCall
216
+ ? (0, create2_1.prepareControlledMulticallTransaction)(targetMulticall.controlledMulticall, [{
217
+ target: implementationCall.to,
218
+ value: implementationCall.value,
219
+ data: implementationCall.data,
220
+ ...(implementationCall.factoryDeps === undefined
221
+ ? {}
222
+ : { factoryDeps: implementationCall.factoryDeps }),
223
+ }], scheme)
224
+ : undefined;
225
+ const multicall = implementationMulticall
226
+ ? await projectHardhat_1.ethers.getContractAt(controlledMulticallAbi_1.CONTROLLED_MULTICALL_AUTHORITY_ABI, targetMulticall.controlledMulticall, context.signer)
227
+ : undefined;
228
+ const implementationAuthority = multicall
229
+ ? await (0, authority_1.decideControlledMulticallAuthority)(multicall, targetCreate2.factory, context.target, context.signerAddress)
230
+ : undefined;
231
+ if (scheme === "zksync-eravm"
232
+ && (upgradeAuthority.mode !== "execute"
233
+ || implementationAuthority?.mode === "calldata")) {
234
+ throw new Error(`Upgrade step ${step.id} requires unsupported zkSync external Admin execution`);
235
+ }
236
+ if (!context.executionPlanner) {
237
+ const configuredCallerSimulation = context.mode === "simulate"
238
+ && context.configuredSimulationCaller === true;
239
+ if (!configuredCallerSimulation
240
+ && (upgradeAuthority.mode !== "execute"
241
+ || implementationAuthority?.mode === "calldata")) {
242
+ throw new Error(`Upgrade step ${step.id} requires a locked mixed-authority execution plan`);
243
+ }
244
+ let implementationTxHash;
245
+ if (implementationMulticall) {
246
+ const tx = await (0, create2_1.sendPreparedControlledMulticallTransaction)(implementationMulticall, context.signer);
247
+ implementationTxHash = tx.hash;
248
+ }
249
+ const upgradeTx = await (0, create2_1.sendPreparedWorkflowTransaction)(transactionEnvelope(proxyUpgradeCall), context.signer);
250
+ await assertUupsChainState(proxy.proxyAddress, implementation.address);
251
+ const gateToolSync = context.mode === "execute"
252
+ ? await (0, gateToolSync_1.syncGateToolUups)({
253
+ root: context.root,
254
+ evidenceDir: gateToolEvidenceDir,
255
+ evidenceName: step.id,
256
+ scheme: prepared.plan.scheme,
257
+ network: projectHardhat_1.network.name,
258
+ target: context.targetId,
259
+ manifestDir: context.target.openzeppelin.manifestDir,
260
+ proxy: proxy.proxyAddress,
261
+ implementation: implementation.address,
262
+ contract: actualContract,
263
+ constructorArgs,
264
+ transactionHash: upgradeTx.hash,
265
+ })
266
+ : undefined;
267
+ if (context.mode === "execute") {
268
+ recorder?.apply({
269
+ ...preparedChange,
270
+ implementationTxHash,
271
+ txHash: upgradeTx.hash,
272
+ gateToolSync,
273
+ });
274
+ }
275
+ context.state.set(`${proxy.saveAs}Upgrade`, {
276
+ proxyAddress: proxy.proxyAddress,
277
+ implementationAddress: implementation.address,
278
+ implementationSalt,
279
+ implementationTxHash,
280
+ txHash: upgradeTx.hash,
281
+ gateToolPlan,
282
+ gateToolSync: gateToolSync?.outputPath,
283
+ });
284
+ context.reporter.result("execution", {
285
+ stepId: step.id,
286
+ kind: step.kind,
287
+ mode: "execute",
288
+ scheme,
289
+ contract: contractName,
290
+ actualContract,
291
+ saveAs: proxy.saveAs,
292
+ contractInfoKey: proxy.contractInfoKey,
293
+ proxy: proxy.proxyAddress,
294
+ implementationAddress: implementation.address,
295
+ implementationTxHash,
296
+ txHash: upgradeTx.hash,
297
+ gateToolPlan,
298
+ });
299
+ return;
300
+ }
301
+ let implementationTransactionId;
302
+ let implementationTxHash;
303
+ let implementationExternal = false;
304
+ if (implementationMulticall && implementationAuthority) {
305
+ const implementationExecutor = implementationAuthority.mode === "execute"
306
+ ? context.signerAddress
307
+ : implementationAuthority.executor;
308
+ if (!implementationExecutor) {
309
+ throw new Error(`Upgrade step ${step.id} cannot resolve implementation executor`);
310
+ }
311
+ const planned = context.executionPlanner.add({
312
+ stepId: `${step.id}-implementation`,
313
+ executor: implementationExecutor,
314
+ to: implementationMulticall.target,
315
+ value: implementationMulticall.value,
316
+ data: implementationMulticall.data,
317
+ operation: 0,
318
+ ...(implementationMulticall.scheme === undefined
319
+ ? {}
320
+ : { scheme: implementationMulticall.scheme }),
321
+ ...(implementationMulticall.factoryDeps === undefined
322
+ ? {}
323
+ : { factoryDeps: implementationMulticall.factoryDeps }),
324
+ });
325
+ implementationTransactionId = planned.transactionId;
326
+ implementationExternal = planned.route === "external";
327
+ if (planned.executionAction === "replay") {
328
+ implementationTxHash = planned.transactionHash;
329
+ }
330
+ else if (planned.route === "external" && context.mode !== "simulate") {
331
+ context.externalCalls.push({
332
+ transactionId: planned.transactionId,
333
+ stepId: planned.stepId,
334
+ to: planned.to,
335
+ value: planned.value,
336
+ data: planned.data,
337
+ operation: planned.operation,
338
+ method: implementationMulticall.method,
339
+ args: implementationMulticall.calls,
340
+ executor: planned.executor,
341
+ reason: implementationAuthority.reason,
342
+ });
343
+ }
344
+ else {
345
+ const selectedSigner = planned.route === "external"
346
+ ? await (0, signer_1.impersonateWorkflowSimulationSigner)(planned.executor)
347
+ : context.signer;
348
+ const tx = await (0, create2_1.sendPreparedControlledMulticallTransaction)(implementationMulticall, selectedSigner);
349
+ implementationTxHash = tx.hash;
350
+ if (context.mode === "execute" && planned.route === "operator") {
351
+ context.operatorReceipts.push({
352
+ transactionId: planned.transactionId,
353
+ transactionHash: tx.hash,
354
+ });
355
+ }
356
+ }
357
+ }
358
+ const upgradeExecutor = upgradeAuthority.mode === "execute"
359
+ ? context.signerAddress
360
+ : upgradeAuthority.executor;
361
+ if (!upgradeExecutor)
362
+ throw new Error(`Upgrade step ${step.id} cannot resolve proxy executor`);
363
+ const upgradeEnvelope = transactionEnvelope(proxyUpgradeCall);
364
+ const upgradeTransaction = context.executionPlanner.add({
365
+ stepId: step.id,
366
+ executor: upgradeExecutor,
367
+ to: upgradeEnvelope.target,
368
+ value: upgradeEnvelope.value,
369
+ data: upgradeEnvelope.data,
370
+ operation: 0,
371
+ ...(upgradeEnvelope.scheme === undefined ? {} : { scheme: upgradeEnvelope.scheme }),
372
+ ...(upgradeEnvelope.factoryDeps === undefined
373
+ ? {}
374
+ : { factoryDeps: upgradeEnvelope.factoryDeps }),
375
+ });
376
+ if (context.mode === "execute") {
377
+ recorder?.bindProxyTransaction(step.id, upgradeTransaction.transactionId);
378
+ }
379
+ let upgradeTxHash;
380
+ if (upgradeTransaction.executionAction === "replay") {
381
+ upgradeTxHash = upgradeTransaction.transactionHash;
382
+ }
383
+ else if (upgradeTransaction.route === "external" && context.mode !== "simulate") {
384
+ context.externalCalls.push({
385
+ transactionId: upgradeTransaction.transactionId,
386
+ stepId: upgradeTransaction.stepId,
387
+ to: upgradeTransaction.to,
388
+ value: upgradeTransaction.value,
389
+ data: upgradeTransaction.data,
390
+ operation: upgradeTransaction.operation,
391
+ method: "upgradeToAndCall",
392
+ args: [implementation.address],
393
+ executor: upgradeTransaction.executor,
394
+ reason: upgradeAuthority.reason,
395
+ });
396
+ }
397
+ else {
398
+ const selectedSigner = upgradeTransaction.route === "external"
399
+ ? await (0, signer_1.impersonateWorkflowSimulationSigner)(upgradeTransaction.executor)
400
+ : context.signer;
401
+ const tx = await (0, create2_1.sendPreparedWorkflowTransaction)(upgradeEnvelope, selectedSigner);
402
+ upgradeTxHash = tx.hash;
403
+ if (context.mode === "execute" && upgradeTransaction.route === "operator") {
404
+ context.operatorReceipts.push({
405
+ transactionId: upgradeTransaction.transactionId,
406
+ transactionHash: tx.hash,
407
+ });
408
+ }
409
+ }
410
+ if (context.mode === "execute"
411
+ && !implementationExternal
412
+ && upgradeTransaction.route === "operator") {
413
+ await assertUupsChainState(proxy.proxyAddress, implementation.address);
414
+ const gateToolSync = await (0, gateToolSync_1.syncGateToolUups)({
415
+ root: context.root,
416
+ evidenceDir: gateToolEvidenceDir,
417
+ evidenceName: step.id,
418
+ scheme: prepared.plan.scheme,
419
+ network: projectHardhat_1.network.name,
420
+ target: context.targetId,
421
+ manifestDir: context.target.openzeppelin.manifestDir,
422
+ proxy: proxy.proxyAddress,
423
+ implementation: implementation.address,
424
+ contract: actualContract,
425
+ constructorArgs,
426
+ transactionHash: upgradeTxHash || "",
427
+ });
428
+ recorder?.apply({
429
+ ...preparedChange,
430
+ implementationTxHash,
431
+ txHash: upgradeTxHash,
432
+ gateToolSync,
433
+ });
434
+ }
435
+ else if (context.mode === "simulate") {
436
+ await assertUupsChainState(proxy.proxyAddress, implementation.address);
437
+ }
438
+ context.state.set(`${proxy.saveAs}Upgrade`, {
439
+ proxyAddress: proxy.proxyAddress,
440
+ implementationAddress: implementation.address,
441
+ implementationSalt,
442
+ implementationTxHash,
443
+ txHash: upgradeTxHash,
444
+ external: implementationExternal || upgradeTransaction.route === "external",
445
+ gateToolPlan,
446
+ });
447
+ context.reporter.result("execution", {
448
+ stepId: step.id,
449
+ kind: step.kind,
450
+ mode: upgradeTransaction.route,
451
+ scheme,
452
+ implementationTransactionId,
453
+ upgradeTransactionId: upgradeTransaction.transactionId,
454
+ contract: contractName,
455
+ actualContract,
456
+ saveAs: proxy.saveAs,
457
+ contractInfoKey: proxy.contractInfoKey,
458
+ proxy: proxy.proxyAddress,
459
+ implementationAddress: implementation.address,
460
+ implementationTxHash,
461
+ txHash: upgradeTxHash,
462
+ gateToolPlan,
463
+ });
464
+ };
465
+ exports.runUpgradeStep = runUpgradeStep;
466
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../runtime/workflow/steps/upgrade.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAmF;AACnF,mCAAmC;AACnC,yDAAuD;AACvD,gDAAwB;AAMxB,gDAI0B;AAC1B,oDAM4B;AAE5B,8CAA0D;AAC1D,sDAAuD;AACvD,4CAA0D;AAC1D,sCAAqE;AACrE,kDAA+D;AAC/D,4CAIwB;AACxB,wCAAsE;AAEtE,0CAAoE;AACpE,kDAAoE;AAEpE,MAAM,gBAAgB,GAAG,CACvB,OAAwB,EACxB,KAAc,EACL,EAAE,CAAC,IAAA,yBAAY,EAAC,KAAK,EAAE;IAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,YAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;CACrB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CACpB,OAAwB,EACxB,KAAc,EACW,EAAE;IAC3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACpF,OAAO,QAAmC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,OAAwB,EACxB,KAAc,EACd,KAAa,EACF,EAAE;IACb,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAC;IACnF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,MAA+B,EAC/B,GAAW,EACS,EAAE,CAAC,CACvB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACjF,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,OAAwB,EACxB,IAAkB,EAMlB,EAAE;IACF,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC;WAC/C,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC;WAChC,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC;WACpC,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;WAC5F,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtG,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAE5F,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAA,+BAAiB,EAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClG,IAAI,CAAC,IAAA,kBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAmB,CAAC,OAAO,CAAC;IAClF,MAAM,aAAa,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,IAAA,gCAAkB,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,kBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAA,kCAAoB,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,kBAAkB,EAAE,GAAG,IAAI,IAAA,6BAAe,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9F,OAAO;QACL,YAAY;QACZ,MAAM;QACN,eAAe,EAAE,WAAW;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC;mBACjC,CAAC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YACnE,WAAW,EAAE,WAAW,CAAC,WAAW,KAAK,KAAK;gBAC5C,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC;YAC3C,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC;gBACjD,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrD,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,WAAW,CAAC,eAAe,KAAK,SAAS;gBACxD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,eAAe,EAAE,QAAQ,IAAI,CAAC,EAAE,wBAAwB,CAAC;SAChG;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,OAAwB,EACxB,IAAkB,EAC2B,EAAE;IAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClE,OAAO,EAAE;QACP,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE;QACnF,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,YAAuC,EACvC,OAA2C,EAClB,EAAE;IAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACvF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,cAAc,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,WAAqC,EACb,EAAE;IAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IAC1F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,WAAoC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,WAAW,CAAC,EAAE;IACtB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,SAAS,EAAE,WAAW,CAAC,SAAS;IAChC,GAAG,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS;QACvC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,MAAM,EAAE,cAAuB,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC;CAC/E,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,KAAK,EAChC,KAAa,EACb,cAAsB,EACP,EAAE;IACjB,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/E,uBAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9B,uBAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;QACvC,IAAA,kCAAwB,EAAC,uBAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;KACjD,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,mDAAmD,cAAc,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,IACE,CAAC,qBAAqB;WACnB,qBAAqB,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,EACvE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,cAAc,KAAK,8CAA8C,cAAc,EAAE,CAClF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EACjC,OAAwB,EACxB,IAAkB,EACH,EAAE;IACjB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAA,4CAA+B,EAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,IAAA,gCAAkB,EAAC,YAAY,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;IACjD,MAAM,MAAM,GAAG,aAAa,EAAE,MAAM,IAAI,KAAK,CAAC;IAC9C,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,eAAe,EAAE,mBAAmB,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,CAAC,EAAE,0DAA0D,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,YAAY,CAClC,OAAO,EACP,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EACzD,QAAQ,IAAI,CAAC,EAAE,kBAAkB,CAClC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAA,gCAAwB,EACjD,OAAO,CAAC,WAAW,EACnB,YAAY,EACZ,KAAK,CAAC,YAAY,CACnB,CAAC;IACF,MAAM,OAAO,GAAiC;QAC5C,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,OAAO,EAAE,wBAAO,CAAC,IAAI;QACrB,MAAM,EAAE,OAAO,CAAC,QAAQ;QACxB,QAAQ,EAAE,YAAY;QACtB,eAAe;QACf,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,kBAAkB;QAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;IACF,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CACnC,OAAO,CAAC,OAAO,EACf,SAAS,EACT,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,WAAW,EACX,OAAO,CAAC,IAAI,CACb,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,IAAA,kCAAuB,EAAC;QAC7C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,IAAI,CAAC,EAAE;QACrB,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,IAAI,KAAK,UAAU;YACvC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW;YAC1C,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CACxD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,uBAAuB,CACjE,CAAC;IACF,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC9F,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9F,MAAM,cAAc,GAAqB;QACvC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,cAAc;QACd,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,qBAAqB,EAAE,cAAc,CAAC,OAAO;QAC7C,kBAAkB;QAClB,eAAe;QACf,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,QAAQ,EAAE;YACR,UAAU,EAAE,YAAY;YACxB,IAAI,EAAE,QAAQ,CAAC,IAA0C;SAC1D;KACF,CAAC;IACF,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACrC,IAAA,6CAAsC,EACpC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,wBAAwB,EAChC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CACtD,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;IACvF,CAAC;IACD,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,MAAM,uBAAM,CAAC,aAAa,CAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,EAChC,KAAK,CAAC,YAAY,EAClB,OAAO,CAAC,MAAM,CACf,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,IAAA,2BAAe,EAC5C,aAAa,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,IACE,OAAO,CAAC,IAAI,KAAK,UAAU;WACxB,CAAC,OAAO,CAAC,0BAA0B;WACnC,CAAC,OAAO,CAAC,gBAAgB,EAC5B,CAAC;QACD,IAAA,oDAAwC,EAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,uBAAuB,GAAG,kBAAkB;QAChD,CAAC,CAAC,IAAA,+CAAqC,EACnC,eAAe,CAAC,mBAAmB,EACnC,CAAC;gBACC,MAAM,EAAE,kBAAkB,CAAC,EAAE;gBAC7B,KAAK,EAAE,kBAAkB,CAAC,KAAK;gBAC/B,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,GAAG,CAAC,kBAAkB,CAAC,WAAW,KAAK,SAAS;oBAC9C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,WAAW,EAAE,CAAC;aACrD,CAAC,EACF,MAAM,CACP;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,uBAAuB;QACvC,CAAC,CAAC,MAAM,uBAAM,CAAC,aAAa,CACxB,2DAAkC,EAClC,eAAe,CAAC,mBAAmB,EACnC,OAAO,CAAC,MAAM,CACf;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,uBAAuB,GAAG,SAAS;QACvC,CAAC,CAAC,MAAM,IAAA,8CAAkC,EACtC,SAIC,EACD,aAAa,CAAC,OAAO,EACrB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,CACtB;QACH,CAAC,CAAC,SAAS,CAAC;IACd,IACE,MAAM,KAAK,cAAc;WACtB,CACD,gBAAgB,CAAC,IAAI,KAAK,SAAS;eAChC,uBAAuB,EAAE,IAAI,KAAK,UAAU,CAChD,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,CAAC,EAAE,uDAAuD,CAC/E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,0BAA0B,GAAG,OAAO,CAAC,IAAI,KAAK,UAAU;eACzD,OAAO,CAAC,0BAA0B,KAAK,IAAI,CAAC;QACjD,IACE,CAAC,0BAA0B;eACxB,CACD,gBAAgB,CAAC,IAAI,KAAK,SAAS;mBAChC,uBAAuB,EAAE,IAAI,KAAK,UAAU,CAChD,EACD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,mDAAmD,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,oBAAwC,CAAC;QAC7C,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,MAAM,IAAA,oDAA0C,EACzD,uBAAuB,EACvB,OAAO,CAAC,MAAM,CACf,CAAC;YACF,oBAAoB,GAAG,EAAE,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAA,yCAA+B,EACrD,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,OAAO,CAAC,MAAM,CACf,CAAC;QACF,MAAM,oBAAoB,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS;YAC7C,CAAC,CAAC,MAAM,IAAA,+BAAgB,EAAC;gBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,mBAAmB;gBAChC,YAAY,EAAE,IAAI,CAAC,EAAE;gBACrB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC5B,OAAO,EAAE,wBAAO,CAAC,IAAI;gBACrB,MAAM,EAAE,OAAO,CAAC,QAAQ;gBACxB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW;gBACpD,KAAK,EAAE,KAAK,CAAC,YAAY;gBACzB,cAAc,EAAE,cAAc,CAAC,OAAO;gBACtC,QAAQ,EAAE,cAAc;gBACxB,eAAe;gBACf,eAAe,EAAE,SAAS,CAAC,IAAI;aAChC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,EAAE,KAAK,CAAC;gBACd,GAAG,cAAc;gBACjB,oBAAoB;gBACpB,MAAM,EAAE,SAAS,CAAC,IAAI;gBACtB,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,EAAE;YAC1C,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,qBAAqB,EAAE,cAAc,CAAC,OAAO;YAC7C,kBAAkB;YAClB,oBAAoB;YACpB,MAAM,EAAE,SAAS,CAAC,IAAI;YACtB,YAAY;YACZ,YAAY,EAAE,YAAY,EAAE,UAAU;SACvC,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,SAAS;YACf,MAAM;YACN,QAAQ,EAAE,YAAY;YACtB,cAAc;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,KAAK,EAAE,KAAK,CAAC,YAAY;YACzB,qBAAqB,EAAE,cAAc,CAAC,OAAO;YAC7C,oBAAoB;YACpB,MAAM,EAAE,SAAS,CAAC,IAAI;YACtB,YAAY;SACb,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,2BAA+C,CAAC;IACpD,IAAI,oBAAwC,CAAC;IAC7C,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,uBAAuB,IAAI,uBAAuB,EAAE,CAAC;QACvD,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,IAAI,KAAK,SAAS;YACvE,CAAC,CAAC,OAAO,CAAC,aAAa;YACvB,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,yCAAyC,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,iBAAiB;YACnC,QAAQ,EAAE,sBAAsB;YAChC,EAAE,EAAE,uBAAuB,CAAC,MAAM;YAClC,KAAK,EAAE,uBAAuB,CAAC,KAAK;YACpC,IAAI,EAAE,uBAAuB,CAAC,IAAI;YAClC,SAAS,EAAE,CAAC;YACZ,GAAG,CAAC,uBAAuB,CAAC,MAAM,KAAK,SAAS;gBAC9C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,CAAC;YAC/C,GAAG,CAAC,uBAAuB,CAAC,WAAW,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC1D,CAAC,CAAC;QACH,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;QACpD,sBAAsB,GAAG,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC;QACtD,IAAI,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACzC,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACvE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;gBACzB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,uBAAuB,CAAC,MAAM;gBACtC,IAAI,EAAE,uBAAuB,CAAC,KAAK;gBACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,uBAAuB,CAAC,MAAM;aACvC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,KAAK,UAAU;gBACjD,CAAC,CAAC,MAAM,IAAA,4CAAmC,EAAC,OAAO,CAAC,QAAQ,CAAC;gBAC7D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,GAAG,MAAM,IAAA,oDAA0C,EACzD,uBAAuB,EACvB,cAAc,CACf,CAAC;YACF,oBAAoB,GAAG,EAAE,CAAC,IAAI,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC/D,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,eAAe,EAAE,EAAE,CAAC,IAAI;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,KAAK,SAAS;QACzD,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;IAC/F,MAAM,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC;QACtD,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ,EAAE,eAAe;QACzB,EAAE,EAAE,eAAe,CAAC,MAAM;QAC1B,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,SAAS,EAAE,CAAC;QACZ,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC;QACnF,GAAG,CAAC,eAAe,CAAC,WAAW,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,aAAiC,CAAC;IACtC,IAAI,kBAAkB,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACpD,aAAa,GAAG,kBAAkB,CAAC,eAAe,CAAC;IACrD,CAAC;SAAM,IAAI,kBAAkB,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClF,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;YACzB,aAAa,EAAE,kBAAkB,CAAC,aAAa;YAC/C,MAAM,EAAE,kBAAkB,CAAC,MAAM;YACjC,EAAE,EAAE,kBAAkB,CAAC,EAAE;YACzB,KAAK,EAAE,kBAAkB,CAAC,KAAK;YAC/B,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC7B,SAAS,EAAE,kBAAkB,CAAC,SAAS;YACvC,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;YAC9B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;YACrC,MAAM,EAAE,gBAAgB,CAAC,MAAM;SAChC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,KAAK,UAAU;YAC5D,CAAC,CAAC,MAAM,IAAA,4CAAmC,EAAC,kBAAkB,CAAC,QAAQ,CAAC;YACxE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,IAAA,yCAA+B,EAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAClF,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC1E,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAC5B,aAAa,EAAE,kBAAkB,CAAC,aAAa;gBAC/C,eAAe,EAAE,EAAE,CAAC,IAAI;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;WACvB,CAAC,sBAAsB;WACvB,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAC1C,CAAC;QACD,MAAM,oBAAoB,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,MAAM,IAAA,+BAAgB,EAAC;YAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,mBAAmB;YAChC,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;YAC5B,OAAO,EAAE,wBAAO,CAAC,IAAI;YACrB,MAAM,EAAE,OAAO,CAAC,QAAQ;YACxB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW;YACpD,KAAK,EAAE,KAAK,CAAC,YAAY;YACzB,cAAc,EAAE,cAAc,CAAC,OAAO;YACtC,QAAQ,EAAE,cAAc;YACxB,eAAe;YACf,eAAe,EAAE,aAAa,IAAI,EAAE;SACrC,CAAC,CAAC;QACH,QAAQ,EAAE,KAAK,CAAC;YACd,GAAG,cAAc;YACjB,oBAAoB;YACpB,MAAM,EAAE,aAAa;YACrB,YAAY;SACb,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,oBAAoB,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,EAAE;QAC1C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,qBAAqB,EAAE,cAAc,CAAC,OAAO;QAC7C,kBAAkB;QAClB,oBAAoB;QACpB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,sBAAsB,IAAI,kBAAkB,CAAC,KAAK,KAAK,UAAU;QAC3E,YAAY;KACb,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,kBAAkB,CAAC,KAAK;QAC9B,MAAM;QACN,2BAA2B;QAC3B,oBAAoB,EAAE,kBAAkB,CAAC,aAAa;QACtD,QAAQ,EAAE,YAAY;QACtB,cAAc;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,qBAAqB,EAAE,cAAc,CAAC,OAAO;QAC7C,oBAAoB;QACpB,MAAM,EAAE,aAAa;QACrB,YAAY;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAzZW,QAAA,cAAc,kBAyZzB"}
@@ -0,0 +1,3 @@
1
+ import { WorkflowContext } from "../run";
2
+ import { WorkflowStep } from "../lib/parameters";
3
+ export declare const runViewStep: (context: WorkflowContext, step: WorkflowStep) => Promise<void>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runViewStep = void 0;
4
+ const calls_1 = require("../lib/calls");
5
+ const runViewStep = async (context, step) => {
6
+ await (0, calls_1.runContractViewCalls)(context, step);
7
+ };
8
+ exports.runViewStep = runViewStep;
9
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../runtime/workflow/steps/view.ts"],"names":[],"mappings":";;;AAEA,wCAAoD;AAE7C,MAAM,WAAW,GAAG,KAAK,EAC9B,OAAwB,EACxB,IAAkB,EACH,EAAE;IACjB,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB"}
@@ -0,0 +1,20 @@
1
+ # Direct-package template acceptance — 2026-09-09
2
+
3
+ New full projects use `gate-workflow` directly through the existing npm command names. Hardhat and tests import `gate-evm-tools/runtime-config/*` and `runtime/*`; the template no longer contains `scripts/workflow` or `scripts/config` forwarding directories. Business contracts, task/custom scripts, configuration and state remain project-owned.
4
+
5
+ Local artifact: `/Users/vector/gate/local-packages/direct-package/gate-evm-tools-1.1.0-local.0.tgz`. Its SHA-256 is recorded alongside it in `sha256.txt`. This preview is unpublished. The installed runtime digest is `612a6704b8bd379c97ee352a47a04402615a49c38718bc3542ca0f6252097de2`.
6
+
7
+ Validation:
8
+
9
+ - GateTool: 131 tests passed after rebuilding the migration utility.
10
+ - EVM generator/template: build and all 374 tests passed, including direct commands, legacy upgrades and conflict handling.
11
+ - Isolated full project: installed the tarball and refreshed its existing npm lockfile, then `npm ci`, 9 Hardhat tests and a two-custom-step simulation (`direct-final-2`) passed.
12
+ - GateFlow `evm-runtime-check`: accepted the direct-package fixture and reported the matching version/digest.
13
+ - Historical full-template baseline: migration removed 72 recognized files, updated 4 consumers, and backed up originals. All 72 backups matched the baseline. Hardhat differed only in import paths; compiler settings were unchanged. A repeated migration reported 72 current entries and made no changes.
14
+ - Migration skill: quick validation and 89 workflow policy tests passed.
15
+
16
+ Logs, migration plans, GateFlow output and tarball metadata are in the artifact directory above. The historical baseline check shares the isolated project's installed node_modules for resolution; the isolated full project itself was validated using a real frozen npm install.
17
+
18
+ Migration refuses custom/unknown executable references and unsafe paths instead of deleting them. Install the approved package and update dependency/lockfile first, review `gate-workflow migrate`, then apply once. Later compatible upgrades update the exact package and existing lockfile; breaking API/config changes still need migration. Active execution bindings must stay on their original runtime build.
19
+
20
+ No remote transaction broadcast, npm publication, commit/push or active SuperTask mutation was performed in this acceptance.
@@ -0,0 +1,33 @@
1
+ # External infrastructure template acceptance
2
+
3
+ The full template no longer ships Multicall3.sol or UUPSPlaceholder.sol. GateTool queries deployed Multicall authority with a packaged ABI. New proxy deployment steps identify the same business implementation in contract and firstUpgrade.contract; the old placeholder identifier remains supported without loading that artifact.
4
+
5
+ No project proxy Solidity entry remains. registerWorkflowDependencyCompiler adds the canonical OpenZeppelin ERC1967Proxy source name to Hardhat compilation through the project subtask API. Project compiler settings remain authoritative. No infrastructure addresses, salts, deployments or existing project source files were changed by this template update.
6
+
7
+ Pending versions: GateTool 1.0.28, EVM generator 2.1.23 (^1.0.28 dependency), GateFlow 4.2.2. The template capability workflow.external-infrastructure.v1 selects the new integrity checks; historical templates retain their source/artifact checks. Upgrade GateFlow and workflow skills before using this template in a task. The migration helper does not delete existing infrastructure source automatically.
8
+
9
+ Validation:
10
+ - GateTool: 135 tests passed.
11
+ - EVM generator: final full run 374 tests passed, including source-level deployment and upgrade lifecycle regression.
12
+ - GateFlow: 34 tests passed; CLI build passed.
13
+ - ai-workflows: 89 policy tests passed; migration skill validation passed. Initialization accepted the real new fixture without either infrastructure source.
14
+ - Local 1.0.28 tarball installed into an isolated full project, npm ci succeeded, clean Hardhat compilation and 9 tests passed without the two source files.
15
+ - OpenZeppelin proxy bytecode and deployedBytecode were byte-for-byte identical when compiling with and without the two infrastructure sources. Final fixture was cleaned and rebuilt without them.
16
+ - GateFlow accepted the real compiled project with the new capability, actual installed runtime and proxy artifact.
17
+ - Direct dependency compilation without any proxy import source passed 9 Hardhat tests and zkSync compilation (9 sources). EVM proxy bytecode and deployedBytecode matched the original import-based compilation exactly.
18
+
19
+ Local tarball: /Users/vector/gate/local-packages/external-infrastructure/gate-evm-tools-1.0.28.tgz. Final direct OpenZeppelin compilation logs use /tmp/direct-oz-* and are archived beside the tarball; earlier logs use /tmp/external-infra-*; the isolated project is /Users/vector/gate/local-packages/direct-package/full-runtime-check.
20
+
21
+ No broadcast, npm publication, commit or push performed. Existing execution bindings cannot resume under a changed runtime digest; use the original runtime to finish those tasks.
22
+
23
+ ## New-workflow package acceptance
24
+
25
+ Both gate-evm-tools-1.0.28.tgz and gate-evm-hardhat-foundry-2.1.23.tgz were built and inspected. The generator tarball contains none of the three removed Solidity files. The GateTool tarball contains the compiled authority ABI and dependency compiler adapter.
26
+
27
+ Installed the generator tarball in an isolated directory, generated a fresh project, installed the local GateTool tarball and ran npm ci with lifecycle scripts enabled. The retained OpenZeppelin patch applied successfully. Nine Hardhat tests, EVM compilation, zkSync compilation, and static validation of a normal task created from the example passed. The reserved _examples/counter-rollout path is not accepted as a static-validation deployment ID; copy the example to a normal task ID before validating it.
28
+
29
+ GateFlow: 34 tests passed again, and frontend/server/CLI/Electron code builds passed after restoring dependencies from the existing Bun lockfile. The built CLI accepted the fresh generated project. Updated the bundled Universal workflow as well as ai-workflows so new tasks no longer require removed source files. This run did not produce a desktop installer or replace the installed application.
30
+
31
+ ai-workflows: 89 tests passed, all 62 workflow YAML files parsed, initialization and migration skills validated. Acceptance scope is the new workflow only.
32
+
33
+ Artifacts and release-removal-* logs are in /Users/vector/gate/local-packages/external-infrastructure; SHA256SUMS records both tarballs. The fresh project is release-removal-check/project under that directory. No publication, push or remote transaction broadcast was performed.
@@ -0,0 +1,18 @@
1
+ # Network/RPC extraction — local acceptance
2
+
3
+ The full-template Hardhat configuration now calls GateTool's compiled runtime-config exports. RPC parsing and zksyncSolcPath retain compatibility shims. Standard networks and fork validation live in networks.ts; project-provided Hardhat APIs register the solc adapter, without loading an HRE from inside config helpers.
4
+
5
+ The Hardhat config went from 401 to 90 lines. Its Solidity and zkSolc sections were compared byte-for-byte and are unchanged. Overlay projects retain old compiler versions/settings/overrides and merge only helper integration. Per-network `overrides` shallow-merge named network fields; other networks keep their defaults. Manifest/plugin/env/account loading order stays in the project.
6
+
7
+ Validation:
8
+
9
+ - GateTool: 128 tests passed, including differential comparison of all 36 network entries against the original config under fallback, Base RPC and fork environments; overrides and compiler preservation; fork parameter rejection; project-owned compiler hook registration.
10
+ - Template generator: build and all 372 tests passed, including legacy upgrade and packaged config preservation.
11
+ - Generated isolated project: installed the local tarball, completed npm ci, passed 9 Hardhat tests and a two-custom-step no-broadcast workflow simulation. Installed runtime identity matches the build.
12
+ - Migration utility: 72 baseline workflow/helper files replaced; repeated apply is a no-op; hardhat.config.ts remains byte-for-byte unchanged by the migration utility.
13
+ - GateFlow: 32 readiness/context/integrity/RPC tests passed; the built CLI accepted the new installed runtime.
14
+ - Migration skill: 9 policy tests and skill validation passed. The skill now describes helper-based network migration while preserving old compiler settings.
15
+
16
+ The template generator's legacy upgrader also recognizes packaged network config/RPC shims and preserves them rather than injecting old inline logic. Historical upgrade coverage keeps an explicit old-config fixture. The template source tests read network/adapter implementation from the installed package, while separate installed-package integration verifies the real Hardhat boundary.
17
+
18
+ Local artifact and logs: `/Users/vector/gate/local-packages/network-extraction/`. This is a new local build of `1.1.0-local.0` with a distinct runtime digest/tarball hash; the earlier workflow-extraction artifact is retained. Existing execution bindings must not be reused with this different build. No npm publication, commit/push, live SuperTask change or remote transaction broadcast.
@@ -0,0 +1,16 @@
1
+ # Packaged workflow extraction
2
+
3
+ Scope: Move the full template workflow into GateTool, retaining existing project commands, data paths and business hooks. No npm publication or blockchain broadcast. Local tarball installation is the acceptance source. Existing proxy-check changes are preserved.
4
+
5
+ - [x] Record template baseline and GateFlow callers.
6
+ - [x] Package runtime implementations with explicit project runtime resolution and public type/module entrypoints.
7
+ - [x] Preserve old script paths through thin compatibility shims; resolve internal child entrypoints from the installed package.
8
+ - [x] Add runtime version compatibility guards for resumable executions without rewriting old state.
9
+ - [x] Build and pack locally; install the tarball into an isolated full-template fixture.
10
+ - [x] Run configuration, checks, execution/retry/custom-step and template/GateFlow compatibility tests without broadcasting.
11
+ - [x] Provide a migration plan/apply tool that only replaces unchanged known template files, preserving custom files and running task records.
12
+ - [x] Document supported upgrades, limitations, validation results, and rollback.
13
+
14
+ Non-goals: npm publication, moving business contracts or data into node_modules, implementation vanity-policy changes, modifying live SuperTask execution state.
15
+
16
+ Acceptance: `docs/workflow-runtime-acceptance.md`. Tests use packaged source fixtures plus a separately installed compiled-runtime project. No remote EVM or zkSync transaction was broadcast.