gate-evm-tools 1.0.23 → 1.0.25

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 (123) hide show
  1. package/README.md +70 -11
  2. package/bin/manifest-bootstrap.js +109 -3
  3. package/dist/commands/check.d.ts.map +1 -1
  4. package/dist/commands/check.js +5 -2
  5. package/dist/commands/check.js.map +1 -1
  6. package/dist/commands/checkOptions.d.ts +6 -0
  7. package/dist/commands/checkOptions.d.ts.map +1 -0
  8. package/dist/commands/checkOptions.js +12 -0
  9. package/dist/commands/checkOptions.js.map +1 -0
  10. package/dist/commands/fix.js +2 -2
  11. package/dist/commands/fix.js.map +1 -1
  12. package/dist/commands/prepare.d.ts +8 -0
  13. package/dist/commands/prepare.d.ts.map +1 -0
  14. package/dist/commands/prepare.js +78 -0
  15. package/dist/commands/prepare.js.map +1 -0
  16. package/dist/commands/sync.d.ts.map +1 -1
  17. package/dist/commands/sync.js +11 -28
  18. package/dist/commands/sync.js.map +1 -1
  19. package/dist/core/BytecodeChecker.d.ts +3 -2
  20. package/dist/core/BytecodeChecker.d.ts.map +1 -1
  21. package/dist/core/BytecodeChecker.js +13 -1
  22. package/dist/core/BytecodeChecker.js.map +1 -1
  23. package/dist/core/preparation/artifacts.d.ts +21 -0
  24. package/dist/core/preparation/artifacts.d.ts.map +1 -0
  25. package/dist/core/preparation/artifacts.js +80 -0
  26. package/dist/core/preparation/artifacts.js.map +1 -0
  27. package/dist/core/preparation/evm.d.ts +39 -0
  28. package/dist/core/preparation/evm.d.ts.map +1 -0
  29. package/dist/core/preparation/evm.js +305 -0
  30. package/dist/core/preparation/evm.js.map +1 -0
  31. package/dist/core/preparation/index.d.ts +9 -0
  32. package/dist/core/preparation/index.d.ts.map +1 -0
  33. package/dist/core/preparation/index.js +15 -0
  34. package/dist/core/preparation/index.js.map +1 -0
  35. package/dist/core/preparation/manifest.d.ts +43 -0
  36. package/dist/core/preparation/manifest.d.ts.map +1 -0
  37. package/dist/core/preparation/manifest.js +169 -0
  38. package/dist/core/preparation/manifest.js.map +1 -0
  39. package/dist/core/preparation/normalize.d.ts +7 -0
  40. package/dist/core/preparation/normalize.d.ts.map +1 -0
  41. package/dist/core/preparation/normalize.js +496 -0
  42. package/dist/core/preparation/normalize.js.map +1 -0
  43. package/dist/core/preparation/types.d.ts +122 -0
  44. package/dist/core/preparation/types.d.ts.map +1 -0
  45. package/dist/core/preparation/types.js +2 -0
  46. package/dist/core/preparation/types.js.map +1 -0
  47. package/dist/core/preparation/zkManifestSync.d.ts +49 -0
  48. package/dist/core/preparation/zkManifestSync.d.ts.map +1 -0
  49. package/dist/core/preparation/zkManifestSync.js +159 -0
  50. package/dist/core/preparation/zkManifestSync.js.map +1 -0
  51. package/dist/core/preparation/zkUpgradeValidation.d.ts +37 -0
  52. package/dist/core/preparation/zkUpgradeValidation.d.ts.map +1 -0
  53. package/dist/core/preparation/zkUpgradeValidation.js +91 -0
  54. package/dist/core/preparation/zkUpgradeValidation.js.map +1 -0
  55. package/dist/core/preparation/zksync.d.ts +28 -0
  56. package/dist/core/preparation/zksync.d.ts.map +1 -0
  57. package/dist/core/preparation/zksync.js +259 -0
  58. package/dist/core/preparation/zksync.js.map +1 -0
  59. package/dist/custody/hardhat-runtime.d.ts.map +1 -1
  60. package/dist/custody/hardhat-runtime.js +2 -1
  61. package/dist/custody/hardhat-runtime.js.map +1 -1
  62. package/dist/custody/index.d.ts +1 -0
  63. package/dist/custody/index.d.ts.map +1 -1
  64. package/dist/custody/index.js +1 -0
  65. package/dist/custody/index.js.map +1 -1
  66. package/dist/custody/service.js +8 -1
  67. package/dist/custody/service.js.map +1 -1
  68. package/dist/custody/zksync-signer.d.ts +13 -0
  69. package/dist/custody/zksync-signer.d.ts.map +1 -0
  70. package/dist/custody/zksync-signer.js +91 -0
  71. package/dist/custody/zksync-signer.js.map +1 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +22 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/sync/index.d.ts +31 -0
  76. package/dist/sync/index.d.ts.map +1 -0
  77. package/dist/sync/index.js +57 -0
  78. package/dist/sync/index.js.map +1 -0
  79. package/dist/types.d.ts +13 -2
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/workflow/index.d.ts +5 -0
  82. package/dist/workflow/index.d.ts.map +1 -0
  83. package/dist/workflow/index.js +3 -0
  84. package/dist/workflow/index.js.map +1 -0
  85. package/dist-cjs/core/preparation/artifacts.js +89 -0
  86. package/dist-cjs/core/preparation/artifacts.js.map +1 -0
  87. package/dist-cjs/core/preparation/evm.js +312 -0
  88. package/dist-cjs/core/preparation/evm.js.map +1 -0
  89. package/dist-cjs/core/preparation/index.js +19 -0
  90. package/dist-cjs/core/preparation/index.js.map +1 -0
  91. package/dist-cjs/core/preparation/manifest.js +180 -0
  92. package/dist-cjs/core/preparation/manifest.js.map +1 -0
  93. package/dist-cjs/core/preparation/normalize.js +507 -0
  94. package/dist-cjs/core/preparation/normalize.js.map +1 -0
  95. package/dist-cjs/core/preparation/types.js +3 -0
  96. package/dist-cjs/core/preparation/types.js.map +1 -0
  97. package/dist-cjs/core/preparation/zkManifestSync.js +166 -0
  98. package/dist-cjs/core/preparation/zkManifestSync.js.map +1 -0
  99. package/dist-cjs/core/preparation/zkUpgradeValidation.js +101 -0
  100. package/dist-cjs/core/preparation/zkUpgradeValidation.js.map +1 -0
  101. package/dist-cjs/core/preparation/zksync.js +263 -0
  102. package/dist-cjs/core/preparation/zksync.js.map +1 -0
  103. package/dist-cjs/core/syncUpgradeJson.js +315 -0
  104. package/dist-cjs/core/syncUpgradeJson.js.map +1 -0
  105. package/dist-cjs/custody/hardhat-runtime.js +2 -1
  106. package/dist-cjs/custody/hardhat-runtime.js.map +1 -1
  107. package/dist-cjs/custody/index.js +4 -1
  108. package/dist-cjs/custody/index.js.map +1 -1
  109. package/dist-cjs/custody/service.js +8 -1
  110. package/dist-cjs/custody/service.js.map +1 -1
  111. package/dist-cjs/custody/zksync-signer.js +95 -0
  112. package/dist-cjs/custody/zksync-signer.js.map +1 -0
  113. package/dist-cjs/sync/index.js +60 -0
  114. package/dist-cjs/sync/index.js.map +1 -0
  115. package/dist-cjs/types.js +3 -0
  116. package/dist-cjs/types.js.map +1 -0
  117. package/dist-cjs/utils/manifestTransaction.js +302 -0
  118. package/dist-cjs/utils/manifestTransaction.js.map +1 -0
  119. package/dist-cjs/utils/openzeppelin.js +57 -0
  120. package/dist-cjs/utils/openzeppelin.js.map +1 -0
  121. package/dist-cjs/workflow/index.js +12 -0
  122. package/dist-cjs/workflow/index.js.map +1 -0
  123. package/package.json +42 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Gate Smart Contract Tools
2
2
 
3
- 🛠️ Gate 智能合约工具集 - 字节码检查、合约升级验证、合约状态同步
3
+ 🛠️ Gate 智能合约工具集 - EVM/zkSync CREATE2 与 UUPS 计划、字节码检查、升级验证、合约状态同步
4
4
 
5
5
  ## 功能特性
6
6
 
@@ -25,8 +25,15 @@
25
25
  - ✅ 同步链上合约状态到本地 .openzeppelin 文件
26
26
  - ✅ 自动读取链上实现合约地址
27
27
  - ✅ 获取并更新存储布局信息
28
+ - ✅ EVM 与 zkSync 按 target 配置路由 manifest,并以事务方式写入或完整回滚
28
29
 
29
- ### ✅ 升级验证(validate)
30
+ ### 🧭 规范化部署准备(prepare)
31
+ - ✅ 普通 CREATE2、UUPS 初始部署和 UUPS 升级共用一个 version 1 plan contract
32
+ - ✅ EVM 缺省兼容;zkSync 使用 zksolc artifact、EraVM bytecode hash、ContractDeployer calldata 与 `factoryDeps`
33
+ - ✅ OpenZeppelin / Matter Labs 实现安全性和存储布局校验发生在任何签名或广播之前
34
+ - ✅ prepare-only:不签名、不广播、不写 manifest
35
+
36
+ ### ✅ 兼容升级验证(validate,legacy)
30
37
  - ✅ **自动检测合约类型(代理合约 or 实现合约)**
31
38
  - ✅ **代理模式:验证升级安全性并生成 upgradeCalldata**
32
39
  - ✅ **实现模式:验证存储布局兼容性并部署新合约**
@@ -37,6 +44,33 @@
37
44
  - ✅ 支持同一合约和不同合约的升级模式
38
45
  - ✅ 支持带构造函数参数的合约
39
46
 
47
+ ## EVM/zkSync 统一工作流边界
48
+
49
+ `gate-evm-tools/workflow` 是生成工作流唯一的部署准备实现:
50
+
51
+ - GateTool 读取严格 artifact,执行 OpenZeppelin 校验,计算 CREATE2 地址,并生成 Factory、`upgradeToAndCall` calldata 与 zkSync `factoryDeps`。
52
+ - full-template runtime 负责权限、controlled Multicall、immutable execution plan、签名、广播与 receipt reconciliation。
53
+ - SmartFlow 校验 immutable plan、receipt 和 finalized UUPS 的 `gateToolSync` 证据,不重新计算 CREATE2 或 calldata。
54
+
55
+ 生成工作流应在当前 Hardhat HRE 内调用:
56
+
57
+ ```typescript
58
+ import { prepareWorkflow } from "gate-evm-tools/workflow";
59
+
60
+ const plan = await prepareWorkflow(hre, request);
61
+ ```
62
+
63
+ 人工文件入口使用同一实现:
64
+
65
+ ```bash
66
+ npx gate-tool prepare \
67
+ --network <hardhat-network> \
68
+ --request scripts/tasks/<task-id>/gate-tool-request.json \
69
+ --output scripts/tasks/<task-id>/gate-tool-plan.json
70
+ ```
71
+
72
+ request 的 `kind` 只能是 `create2-deploy`、`uups-placeholder-deploy` 或 `uups-upgrade`;`scheme` 缺省为 `evm`,也可显式设置为 `zksync-eravm`。EVM plan 不携带 `factoryDeps`;每笔 zkSync transaction 都必须显式携带锁定的 `factoryDeps`,非 bytecode-publishing 交易使用空数组。
73
+
40
74
  ### 📋 Calldata 解析(parse)
41
75
  - ✅ 解析 EVM calldata,显示函数名称和参数
42
76
  - ✅ 支持从 Hardhat artifacts 自动查找 ABI
@@ -256,26 +290,26 @@ import type { HardhatUserConfig } from "hardhat/config";
256
290
 
257
291
  ```bash
258
292
  # 检查所有合约
259
- npx gate-tool check
293
+ npx gate-tool check --network eth --scheme evm
260
294
 
261
295
  # 检查指定合约
262
- npx gate-tool check --contract Vault
296
+ npx gate-tool check --network eth --scheme evm --contract Vault
263
297
 
264
298
  # 检查指定网络
265
- npx gate-tool check --network eth
299
+ npx gate-tool check --network eth --scheme evm
266
300
 
267
301
  # 指定配置文件路径
268
- npx gate-tool check --config ./config/contracts.json
302
+ npx gate-tool check --network eth --scheme evm --config ./config/contracts.json
269
303
 
270
304
  # 指定输出报告路径
271
- npx gate-tool check --output ./reports/result.json
305
+ npx gate-tool check --network eth --scheme evm --output ./reports/result.json
272
306
  ```
273
307
 
274
308
  #### 🔄 同步链上合约状态
275
309
 
276
310
  当合约通过 calldata 方式由其他人(如多签钱包)执行升级后,本地的 `.openzeppelin` 文件不会自动更新。使用此命令可以从链上读取最新状态并更新本地文件。
277
311
 
278
- `sync` 和 `validate` 会在加载 OpenZeppelin upgrades 之前确定 manifest 目录。约定路由如下:
312
+ `sync` 和 legacy `validate` 会在加载 OpenZeppelin upgrades 之前确定 manifest 目录。canonical workflow 的 `sync --target` 只接受所选 target 的 `config.yaml.openzeppelin.manifestDir`,不使用 Matter Labs 固定 `.upgradable` 目录。约定路由如下:
279
313
 
280
314
  | 网络名 | Manifest 目录 | 含义 |
281
315
  |------|------|------|
@@ -301,13 +335,26 @@ npx gate-tool sync --proxy 0x1234... --contract CounterUUPS --network sepolia
301
335
  最新 full 模版项目优先使用 `workflow:checkcode` 做只读验收,由模版负责选择精确的 manifest 文件并调用 gate-tool。
302
336
 
303
337
  ```bash
304
- # 同步合约状态
338
+ # EVM:confirmed UUPS receipt 后同步合约状态
305
339
  npx gate-tool sync \
340
+ --scheme evm \
306
341
  --proxy 0x1234... \
307
342
  --contract CounterUUPS \
308
- --network sepolia
343
+ --network sepolia \
344
+ --target sepolia
345
+
346
+ # zkSync:必须同时绑定 confirmed transaction hash
347
+ npx gate-tool sync \
348
+ --scheme zksync-eravm \
349
+ --proxy 0x1234... \
350
+ --contract CounterUUPS \
351
+ --network zkDev \
352
+ --target zkDev \
353
+ --transaction-hash 0x...
309
354
  ```
310
355
 
356
+ `sync` 会验证 runtime code、ERC-1967 implementation slot、chain ID、UUPS kind 与当前 artifact/layout。只有 `status=committed` 的 manifest transaction 才能作为 finalized UUPS 证据;失败会恢复原文件名和原始字节。
357
+
311
358
  #### ✅ 验证升级安全性并生成 calldata
312
359
 
313
360
  验证合约升级的安全性,并生成 `upgradeToAndCall` 的 calldata。
@@ -571,6 +618,18 @@ npx gate-tool parse \
571
618
  | `--proxy <address>` | - | 代理合约地址 | ✅ |
572
619
  | `--contract <name>` | - | 合约名称 | ✅ |
573
620
  | `--network <name>` | `-n` | 网络名称 | - |
621
+ | `--scheme <scheme>` | - | `evm`(默认)或 `zksync-eravm` | - |
622
+ | `--target <name>` | - | `config.yaml` 中的部署策略与 manifest target;zkSync 必需 | zkSync ✅ |
623
+ | `--constructor-args <json>` | - | 当前实现合约构造参数 JSON 数组 | - |
624
+ | `--transaction-hash <hash>` | - | 已确认的部署或升级交易哈希 | zkSync ✅ |
625
+
626
+ #### prepare 命令
627
+
628
+ | 选项 | 简写 | 说明 | 必需 |
629
+ |------|------|------|------|
630
+ | `--network <name>` | `-n` | Hardhat 网络;必须与 request.network 一致 | ✅ |
631
+ | `--request <path>` | - | 项目根目录内的严格 request JSON 文件 | ✅ |
632
+ | `--output <path>` | `-o` | 项目根目录内的 canonical plan JSON 文件 | ✅ |
574
633
 
575
634
  #### validate 命令
576
635
 
@@ -699,7 +758,7 @@ cat > contractInfo.json << EOF
699
758
  EOF
700
759
 
701
760
  # 2. 执行检查
702
- npx gate-tool check
761
+ npx gate-tool check --network mainnet --scheme evm
703
762
 
704
763
  # 3. 查看报告
705
764
  cat bytecode-check-report.json
@@ -1,5 +1,6 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
+ import { createRequire } from 'node:module';
3
4
 
4
5
  const MANIFEST_MUTATING_COMMANDS = new Set(['sync', 'validate']);
5
6
  const SAFE_MANIFEST_DIR = /^\.openzeppelin(?:\.[a-z0-9][a-z0-9-]*)?$/;
@@ -26,6 +27,91 @@ const isLocalDevelopmentNetwork = (network) => (
26
27
  /^(hardhat|localhost|local|anvil)$/i.test(network || '')
27
28
  );
28
29
 
30
+ const assertConfinedRegularFile = (cwd, requestedPath, label) => {
31
+ if (!requestedPath || typeof requestedPath !== 'string') {
32
+ throw new Error(`${label} is required`);
33
+ }
34
+ const projectRoot = path.resolve(cwd);
35
+ const candidate = path.resolve(projectRoot, requestedPath);
36
+ const relative = path.relative(projectRoot, candidate);
37
+ if (relative === '' || relative.startsWith('..') || path.isAbsolute(relative)) {
38
+ throw new Error(`${label} must be a file inside the project root`);
39
+ }
40
+ let current = projectRoot;
41
+ for (const segment of relative.split(path.sep).filter(Boolean)) {
42
+ current = path.join(current, segment);
43
+ if (fs.existsSync(current) && fs.lstatSync(current).isSymbolicLink()) {
44
+ throw new Error(`${label} path cannot contain a symlink`);
45
+ }
46
+ }
47
+ if (!fs.existsSync(candidate) || !fs.lstatSync(candidate).isFile()) {
48
+ throw new Error(`${label} must be an existing regular file`);
49
+ }
50
+ return candidate;
51
+ };
52
+
53
+ const readPrepareRoute = (argv, cwd, cliNetwork) => {
54
+ const requestFile = assertConfinedRegularFile(
55
+ cwd,
56
+ argumentValue(argv, '--request'),
57
+ 'prepare request',
58
+ );
59
+ let request;
60
+ try {
61
+ request = JSON.parse(fs.readFileSync(requestFile, 'utf8'));
62
+ } catch (error) {
63
+ throw new Error(`prepare request is not valid JSON: ${error.message}`);
64
+ }
65
+ if (!request || typeof request !== 'object' || Array.isArray(request)) {
66
+ throw new Error('prepare request must be an object');
67
+ }
68
+ const requestNetwork = typeof request.network === 'string' ? request.network.trim() : '';
69
+ const target = typeof request.target === 'string' ? request.target.trim() : '';
70
+ if (!requestNetwork || !target) {
71
+ throw new Error('prepare request must contain network and target');
72
+ }
73
+ if (requestNetwork !== cliNetwork) {
74
+ throw new Error(
75
+ `prepare request network ${requestNetwork} does not match CLI network ${cliNetwork || '<missing>'}`,
76
+ );
77
+ }
78
+ return { target };
79
+ };
80
+
81
+ const loadTargetManifestDirectory = (cwd, target) => {
82
+ const configFile = path.join(path.resolve(cwd), 'config.yaml');
83
+ const confinedConfig = assertConfinedRegularFile(cwd, configFile, 'config.yaml');
84
+ let YAML;
85
+ try {
86
+ YAML = createRequire(path.join(path.resolve(cwd), 'package.json'))('yaml');
87
+ } catch {
88
+ YAML = createRequire(import.meta.url)('yaml');
89
+ }
90
+ const parsed = YAML.parse(fs.readFileSync(confinedConfig, 'utf8'), { merge: true });
91
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
92
+ throw new Error('config.yaml must define target keys at the top level');
93
+ }
94
+ const selected = parsed[target];
95
+ if (!selected || typeof selected !== 'object' || Array.isArray(selected) || target.startsWith('_')) {
96
+ throw new Error(`config.yaml has no target ${target}`);
97
+ }
98
+ const environment = selected.environment;
99
+ if (!new Set(['local', 'development', 'production']).has(environment)) {
100
+ throw new Error(`config.yaml target ${target} has an invalid environment`);
101
+ }
102
+ const manifestDir = selected.openzeppelin?.manifestDir;
103
+ if (typeof manifestDir !== 'string' || !SAFE_MANIFEST_DIR.test(manifestDir)) {
104
+ throw new Error(`config.yaml target ${target} has an unsafe OpenZeppelin manifest directory`);
105
+ }
106
+ if (environment === 'production' && manifestDir !== '.openzeppelin') {
107
+ throw new Error(`production target ${target} must use .openzeppelin`);
108
+ }
109
+ if (environment !== 'production' && manifestDir === '.openzeppelin') {
110
+ throw new Error(`non-production target ${target} must not use .openzeppelin`);
111
+ }
112
+ return manifestDir;
113
+ };
114
+
29
115
  const assertConfinedManifestDirectory = (cwd, manifestDir) => {
30
116
  if (!SAFE_MANIFEST_DIR.test(manifestDir)) {
31
117
  throw new Error(`Unsafe MANIFEST_DEFAULT_DIR: ${manifestDir}`);
@@ -55,6 +141,16 @@ export const resolveManifestBootstrap = ({
55
141
  const network = (
56
142
  argumentValue(argv, '--network') ?? argumentValue(argv, '-n')
57
143
  )?.trim();
144
+ const prepareRoute = command === 'prepare'
145
+ ? readPrepareRoute(argv, cwd, network)
146
+ : undefined;
147
+ const explicitTarget = argumentValue(argv, '--target')?.trim();
148
+ if (prepareRoute && explicitTarget && explicitTarget !== prepareRoute.target) {
149
+ throw new Error(
150
+ `prepare target ${prepareRoute.target} does not match CLI target ${explicitTarget}`,
151
+ );
152
+ }
153
+ const target = prepareRoute?.target ?? explicitTarget;
58
154
  const mutatesManifest = MANIFEST_MUTATING_COMMANDS.has(command);
59
155
  if (mutatesManifest && isLocalDevelopmentNetwork(network)) {
60
156
  throw new Error(
@@ -62,11 +158,14 @@ export const resolveManifestBootstrap = ({
62
158
  + 'OpenZeppelin stores ephemeral development manifests outside the project',
63
159
  );
64
160
  }
65
- const conventional = conventionalManifestDir(network);
161
+ const routeName = target ?? network;
162
+ const conventional = target
163
+ ? loadTargetManifestDirectory(cwd, target)
164
+ : conventionalManifestDir(routeName);
66
165
  const configured = env.MANIFEST_DEFAULT_DIR?.trim();
67
166
  if (configured && conventional && configured !== conventional) {
68
167
  throw new Error(
69
- `MANIFEST_DEFAULT_DIR conflict for ${network}: expected ${conventional}, received ${configured}`,
168
+ `MANIFEST_DEFAULT_DIR conflict for ${routeName}: expected ${conventional}, received ${configured}`,
70
169
  );
71
170
  }
72
171
  const manifestDir = configured || conventional;
@@ -77,12 +176,19 @@ export const resolveManifestBootstrap = ({
77
176
  );
78
177
  }
79
178
  if (manifestDir) assertConfinedManifestDirectory(cwd, manifestDir);
80
- return { command, network, manifestDir, mutatesManifest };
179
+ return {
180
+ command,
181
+ network,
182
+ ...(target ? { target } : {}),
183
+ manifestDir,
184
+ mutatesManifest,
185
+ };
81
186
  };
82
187
 
83
188
  export const prepareManifestEnvironment = (options = {}) => {
84
189
  const env = options.env ?? process.env;
85
190
  const resolved = resolveManifestBootstrap({ ...options, env });
86
191
  if (resolved.manifestDir) env.MANIFEST_DEFAULT_DIR = resolved.manifestDir;
192
+ if (resolved.target) env.GATE_WORKFLOW_TARGET = resolved.target;
87
193
  return resolved;
88
194
  };
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAia3D;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,iBAqLxD"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAqa3D;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,iBAwLxD"}
@@ -8,6 +8,7 @@ import { isHardhatConfigImportError, detectAndFixWithPrompt, showManualFixGuide
8
8
  import fs from 'fs-extra';
9
9
  import path from 'path';
10
10
  import { createRequire } from 'module';
11
+ import { assertCheckNetworkScheme, prepareCheckEnvironment, } from './checkOptions.js';
11
12
  const require = createRequire(import.meta.url);
12
13
  /**
13
14
  * 判断合约是否可能是代理合约
@@ -359,6 +360,7 @@ export async function checkBytecode(options) {
359
360
  }
360
361
  // 3. 动态加载 hardhat
361
362
  spinner.start('正在加载 Hardhat 环境...');
363
+ prepareCheckEnvironment(options);
362
364
  let hre;
363
365
  try {
364
366
  // 尝试使用 require 加载(适用于大多数项目)
@@ -387,7 +389,7 @@ export async function checkBytecode(options) {
387
389
  const fixed = await detectAndFixWithPrompt();
388
390
  if (fixed) {
389
391
  console.log(chalk.blue('\n💡 配置已修复,请重新运行命令:'));
390
- console.log(chalk.green(' npx gate-tool check\n'));
392
+ console.log(chalk.green(` npx gate-tool check --network ${options.network} --scheme ${options.scheme}\n`));
391
393
  process.exit(0);
392
394
  }
393
395
  }
@@ -401,6 +403,7 @@ export async function checkBytecode(options) {
401
403
  throw requireError;
402
404
  }
403
405
  }
406
+ assertCheckNetworkScheme(hre.config.networks[options.network], options.scheme);
404
407
  spinner.succeed('Hardhat 环境已加载');
405
408
  // 4. 编译项目
406
409
  spinner.start('正在编译项目...');
@@ -422,7 +425,7 @@ export async function checkBytecode(options) {
422
425
  const checkerConfig = convertToCheckerConfig(processedConfig);
423
426
  spinner.succeed('代理合约检测完成');
424
427
  // 6. 创建 checker 实例
425
- const checker = new BytecodeChecker(hre, checkerConfig);
428
+ const checker = new BytecodeChecker(hre, checkerConfig, options.scheme);
426
429
  // 7. 根据选项执行检查
427
430
  spinner.start('正在执行字节码检查...');
428
431
  let results = [];
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CheckOptions, DeploymentScheme } from '../types.js';
2
+ export declare const prepareCheckEnvironment: (options: Pick<CheckOptions, "network" | "scheme">, environment?: NodeJS.ProcessEnv) => void;
3
+ export declare const assertCheckNetworkScheme: (network: {
4
+ zksync?: boolean;
5
+ } | undefined, scheme: DeploymentScheme) => void;
6
+ //# sourceMappingURL=checkOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkOptions.d.ts","sourceRoot":"","sources":["../../src/commands/checkOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,eAAO,MAAM,uBAAuB,GAClC,SAAS,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC,EACjD,cAAa,MAAM,CAAC,UAAwB,KAC3C,IAEF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,SAAS;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,EACzC,QAAQ,gBAAgB,KACvB,IAOF,CAAC"}
@@ -0,0 +1,12 @@
1
+ export const prepareCheckEnvironment = (options, environment = process.env) => {
2
+ environment.HARDHAT_NETWORK = options.network;
3
+ };
4
+ export const assertCheckNetworkScheme = (network, scheme) => {
5
+ if (!network) {
6
+ throw new Error('check network is not defined in the Hardhat configuration');
7
+ }
8
+ if ((network.zksync === true) !== (scheme === 'zksync-eravm')) {
9
+ throw new Error('check scheme does not match the selected Hardhat network');
10
+ }
11
+ };
12
+ //# sourceMappingURL=checkOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkOptions.js","sourceRoot":"","sources":["../../src/commands/checkOptions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,OAAiD,EACjD,cAAiC,OAAO,CAAC,GAAG,EACtC,EAAE;IACR,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAyC,EACzC,MAAwB,EAClB,EAAE;IACR,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC"}
@@ -43,7 +43,7 @@ export async function fixConfig(options = {}) {
43
43
  if (success) {
44
44
  spinner.succeed('配置文件修复完成');
45
45
  console.log(chalk.green('\n✅ 所有问题已修复\n'));
46
- console.log(chalk.blue('💡 现在可以运行 "npx gate-tool check" 进行检查\n'));
46
+ console.log(chalk.blue('💡 现在可以运行 "npx gate-tool check --network <network> --scheme <scheme>" 进行检查\n'));
47
47
  }
48
48
  else {
49
49
  spinner.fail('修复失败');
@@ -56,7 +56,7 @@ export async function fixConfig(options = {}) {
56
56
  const success = await detectAndFixWithPrompt();
57
57
  if (success) {
58
58
  console.log(chalk.green('\n✅ 修复完成\n'));
59
- console.log(chalk.blue('💡 现在可以运行 "npx gate-tool check" 进行检查\n'));
59
+ console.log(chalk.blue('💡 现在可以运行 "npx gate-tool check --network <network> --scheme <scheme>" 进行检查\n'));
60
60
  }
61
61
  else {
62
62
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { createRequire } from 'node:module';
2
+ import { type GateToolPreparationHre } from '../core/preparation/index.js';
3
+ import type { GateToolPreparationPlanV1 } from '../core/preparation/types.js';
4
+ import type { PrepareOptions } from '../types.js';
5
+ export declare const prepareWithHre: (options: PrepareOptions, hre: GateToolPreparationHre, root?: string) => Promise<GateToolPreparationPlanV1>;
6
+ export declare const loadHardhat: (root: string, requireFactory?: typeof createRequire) => Promise<GateToolPreparationHre>;
7
+ export declare const prepareCommand: (options: PrepareOptions, root?: string) => Promise<GateToolPreparationPlanV1>;
8
+ //# sourceMappingURL=prepare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM5C,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA2ClD,eAAO,MAAM,cAAc,GACzB,SAAS,cAAc,EACvB,KAAK,sBAAsB,EAC3B,aAAoB,KACnB,OAAO,CAAC,yBAAyB,CAWnC,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,iBAAgB,OAAO,aAA6B,KACnD,OAAO,CAAC,sBAAsB,CAahC,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,SAAS,cAAc,EACvB,aAAoB,KACnB,OAAO,CAAC,yBAAyB,CAOnC,CAAC"}
@@ -0,0 +1,78 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { createRequire } from 'node:module';
4
+ import { normalizePreparationRequest, writePreparationPlanAtomic, } from '../core/preparation/normalize.js';
5
+ import { prepareWorkflow, } from '../core/preparation/index.js';
6
+ import { isValidNetworkName } from '../utils/security.js';
7
+ const confinedFile = (root, requestedPath, label) => {
8
+ const resolvedRoot = path.resolve(root);
9
+ const resolvedPath = path.resolve(resolvedRoot, requestedPath);
10
+ const relative = path.relative(resolvedRoot, resolvedPath);
11
+ if (relative === '' || relative.startsWith('..') || path.isAbsolute(relative)) {
12
+ throw new Error(`${label} must be a file inside the project root`);
13
+ }
14
+ let current = resolvedRoot;
15
+ for (const segment of relative.split(path.sep).filter(Boolean)) {
16
+ current = path.join(current, segment);
17
+ if (fs.existsSync(current) && fs.lstatSync(current).isSymbolicLink()) {
18
+ throw new Error(`${label} path cannot contain a symlink`);
19
+ }
20
+ }
21
+ return resolvedPath;
22
+ };
23
+ const readRequest = (requestPath, root) => {
24
+ const confined = confinedFile(root, requestPath, 'preparation request');
25
+ let stat;
26
+ try {
27
+ stat = fs.lstatSync(confined);
28
+ }
29
+ catch {
30
+ throw new Error(`preparation request does not exist: ${requestPath}`);
31
+ }
32
+ if (stat.isSymbolicLink())
33
+ throw new Error('preparation request cannot be a symlink');
34
+ if (!stat.isFile())
35
+ throw new Error('preparation request must be a regular file');
36
+ try {
37
+ return JSON.parse(fs.readFileSync(confined, 'utf8'));
38
+ }
39
+ catch (error) {
40
+ const message = error instanceof Error ? error.message : String(error);
41
+ throw new Error(`preparation request is not valid JSON: ${message}`);
42
+ }
43
+ };
44
+ export const prepareWithHre = async (options, hre, root = process.cwd()) => {
45
+ const rawRequest = readRequest(options.request, root);
46
+ const request = normalizePreparationRequest(rawRequest);
47
+ if (request.network !== options.network) {
48
+ throw new Error(`preparation request network ${request.network} does not match CLI network ${options.network}`);
49
+ }
50
+ const outputPath = confinedFile(root, options.output, 'preparation plan output');
51
+ const plan = await prepareWorkflow(hre, request);
52
+ return writePreparationPlanAtomic(outputPath, plan, root);
53
+ };
54
+ export const loadHardhat = async (root, requireFactory = createRequire) => {
55
+ const projectRequire = requireFactory(path.join(path.resolve(root), 'package.json'));
56
+ try {
57
+ projectRequire('hardhat/register');
58
+ return projectRequire('hardhat');
59
+ }
60
+ catch (requireError) {
61
+ try {
62
+ const hardhatModule = await import('hardhat');
63
+ return (hardhatModule.default ?? hardhatModule);
64
+ }
65
+ catch {
66
+ throw requireError;
67
+ }
68
+ }
69
+ };
70
+ export const prepareCommand = async (options, root = process.cwd()) => {
71
+ if (!isValidNetworkName(options.network)) {
72
+ throw new Error('network name may contain only letters, numbers, underscores, and hyphens');
73
+ }
74
+ process.env.HARDHAT_NETWORK = options.network;
75
+ const hre = await loadHardhat(root);
76
+ return prepareWithHre(options, hre, root);
77
+ };
78
+ //# sourceMappingURL=prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBA+HrD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBA2GrD"}