gate-evm-tools 1.0.25 → 1.0.27

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 (352) hide show
  1. package/README.md +33 -11
  2. package/bin/workflow.cjs +19 -0
  3. package/dist/commands/check.d.ts.map +1 -1
  4. package/dist/commands/check.js +21 -57
  5. package/dist/commands/check.js.map +1 -1
  6. package/dist/commands/checkBatch.d.ts +4 -0
  7. package/dist/commands/checkBatch.d.ts.map +1 -0
  8. package/dist/commands/checkBatch.js +57 -0
  9. package/dist/commands/checkBatch.js.map +1 -0
  10. package/dist/commands/checkOptions.d.ts +3 -0
  11. package/dist/commands/checkOptions.d.ts.map +1 -1
  12. package/dist/commands/checkOptions.js +10 -1
  13. package/dist/commands/checkOptions.js.map +1 -1
  14. package/dist/commands/prepare.d.ts +1 -2
  15. package/dist/commands/prepare.d.ts.map +1 -1
  16. package/dist/commands/prepare.js +2 -17
  17. package/dist/commands/prepare.js.map +1 -1
  18. package/dist/commands/sync.d.ts.map +1 -1
  19. package/dist/commands/sync.js +2 -17
  20. package/dist/commands/sync.js.map +1 -1
  21. package/dist/commands/validate.d.ts.map +1 -1
  22. package/dist/commands/validate.js +2 -17
  23. package/dist/commands/validate.js.map +1 -1
  24. package/dist/core/BytecodeChecker.d.ts.map +1 -1
  25. package/dist/core/BytecodeChecker.js +16 -1
  26. package/dist/core/BytecodeChecker.js.map +1 -1
  27. package/dist/core/legacyProxyArtifact.d.ts +6 -0
  28. package/dist/core/legacyProxyArtifact.d.ts.map +1 -0
  29. package/dist/core/legacyProxyArtifact.js +36 -0
  30. package/dist/core/legacyProxyArtifact.js.map +1 -0
  31. package/dist/index.js +3 -3
  32. package/dist/index.js.map +1 -1
  33. package/dist/types.d.ts +2 -2
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/utils/hardhat.d.ts +4 -0
  36. package/dist/utils/hardhat.d.ts.map +1 -0
  37. package/dist/utils/hardhat.js +9 -0
  38. package/dist/utils/hardhat.js.map +1 -0
  39. package/dist-runtime/config/hardhatAdapters.d.ts +5 -0
  40. package/dist-runtime/config/hardhatAdapters.js +53 -0
  41. package/dist-runtime/config/hardhatAdapters.js.map +1 -0
  42. package/dist-runtime/config/networks.d.ts +8 -0
  43. package/dist-runtime/config/networks.js +269 -0
  44. package/dist-runtime/config/networks.js.map +1 -0
  45. package/dist-runtime/config/openzeppelin.d.ts +28 -0
  46. package/dist-runtime/config/openzeppelin.js +144 -0
  47. package/dist-runtime/config/openzeppelin.js.map +1 -0
  48. package/dist-runtime/config/rpc.d.ts +7 -0
  49. package/dist-runtime/config/rpc.js +19 -0
  50. package/dist-runtime/config/rpc.js.map +1 -0
  51. package/dist-runtime/config/zksyncSolcPath.d.ts +1 -0
  52. package/dist-runtime/config/zksyncSolcPath.js +61 -0
  53. package/dist-runtime/config/zksyncSolcPath.js.map +1 -0
  54. package/dist-runtime/migrate.d.ts +13 -0
  55. package/dist-runtime/migrate.js +208 -0
  56. package/dist-runtime/migrate.js.map +1 -0
  57. package/dist-runtime/package.json +1 -0
  58. package/dist-runtime/projectHardhat.d.ts +4 -0
  59. package/dist-runtime/projectHardhat.js +16 -0
  60. package/dist-runtime/projectHardhat.js.map +1 -0
  61. package/dist-runtime/runtime-identity.json +4 -0
  62. package/dist-runtime/template-migration.json +293 -0
  63. package/dist-runtime/workflow/checkCode.d.ts +1 -0
  64. package/dist-runtime/workflow/checkCode.js +16 -0
  65. package/dist-runtime/workflow/checkCode.js.map +1 -0
  66. package/dist-runtime/workflow/checkCodeFinalize.d.ts +1 -0
  67. package/dist-runtime/workflow/checkCodeFinalize.js +11 -0
  68. package/dist-runtime/workflow/checkCodeFinalize.js.map +1 -0
  69. package/dist-runtime/workflow/checkCodePlan.d.ts +1 -0
  70. package/dist-runtime/workflow/checkCodePlan.js +11 -0
  71. package/dist-runtime/workflow/checkCodePlan.js.map +1 -0
  72. package/dist-runtime/workflow/cli.d.ts +1 -0
  73. package/dist-runtime/workflow/cli.js +302 -0
  74. package/dist-runtime/workflow/cli.js.map +1 -0
  75. package/dist-runtime/workflow/commitContractInfo.d.ts +1 -0
  76. package/dist-runtime/workflow/commitContractInfo.js +64 -0
  77. package/dist-runtime/workflow/commitContractInfo.js.map +1 -0
  78. package/dist-runtime/workflow/create2Hashes.d.ts +1 -0
  79. package/dist-runtime/workflow/create2Hashes.js +76 -0
  80. package/dist-runtime/workflow/create2Hashes.js.map +1 -0
  81. package/dist-runtime/workflow/forkSourceProxy.d.ts +1 -0
  82. package/dist-runtime/workflow/forkSourceProxy.js +151 -0
  83. package/dist-runtime/workflow/forkSourceProxy.js.map +1 -0
  84. package/dist-runtime/workflow/importState.d.ts +1 -0
  85. package/dist-runtime/workflow/importState.js +193 -0
  86. package/dist-runtime/workflow/importState.js.map +1 -0
  87. package/dist-runtime/workflow/lib/authority.d.ts +28 -0
  88. package/dist-runtime/workflow/lib/authority.js +122 -0
  89. package/dist-runtime/workflow/lib/authority.js.map +1 -0
  90. package/dist-runtime/workflow/lib/calldata.d.ts +2 -0
  91. package/dist-runtime/workflow/lib/calldata.js +8 -0
  92. package/dist-runtime/workflow/lib/calldata.js.map +1 -0
  93. package/dist-runtime/workflow/lib/calls.d.ts +23 -0
  94. package/dist-runtime/workflow/lib/calls.js +316 -0
  95. package/dist-runtime/workflow/lib/calls.js.map +1 -0
  96. package/dist-runtime/workflow/lib/checkCode/args.d.ts +2 -0
  97. package/dist-runtime/workflow/lib/checkCode/args.js +68 -0
  98. package/dist-runtime/workflow/lib/checkCode/args.js.map +1 -0
  99. package/dist-runtime/workflow/lib/checkCode/command.d.ts +5 -0
  100. package/dist-runtime/workflow/lib/checkCode/command.js +35 -0
  101. package/dist-runtime/workflow/lib/checkCode/command.js.map +1 -0
  102. package/dist-runtime/workflow/lib/checkCode/dependencies.d.ts +6 -0
  103. package/dist-runtime/workflow/lib/checkCode/dependencies.js +125 -0
  104. package/dist-runtime/workflow/lib/checkCode/dependencies.js.map +1 -0
  105. package/dist-runtime/workflow/lib/checkCode/finalize.d.ts +17 -0
  106. package/dist-runtime/workflow/lib/checkCode/finalize.js +174 -0
  107. package/dist-runtime/workflow/lib/checkCode/finalize.js.map +1 -0
  108. package/dist-runtime/workflow/lib/checkCode/index.d.ts +3 -0
  109. package/dist-runtime/workflow/lib/checkCode/index.js +20 -0
  110. package/dist-runtime/workflow/lib/checkCode/index.js.map +1 -0
  111. package/dist-runtime/workflow/lib/checkCode/plan.d.ts +22 -0
  112. package/dist-runtime/workflow/lib/checkCode/plan.js +145 -0
  113. package/dist-runtime/workflow/lib/checkCode/plan.js.map +1 -0
  114. package/dist-runtime/workflow/lib/checkCodeReport.d.ts +25 -0
  115. package/dist-runtime/workflow/lib/checkCodeReport.js +102 -0
  116. package/dist-runtime/workflow/lib/checkCodeReport.js.map +1 -0
  117. package/dist-runtime/workflow/lib/checkCodeRunner.d.ts +87 -0
  118. package/dist-runtime/workflow/lib/checkCodeRunner.js +964 -0
  119. package/dist-runtime/workflow/lib/checkCodeRunner.js.map +1 -0
  120. package/dist-runtime/workflow/lib/cliTool.d.ts +10 -0
  121. package/dist-runtime/workflow/lib/cliTool.js +25 -0
  122. package/dist-runtime/workflow/lib/cliTool.js.map +1 -0
  123. package/dist-runtime/workflow/lib/config.d.ts +33 -0
  124. package/dist-runtime/workflow/lib/config.js +100 -0
  125. package/dist-runtime/workflow/lib/config.js.map +1 -0
  126. package/dist-runtime/workflow/lib/contractInfoCandidates.d.ts +82 -0
  127. package/dist-runtime/workflow/lib/contractInfoCandidates.js +441 -0
  128. package/dist-runtime/workflow/lib/contractInfoCandidates.js.map +1 -0
  129. package/dist-runtime/workflow/lib/create2.d.ts +49 -0
  130. package/dist-runtime/workflow/lib/create2.js +194 -0
  131. package/dist-runtime/workflow/lib/create2.js.map +1 -0
  132. package/dist-runtime/workflow/lib/create2Hashes.d.ts +22 -0
  133. package/dist-runtime/workflow/lib/create2Hashes.js +57 -0
  134. package/dist-runtime/workflow/lib/create2Hashes.js.map +1 -0
  135. package/dist-runtime/workflow/lib/deploymentInfo.d.ts +40 -0
  136. package/dist-runtime/workflow/lib/deploymentInfo.js +240 -0
  137. package/dist-runtime/workflow/lib/deploymentInfo.js.map +1 -0
  138. package/dist-runtime/workflow/lib/deploymentRecords.d.ts +137 -0
  139. package/dist-runtime/workflow/lib/deploymentRecords.js +374 -0
  140. package/dist-runtime/workflow/lib/deploymentRecords.js.map +1 -0
  141. package/dist-runtime/workflow/lib/deployments.d.ts +21 -0
  142. package/dist-runtime/workflow/lib/deployments.js +240 -0
  143. package/dist-runtime/workflow/lib/deployments.js.map +1 -0
  144. package/dist-runtime/workflow/lib/erc1967.d.ts +5 -0
  145. package/dist-runtime/workflow/lib/erc1967.js +29 -0
  146. package/dist-runtime/workflow/lib/erc1967.js.map +1 -0
  147. package/dist-runtime/workflow/lib/errors.d.ts +6 -0
  148. package/dist-runtime/workflow/lib/errors.js +77 -0
  149. package/dist-runtime/workflow/lib/errors.js.map +1 -0
  150. package/dist-runtime/workflow/lib/executionId.d.ts +7 -0
  151. package/dist-runtime/workflow/lib/executionId.js +26 -0
  152. package/dist-runtime/workflow/lib/executionId.js.map +1 -0
  153. package/dist-runtime/workflow/lib/executionPlan.d.ts +85 -0
  154. package/dist-runtime/workflow/lib/executionPlan.js +450 -0
  155. package/dist-runtime/workflow/lib/executionPlan.js.map +1 -0
  156. package/dist-runtime/workflow/lib/executionProgress.d.ts +5 -0
  157. package/dist-runtime/workflow/lib/executionProgress.js +100 -0
  158. package/dist-runtime/workflow/lib/executionProgress.js.map +1 -0
  159. package/dist-runtime/workflow/lib/external.d.ts +62 -0
  160. package/dist-runtime/workflow/lib/external.js +282 -0
  161. package/dist-runtime/workflow/lib/external.js.map +1 -0
  162. package/dist-runtime/workflow/lib/externalExecutionScanner.d.ts +64 -0
  163. package/dist-runtime/workflow/lib/externalExecutionScanner.js +638 -0
  164. package/dist-runtime/workflow/lib/externalExecutionScanner.js.map +1 -0
  165. package/dist-runtime/workflow/lib/forkSnapshot.d.ts +34 -0
  166. package/dist-runtime/workflow/lib/forkSnapshot.js +167 -0
  167. package/dist-runtime/workflow/lib/forkSnapshot.js.map +1 -0
  168. package/dist-runtime/workflow/lib/gateTool.d.ts +16 -0
  169. package/dist-runtime/workflow/lib/gateTool.js +177 -0
  170. package/dist-runtime/workflow/lib/gateTool.js.map +1 -0
  171. package/dist-runtime/workflow/lib/gateToolSync.d.ts +22 -0
  172. package/dist-runtime/workflow/lib/gateToolSync.js +253 -0
  173. package/dist-runtime/workflow/lib/gateToolSync.js.map +1 -0
  174. package/dist-runtime/workflow/lib/lock.d.ts +52 -0
  175. package/dist-runtime/workflow/lib/lock.js +269 -0
  176. package/dist-runtime/workflow/lib/lock.js.map +1 -0
  177. package/dist-runtime/workflow/lib/migrationState.d.ts +103 -0
  178. package/dist-runtime/workflow/lib/migrationState.js +920 -0
  179. package/dist-runtime/workflow/lib/migrationState.js.map +1 -0
  180. package/dist-runtime/workflow/lib/operatorExecution.d.ts +28 -0
  181. package/dist-runtime/workflow/lib/operatorExecution.js +134 -0
  182. package/dist-runtime/workflow/lib/operatorExecution.js.map +1 -0
  183. package/dist-runtime/workflow/lib/parameters.d.ts +58 -0
  184. package/dist-runtime/workflow/lib/parameters.js +322 -0
  185. package/dist-runtime/workflow/lib/parameters.js.map +1 -0
  186. package/dist-runtime/workflow/lib/pendingDeploymentReuse.d.ts +29 -0
  187. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js +277 -0
  188. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js.map +1 -0
  189. package/dist-runtime/workflow/lib/proxy.d.ts +18 -0
  190. package/dist-runtime/workflow/lib/proxy.js +19 -0
  191. package/dist-runtime/workflow/lib/proxy.js.map +1 -0
  192. package/dist-runtime/workflow/lib/registryCommit.d.ts +33 -0
  193. package/dist-runtime/workflow/lib/registryCommit.js +319 -0
  194. package/dist-runtime/workflow/lib/registryCommit.js.map +1 -0
  195. package/dist-runtime/workflow/lib/release.d.ts +57 -0
  196. package/dist-runtime/workflow/lib/release.js +256 -0
  197. package/dist-runtime/workflow/lib/release.js.map +1 -0
  198. package/dist-runtime/workflow/lib/releaseFinalize.d.ts +14 -0
  199. package/dist-runtime/workflow/lib/releaseFinalize.js +571 -0
  200. package/dist-runtime/workflow/lib/releaseFinalize.js.map +1 -0
  201. package/dist-runtime/workflow/lib/releaseParameters.d.ts +43 -0
  202. package/dist-runtime/workflow/lib/releaseParameters.js +184 -0
  203. package/dist-runtime/workflow/lib/releaseParameters.js.map +1 -0
  204. package/dist-runtime/workflow/lib/reporter.d.ts +39 -0
  205. package/dist-runtime/workflow/lib/reporter.js +452 -0
  206. package/dist-runtime/workflow/lib/reporter.js.map +1 -0
  207. package/dist-runtime/workflow/lib/resultPaths.d.ts +17 -0
  208. package/dist-runtime/workflow/lib/resultPaths.js +29 -0
  209. package/dist-runtime/workflow/lib/resultPaths.js.map +1 -0
  210. package/dist-runtime/workflow/lib/runtimeVersion.d.ts +10 -0
  211. package/dist-runtime/workflow/lib/runtimeVersion.js +46 -0
  212. package/dist-runtime/workflow/lib/runtimeVersion.js.map +1 -0
  213. package/dist-runtime/workflow/lib/signer.d.ts +10 -0
  214. package/dist-runtime/workflow/lib/signer.js +105 -0
  215. package/dist-runtime/workflow/lib/signer.js.map +1 -0
  216. package/dist-runtime/workflow/lib/signerIdentity.d.ts +1 -0
  217. package/dist-runtime/workflow/lib/signerIdentity.js +23 -0
  218. package/dist-runtime/workflow/lib/signerIdentity.js.map +1 -0
  219. package/dist-runtime/workflow/lib/simulation.d.ts +35 -0
  220. package/dist-runtime/workflow/lib/simulation.js +282 -0
  221. package/dist-runtime/workflow/lib/simulation.js.map +1 -0
  222. package/dist-runtime/workflow/lib/simulationCallers.d.ts +44 -0
  223. package/dist-runtime/workflow/lib/simulationCallers.js +260 -0
  224. package/dist-runtime/workflow/lib/simulationCallers.js.map +1 -0
  225. package/dist-runtime/workflow/lib/sourceRpcPolicy.d.ts +1 -0
  226. package/dist-runtime/workflow/lib/sourceRpcPolicy.js +43 -0
  227. package/dist-runtime/workflow/lib/sourceRpcPolicy.js.map +1 -0
  228. package/dist-runtime/workflow/lib/state.d.ts +6 -0
  229. package/dist-runtime/workflow/lib/state.js +25 -0
  230. package/dist-runtime/workflow/lib/state.js.map +1 -0
  231. package/dist-runtime/workflow/lib/staticValidation.d.ts +22 -0
  232. package/dist-runtime/workflow/lib/staticValidation.js +124 -0
  233. package/dist-runtime/workflow/lib/staticValidation.js.map +1 -0
  234. package/dist-runtime/workflow/lib/zksyncForkCapability.d.ts +27 -0
  235. package/dist-runtime/workflow/lib/zksyncForkCapability.js +52 -0
  236. package/dist-runtime/workflow/lib/zksyncForkCapability.js.map +1 -0
  237. package/dist-runtime/workflow/lib/zksyncForkRunner.d.ts +57 -0
  238. package/dist-runtime/workflow/lib/zksyncForkRunner.js +344 -0
  239. package/dist-runtime/workflow/lib/zksyncForkRunner.js.map +1 -0
  240. package/dist-runtime/workflow/reconcileExternal.d.ts +1 -0
  241. package/dist-runtime/workflow/reconcileExternal.js +87 -0
  242. package/dist-runtime/workflow/reconcileExternal.js.map +1 -0
  243. package/dist-runtime/workflow/reconcileExternalRun.d.ts +1 -0
  244. package/dist-runtime/workflow/reconcileExternalRun.js +77 -0
  245. package/dist-runtime/workflow/reconcileExternalRun.js.map +1 -0
  246. package/dist-runtime/workflow/releaseFinalize.d.ts +1 -0
  247. package/dist-runtime/workflow/releaseFinalize.js +11 -0
  248. package/dist-runtime/workflow/releaseFinalize.js.map +1 -0
  249. package/dist-runtime/workflow/run.d.ts +40 -0
  250. package/dist-runtime/workflow/run.js +858 -0
  251. package/dist-runtime/workflow/run.js.map +1 -0
  252. package/dist-runtime/workflow/staticValidate.d.ts +1 -0
  253. package/dist-runtime/workflow/staticValidate.js +26 -0
  254. package/dist-runtime/workflow/staticValidate.js.map +1 -0
  255. package/dist-runtime/workflow/steps/call.d.ts +3 -0
  256. package/dist-runtime/workflow/steps/call.js +9 -0
  257. package/dist-runtime/workflow/steps/call.js.map +1 -0
  258. package/dist-runtime/workflow/steps/check.d.ts +3 -0
  259. package/dist-runtime/workflow/steps/check.js +9 -0
  260. package/dist-runtime/workflow/steps/check.js.map +1 -0
  261. package/dist-runtime/workflow/steps/custom.d.ts +3 -0
  262. package/dist-runtime/workflow/steps/custom.js +33 -0
  263. package/dist-runtime/workflow/steps/custom.js.map +1 -0
  264. package/dist-runtime/workflow/steps/deploy.d.ts +3 -0
  265. package/dist-runtime/workflow/steps/deploy.js +595 -0
  266. package/dist-runtime/workflow/steps/deploy.js.map +1 -0
  267. package/dist-runtime/workflow/steps/upgrade.d.ts +3 -0
  268. package/dist-runtime/workflow/steps/upgrade.js +465 -0
  269. package/dist-runtime/workflow/steps/upgrade.js.map +1 -0
  270. package/dist-runtime/workflow/steps/view.d.ts +3 -0
  271. package/dist-runtime/workflow/steps/view.js +9 -0
  272. package/dist-runtime/workflow/steps/view.js.map +1 -0
  273. package/package.json +26 -5
  274. package/runtime/config/hardhatAdapters.ts +50 -0
  275. package/runtime/config/networks.ts +296 -0
  276. package/runtime/config/openzeppelin.ts +173 -0
  277. package/runtime/config/rpc.ts +27 -0
  278. package/runtime/config/zksyncSolcPath.ts +59 -0
  279. package/runtime/hardhat-types.d.ts +2 -0
  280. package/runtime/migrate.ts +154 -0
  281. package/runtime/projectHardhat.ts +10 -0
  282. package/runtime/template-migration.json +293 -0
  283. package/runtime/workflow/checkCode.ts +13 -0
  284. package/runtime/workflow/checkCodeFinalize.ts +8 -0
  285. package/runtime/workflow/checkCodePlan.ts +8 -0
  286. package/runtime/workflow/cli.ts +356 -0
  287. package/runtime/workflow/commitContractInfo.ts +63 -0
  288. package/runtime/workflow/create2Hashes.ts +79 -0
  289. package/runtime/workflow/forkSourceProxy.ts +193 -0
  290. package/runtime/workflow/importState.ts +190 -0
  291. package/runtime/workflow/lib/authority.ts +170 -0
  292. package/runtime/workflow/lib/calldata.ts +9 -0
  293. package/runtime/workflow/lib/calls.ts +407 -0
  294. package/runtime/workflow/lib/checkCode/args.ts +76 -0
  295. package/runtime/workflow/lib/checkCode/command.ts +36 -0
  296. package/runtime/workflow/lib/checkCode/dependencies.ts +112 -0
  297. package/runtime/workflow/lib/checkCode/finalize.ts +198 -0
  298. package/runtime/workflow/lib/checkCode/index.ts +18 -0
  299. package/runtime/workflow/lib/checkCode/plan.ts +163 -0
  300. package/runtime/workflow/lib/checkCodeReport.ts +133 -0
  301. package/runtime/workflow/lib/checkCodeRunner.ts +1225 -0
  302. package/runtime/workflow/lib/cliTool.ts +31 -0
  303. package/runtime/workflow/lib/config.ts +130 -0
  304. package/runtime/workflow/lib/contractInfoCandidates.ts +690 -0
  305. package/runtime/workflow/lib/create2.ts +278 -0
  306. package/runtime/workflow/lib/create2Hashes.ts +83 -0
  307. package/runtime/workflow/lib/deploymentInfo.ts +286 -0
  308. package/runtime/workflow/lib/deploymentRecords.ts +576 -0
  309. package/runtime/workflow/lib/deployments.ts +276 -0
  310. package/runtime/workflow/lib/erc1967.ts +57 -0
  311. package/runtime/workflow/lib/errors.ts +95 -0
  312. package/runtime/workflow/lib/executionId.ts +35 -0
  313. package/runtime/workflow/lib/executionPlan.ts +550 -0
  314. package/runtime/workflow/lib/executionProgress.ts +127 -0
  315. package/runtime/workflow/lib/external.ts +372 -0
  316. package/runtime/workflow/lib/externalExecutionScanner.ts +892 -0
  317. package/runtime/workflow/lib/forkSnapshot.ts +231 -0
  318. package/runtime/workflow/lib/gateTool.ts +261 -0
  319. package/runtime/workflow/lib/gateToolSync.ts +398 -0
  320. package/runtime/workflow/lib/lock.ts +388 -0
  321. package/runtime/workflow/lib/migrationState.ts +1246 -0
  322. package/runtime/workflow/lib/operatorExecution.ts +174 -0
  323. package/runtime/workflow/lib/parameters.ts +437 -0
  324. package/runtime/workflow/lib/pendingDeploymentReuse.ts +428 -0
  325. package/runtime/workflow/lib/proxy.ts +45 -0
  326. package/runtime/workflow/lib/registryCommit.ts +455 -0
  327. package/runtime/workflow/lib/release.ts +329 -0
  328. package/runtime/workflow/lib/releaseFinalize.ts +711 -0
  329. package/runtime/workflow/lib/releaseParameters.ts +248 -0
  330. package/runtime/workflow/lib/reporter.ts +502 -0
  331. package/runtime/workflow/lib/resultPaths.ts +49 -0
  332. package/runtime/workflow/lib/runtimeVersion.ts +28 -0
  333. package/runtime/workflow/lib/signer.ts +124 -0
  334. package/runtime/workflow/lib/signerIdentity.ts +22 -0
  335. package/runtime/workflow/lib/simulation.ts +415 -0
  336. package/runtime/workflow/lib/simulationCallers.ts +335 -0
  337. package/runtime/workflow/lib/sourceRpcPolicy.ts +41 -0
  338. package/runtime/workflow/lib/state.ts +25 -0
  339. package/runtime/workflow/lib/staticValidation.ts +142 -0
  340. package/runtime/workflow/lib/zksyncForkCapability.ts +80 -0
  341. package/runtime/workflow/lib/zksyncForkRunner.ts +505 -0
  342. package/runtime/workflow/reconcileExternal.ts +86 -0
  343. package/runtime/workflow/reconcileExternalRun.ts +88 -0
  344. package/runtime/workflow/releaseFinalize.ts +8 -0
  345. package/runtime/workflow/run.ts +1072 -0
  346. package/runtime/workflow/staticValidate.ts +23 -0
  347. package/runtime/workflow/steps/call.ts +10 -0
  348. package/runtime/workflow/steps/check.ts +10 -0
  349. package/runtime/workflow/steps/custom.ts +43 -0
  350. package/runtime/workflow/steps/deploy.ts +771 -0
  351. package/runtime/workflow/steps/upgrade.ts +598 -0
  352. package/runtime/workflow/steps/view.ts +10 -0
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveWorkflowSigner = exports.impersonateWorkflowSimulationSigner = exports.resolveSimulationSignerAddress = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const custody_1 = require("gate-evm-tools/custody");
6
+ const projectHardhat_1 = require("../../projectHardhat");
7
+ const signerIdentity_1 = require("./signerIdentity");
8
+ const SIMULATION_SIGNER_BALANCE = "0x3635C9ADC5DEA00000";
9
+ const normalizedSimulationAddress = (value) => {
10
+ if (value === undefined)
11
+ return undefined;
12
+ const candidate = value.trim();
13
+ if (!(0, ethers_1.isAddress)(candidate) || (0, ethers_1.getAddress)(candidate) === ethers_1.ZeroAddress) {
14
+ throw new Error("simulation signer must be a valid non-zero EVM address");
15
+ }
16
+ return (0, ethers_1.getAddress)(candidate);
17
+ };
18
+ const resolveSimulationSignerAddress = (options) => {
19
+ const explicitAddress = normalizedSimulationAddress(options.explicitAddress);
20
+ const taskAddress = options.useLock
21
+ ? undefined
22
+ : normalizedSimulationAddress(options.taskAddress);
23
+ if (explicitAddress
24
+ && taskAddress
25
+ && explicitAddress.toLowerCase() !== taskAddress.toLowerCase()) {
26
+ throw new Error("simulation signer sources do not match");
27
+ }
28
+ const selectedAddress = explicitAddress || taskAddress;
29
+ if (!selectedAddress) {
30
+ throw new Error("Simulation requires an explicit signer address");
31
+ }
32
+ return selectedAddress;
33
+ };
34
+ exports.resolveSimulationSignerAddress = resolveSimulationSignerAddress;
35
+ const impersonateWorkflowSimulationSigner = async (signerAddress) => {
36
+ if (projectHardhat_1.network.name !== "hardhat" && projectHardhat_1.network.name !== "zkFork") {
37
+ throw new Error("Simulation signer impersonation requires a local fork network");
38
+ }
39
+ await projectHardhat_1.network.provider.request({
40
+ method: "hardhat_impersonateAccount",
41
+ params: [signerAddress],
42
+ });
43
+ await projectHardhat_1.network.provider.request({
44
+ method: "hardhat_setBalance",
45
+ params: [signerAddress, SIMULATION_SIGNER_BALANCE],
46
+ });
47
+ if (projectHardhat_1.network.name === "zkFork") {
48
+ return (0, custody_1.createZkSyncNodeSigner)({
49
+ provider: projectHardhat_1.ethers.provider,
50
+ address: signerAddress,
51
+ });
52
+ }
53
+ return projectHardhat_1.ethers.getSigner(signerAddress);
54
+ };
55
+ exports.impersonateWorkflowSimulationSigner = impersonateWorkflowSimulationSigner;
56
+ const resolveWorkflowSigner = async (mode, options = {}) => {
57
+ if (mode === "simulate") {
58
+ return (0, exports.impersonateWorkflowSimulationSigner)((0, exports.resolveSimulationSignerAddress)(options));
59
+ }
60
+ const executionCredential = mode === "execute"
61
+ ? (0, custody_1.resolveWalletCredential)(process.env)
62
+ : undefined;
63
+ const zkSync = projectHardhat_1.network.config.zksync === true;
64
+ if (mode === "execute" && zkSync) {
65
+ if (!executionCredential) {
66
+ throw new Error("zkSync development execution requires an explicit wallet credential");
67
+ }
68
+ const baseUrl = process.env.CUSTODY_API_BASE_URL?.trim() || undefined;
69
+ if (executionCredential.kind === "custody" && !baseUrl) {
70
+ throw new Error("Custody wallet mode requires CUSTODY_API_BASE_URL");
71
+ }
72
+ const credential = executionCredential.kind === "private-key"
73
+ ? executionCredential.privateKey
74
+ : `custody:${executionCredential.secret}:${executionCredential.address}`;
75
+ const signer = (0, custody_1.createZkSyncSigner)({
76
+ ethers: projectHardhat_1.ethers,
77
+ credential,
78
+ provider: projectHardhat_1.ethers.provider,
79
+ baseUrl,
80
+ });
81
+ (0, signerIdentity_1.assertExecutionSignerAddress)(await signer.getAddress(), options.taskAddress);
82
+ return signer;
83
+ }
84
+ if (executionCredential) {
85
+ const baseUrl = process.env.CUSTODY_API_BASE_URL?.trim() || undefined;
86
+ if (executionCredential.kind === "custody" && !baseUrl) {
87
+ throw new Error("Custody wallet mode requires CUSTODY_API_BASE_URL");
88
+ }
89
+ const credential = executionCredential.kind === "private-key"
90
+ ? executionCredential.privateKey
91
+ : `custody:${executionCredential.secret}:${executionCredential.address}`;
92
+ const signer = (0, custody_1.createSigner)({
93
+ ethers: projectHardhat_1.ethers,
94
+ credential,
95
+ provider: projectHardhat_1.ethers.provider,
96
+ baseUrl,
97
+ });
98
+ (0, signerIdentity_1.assertExecutionSignerAddress)(await signer.getAddress(), options.taskAddress);
99
+ return signer;
100
+ }
101
+ const [signer] = await projectHardhat_1.ethers.getSigners();
102
+ return signer;
103
+ };
104
+ exports.resolveWorkflowSigner = resolveWorkflowSigner;
105
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../runtime/workflow/lib/signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const assertExecutionSignerAddress: (actualAddress: string, expectedTaskAddress?: string) => string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertExecutionSignerAddress = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const normalizedAddress = (value, label) => {
6
+ const candidate = value.trim();
7
+ if (!(0, ethers_1.isAddress)(candidate) || (0, ethers_1.getAddress)(candidate) === ethers_1.ZeroAddress) {
8
+ throw new Error(`${label} must be a valid non-zero EVM address`);
9
+ }
10
+ return (0, ethers_1.getAddress)(candidate);
11
+ };
12
+ const assertExecutionSignerAddress = (actualAddress, expectedTaskAddress) => {
13
+ const actual = normalizedAddress(actualAddress, "execution signer");
14
+ if (expectedTaskAddress === undefined)
15
+ return actual;
16
+ const expected = normalizedAddress(expectedTaskAddress, "deployment signer address");
17
+ if (actual.toLowerCase() !== expected.toLowerCase()) {
18
+ throw new Error("execution signer does not match deployment signer address");
19
+ }
20
+ return actual;
21
+ };
22
+ exports.assertExecutionSignerAddress = assertExecutionSignerAddress;
23
+ //# sourceMappingURL=signerIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signerIdentity.js","sourceRoot":"","sources":["../../../runtime/workflow/lib/signerIdentity.ts"],"names":[],"mappings":";;;AAAA,mCAA4D;AAE5D,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,KAAa,EAAU,EAAE;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAA,kBAAS,EAAC,SAAS,CAAC,IAAI,IAAA,mBAAU,EAAC,SAAS,CAAC,KAAK,oBAAW,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,aAAqB,EACrB,mBAA4B,EACpB,EAAE;IACV,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IACpE,IAAI,mBAAmB,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACrD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;IACrF,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAXW,QAAA,4BAA4B,gCAWvC"}
@@ -0,0 +1,35 @@
1
+ import { CapturedChainSnapshotV1, ForkSnapshotV1 } from "./forkSnapshot";
2
+ export type WorkflowMode = "execute" | "simulate" | "verify";
3
+ export interface SimulationFork {
4
+ snapshot?: ForkSnapshotV1;
5
+ }
6
+ type WithoutVersion<T> = T extends unknown ? Omit<T, "version"> : never;
7
+ type ZkSyncForkSnapshot = Extract<ForkSnapshotV1, {
8
+ runner: {
9
+ kind: "anvil-zksync";
10
+ };
11
+ }>;
12
+ type EvmForkSnapshot = Exclude<ForkSnapshotV1, ZkSyncForkSnapshot>;
13
+ export type SimulationForkEvidence = WithoutVersion<EvmForkSnapshot> | (WithoutVersion<ZkSyncForkSnapshot> & {
14
+ runnerProtocolVersion: number;
15
+ });
16
+ export declare const resolveWorkflowMode: (args: Record<string, string | boolean>) => WorkflowMode;
17
+ interface SimulationInfrastructureTarget {
18
+ create2?: {
19
+ factory?: string;
20
+ };
21
+ multicall?: {
22
+ controlledMulticall?: string;
23
+ };
24
+ uups?: {
25
+ placeholderImplementation?: string;
26
+ };
27
+ }
28
+ export declare const assertCurrentStateInfrastructure: (targetId: string, target: SimulationInfrastructureTarget, snapshot: CapturedChainSnapshotV1 | undefined) => Promise<void>;
29
+ export declare const assertSimulationSourceInfrastructure: (targetId: string, target: SimulationInfrastructureTarget, simulation: SimulationFork) => Promise<void>;
30
+ export declare const assertCurrentStateUupsSourceState: (snapshot: CapturedChainSnapshotV1 | undefined, proxy: string) => Promise<void>;
31
+ export declare const assertSimulationUupsSourceState: (simulation: SimulationFork, proxy: string) => Promise<void>;
32
+ export declare const verifySimulationForkSnapshot: (simulation: SimulationFork) => Promise<void>;
33
+ export declare const simulationForkEvidence: (simulation: SimulationFork) => SimulationForkEvidence | undefined;
34
+ export declare const setupSimulationFork: (targetId: string) => Promise<SimulationFork>;
35
+ export {};
@@ -0,0 +1,282 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupSimulationFork = exports.simulationForkEvidence = exports.verifySimulationForkSnapshot = exports.assertSimulationUupsSourceState = exports.assertCurrentStateUupsSourceState = exports.assertSimulationSourceInfrastructure = exports.assertCurrentStateInfrastructure = exports.resolveWorkflowMode = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const projectHardhat_1 = require("../../projectHardhat");
6
+ const forkSnapshot_1 = require("./forkSnapshot");
7
+ const erc1967_1 = require("./erc1967");
8
+ const zksyncForkCapability_1 = require("./zksyncForkCapability");
9
+ const zksyncForkRunner_1 = require("./zksyncForkRunner");
10
+ const resolveWorkflowMode = (args) => {
11
+ const mode = typeof args.mode === "string" ? args.mode : "execute";
12
+ if (mode !== "execute"
13
+ && mode !== "simulate"
14
+ && mode !== "verify") {
15
+ throw new Error(`Unsupported workflow mode: ${mode}`);
16
+ }
17
+ return mode;
18
+ };
19
+ exports.resolveWorkflowMode = resolveWorkflowMode;
20
+ const sourceProxyUrl = () => {
21
+ const value = process.env.GATE_SIMULATION_SOURCE_RPC_URL?.trim();
22
+ if (!value)
23
+ throw new Error("Simulation source-chain proxy URL is missing");
24
+ let parsed;
25
+ try {
26
+ parsed = new URL(value);
27
+ }
28
+ catch {
29
+ throw new Error("Simulation source-chain proxy URL is invalid");
30
+ }
31
+ if (parsed.protocol !== "http:"
32
+ || parsed.hostname !== "127.0.0.1"
33
+ || !parsed.port
34
+ || parsed.pathname === "/"
35
+ || parsed.username
36
+ || parsed.password
37
+ || parsed.search
38
+ || parsed.hash) {
39
+ throw new Error("Simulation source-chain proxy must use a tokenized loopback URL");
40
+ }
41
+ return parsed.toString();
42
+ };
43
+ const rpcRequest = async (url, method, params) => {
44
+ let response;
45
+ try {
46
+ response = await fetch(url, {
47
+ method: "POST",
48
+ headers: { "content-type": "application/json" },
49
+ body: JSON.stringify({ jsonrpc: "2.0", id: 1, method, params }),
50
+ });
51
+ }
52
+ catch {
53
+ throw new Error(`Simulation source RPC ${method} request failed`);
54
+ }
55
+ if (!response.ok) {
56
+ throw new Error(`Simulation source RPC ${method} request failed`);
57
+ }
58
+ let body;
59
+ try {
60
+ body = await response.json();
61
+ }
62
+ catch {
63
+ throw new Error(`Simulation source RPC ${method} returned invalid JSON`);
64
+ }
65
+ if (!body || typeof body !== "object" || Array.isArray(body)) {
66
+ throw new Error(`Simulation source RPC ${method} returned an invalid response`);
67
+ }
68
+ const envelope = body;
69
+ if (envelope.error !== undefined || envelope.result === undefined) {
70
+ throw new Error(`Simulation source RPC ${method} failed`);
71
+ }
72
+ return envelope.result;
73
+ };
74
+ const blockTag = (blockNumber) => `0x${blockNumber.toString(16)}`;
75
+ const rpcQuantity = (value, label) => {
76
+ if (typeof value !== "string" || !/^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$/.test(value)) {
77
+ throw new Error(`${label} must be a canonical RPC quantity`);
78
+ }
79
+ const parsed = BigInt(value);
80
+ if (parsed > BigInt(Number.MAX_SAFE_INTEGER)) {
81
+ throw new Error(`${label} exceeds the safe integer range`);
82
+ }
83
+ return Number(parsed);
84
+ };
85
+ const assertBlockHash = (block, snapshot, label) => {
86
+ if (!block || typeof block !== "object" || Array.isArray(block)) {
87
+ throw new Error(`${label} fork block is missing`);
88
+ }
89
+ const hash = block.hash;
90
+ if (typeof hash !== "string"
91
+ || hash.toLowerCase() !== snapshot.blockHash.toLowerCase()) {
92
+ throw new Error(`${label} fork block hash mismatch at ${snapshot.blockNumber}`);
93
+ }
94
+ };
95
+ const requiredInfrastructureAddress = (value, label) => {
96
+ if (!value || !(0, ethers_1.isAddress)(value)) {
97
+ throw new Error(`${label} must be configured as an EVM address for simulation`);
98
+ }
99
+ return value;
100
+ };
101
+ const assertCurrentStateInfrastructure = async (targetId, target, snapshot) => {
102
+ if (!snapshot)
103
+ return;
104
+ const infrastructure = [
105
+ {
106
+ label: "CREATE2 Factory",
107
+ address: requiredInfrastructureAddress(target.create2?.factory, "CREATE2 Factory"),
108
+ },
109
+ {
110
+ label: "Controlled Multicall",
111
+ address: requiredInfrastructureAddress(target.multicall?.controlledMulticall, "Controlled Multicall"),
112
+ },
113
+ {
114
+ label: "UUPS Placeholder",
115
+ address: requiredInfrastructureAddress(target.uups?.placeholderImplementation, "UUPS Placeholder"),
116
+ },
117
+ ];
118
+ const code = await Promise.all(infrastructure.map((entry) => (projectHardhat_1.ethers.provider.getCode(entry.address, snapshot.blockNumber))));
119
+ for (const [index, entry] of infrastructure.entries()) {
120
+ if (!code[index] || code[index] === "0x") {
121
+ throw new Error(`${entry.label} on ${targetId} captured block ${snapshot.blockNumber} is missing code at ${entry.address}`);
122
+ }
123
+ }
124
+ };
125
+ exports.assertCurrentStateInfrastructure = assertCurrentStateInfrastructure;
126
+ const assertSimulationSourceInfrastructure = async (targetId, target, simulation) => (0, exports.assertCurrentStateInfrastructure)(targetId, target, simulation.snapshot);
127
+ exports.assertSimulationSourceInfrastructure = assertSimulationSourceInfrastructure;
128
+ const assertCurrentStateUupsSourceState = async (snapshot, proxy) => {
129
+ if (!snapshot)
130
+ return;
131
+ const [proxyCode, oldImplementation] = await Promise.all([
132
+ projectHardhat_1.ethers.provider.getCode(proxy, snapshot.blockNumber),
133
+ (0, erc1967_1.getERC1967Implementation)(projectHardhat_1.ethers.provider, proxy, snapshot.blockNumber),
134
+ ]);
135
+ if (!proxyCode || proxyCode === "0x") {
136
+ throw new Error(`UUPS proxy ${proxy} is missing code at captured block ${snapshot.blockNumber}`);
137
+ }
138
+ if (!oldImplementation) {
139
+ throw new Error(`UUPS proxy ${proxy} has no implementation at captured block ${snapshot.blockNumber}`);
140
+ }
141
+ const implementationCode = await projectHardhat_1.ethers.provider.getCode(oldImplementation, snapshot.blockNumber);
142
+ if (!implementationCode || implementationCode === "0x") {
143
+ throw new Error(`UUPS implementation ${oldImplementation} is missing code at captured block ${snapshot.blockNumber}`);
144
+ }
145
+ };
146
+ exports.assertCurrentStateUupsSourceState = assertCurrentStateUupsSourceState;
147
+ const assertSimulationUupsSourceState = async (simulation, proxy) => (0, exports.assertCurrentStateUupsSourceState)(simulation.snapshot, proxy);
148
+ exports.assertSimulationUupsSourceState = assertSimulationUupsSourceState;
149
+ const verifySimulationForkSnapshot = async (simulation) => {
150
+ const snapshot = simulation.snapshot;
151
+ if (!snapshot)
152
+ return;
153
+ const [sourceBlock, localBlock, sourceZkSyncBlockDetails] = await Promise.all([
154
+ rpcRequest(sourceProxyUrl(), "eth_getBlockByNumber", [blockTag(snapshot.blockNumber), false]),
155
+ projectHardhat_1.network.provider.request({
156
+ method: "eth_getBlockByNumber",
157
+ params: [blockTag(snapshot.blockNumber), false],
158
+ }),
159
+ snapshot.runner.kind === "anvil-zksync"
160
+ ? rpcRequest(sourceProxyUrl(), "zks_getBlockDetails", [snapshot.blockNumber])
161
+ : Promise.resolve(undefined),
162
+ ]);
163
+ assertBlockHash(sourceBlock, snapshot, "Source-chain");
164
+ assertBlockHash(localBlock, snapshot, snapshot.runner.kind === "hardhat" ? "Local EVM" : "Local EraVM");
165
+ if (snapshot.runner.kind === "anvil-zksync"
166
+ && (0, forkSnapshot_1.isCapturedZkSyncChainSnapshot)(snapshot)) {
167
+ const metadata = (0, forkSnapshot_1.parseZkSyncBlockDetails)(sourceZkSyncBlockDetails, snapshot.blockNumber);
168
+ if (metadata.protocolVersion !== snapshot.protocolVersion
169
+ || metadata.l1BatchNumber !== snapshot.l1BatchNumber) {
170
+ throw new Error("Source-chain zkSync protocol metadata mismatch");
171
+ }
172
+ }
173
+ };
174
+ exports.verifySimulationForkSnapshot = verifySimulationForkSnapshot;
175
+ const simulationForkEvidence = (simulation) => {
176
+ const snapshot = simulation.snapshot;
177
+ if (!snapshot)
178
+ return undefined;
179
+ if (snapshot.runner.kind === "anvil-zksync") {
180
+ if (!(0, forkSnapshot_1.isCapturedZkSyncChainSnapshot)(snapshot)) {
181
+ throw new Error("zkSync simulation snapshot is missing protocol metadata");
182
+ }
183
+ const capability = (0, zksyncForkCapability_1.resolveZkSyncForkCapability)(snapshot.protocolVersion);
184
+ if (!capability || capability.runner.version !== snapshot.runner.version) {
185
+ throw new Error(`zkSync protocol ${snapshot.protocolVersion} does not have an approved fork runner`);
186
+ }
187
+ return {
188
+ sourceNetwork: snapshot.sourceNetwork,
189
+ chainId: snapshot.chainId,
190
+ blockNumber: snapshot.blockNumber,
191
+ blockHash: snapshot.blockHash,
192
+ protocolVersion: snapshot.protocolVersion,
193
+ runnerProtocolVersion: capability.runnerProtocolVersion,
194
+ l1BatchNumber: snapshot.l1BatchNumber,
195
+ runner: { ...snapshot.runner },
196
+ };
197
+ }
198
+ return {
199
+ sourceNetwork: snapshot.sourceNetwork,
200
+ chainId: snapshot.chainId,
201
+ blockNumber: snapshot.blockNumber,
202
+ blockHash: snapshot.blockHash,
203
+ runner: { ...snapshot.runner },
204
+ };
205
+ };
206
+ exports.simulationForkEvidence = simulationForkEvidence;
207
+ const setupSimulationFork = async (targetId) => {
208
+ const targetNetwork = projectHardhat_1.config.networks[targetId];
209
+ if (targetNetwork?.zksync === true) {
210
+ if (projectHardhat_1.network.name !== "zkFork"
211
+ || projectHardhat_1.network.config.zksync !== true) {
212
+ throw new Error(`zkSync target "${targetId}" requires the pinned EraVM fork network`);
213
+ }
214
+ const snapshot = (0, forkSnapshot_1.parseForkSnapshotJson)(process.env.GATE_SIMULATION_FORK_SNAPSHOT_JSON, targetId);
215
+ if (snapshot.runner.kind !== "anvil-zksync"
216
+ || !(0, forkSnapshot_1.isCapturedZkSyncChainSnapshot)(snapshot)) {
217
+ throw new Error(`zkSync target "${targetId}" requires an anvil-zksync fork snapshot`);
218
+ }
219
+ const approvedRunner = (0, zksyncForkRunner_1.resolveZkSyncForkRunner)(snapshot.protocolVersion);
220
+ if (!approvedRunner || snapshot.runner.version !== approvedRunner.version) {
221
+ throw new Error(`zkSync protocol ${snapshot.protocolVersion} does not have an approved fork runner`);
222
+ }
223
+ const [runtimeChainId, forkBlock] = await Promise.all([
224
+ projectHardhat_1.network.provider.request({ method: "eth_chainId", params: [] }),
225
+ projectHardhat_1.network.provider.request({
226
+ method: "eth_getBlockByNumber",
227
+ params: [blockTag(snapshot.blockNumber), false],
228
+ }),
229
+ ]);
230
+ if (typeof runtimeChainId !== "string"
231
+ || !/^0x[0-9a-fA-F]+$/.test(runtimeChainId)
232
+ || BigInt(runtimeChainId) !== BigInt(snapshot.chainId)) {
233
+ throw new Error(`EraVM simulation chainId does not match target chainId ${snapshot.chainId}`);
234
+ }
235
+ assertBlockHash(forkBlock, snapshot, "Local EraVM");
236
+ return { snapshot };
237
+ }
238
+ if (projectHardhat_1.network.name !== "hardhat") {
239
+ throw new Error("Simulation mode must run with --network hardhat");
240
+ }
241
+ if (targetId === "hardhat") {
242
+ return {};
243
+ }
244
+ const snapshot = (0, forkSnapshot_1.parseForkSnapshotJson)(process.env.GATE_SIMULATION_FORK_SNAPSHOT_JSON, targetId);
245
+ if (snapshot.runner.kind !== "hardhat") {
246
+ throw new Error(`EVM target "${targetId}" requires a Hardhat fork snapshot`);
247
+ }
248
+ const forkRpcUrl = sourceProxyUrl();
249
+ const sourceBlock = await rpcRequest(forkRpcUrl, "eth_getBlockByNumber", [blockTag(snapshot.blockNumber), false]);
250
+ assertBlockHash(sourceBlock, snapshot, "Source-chain");
251
+ await projectHardhat_1.network.provider.request({
252
+ method: "hardhat_reset",
253
+ params: [
254
+ {
255
+ forking: {
256
+ jsonRpcUrl: forkRpcUrl,
257
+ blockNumber: snapshot.blockNumber,
258
+ },
259
+ },
260
+ ],
261
+ });
262
+ const [runtimeChainId, forkBlock] = await Promise.all([
263
+ projectHardhat_1.network.provider.request({ method: "eth_chainId", params: [] }),
264
+ projectHardhat_1.network.provider.request({
265
+ method: "eth_getBlockByNumber",
266
+ params: [blockTag(snapshot.blockNumber), false],
267
+ }),
268
+ ]);
269
+ if (typeof runtimeChainId !== "string"
270
+ || !/^0x[0-9a-fA-F]+$/.test(runtimeChainId)
271
+ || BigInt(runtimeChainId) !== BigInt(snapshot.chainId)) {
272
+ throw new Error(`Simulation fork chainId does not match target chainId ${snapshot.chainId}`);
273
+ }
274
+ assertBlockHash(forkBlock, snapshot, "Local EVM");
275
+ await projectHardhat_1.network.provider.request({
276
+ method: "hardhat_mine",
277
+ params: ["0x1"],
278
+ });
279
+ return { snapshot };
280
+ };
281
+ exports.setupSimulationFork = setupSimulationFork;
282
+ //# sourceMappingURL=simulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulation.js","sourceRoot":"","sources":["../../../runtime/workflow/lib/simulation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export interface SimulationCallerNetworkInput {
2
+ default: string;
3
+ steps?: Record<string, string>;
4
+ }
5
+ export interface SimulationCallersDocument {
6
+ version: 1;
7
+ networks: Record<string, SimulationCallerNetworkInput>;
8
+ }
9
+ export interface ResolvedSimulationCaller {
10
+ stepId: string;
11
+ callerAddress: string;
12
+ source: "step" | "network_default";
13
+ }
14
+ export interface SimulationCallerNetworkBinding {
15
+ network: string;
16
+ manifestHash: string;
17
+ defaultAddress: string;
18
+ resolved: ResolvedSimulationCaller[];
19
+ networkHash: string;
20
+ }
21
+ interface ManifestStepInput {
22
+ id: string;
23
+ kind: string;
24
+ }
25
+ export declare const parseSimulationCallersYaml: (text: string) => SimulationCallersDocument;
26
+ export declare const validateSimulationCallersDocument: (input: {
27
+ document: SimulationCallersDocument;
28
+ targetNetworks: string[];
29
+ manifestSteps: ManifestStepInput[];
30
+ }) => SimulationCallersDocument;
31
+ export declare const buildSimulationCallerNetworkBinding: (input: {
32
+ document: SimulationCallersDocument;
33
+ network: string;
34
+ manifestText: string;
35
+ manifestSteps: ManifestStepInput[];
36
+ }) => SimulationCallerNetworkBinding;
37
+ export declare const loadSimulationCallerNetwork: (input: {
38
+ taskDir: string;
39
+ targetNetworks: string[];
40
+ network: string;
41
+ manifestText: string;
42
+ manifestSteps: ManifestStepInput[];
43
+ }) => SimulationCallerNetworkBinding;
44
+ export {};