gate-evm-tools 1.0.31 → 1.2.0

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 +34 -20
  2. package/bin/cli.js +3 -0
  3. package/bin/delivery.cjs +8 -7
  4. package/dist/commands/check.d.ts.map +1 -1
  5. package/dist/commands/check.js +26 -2
  6. package/dist/commands/check.js.map +1 -1
  7. package/dist/commands/plan/index.d.ts.map +1 -1
  8. package/dist/commands/plan/index.js +1 -1
  9. package/dist/commands/plan/index.js.map +1 -1
  10. package/dist/core/preparation/batch.d.ts +26 -0
  11. package/dist/core/preparation/batch.d.ts.map +1 -0
  12. package/dist/core/preparation/batch.js +72 -0
  13. package/dist/core/preparation/batch.js.map +1 -0
  14. package/dist/core/preparation/evm.d.ts +23 -4
  15. package/dist/core/preparation/evm.d.ts.map +1 -1
  16. package/dist/core/preparation/evm.js +19 -3
  17. package/dist/core/preparation/evm.js.map +1 -1
  18. package/dist/core/preparation/evmManifestSync.d.ts +5 -0
  19. package/dist/core/preparation/evmManifestSync.d.ts.map +1 -1
  20. package/dist/core/preparation/evmManifestSync.js +15 -7
  21. package/dist/core/preparation/evmManifestSync.js.map +1 -1
  22. package/dist/core/preparation/index.d.ts +2 -2
  23. package/dist/core/preparation/index.d.ts.map +1 -1
  24. package/dist/core/preparation/manifest.d.ts +2 -0
  25. package/dist/core/preparation/manifest.d.ts.map +1 -1
  26. package/dist/core/preparation/manifest.js +2 -2
  27. package/dist/core/preparation/manifest.js.map +1 -1
  28. package/dist/core/preparation/normalize.d.ts.map +1 -1
  29. package/dist/core/preparation/normalize.js +53 -11
  30. package/dist/core/preparation/normalize.js.map +1 -1
  31. package/dist/core/preparation/transparent.d.ts +23 -0
  32. package/dist/core/preparation/transparent.d.ts.map +1 -0
  33. package/dist/core/preparation/transparent.js +103 -0
  34. package/dist/core/preparation/transparent.js.map +1 -0
  35. package/dist/core/preparation/types.d.ts +47 -5
  36. package/dist/core/preparation/types.d.ts.map +1 -1
  37. package/dist/core/preparation/zksync.d.ts.map +1 -1
  38. package/dist/core/preparation/zksync.js +2 -0
  39. package/dist/core/preparation/zksync.js.map +1 -1
  40. package/dist/custody/credential.d.ts.map +1 -1
  41. package/dist/custody/credential.js +1 -6
  42. package/dist/custody/credential.js.map +1 -1
  43. package/dist/deployment-evm/index.d.ts +4 -0
  44. package/dist/deployment-evm/index.d.ts.map +1 -0
  45. package/dist/deployment-evm/index.js +3 -0
  46. package/dist/deployment-evm/index.js.map +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +4 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/sync/index.d.ts.map +1 -1
  51. package/dist/sync/index.js +5 -0
  52. package/dist/sync/index.js.map +1 -1
  53. package/dist/types.d.ts +3 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/workflow/index.d.ts +4 -1
  56. package/dist/workflow/index.d.ts.map +1 -1
  57. package/dist/workflow/index.js +2 -0
  58. package/dist/workflow/index.js.map +1 -1
  59. package/dist-cjs/core/preparation/batch.js +76 -0
  60. package/dist-cjs/core/preparation/batch.js.map +1 -0
  61. package/dist-cjs/core/preparation/evm.js +25 -7
  62. package/dist-cjs/core/preparation/evm.js.map +1 -1
  63. package/dist-cjs/core/preparation/evmManifestSync.js +15 -7
  64. package/dist-cjs/core/preparation/evmManifestSync.js.map +1 -1
  65. package/dist-cjs/core/preparation/manifest.js +2 -2
  66. package/dist-cjs/core/preparation/manifest.js.map +1 -1
  67. package/dist-cjs/core/preparation/normalize.js +53 -11
  68. package/dist-cjs/core/preparation/normalize.js.map +1 -1
  69. package/dist-cjs/core/preparation/transparent.js +110 -0
  70. package/dist-cjs/core/preparation/transparent.js.map +1 -0
  71. package/dist-cjs/core/preparation/zksync.js +2 -0
  72. package/dist-cjs/core/preparation/zksync.js.map +1 -1
  73. package/dist-cjs/custody/credential.js +1 -6
  74. package/dist-cjs/custody/credential.js.map +1 -1
  75. package/dist-cjs/deployment-evm/index.js +10 -0
  76. package/dist-cjs/deployment-evm/index.js.map +1 -0
  77. package/dist-cjs/sync/index.js +5 -0
  78. package/dist-cjs/sync/index.js.map +1 -1
  79. package/dist-cjs/workflow/index.js +11 -1
  80. package/dist-cjs/workflow/index.js.map +1 -1
  81. package/dist-runtime/config/hardhatAdapters.js +2 -1
  82. package/dist-runtime/config/hardhatAdapters.js.map +1 -1
  83. package/dist-runtime/delivery/aggregate-bootstrap.js +3 -1
  84. package/dist-runtime/delivery/aggregate-bootstrap.js.map +1 -1
  85. package/dist-runtime/delivery/aggregate-channel.js +7 -3
  86. package/dist-runtime/delivery/aggregate-channel.js.map +1 -1
  87. package/dist-runtime/delivery/aggregate-diagnostics.d.ts +14 -0
  88. package/dist-runtime/delivery/aggregate-diagnostics.js +73 -0
  89. package/dist-runtime/delivery/aggregate-diagnostics.js.map +1 -0
  90. package/dist-runtime/delivery/aggregate-inputs.d.ts +13 -9
  91. package/dist-runtime/delivery/aggregate-source.js +11 -3
  92. package/dist-runtime/delivery/aggregate-source.js.map +1 -1
  93. package/dist-runtime/delivery/aggregate-worker.js +12 -4
  94. package/dist-runtime/delivery/aggregate-worker.js.map +1 -1
  95. package/dist-runtime/delivery/aggregate.js +2 -2
  96. package/dist-runtime/delivery/aggregate.js.map +1 -1
  97. package/dist-runtime/delivery/business-extension.d.ts +10 -0
  98. package/dist-runtime/delivery/business-extension.js +38 -0
  99. package/dist-runtime/delivery/business-extension.js.map +1 -0
  100. package/dist-runtime/delivery/calldata-archive.d.ts +18 -0
  101. package/dist-runtime/delivery/calldata-archive.js +31 -0
  102. package/dist-runtime/delivery/calldata-archive.js.map +1 -0
  103. package/dist-runtime/delivery/calldata-details.d.ts +47 -0
  104. package/dist-runtime/delivery/calldata-details.js +94 -0
  105. package/dist-runtime/delivery/calldata-details.js.map +1 -0
  106. package/dist-runtime/delivery/calldata-format.d.ts +4 -0
  107. package/dist-runtime/delivery/calldata-format.js +17 -0
  108. package/dist-runtime/delivery/calldata-format.js.map +1 -0
  109. package/dist-runtime/delivery/calldata-preparations.d.ts +13 -0
  110. package/dist-runtime/delivery/calldata-preparations.js +85 -0
  111. package/dist-runtime/delivery/calldata-preparations.js.map +1 -0
  112. package/dist-runtime/delivery/calldata-review.d.ts +44 -0
  113. package/dist-runtime/delivery/calldata-review.js +131 -0
  114. package/dist-runtime/delivery/calldata-review.js.map +1 -0
  115. package/dist-runtime/delivery/codec-pin.d.ts +2 -2
  116. package/dist-runtime/delivery/codec-pin.js +4 -4
  117. package/dist-runtime/delivery/codec-pin.js.map +1 -1
  118. package/dist-runtime/delivery/compiler-files.js +3 -1
  119. package/dist-runtime/delivery/compiler-files.js.map +1 -1
  120. package/dist-runtime/delivery/compiler-pins.js +1 -1
  121. package/dist-runtime/delivery/compiler.js +17 -16
  122. package/dist-runtime/delivery/compiler.js.map +1 -1
  123. package/dist-runtime/delivery/config.d.ts +1 -1
  124. package/dist-runtime/delivery/config.js +27 -2
  125. package/dist-runtime/delivery/config.js.map +1 -1
  126. package/dist-runtime/delivery/configuration-definition.d.ts +9 -0
  127. package/dist-runtime/delivery/configuration-definition.js +33 -6
  128. package/dist-runtime/delivery/configuration-definition.js.map +1 -1
  129. package/dist-runtime/delivery/configuration.js +7 -4
  130. package/dist-runtime/delivery/configuration.js.map +1 -1
  131. package/dist-runtime/delivery/contract-source.d.ts +14 -0
  132. package/dist-runtime/delivery/contract-source.js +138 -0
  133. package/dist-runtime/delivery/contract-source.js.map +1 -0
  134. package/dist-runtime/delivery/custom-format.js +51 -24
  135. package/dist-runtime/delivery/custom-format.js.map +1 -1
  136. package/dist-runtime/delivery/development.d.ts +2 -1
  137. package/dist-runtime/delivery/development.js +21 -10
  138. package/dist-runtime/delivery/development.js.map +1 -1
  139. package/dist-runtime/delivery/eoa.d.ts +1 -0
  140. package/dist-runtime/delivery/execution-identity.d.ts +15 -0
  141. package/dist-runtime/delivery/execution-identity.js +33 -0
  142. package/dist-runtime/delivery/execution-identity.js.map +1 -0
  143. package/dist-runtime/delivery/existing-code.js +14 -6
  144. package/dist-runtime/delivery/existing-code.js.map +1 -1
  145. package/dist-runtime/delivery/history-registration.d.ts +1 -1
  146. package/dist-runtime/delivery/inputs.js +22 -15
  147. package/dist-runtime/delivery/inputs.js.map +1 -1
  148. package/dist-runtime/delivery/journal.js +18 -10
  149. package/dist-runtime/delivery/journal.js.map +1 -1
  150. package/dist-runtime/delivery/parameter-defaults.d.ts +10 -0
  151. package/dist-runtime/delivery/parameter-defaults.js +86 -0
  152. package/dist-runtime/delivery/parameter-defaults.js.map +1 -0
  153. package/dist-runtime/delivery/parameters.d.ts +2 -0
  154. package/dist-runtime/delivery/parameters.js +22 -0
  155. package/dist-runtime/delivery/parameters.js.map +1 -1
  156. package/dist-runtime/delivery/planning.d.ts +4 -1
  157. package/dist-runtime/delivery/planning.js +19 -3
  158. package/dist-runtime/delivery/planning.js.map +1 -1
  159. package/dist-runtime/delivery/preparation.js +43 -23
  160. package/dist-runtime/delivery/preparation.js.map +1 -1
  161. package/dist-runtime/delivery/production-environment.js +2 -1
  162. package/dist-runtime/delivery/production-environment.js.map +1 -1
  163. package/dist-runtime/delivery/production-finalization.js +23 -9
  164. package/dist-runtime/delivery/production-finalization.js.map +1 -1
  165. package/dist-runtime/delivery/production-intent.d.ts +2 -0
  166. package/dist-runtime/delivery/production-intent.js +16 -0
  167. package/dist-runtime/delivery/production-intent.js.map +1 -0
  168. package/dist-runtime/delivery/production.d.ts +129 -8
  169. package/dist-runtime/delivery/production.js +60 -11
  170. package/dist-runtime/delivery/production.js.map +1 -1
  171. package/dist-runtime/delivery/project-files.d.ts +3 -3
  172. package/dist-runtime/delivery/project-files.js +19 -14
  173. package/dist-runtime/delivery/project-files.js.map +1 -1
  174. package/dist-runtime/delivery/project-rpc.d.ts +19 -0
  175. package/dist-runtime/delivery/project-rpc.js +138 -0
  176. package/dist-runtime/delivery/project-rpc.js.map +1 -0
  177. package/dist-runtime/delivery/project.d.ts +3 -1
  178. package/dist-runtime/delivery/project.js +21 -8
  179. package/dist-runtime/delivery/project.js.map +1 -1
  180. package/dist-runtime/delivery/public-calldata.d.ts +25 -0
  181. package/dist-runtime/delivery/public-calldata.js +97 -0
  182. package/dist-runtime/delivery/public-calldata.js.map +1 -0
  183. package/dist-runtime/delivery/release-graph.d.ts +7 -3
  184. package/dist-runtime/delivery/release-graph.js +58 -25
  185. package/dist-runtime/delivery/release-graph.js.map +1 -1
  186. package/dist-runtime/delivery/release-history.d.ts +1 -1
  187. package/dist-runtime/delivery/release-history.js +86 -10
  188. package/dist-runtime/delivery/release-history.js.map +1 -1
  189. package/dist-runtime/delivery/release-inputs.d.ts +33 -0
  190. package/dist-runtime/delivery/release-inputs.js +129 -0
  191. package/dist-runtime/delivery/release-inputs.js.map +1 -0
  192. package/dist-runtime/delivery/release.d.ts +38 -14
  193. package/dist-runtime/delivery/release.js +81 -29
  194. package/dist-runtime/delivery/release.js.map +1 -1
  195. package/dist-runtime/delivery/safe.d.ts +1 -0
  196. package/dist-runtime/delivery/safe.js +13 -2
  197. package/dist-runtime/delivery/safe.js.map +1 -1
  198. package/dist-runtime/delivery/same-fork-baseline.d.ts +1 -1
  199. package/dist-runtime/delivery/same-fork-baseline.js +5 -4
  200. package/dist-runtime/delivery/same-fork-baseline.js.map +1 -1
  201. package/dist-runtime/delivery/setup.d.ts +1 -1
  202. package/dist-runtime/delivery/setup.js +21 -6
  203. package/dist-runtime/delivery/setup.js.map +1 -1
  204. package/dist-runtime/delivery/source.d.ts +1 -0
  205. package/dist-runtime/delivery/source.js +12 -10
  206. package/dist-runtime/delivery/source.js.map +1 -1
  207. package/dist-runtime/delivery/task-identity.d.ts +23 -0
  208. package/dist-runtime/delivery/task-identity.js +109 -0
  209. package/dist-runtime/delivery/task-identity.js.map +1 -0
  210. package/dist-runtime/delivery/toolchain.d.ts +3 -0
  211. package/dist-runtime/delivery/toolchain.js +52 -0
  212. package/dist-runtime/delivery/toolchain.js.map +1 -0
  213. package/dist-runtime/delivery/validation.js +7 -2
  214. package/dist-runtime/delivery/validation.js.map +1 -1
  215. package/dist-runtime/runtime-identity.json +2 -2
  216. package/dist-runtime/vendor/plan-codec/index.cjs +97 -20
  217. package/dist-runtime/vendor/plan-codec/index.d.cts +6 -0
  218. package/dist-runtime/vendor/plan-codec/provenance.json +9 -8
  219. package/dist-runtime/workflow/lib/calls.js +1 -0
  220. package/dist-runtime/workflow/lib/calls.js.map +1 -1
  221. package/dist-runtime/workflow/lib/checkCodeRunner.js +7 -4
  222. package/dist-runtime/workflow/lib/checkCodeRunner.js.map +1 -1
  223. package/dist-runtime/workflow/lib/context.d.ts +1 -0
  224. package/dist-runtime/workflow/lib/create2.d.ts +4 -26
  225. package/dist-runtime/workflow/lib/create2.js +2 -67
  226. package/dist-runtime/workflow/lib/create2.js.map +1 -1
  227. package/dist-runtime/workflow/lib/deploymentInfo.d.ts +2 -0
  228. package/dist-runtime/workflow/lib/deploymentInfo.js +6 -0
  229. package/dist-runtime/workflow/lib/deploymentInfo.js.map +1 -1
  230. package/dist-runtime/workflow/lib/deploymentRecords.d.ts +2 -0
  231. package/dist-runtime/workflow/lib/deploymentRecords.js +1 -1
  232. package/dist-runtime/workflow/lib/deploymentRecords.js.map +1 -1
  233. package/dist-runtime/workflow/lib/externalExecutionScanner.js +2 -1
  234. package/dist-runtime/workflow/lib/externalExecutionScanner.js.map +1 -1
  235. package/dist-runtime/workflow/lib/gateTool.js +2 -2
  236. package/dist-runtime/workflow/lib/gateTool.js.map +1 -1
  237. package/dist-runtime/workflow/lib/gateToolSync.d.ts +3 -0
  238. package/dist-runtime/workflow/lib/gateToolSync.js +5 -0
  239. package/dist-runtime/workflow/lib/gateToolSync.js.map +1 -1
  240. package/dist-runtime/workflow/lib/parameters.js +5 -0
  241. package/dist-runtime/workflow/lib/parameters.js.map +1 -1
  242. package/dist-runtime/workflow/lib/proxy.d.ts +1 -0
  243. package/dist-runtime/workflow/lib/proxy.js.map +1 -1
  244. package/dist-runtime/workflow/run.js +1 -3
  245. package/dist-runtime/workflow/run.js.map +1 -1
  246. package/dist-runtime/workflow/steps/deploy.js +53 -0
  247. package/dist-runtime/workflow/steps/deploy.js.map +1 -1
  248. package/dist-runtime/workflow/steps/upgrade.js +24 -10
  249. package/dist-runtime/workflow/steps/upgrade.js.map +1 -1
  250. package/docs/compiler-qualification.md +8 -2
  251. package/docs/delivery-aggregate.md +2 -0
  252. package/docs/delivery-calldata.md +27 -0
  253. package/docs/delivery-development.md +6 -0
  254. package/docs/delivery-execution-store.md +1 -1
  255. package/docs/delivery-inputs.md +55 -6
  256. package/docs/delivery-parameters.md +1 -1
  257. package/docs/delivery-release.md +60 -6
  258. package/docs/delivery-safe.md +7 -4
  259. package/docs/delivery-setup.md +72 -20
  260. package/docs/delivery-source.md +8 -8
  261. package/docs/direct-package-acceptance.md +2 -0
  262. package/docs/openzeppelin-acceptance.md +86 -0
  263. package/docs/openzeppelin-baseline.json +27 -0
  264. package/docs/openzeppelin-integration.md +115 -0
  265. package/docs/plans/2026-10-28-openzeppelin-toolkit-consolidation.md +396 -0
  266. package/docs/plans/2026-11-02-transparent-proxy-delivery.md +78 -0
  267. package/docs/superpowers/plans/2026-08-17-custody-hardhat-signers.md +1 -1
  268. package/docs/workflow-reference.md +12 -4
  269. package/docs/workflow-runtime.md +6 -0
  270. package/package.json +19 -5
  271. package/runtime/config/hardhatAdapters.ts +2 -1
  272. package/runtime/delivery/aggregate-bootstrap.ts +3 -1
  273. package/runtime/delivery/aggregate-channel.ts +6 -3
  274. package/runtime/delivery/aggregate-diagnostics.ts +63 -0
  275. package/runtime/delivery/aggregate-source.ts +6 -2
  276. package/runtime/delivery/aggregate-worker.ts +15 -5
  277. package/runtime/delivery/aggregate.ts +2 -2
  278. package/runtime/delivery/business-extension.ts +33 -0
  279. package/runtime/delivery/calldata-archive.ts +25 -0
  280. package/runtime/delivery/calldata-details.ts +90 -0
  281. package/runtime/delivery/calldata-format.ts +14 -0
  282. package/runtime/delivery/calldata-preparations.ts +76 -0
  283. package/runtime/delivery/calldata-review.ts +126 -0
  284. package/runtime/delivery/codec-pin.ts +3 -3
  285. package/runtime/delivery/compiler-files.ts +3 -1
  286. package/runtime/delivery/compiler-pins.ts +1 -1
  287. package/runtime/delivery/compiler.ts +18 -17
  288. package/runtime/delivery/config.ts +25 -2
  289. package/runtime/delivery/configuration-definition.ts +34 -7
  290. package/runtime/delivery/configuration.ts +8 -5
  291. package/runtime/delivery/contract-source.ts +112 -0
  292. package/runtime/delivery/custom-format.ts +20 -5
  293. package/runtime/delivery/development.ts +13 -11
  294. package/runtime/delivery/execution-identity.ts +32 -0
  295. package/runtime/delivery/existing-code.ts +7 -6
  296. package/runtime/delivery/inputs.ts +18 -11
  297. package/runtime/delivery/journal.ts +14 -10
  298. package/runtime/delivery/parameter-defaults.ts +75 -0
  299. package/runtime/delivery/parameters.ts +18 -0
  300. package/runtime/delivery/planning.ts +19 -5
  301. package/runtime/delivery/preparation.ts +17 -1
  302. package/runtime/delivery/production-environment.ts +2 -1
  303. package/runtime/delivery/production-finalization.ts +19 -10
  304. package/runtime/delivery/production-intent.ts +14 -0
  305. package/runtime/delivery/production.ts +51 -11
  306. package/runtime/delivery/project-files.ts +16 -11
  307. package/runtime/delivery/project-rpc.ts +116 -0
  308. package/runtime/delivery/project.ts +19 -7
  309. package/runtime/delivery/public-calldata.ts +74 -0
  310. package/runtime/delivery/release-graph.ts +44 -14
  311. package/runtime/delivery/release-history.ts +66 -8
  312. package/runtime/delivery/release-inputs.ts +107 -0
  313. package/runtime/delivery/release.ts +56 -18
  314. package/runtime/delivery/safe.ts +14 -3
  315. package/runtime/delivery/same-fork-baseline.ts +5 -4
  316. package/runtime/delivery/setup.ts +20 -8
  317. package/runtime/delivery/source.ts +10 -10
  318. package/runtime/delivery/task-identity.ts +85 -0
  319. package/runtime/delivery/toolchain.ts +48 -0
  320. package/runtime/delivery/validation.ts +7 -2
  321. package/runtime/vendor/plan-codec/index.cjs +97 -20
  322. package/runtime/vendor/plan-codec/index.d.cts +6 -0
  323. package/runtime/vendor/plan-codec/provenance.json +9 -8
  324. package/runtime/workflow/lib/calls.ts +1 -0
  325. package/runtime/workflow/lib/checkCodeRunner.ts +7 -3
  326. package/runtime/workflow/lib/context.ts +1 -0
  327. package/runtime/workflow/lib/create2.ts +7 -108
  328. package/runtime/workflow/lib/deploymentInfo.ts +8 -0
  329. package/runtime/workflow/lib/deploymentRecords.ts +3 -1
  330. package/runtime/workflow/lib/externalExecutionScanner.ts +2 -1
  331. package/runtime/workflow/lib/gateTool.ts +2 -2
  332. package/runtime/workflow/lib/gateToolSync.ts +8 -0
  333. package/runtime/workflow/lib/parameters.ts +4 -0
  334. package/runtime/workflow/lib/proxy.ts +1 -0
  335. package/runtime/workflow/run.ts +1 -2
  336. package/runtime/workflow/steps/deploy.ts +42 -0
  337. package/runtime/workflow/steps/upgrade.ts +19 -11
  338. package/bin/workflow.cjs +0 -19
package/README.md CHANGED
@@ -213,7 +213,7 @@ CUSTODY_API_BASE_URL=https://custody.example.com
213
213
  `CUSTODY_API_BASE_URL` must be an HTTP(S) base URL without embedded
214
214
  credentials, query parameters, or fragments.
215
215
 
216
- 也可以用 `WALLET_CREDENTIAL` 代替 `PRIVATE_KEY`。如果两个变量同时存在,值必须一致,否则会拒绝启动,避免误用账户。
216
+ 钱包凭证只读取 `PRIVATE_KEY`,普通私钥和托管凭证使用同一个入口。
217
217
 
218
218
  Hardhat 配置需要在 ethers 和 OpenZeppelin 插件之后加载托管插件,并用 `resolveHardhatAccounts` 处理网络账户:
219
219
 
@@ -223,12 +223,11 @@ import "@openzeppelin/hardhat-upgrades";
223
223
  import "gate-evm-tools/hardhat";
224
224
  import { resolveHardhatAccounts } from "gate-evm-tools/hardhat";
225
225
 
226
- const walletCredential =
227
- process.env.WALLET_CREDENTIAL ?? process.env.PRIVATE_KEY ?? "";
226
+ const walletCredential = process.env.PRIVATE_KEY ?? "";
228
227
 
229
228
  export default {
230
229
  networks: {
231
- sepolia: {
230
+ sepoliaDev: {
232
231
  url: process.env.SEPOLIA_RPC_URL,
233
232
  accounts: resolveHardhatAccounts(walletCredential),
234
233
  },
@@ -328,7 +327,7 @@ Dev/Prod 可以使用同一个 chainId 和 RPC,但代表两套独立合约状
328
327
 
329
328
  ```bash
330
329
  MANIFEST_DEFAULT_DIR=.openzeppelin.sepolia \
331
- npx gate-tool sync --proxy 0x1234... --contract CounterUUPS --network sepolia
330
+ npx gate-tool sync --proxy 0x1234... --contract CounterUUPS --network sepoliaDev
332
331
  ```
333
332
 
334
333
  `--network` 和 `-n` 都会在加载 command tree 前参与路由;自动化和迁移脚本建议始终使用完整的 `--network`。显式 `sync --target` 使用项目配置的 manifest,支持普通 Hardhat/Anvil HTTP 节点的原始 metadata;不依赖 OpenZeppelin 的系统临时 manifest。本地网络的无 target legacy `sync` 和 legacy `validate` 仍拒绝写 manifest,因为它们沿用 OpenZeppelin 的临时目录选择。
@@ -339,7 +338,7 @@ npx gate-tool sync --proxy 0x1234... --contract CounterUUPS --network sepolia
339
338
 
340
339
  `sync` 自己的补充写入使用原子替换。结果、精确 before/after 文件名和 hash 写入项目根目录的 per-manifest 报告,例如 development BSC 为 `gate-tool-sync-report.openzeppelin.dev.bsc.json`,production BSC 为 `gate-tool-sync-report.openzeppelin.bsc.json`。返回值中的 `syncReport` 是本次报告的权威路径;不要假设一个由 Dev/Prod 共享的固定报告名。
341
340
 
342
- 最新 full 模版项目优先使用 `workflow:checkcode` 做只读验收,由模版负责选择精确的 manifest 文件并调用 gate-tool。
341
+ 新版 full 项目的部署验收由 delivery 任务中的 CheckCode 完成;独立只读检查仍可使用下方 gate-tool 命令。
343
342
 
344
343
  ```bash
345
344
  # EVM:confirmed UUPS receipt 后同步合约状态
@@ -347,8 +346,8 @@ npx gate-tool sync \
347
346
  --scheme evm \
348
347
  --proxy 0x1234... \
349
348
  --contract CounterUUPS \
350
- --network sepolia \
351
- --target sepolia
349
+ --network sepoliaDev \
350
+ --target sepoliaDev
352
351
 
353
352
  # zkSync:必须同时绑定 confirmed transaction hash
354
353
  npx gate-tool sync \
@@ -383,21 +382,21 @@ npx gate-tool validate \
383
382
  --proxy 0x1234... \
384
383
  --old CounterUUPS \
385
384
  --new CounterUUPSV2 \
386
- --network sepolia
385
+ --network sepoliaDev
387
386
 
388
387
  # 同一合约升级(修改现有合约后升级)
389
388
  npx gate-tool validate \
390
389
  --proxy 0x1234... \
391
390
  --old CounterUUPS \
392
391
  --new CounterUUPS \
393
- --network sepolia
392
+ --network sepoliaDev
394
393
 
395
394
  # 指定输出文件路径
396
395
  npx gate-tool validate \
397
396
  --proxy 0x1234... \
398
397
  --old CounterUUPS \
399
398
  --new CounterUUPSV2 \
400
- --network sepolia \
399
+ --network sepoliaDev \
401
400
  --output ./upgrade-info.json
402
401
  ```
403
402
 
@@ -458,7 +457,7 @@ npx gate-tool validate \
458
457
  --proxy 0x1234... \
459
458
  --old CounterUUPS \
460
459
  --new CounterUUPSV2 \
461
- --network sepolia \
460
+ --network sepoliaDev \
462
461
  --constructor-args '["0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", 100]'
463
462
 
464
463
  # 构造函数参数示例
@@ -482,7 +481,7 @@ npx gate-tool validate \
482
481
  --proxy 0x1234... \
483
482
  --old CounterUUPS \
484
483
  --new CounterUUPSV2 \
485
- --network sepolia \
484
+ --network sepoliaDev \
486
485
  --factory 0xFactoryAddress
487
486
 
488
487
  # 指定 salt(bytes32)
@@ -490,7 +489,7 @@ npx gate-tool validate \
490
489
  --proxy 0x1234... \
491
490
  --old CounterUUPS \
492
491
  --new CounterUUPSV2 \
493
- --network sepolia \
492
+ --network sepoliaDev \
494
493
  --factory 0xFactoryAddress \
495
494
  --factory-salt 0x0000000000000000000000000000000000000000000000000000000000001234
496
495
  ```
@@ -762,7 +761,7 @@ cat > contractInfo.json << EOF
762
761
  "Vault": "0x1234...",
763
762
  "Token": "0x5678..."
764
763
  },
765
- "sepolia": {
764
+ "sepoliaDev": {
766
765
  "Vault": "0xabcd..."
767
766
  }
768
767
  }
@@ -815,17 +814,32 @@ or implementation checks. It does not prove the proxy is unchanged since an
815
814
  upgrade, or replace expected implementation-slot and storage-layout validation
816
815
  in the deployment workflow. Unknown historical proxy builds still fail closed.
817
816
 
818
- ### Full-template workflow runtime (local preview)
817
+ ### 统一 full 模板使用 delivery(1.2.0)
819
818
 
820
- The full workflow is now packaged with GateTool. New templates call the package directly without project workflow/config forwarding directories; invocation uses `npx --no-install gate-workflow`. See [runtime installation, migration and rollback](docs/workflow-runtime.md). Version `1.0.27` is prepared for release; local tarball validation does not imply npm publication.
819
+ 配套生成器 `gate-evm-hardhat-foundry@2.3.0` 的新 full 项目使用
820
+ `gate-tool delivery setup/inspect` 接入部署设施与策略。full 保留项目自有 EVM 网络和
821
+ Foundry 测试配置;部署只使用 Hardhat 编译证据。setup 补齐经过验收的依赖约束,
822
+ 遇到已有冲突会报错;安装后仍核验真实依赖、编译器及运行包,不能以安装成功代替就绪。
821
823
 
822
- ### Core 项目按需部署接入
823
-
824
- 新 core 项目可使用 `gate-delivery setup/inspect` 接入部署设施与策略,普通开发无需部署配置。
824
+ 模板不携带部署业务配置或旧 workflow 命令。代码完成后由部署 skill 生成任务,
825
+ dev 验收后开发侧补齐 prod,资格验证和生产任务固化后再 finalize 发布。
826
+ 管理员导入 handoff 后消费已有计划,使用本地身份执行或无签名导出 calldata。
827
+ 对外命令统一为 `gate-tool`;部署使用 `gate-tool delivery`,计划使用 `gateflow-plan` skill 自带命令。内部共享执行模块由交付 API 复用。
825
828
  具体状态、依赖安装步骤、公共 API 和显式 dev/prod 请求协议见 [delivery setup 文档](docs/delivery-setup.md)。
826
829
 
830
+ 生产 calldata 导出保留逐笔实际调用 ABI、方法签名、预期/解码参数,以及 CREATE2、multicall、代理构造与升级的嵌套调用;执行和导出前会核对完整编码。App 可逐笔查看 ABI 与参数,完整 JSON/Markdown 可下载。字段和校验边界见 [生产 calldata 校验](docs/delivery-calldata.md)。
831
+
827
832
  ## CREATE2 盐挖掘(独立 API / CLI)
828
833
 
829
834
  `gate-tool miner --request request.json [--output result.json]` 在本地搜索并独立验证 EVM / zkSync EraVM CREATE2 salt。也可通过 `gate-evm-tools/create2-miner` 的 `mineCreate2`、`create2MinerRequestFromArtifact` 等 API 使用,支持 CommonJS、ESM 和 TypeScript。
830
835
 
831
836
  此入口需要 ethers v6,无需 Hardhat runtime、RPC 或私钥。macOS arm64/x64 原生程序随包提供;其他平台可用 `GATE_TOOL_CREATE2_MINER_BIN` 指定兼容构建。默认超时 5 分钟,可调整。该能力仅准备候选参数,不执行部署,也不改动 GateFlow 现有 miner。详见 [CREATE2 miner 文档](docs/create2-miner.md) 和 `gate-tool miner --help`。
837
+
838
+ ## Official OpenZeppelin integration
839
+
840
+ New full projects require no OpenZeppelin patches or patch-package lifecycle.
841
+ Use `gate-evm-tools/deployment-evm` for read-only CREATE2/UUPS/Transparent preparation and
842
+ ordered Multicall composition; execution remains in the workflow/delivery engine.
843
+ Ordinary EVM OZ 5 Transparent/ProxyAdmin binds independent business/admin owners and
844
+ uses ProxyAdmin for upgrades. See
845
+ [API, ownership and atomic call examples](docs/openzeppelin-integration.md).
package/bin/cli.js CHANGED
@@ -3,6 +3,9 @@
3
3
  import { prepareManifestEnvironment } from './manifest-bootstrap.js';
4
4
 
5
5
  Promise.resolve().then(() => {
6
+ if (process.argv[2] === 'delivery') {
7
+ return import('./delivery.cjs').then(module => ({ run: () => module.default.runDeliveryCli(process.argv.slice(3)) }));
8
+ }
6
9
  if (process.argv[2] === 'miner') {
7
10
  return import('../dist-runtime/miner/cli.js').then(module => ({ run: module.runCreate2MinerCli }));
8
11
  }
package/bin/delivery.cjs CHANGED
@@ -2,23 +2,23 @@
2
2
  'use strict';
3
3
 
4
4
  // Keep this entry independent of old workflow/run and projectHardhat's eager HRE.
5
- (async () => {
5
+ async function runDeliveryCli(args) {
6
6
  try {
7
- const args = process.argv.slice(2);
8
7
  if (args.length === 1 && ['--help', '-h'].includes(args[0])) {
9
- console.log('gate-delivery <setup|inspect|prepare|execute|export-calldata|reconcile|verify> --options <local-options.json> [--hashes <explicit-hashes.json>]\nProduction consumes an existing release. execute requires the trusted application host. reconcile/verify observe an existing GateFlow desktop execution and never sign; missing store/execution is pending. --hashes is only for reconcile/verify.');
8
+ console.log('gate-tool delivery <setup|inspect|create-task|prepare|execute|export-calldata|reconcile|verify> --options <local-options.json> [--hashes <explicit-hashes.json>]\ncreate-task reserves an independent round from a confirmed requirement revision. Production consumes an existing release. execute requires the trusted application host. reconcile/verify observe an existing GateFlow desktop execution and never sign; missing store/execution is pending. --hashes is only for reconcile/verify.');
10
9
  } else {
11
10
  const command = args[0];
12
- if (!['setup', 'inspect', 'prepare', 'execute', 'export-calldata', 'reconcile', 'verify'].includes(command)) throw new Error('Explicit supported command required; see --help');
11
+ if (!['setup', 'inspect', 'create-task', 'prepare', 'execute', 'export-calldata', 'reconcile', 'verify'].includes(command)) throw new Error('Explicit supported command required; see --help');
13
12
  if (![3,5].includes(args.length) || args[1] !== '--options' || !args[2] || (args.length === 5 && (!['reconcile','verify'].includes(command) || args[3] !== '--hashes' || !args[4]))) throw new Error('Expected --options <local-options.json> [--hashes <explicit-hashes.json>]');
14
13
  const fs = require('node:fs');
15
14
  const path = require('node:path');
16
15
  const read = name => { const file=path.resolve(process.cwd(),name); if(!fs.lstatSync(file).isFile() || fs.lstatSync(file).isSymbolicLink())throw new Error('Input must be a regular file');return JSON.parse(fs.readFileSync(file,'utf8')); };
17
16
  const options = read(args[2]);
18
17
  const setup = ['setup','inspect'].includes(command);
19
- const api = require(setup ? '../dist-runtime/delivery/setup.js' : '../dist-runtime/delivery/production.js');
18
+ const api = require(command === 'create-task' ? '../dist-runtime/delivery/task-identity.js' : setup ? '../dist-runtime/delivery/setup.js' : '../dist-runtime/delivery/production.js');
20
19
  let result;
21
- if(command==='setup')result=api.setupDeliveryProject(options);
20
+ if(command==='create-task')result=await api.createDeliveryTask(options);
21
+ else if(command==='setup')result=api.setupDeliveryProject(options);
22
22
  else if(command==='inspect')result=api.inspectDeliveryProject(options);
23
23
  else if(command==='prepare')result=await api.prepareDeliveryProduction(options);
24
24
  else if(command==='execute')result=await api.runDeliveryProduction(command,options);
@@ -48,4 +48,5 @@ try {
48
48
  process.exitCode = 1;
49
49
  }
50
50
 
51
- })();
51
+ }
52
+ module.exports = { runDeliveryCli };
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAsa3D;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,iBAgJxD"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAyb3D;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,iBAgJxD"}
@@ -2,6 +2,7 @@ import chalk from 'chalk';
2
2
  import ora from 'ora';
3
3
  import { findConfigFile, readConfigFile, saveReport, mergeReports } from '../utils/files.js';
4
4
  import { printSummary, printProgress, printConfig } from '../utils/output.js';
5
+ import { ERC1967_ADMIN_SLOT, verifyTransparentAdmin } from '../core/preparation/transparent.js';
5
6
  import { BytecodeChecker } from '../core/BytecodeChecker.js';
6
7
  import { isHardhatConfigImportError } from '../utils/configFixer.js';
7
8
  import fs from 'fs-extra';
@@ -299,12 +300,29 @@ async function processUpgradeableContracts(hre, config, targetNetwork) {
299
300
  if (implAddress) {
300
301
  printProgress(` ✓ 检测到代理合约,实现地址: ${chalk.cyan(implAddress)}`, 'success');
301
302
  printProgress(` ✓ 将同时检查代理合约和实现合约(双重检查)`, 'info');
303
+ let proxyAdmin;
304
+ const provider = new hre.ethers.JsonRpcProvider(hre.config.networks[network].url);
305
+ try {
306
+ const slot = await provider.getStorage(address, ERC1967_ADMIN_SLOT);
307
+ if (typeof slot === 'string' && /^0x0{24}[a-fA-F0-9]{40}$/.test(slot) && !/^0x0+$/.test(slot)) {
308
+ proxyAdmin = '0x' + slot.slice(-40).toLowerCase();
309
+ const file = path.join(hre.config.paths.root, 'deploymentInfo.json');
310
+ const entry = fs.existsSync(file) ? fs.readJsonSync(file)?.networks?.[network]?.[alias] : undefined;
311
+ if (entry?.proxyKind !== 'transparent' || entry?.proxyAdminAddress?.toLowerCase() !== proxyAdmin || entry?.address?.toLowerCase() !== address.toLowerCase() || !entry.proxyAdminOwner)
312
+ throw Error('Transparent CheckCode requires registered ProxyAdmin address and owner');
313
+ await verifyTransparentAdmin({ hre: { ...hre, ethers: { ...hre.ethers, provider } }, proxy: address, admin: proxyAdmin, owner: entry.proxyAdminOwner });
314
+ }
315
+ }
316
+ finally {
317
+ provider.destroy();
318
+ }
302
319
  // 保存代理合约信息(用于双重检查)
303
320
  processedConfig[network][contractName] = {
304
321
  address: implAddress, // 主要检查实现合约
305
322
  isProxy: true,
306
323
  proxyAddress: address,
307
- implAddress: implAddress
324
+ implAddress: implAddress,
325
+ ...(proxyAdmin ? { proxyAdmin } : {}),
308
326
  };
309
327
  }
310
328
  else {
@@ -333,7 +351,13 @@ function convertToCheckerConfig(processedConfig) {
333
351
  // 如果是代理合约,添加代理合约检查条目
334
352
  if (info.isProxy && info.proxyAddress) {
335
353
  // 使用 ::Proxy 后缀标记代理合约检查
336
- checkerConfig[network][`${contractName}::Proxy`] = info.proxyAddress;
354
+ if (info.proxyAdmin) {
355
+ const alias = parseContractNameForDisplay(contractName).alias;
356
+ checkerConfig[network][`${alias}_Proxy:TransparentUpgradeableProxy`] = info.proxyAddress;
357
+ checkerConfig[network][`${alias}_ProxyAdmin:ProxyAdmin`] = info.proxyAdmin;
358
+ }
359
+ else
360
+ checkerConfig[network][`${contractName}::Proxy`] = info.proxyAddress;
337
361
  }
338
362
  }
339
363
  }
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAG3B;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,aAAa,CAAC,QAAa,EAAE,OAAe;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,WAAW;QACX,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAEtD,oCAAoC;QACpC,MAAM,YAAY,GAAG;YACnB,kEAAkE,EAAE,sBAAsB;YAC1F,kEAAkE,EAAE,kBAAkB;YACtF,kEAAkE,EAAE,aAAa;YACjF,kEAAkE,EAAC,cAAc;SAClF,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,mCAAmC;QACnC,qDAAqD;QAErD,2CAA2C;QAC3C,6BAA6B;QAC7B,qCAAqC;QACrC,4CAA4C;QAC5C,mBAAmB;QACnB,MAAM;QACN,IAAI;QAGJ,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4BAA4B;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,QAAa,EAAE,OAAe;IAClE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QAErD,uBAAuB;QACvB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,WAAW;QACX,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,YAAY,CAAC;QACzB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,kBAAkB;QAClB,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,mBAAmB;QAC7C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,OAAO,IAAI,IAAI,KAAK,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YACnD,UAAU,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAElD,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1B,iBAAiB;oBACjB,WAAW,GAAG,GAAG,CAAC;oBAClB,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,kBAAkB;oBAClB,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,yBAAyB;gBACzB,iBAAiB;gBACjB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAe;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,wBAAwB,CAAC,GAAQ,EAAE,OAAe,EAAE,OAAe;IAChF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAQ,CAAC;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAI,GAAW,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE/D,2BAA2B;QAC3B,2CAA2C;QAC3C,IAAI,0BAA0B,GAAG,KAAK,CAAC;QAEvC,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,KAAK,GAAG;gBACZ,+DAA+D;gBAC/D,oEAAoE;gBACpE,sEAAsE;gBACtE,oEAAoE;aACrE,CAAC;YAEF,YAAY;YACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,wBAAwB,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE1E,gBAAgB;gBAChB,MAAM,WAAW,GAAG,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAE/D,YAAY;gBACZ,IAAI,WAAW,KAAK,4CAA4C,EAAE,CAAC;oBACjE,4BAA4B;oBAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACjD,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7C,0BAA0B,GAAG,IAAI,CAAC;wBAClC,OAAO,WAAW,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,mBAAmB;QACrB,CAAC;QAED,uBAAuB;QACvB,oBAAoB;QACpB,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE3D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,mBAAmB;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,mCAAmC;QACnC,0BAA0B;QAC1B,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEpE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,2DAA2D;gBAC3D,uCAAuC;gBACvC,MAAM,kBAAkB,GAAG,oEAAoE,CAAC;gBAEhG,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAErD,kBAAkB;gBAClB,MAAM,eAAe,GAAG,WAAW,CAAC;gBACpC,MAAM,aAAa,GAAG,YAAY,CAAC;gBACnC,MAAM,WAAW,GAAG,aAAa,GAAG,eAAe,CAAC;gBAEpD,gBAAgB;gBAChB,MAAM,SAAS,GAAG,KAAK,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;gBAE9D,IAAI,mBAAmB,GAAkB,IAAI,CAAC;gBAE9C,uBAAuB;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;oBAErE,IAAI,OAAO,GAAG,eAAe;wBAAE,MAAM;oBAErC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG;4BACb,OAAO,EAAE,OAAO;4BAChB,MAAM,EAAE,CAAC,kBAAkB,CAAC;4BAC5B,SAAS,EAAE,SAAS;4BACpB,OAAO,EAAE,OAAO;yBACjB,CAAC;wBAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAE5C,gBAAgB;wBAChB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BACxC,6CAA6C;4BAC7C,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gCAE1D,aAAa;gCACb,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gCACjD,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCAC7C,mBAAmB,GAAG,WAAW,CAAC;oCAClC,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,UAAe,EAAE,CAAC;wBACzB,eAAe;wBACf,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,mBAAmB,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,yBAAyB;YACzB,WAAW;QACb,CAAC;QAID,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAgBD;;;;;;GAMG;AACH,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;YAChC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC;AAGD;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,2BAA2B,CACxC,GAAQ,EACR,MAAsB,EACtB,aAAsB;IAEtB,MAAM,eAAe,GAA4B,EAAE,CAAC;IAEpD,aAAa;IACb,MAAM,iBAAiB,GAAG,aAAa;QACrC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAExB,sBAAsB;IACtB,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,aAAa,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,SAAS;YACT,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;YAExG,MAAM,WAAW,GAAG,QAAQ;gBAC1B,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,OAAO,kBAAkB,KAAK,OAAO,GAAG;gBAC7D,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,KAAK,OAAO,GAAG,CAAC;YAE9C,aAAa,CAAC,MAAM,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;YAE3C,aAAa;YACb,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1E,IAAI,WAAW,EAAE,CAAC;gBAChB,aAAa,CACX,qBAAqB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAC9C,SAAS,CACV,CAAC;gBACF,aAAa,CACX,0BAA0B,EAC1B,MAAM,CACP,CAAC;gBAEF,mBAAmB;gBACnB,eAAe,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,GAAG;oBACvC,OAAO,EAAE,WAAW,EAAG,WAAW;oBAClC,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,OAAO;oBACrB,WAAW,EAAE,WAAW;iBACzB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;gBAClD,QAAQ;gBACR,eAAe,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,GAAG;oBACvC,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,eAAwC;IACtE,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAE5B,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,mBAAmB;YACnB,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAEpD,qBAAqB;YACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,wBAAwB;gBACxB,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAGD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAqB;IACvD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IAEtB,IAAI,CAAC;QACH,eAAe;QACf,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEtD,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEhC,uBAAuB;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACjD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAEhF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAElG,kBAAkB;QAClB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/F,aAAa,CAAC,MAAM,OAAO,CAAC,OAAO,OAAO,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAE5D,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEjC,UAAU;QACV,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE1B,6BAA6B;QAC7B,sBAAsB;QACtB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAElC,WAAW;QACX,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAExF,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEtF,2CAA2C;QAC3C,MAAM,aAAa,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAE9D,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE5B,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAEhE,cAAc;QACd,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,SAAS;YACT,aAAa,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/D,OAAO,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,SAAS;YACT,aAAa,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9D,OAAO,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,SAAS;YACT,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACxE,OAAO,CAAC,OAAO,CAAC,UAAU,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;QAEhD,UAAU;QACV,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,aAAa;QACb,MAAM,cAAc,GAAG,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;QAEvE,eAAe;QACf,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAClF,IAAI,cAAc,GAAG,EAAE,CAAC;QAExB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO;QACP,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE5D,aAAa,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAE7D,aAAa;QACb,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAEnD,uBAAuB;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IAEH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,qBAAqB;QACrB,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAEtE,WAAW;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAErD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC,CAAC;YAE1F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,cAAmB,EAAE,cAAmB;IAClE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzE,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACxE,MAAM,mBAAmB,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,WAAqB,CAAC,CAAC;QAE3D,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;YAC3C,IAAI,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,gBAAgB,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACjE,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/D,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/plan/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAwCxC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsE3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/plan/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsCxC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsE3D"}
@@ -23,7 +23,7 @@ const input = (opts) => {
23
23
  export function registerPlanCommands(program) {
24
24
  const plan = program
25
25
  .command('plan')
26
- .description('计划管理:读写 handoff.md(gateflow-plan/v1),与 gate-workflow plan-* 同一实现');
26
+ .description('计划管理:读写 handoff.md(gateflow-plan/v1)');
27
27
  plan
28
28
  .command('read')
29
29
  .alias('status')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/plan/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/plan/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export type Create2Scheme = "evm" | "zksync-eravm";
2
+ export interface PreparedWorkflowTransaction {
3
+ target: string;
4
+ value: string;
5
+ data: string;
6
+ operation: 0;
7
+ scheme?: "zksync-eravm";
8
+ factoryDeps?: string[];
9
+ }
10
+ export interface ControlledMulticallInnerCall {
11
+ target: string;
12
+ value: string;
13
+ data: string;
14
+ factoryDeps?: string[];
15
+ }
16
+ export interface PreparedControlledMulticallTransaction extends PreparedWorkflowTransaction {
17
+ method: "aggregate3" | "aggregate3Value";
18
+ calls: Array<{
19
+ target: string;
20
+ allowFailure: false;
21
+ value: string;
22
+ callData: string;
23
+ }>;
24
+ }
25
+ export declare const prepareControlledMulticallTransaction: (controlledMulticall: string, inputCalls: ControlledMulticallInnerCall[], scheme?: Create2Scheme) => PreparedControlledMulticallTransaction;
26
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/core/preparation/batch.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,cAAc,CAAC;AAEnD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,sCACf,SAAQ,2BAA2B;IACnC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAAC;IACzC,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,KAAK,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AA4BD,eAAO,MAAM,qCAAqC,GAChD,qBAAqB,MAAM,EAC3B,YAAY,4BAA4B,EAAE,EAC1C,SAAQ,aAAqB,KAC5B,sCAuCF,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { getAddress, Interface, isAddress } from "ethers";
2
+ const CONTROLLED_MULTICALL_INTERFACE = new Interface([
3
+ "function aggregate3(tuple(address target,bool allowFailure,bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)",
4
+ "function aggregate3Value(tuple(address target,bool allowFailure,uint256 value,bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)",
5
+ ]);
6
+ const bigintValue = (value) => {
7
+ if (typeof value !== "string" || value.trim() === "")
8
+ throw new Error("transaction value must be explicit");
9
+ if (value === "0")
10
+ return 0n;
11
+ const parsed = BigInt(value);
12
+ if (parsed < 0n)
13
+ throw new Error("transaction value must be nonnegative");
14
+ return parsed;
15
+ };
16
+ const normalizeFactoryDeps = (input, label) => {
17
+ const seen = new Set();
18
+ const output = [];
19
+ for (const [index, dependency] of input.entries()) {
20
+ if (!/^0x(?:[0-9a-fA-F]{2})+$/.test(dependency)) {
21
+ throw new Error(`${label}[${index}] must be non-empty byte-aligned bytecode`);
22
+ }
23
+ const normalized = dependency.toLowerCase();
24
+ if (seen.has(normalized))
25
+ continue;
26
+ seen.add(normalized);
27
+ output.push(normalized);
28
+ }
29
+ return output;
30
+ };
31
+ export const prepareControlledMulticallTransaction = (controlledMulticall, inputCalls, scheme = "evm") => {
32
+ if (scheme !== "evm" && scheme !== "zksync-eravm")
33
+ throw new Error("scheme must be evm or zksync-eravm");
34
+ if (!isAddress(controlledMulticall)) {
35
+ throw new Error("controlledMulticall must be an EVM address");
36
+ }
37
+ if (inputCalls.length === 0) {
38
+ throw new Error("controlled multicall requires at least one inner call");
39
+ }
40
+ if (scheme === "evm" && inputCalls.some((call) => call.factoryDeps !== undefined)) {
41
+ throw new Error("factoryDeps are only supported for zkSync transactions");
42
+ }
43
+ if (scheme === "zksync-eravm" && inputCalls.some((call) => call.factoryDeps === undefined)) {
44
+ throw new Error("every zkSync GateTool call must include factoryDeps");
45
+ }
46
+ const calls = inputCalls.map((call) => ({
47
+ target: getAddress(call.target),
48
+ allowFailure: false,
49
+ value: bigintValue(call.value).toString(10),
50
+ callData: call.data,
51
+ }));
52
+ const totalValue = calls.reduce((sum, call) => sum + BigInt(call.value), 0n);
53
+ const method = totalValue === 0n ? "aggregate3" : "aggregate3Value";
54
+ const encodedCalls = method === "aggregate3"
55
+ ? calls.map(({ value: _value, ...call }) => call)
56
+ : calls;
57
+ const factoryDeps = scheme === "zksync-eravm"
58
+ ? normalizeFactoryDeps(inputCalls.flatMap((call) => call.factoryDeps), "factoryDeps")
59
+ : undefined;
60
+ return {
61
+ target: getAddress(controlledMulticall),
62
+ value: totalValue.toString(10),
63
+ data: CONTROLLED_MULTICALL_INTERFACE.encodeFunctionData(method, [encodedCalls]),
64
+ operation: 0,
65
+ method,
66
+ calls,
67
+ ...(scheme === "zksync-eravm"
68
+ ? { scheme: "zksync-eravm", factoryDeps: factoryDeps }
69
+ : {}),
70
+ };
71
+ };
72
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/core/preparation/batch.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import type { GateToolPreparationValidation } from './index.js';
2
2
  import { ContractFactory } from 'ethers';
3
3
  import { type StorageLayout } from '@openzeppelin/upgrades-core';
4
4
  import type { GateToolArtifact } from './artifacts.js';
5
- import type { GateToolNormalizedPreparationRequestV1, GateToolNormalizedUupsUpgradeRequestV1, GateToolPreparationPlanV1 } from './types.js';
6
- interface EvmPreparationHre {
5
+ import type { GateToolAddressPolicy, GateToolNormalizedPreparationRequestV1, GateToolNormalizedProxyUpgradeRequestV1, GateToolDeploymentPlan, GateToolPreparationPlanV1, GateToolTransactionPlan } from './types.js';
6
+ export interface EvmPreparationHre {
7
7
  network: {
8
8
  name: string;
9
9
  provider?: unknown;
@@ -15,6 +15,7 @@ interface EvmPreparationHre {
15
15
  };
16
16
  artifacts: {
17
17
  readArtifact(name: string): Promise<GateToolArtifact>;
18
+ getBuildInfo?: (name: string) => Promise<unknown>;
18
19
  };
19
20
  ethers: {
20
21
  provider: {
@@ -48,7 +49,7 @@ export interface EvmPreparationDependencies {
48
49
  /** Complete implementation/storage validation and evidence seam for adapter tests.
49
50
  * Overrides must perform both safety checks; canonical prepareWorkflow always
50
51
  * uses the official default validator and cannot override this via request data. */
51
- loadUpgradeEvidence?: (hre: EvmPreparationHre, request: GateToolNormalizedUupsUpgradeRequestV1, factory: ContractFactory, validationOptions: Record<string, unknown>) => Promise<EvmUpgradeValidationEvidence>;
52
+ loadUpgradeEvidence?: (hre: EvmPreparationHre, request: GateToolNormalizedProxyUpgradeRequestV1, factory: ContractFactory, validationOptions: Record<string, unknown>) => Promise<EvmUpgradeValidationEvidence>;
52
53
  }
53
54
  export interface TargetManifestEvidence {
54
55
  layout: StorageLayout;
@@ -70,6 +71,24 @@ export declare const resolveTargetManifestEvidence: (input: {
70
71
  chainId: number;
71
72
  implementation: string;
72
73
  }) => TargetManifestEvidence;
74
+ export declare const validateUpgradeAndLoadDefaultEvidence: (hre: EvmPreparationHre, request: GateToolNormalizedProxyUpgradeRequestV1, factory: ContractFactory, validationOptions: Record<string, unknown>, observation?: {
75
+ validation?: GateToolPreparationValidation;
76
+ artifact: GateToolArtifact;
77
+ }) => Promise<EvmUpgradeValidationEvidence>;
78
+ export declare const buildDeployment: (input: {
79
+ hre: EvmPreparationHre;
80
+ role: GateToolDeploymentPlan["role"];
81
+ artifact: GateToolArtifact;
82
+ constructorArgs: unknown[];
83
+ factory: string;
84
+ salt: string;
85
+ policy?: GateToolAddressPolicy;
86
+ validation?: GateToolPreparationValidation;
87
+ }) => Promise<{
88
+ deployment: GateToolDeploymentPlan;
89
+ initCode: string;
90
+ transaction?: GateToolTransactionPlan;
91
+ factory: ContractFactory;
92
+ }>;
73
93
  export declare const prepareEvm: (hre: EvmPreparationHre, request: GateToolNormalizedPreparationRequestV1, dependencies?: EvmPreparationDependencies) => Promise<GateToolPreparationPlanV1>;
74
- export {};
75
94
  //# sourceMappingURL=evm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/core/preparation/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/core/preparation/evm.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
+ import { prepareTransparent } from './transparent.js';
1
2
  import { concat, ContractFactory, getAddress, getCreate2Address, Interface, keccak256, } from 'ethers';
2
3
  import crypto from 'node:crypto';
3
4
  import fs from 'node:fs';
4
5
  import path from 'node:path';
5
6
  import { getDeployData } from '@openzeppelin/hardhat-upgrades/dist/utils/deploy-impl.js';
6
7
  import { assertUpgradeSafe, assertStorageUpgradeSafe } from '@openzeppelin/upgrades-core';
8
+ import { BytecodeChecker } from '../BytecodeChecker.js';
7
9
  import { artifactIdentity, assertArtifactScheme } from './artifacts.js';
8
10
  import { hashPreparationRequest, normalizePreparationPlan, } from './normalize.js';
9
11
  import { hashStorageLayout, readRegisteredTargetUpgradeState, parseTargetManifest, resolveTargetManifestPaths, } from './manifest.js';
@@ -63,7 +65,7 @@ export const resolveTargetManifestEvidence = (input) => {
63
65
  manifestFile: path.relative(path.resolve(input.root), manifestFile).split(path.sep).join('/'),
64
66
  };
65
67
  };
66
- const validateUpgradeAndLoadDefaultEvidence = async (hre, request, factory, validationOptions, observation) => {
68
+ export const validateUpgradeAndLoadDefaultEvidence = async (hre, request, factory, validationOptions, observation) => {
67
69
  const getImplementationAddress = hre.upgrades?.erc1967?.getImplementationAddress;
68
70
  if (!getImplementationAddress) {
69
71
  throw new Error('OpenZeppelin ERC-1967 implementation lookup is required');
@@ -86,6 +88,7 @@ const validateUpgradeAndLoadDefaultEvidence = async (hre, request, factory, vali
86
88
  chainId,
87
89
  proxy: request.proxy,
88
90
  currentImplementation,
91
+ proxyKind: request.proxyKind,
89
92
  });
90
93
  const oldLayout = sameFork?.oldLayout ?? manifestEvidence.oldLayout;
91
94
  assertUpgradeSafe(deployData.validations, deployData.version, deployData.fullOpts);
@@ -111,7 +114,7 @@ const assertAddressPolicy = (predictedAddress, policy, label) => {
111
114
  throw new Error(`${label} does not satisfy leadingZeroBytes=${policy.leadingZeroBytes}`);
112
115
  }
113
116
  };
114
- const buildDeployment = async (input) => {
117
+ export const buildDeployment = async (input) => {
115
118
  assertArtifactScheme(input.artifact, 'evm');
116
119
  input.validation?.arguments(input.artifact, null, input.constructorArgs);
117
120
  const factory = new ContractFactory(input.artifact.abi, input.artifact.bytecode);
@@ -130,8 +133,19 @@ const buildDeployment = async (input) => {
130
133
  constructorInput,
131
134
  initCodeHash,
132
135
  };
133
- if (status === 'reused')
136
+ if (status === 'reused') {
137
+ // Existence alone is not identity. Reuse must match compiled runtime; compiler
138
+ // immutable offsets are the only permitted runtime substitution evidence.
139
+ const checker = new BytecodeChecker(input.hre, {}, 'evm');
140
+ const local = await checker.getLocalBytecode(`${input.artifact.sourceName}:${input.artifact.contractName}`);
141
+ if (!input.artifact.deployedBytecode || input.artifact.deployedBytecode === '0x') {
142
+ throw new Error(`${input.role} reuse requires compiled runtime bytecode`);
143
+ }
144
+ const comparison = checker.compareBytecode(code, input.artifact.deployedBytecode, null, local.immutableReferences);
145
+ if (!comparison.matches)
146
+ throw new Error(`${input.role} reused runtime bytecode mismatch at ${predictedAddress}: ${comparison.reason}`);
134
147
  return { deployment, initCode, factory };
148
+ }
135
149
  const purpose = input.role === 'contract'
136
150
  ? 'deploy-contract'
137
151
  : input.role === 'implementation'
@@ -369,6 +383,8 @@ export const prepareEvm = async (hre, request, dependencies = {}) => {
369
383
  assertArtifactScheme(artifact, 'evm');
370
384
  if (request.kind === 'create2-deploy')
371
385
  return preparePlain(hre, request, artifact, dependencies);
386
+ if (request.kind === 'transparent-deploy' || request.kind === 'transparent-upgrade')
387
+ return prepareTransparent(hre, request, artifact, dependencies);
372
388
  if (request.kind === 'uups-placeholder-deploy') {
373
389
  return prepareUupsInitial(hre, request, artifact, dependencies);
374
390
  }