gate-evm-tools 1.0.19 → 1.0.21

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 (32) hide show
  1. package/README.md +25 -0
  2. package/bin/cli.js +7 -3
  3. package/bin/manifest-bootstrap.js +88 -0
  4. package/dist/commands/check.js +1 -1
  5. package/dist/commands/sync.d.ts.map +1 -1
  6. package/dist/commands/sync.js +1 -0
  7. package/dist/commands/sync.js.map +1 -1
  8. package/dist/core/{bytecodeChecker.d.ts → BytecodeChecker.d.ts} +1 -1
  9. package/dist/core/{bytecodeChecker.d.ts.map → BytecodeChecker.d.ts.map} +1 -1
  10. package/dist/core/{bytecodeChecker.js → BytecodeChecker.js} +1 -1
  11. package/dist/core/{bytecodeChecker.js.map → BytecodeChecker.js.map} +1 -1
  12. package/dist/core/syncUpgradeJson.d.ts +3 -0
  13. package/dist/core/syncUpgradeJson.d.ts.map +1 -1
  14. package/dist/core/syncUpgradeJson.js +201 -216
  15. package/dist/core/syncUpgradeJson.js.map +1 -1
  16. package/dist/core/validateAndGenerateCalldata.d.ts.map +1 -1
  17. package/dist/core/validateAndGenerateCalldata.js +153 -119
  18. package/dist/core/validateAndGenerateCalldata.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/types.d.ts +1 -0
  23. package/dist/types.d.ts.map +1 -1
  24. package/dist/utils/manifestTransaction.d.ts +40 -0
  25. package/dist/utils/manifestTransaction.d.ts.map +1 -0
  26. package/dist/utils/manifestTransaction.js +291 -0
  27. package/dist/utils/manifestTransaction.js.map +1 -0
  28. package/dist/utils/openzeppelin.d.ts +11 -0
  29. package/dist/utils/openzeppelin.d.ts.map +1 -0
  30. package/dist/utils/openzeppelin.js +49 -0
  31. package/dist/utils/openzeppelin.js.map +1 -0
  32. package/package.json +2 -2
@@ -1,6 +1,8 @@
1
1
  import { validateUpgradeSafety } from '@openzeppelin/upgrades-core';
2
2
  import * as path from 'path';
3
3
  import * as fs from 'fs';
4
+ import { forceImportWithRetry, getCodeStatus, getOpenZeppelinManifestPaths, mergeUnsafeAllow, } from '../utils/openzeppelin.js';
5
+ import { withManifestLock, withTemporaryManifestTransaction, } from '../utils/manifestTransaction.js';
4
6
  /**
5
7
  * 检测地址是代理合约还是实现合约
6
8
  */
@@ -26,6 +28,36 @@ async function detectContractType(address, hre) {
26
28
  return 'implementation';
27
29
  }
28
30
  }
31
+ function createForceImportOptions(constructorArgs, unsafeAllow) {
32
+ const importOptions = {
33
+ kind: 'uups',
34
+ };
35
+ const mergedUnsafeAllow = mergeUnsafeAllow(unsafeAllow);
36
+ if (mergedUnsafeAllow) {
37
+ importOptions.unsafeAllow = mergedUnsafeAllow;
38
+ }
39
+ if (constructorArgs.length > 0) {
40
+ importOptions.constructorArgs = constructorArgs;
41
+ }
42
+ return importOptions;
43
+ }
44
+ async function registerProxyForValidation(options) {
45
+ const { proxyAddress, contractName, constructorArgs, unsafeAllow, manifestFile, hre, } = options;
46
+ const ContractFactory = await hre.ethers.getContractFactory(contractName);
47
+ console.log('🗂️ Step 2.5: 同步当前代理到 OpenZeppelin manifest...');
48
+ console.log(' Manifest 文件:', path.basename(manifestFile));
49
+ try {
50
+ await forceImportWithRetry(hre, proxyAddress, ContractFactory, createForceImportOptions(constructorArgs, unsafeAllow));
51
+ console.log('✅ 代理注册完成');
52
+ console.log('');
53
+ }
54
+ catch (error) {
55
+ console.error('❌ 代理注册失败:', error.message);
56
+ console.error(` 代理合约状态: ${await getCodeStatus(hre, proxyAddress)}`);
57
+ console.error('');
58
+ throw error;
59
+ }
60
+ }
29
61
  /**
30
62
  * 验证升级合约的安全性并生成 upgradeToAndCall 的 calldata
31
63
  * 不执行实际的升级操作
@@ -108,20 +140,29 @@ async function deployImplementationWithOptionalFactory(options) {
108
140
  const data = '0x';
109
141
  const create2ForwardValue = 0;
110
142
  const callForwardValue = 0;
111
- let predictedAddress;
143
+ const predictedAddress = hre.ethers.getCreate2Address(factoryAddress, salt, hre.ethers.keccak256(bytecode));
144
+ const existingCode = await hre.ethers.provider.getCode(predictedAddress);
145
+ if (existingCode !== '0x') {
146
+ return {
147
+ address: predictedAddress,
148
+ method: 'factory',
149
+ txHash: undefined,
150
+ reused: true,
151
+ };
152
+ }
153
+ let tx;
112
154
  try {
113
- predictedAddress = await factory.deploy.staticCall(salt, bytecode, data, create2ForwardValue, callForwardValue, { value: 0 });
155
+ tx = await factory.deploy(salt, bytecode, data, create2ForwardValue, callForwardValue, { value: 0 });
114
156
  }
115
157
  catch (error) {
116
- throw new Error(`工厂部署失败:无法通过 deploy(bytes32,bytes,bytes,uint256,uint256) 预测部署地址,请确认工厂接口。${error.message}`);
158
+ throw new Error(`工厂部署失败:${error.message}`);
117
159
  }
118
- const tx = await factory.deploy(salt, bytecode, data, create2ForwardValue, callForwardValue, { value: 0 });
119
160
  await tx.wait();
120
161
  const deployedCode = await hre.ethers.provider.getCode(predictedAddress);
121
162
  if (deployedCode === '0x') {
122
163
  throw new Error('工厂部署交易已发送,但未检测到部署的合约代码');
123
164
  }
124
- return { address: predictedAddress, method: 'factory', txHash: tx.hash };
165
+ return { address: predictedAddress, method: 'factory', txHash: tx.hash, reused: false };
125
166
  }
126
167
  /**
127
168
  * 验证实现合约:验证存储布局兼容性并部署新合约
@@ -162,88 +203,59 @@ async function validateImplementationContract(options) {
162
203
  // Step 2: 导入链上实现合约信息(临时)
163
204
  console.log('🔐 Step 2: 导入链上实现合约信息...');
164
205
  console.log('');
165
- let forceImportSuccess = false;
166
- const openzeppelinDir = path.join(process.cwd(), '.openzeppelin');
167
- const chainId = (await hre.ethers.provider.getNetwork()).chainId;
168
- const openzeppelinFile = path.join(openzeppelinDir, `unknown-${chainId}.json`);
169
- // 备份现有的 .openzeppelin 文件(如果存在)
170
- let backupData = null;
171
- if (fs.existsSync(openzeppelinFile)) {
172
- console.log('📋 检测到已存在的 .openzeppelin 文件,将备份...');
173
- backupData = JSON.parse(fs.readFileSync(openzeppelinFile, 'utf8'));
174
- }
175
- try {
176
- // 尝试 forceImport 链上的实现合约
177
- console.log(`📥 导入实现合约: ${implementationAddress}`);
178
- // 获取链上实现合约的工厂(猜测合约名,或使用通用方法)
179
- const OldContractFactory = await hre.ethers.getContractFactory(contractName);
180
- const importOptions = {
181
- kind: 'uups',
182
- };
183
- if (unsafeAllow) {
184
- importOptions.unsafeAllow = unsafeAllow;
185
- }
186
- if (constructorArgs.length > 0) {
187
- importOptions.constructorArgs = constructorArgs;
188
- }
189
- await hre.upgrades.forceImport(implementationAddress, OldContractFactory, importOptions);
190
- console.log('✅ 实现合约信息导入成功');
191
- console.log('');
192
- forceImportSuccess = true;
193
- }
194
- catch (importError) {
195
- console.log('⚠️ 导入失败,尝试继续验证...');
196
- console.log(` 错误: ${importError.message}`);
197
- console.log('');
198
- }
199
- // Step 3: 验证存储布局兼容性
200
- console.log('🔐 Step 3: 验证存储布局兼容性...');
206
+ const manifestPaths = await getOpenZeppelinManifestPaths(hre);
207
+ await withTemporaryManifestTransaction({
208
+ root: process.cwd(),
209
+ manifestFile: manifestPaths.file,
210
+ fallbackFile: manifestPaths.fallbackFile,
211
+ operation: async () => {
212
+ try {
213
+ // 尝试 forceImport 链上的实现合约
214
+ console.log(`📥 导入实现合约: ${implementationAddress}`);
215
+ // 获取链上实现合约的工厂(猜测合约名,或使用通用方法)
216
+ const OldContractFactory = await hre.ethers.getContractFactory(contractName);
217
+ await forceImportWithRetry(hre, implementationAddress, OldContractFactory, createForceImportOptions(constructorArgs, unsafeAllow));
218
+ console.log('✅ 实现合约信息导入成功');
219
+ console.log('');
220
+ }
221
+ catch (importError) {
222
+ console.log('⚠️ 导入失败,尝试继续验证...');
223
+ console.log(` 错误: ${importError.message}`);
224
+ console.log(` 实现合约状态: ${await getCodeStatus(hre, implementationAddress)}`);
225
+ console.log('');
226
+ }
227
+ // Step 3: 验证存储布局兼容性
228
+ console.log('🔐 Step 3: 验证存储布局兼容性...');
229
+ console.log('');
230
+ try {
231
+ const NewContractFactory = await hre.ethers.getContractFactory(contractName);
232
+ const validateOptions = {
233
+ kind: 'uups',
234
+ unsafeSkipStorageCheck: false,
235
+ };
236
+ if (unsafeAllow) {
237
+ validateOptions.unsafeAllow = unsafeAllow;
238
+ }
239
+ if (constructorArgs.length > 0) {
240
+ validateOptions.constructorArgs = constructorArgs;
241
+ }
242
+ // 使用实现合约地址作为"代理"地址进行验证
243
+ // Hardhat Upgrades 会读取该地址的合约并与新合约比较存储布局
244
+ await hre.upgrades.validateUpgrade(implementationAddress, NewContractFactory, validateOptions);
245
+ console.log('✅ 存储布局兼容性验证通过!');
246
+ console.log(' ℹ️ 已验证:存储布局兼容、可以安全升级');
247
+ console.log('');
248
+ }
249
+ catch (error) {
250
+ console.error('❌ 存储布局验证失败:', error.message);
251
+ console.error('');
252
+ console.error('⚠️ 存储布局不兼容,不能升级!');
253
+ throw error;
254
+ }
255
+ },
256
+ });
257
+ console.log('🔄 已按原始文件名和字节恢复 OpenZeppelin manifest');
201
258
  console.log('');
202
- try {
203
- const NewContractFactory = await hre.ethers.getContractFactory(contractName);
204
- const validateOptions = {
205
- kind: 'uups',
206
- unsafeSkipStorageCheck: false,
207
- };
208
- if (unsafeAllow) {
209
- validateOptions.unsafeAllow = unsafeAllow;
210
- }
211
- if (constructorArgs.length > 0) {
212
- validateOptions.constructorArgs = constructorArgs;
213
- }
214
- // 使用实现合约地址作为"代理"地址进行验证
215
- // Hardhat Upgrades 会读取该地址的合约并与新合约比较存储布局
216
- await hre.upgrades.validateUpgrade(implementationAddress, NewContractFactory, validateOptions);
217
- console.log('✅ 存储布局兼容性验证通过!');
218
- console.log(' ℹ️ 已验证:存储布局兼容、可以安全升级');
219
- console.log('');
220
- }
221
- catch (error) {
222
- console.error('❌ 存储布局验证失败:', error.message);
223
- console.error('');
224
- console.error('⚠️ 存储布局不兼容,不能升级!');
225
- // 恢复备份
226
- if (backupData) {
227
- console.log('🔄 恢复 .openzeppelin 文件备份...');
228
- fs.writeFileSync(openzeppelinFile, JSON.stringify(backupData, null, 2));
229
- }
230
- else if (forceImportSuccess && fs.existsSync(openzeppelinFile)) {
231
- console.log('🧹 清理临时导入的 .openzeppelin 文件...');
232
- fs.unlinkSync(openzeppelinFile);
233
- }
234
- throw error;
235
- }
236
- // 清理:恢复原始的 .openzeppelin 文件
237
- if (backupData) {
238
- console.log('🔄 恢复 .openzeppelin 文件到原始状态...');
239
- fs.writeFileSync(openzeppelinFile, JSON.stringify(backupData, null, 2));
240
- console.log('');
241
- }
242
- else if (forceImportSuccess && fs.existsSync(openzeppelinFile)) {
243
- console.log('🧹 清理临时导入的 .openzeppelin 文件...');
244
- fs.unlinkSync(openzeppelinFile);
245
- console.log('');
246
- }
247
259
  // Step 4: 部署新的实现合约
248
260
  console.log('📦 Step 4: 部署新的实现合约...');
249
261
  try {
@@ -268,6 +280,9 @@ async function validateImplementationContract(options) {
268
280
  console.log('✅ 新实现合约部署完成:', newImplementationAddress);
269
281
  if (deployment.method === 'factory') {
270
282
  console.log(' 部署方式: Factory');
283
+ if (deployment.reused) {
284
+ console.log(' 复用已有 CREATE2 部署: 是');
285
+ }
271
286
  if (deployment.txHash) {
272
287
  console.log(' 交易哈希:', deployment.txHash);
273
288
  }
@@ -394,6 +409,9 @@ async function validateProxyUpgrade(options) {
394
409
  console.log('✅ 新实现合约部署完成:', newImplementationAddress);
395
410
  if (deployment.method === 'factory') {
396
411
  console.log(' 部署方式: Factory');
412
+ if (deployment.reused) {
413
+ console.log(' 复用已有 CREATE2 部署: 是');
414
+ }
397
415
  if (deployment.txHash) {
398
416
  console.log(' 交易哈希:', deployment.txHash);
399
417
  }
@@ -468,39 +486,55 @@ async function validateProxyUpgrade(options) {
468
486
  throw error;
469
487
  }
470
488
  }
471
- // Step 3: 使用 Hardhat Upgrades 插件进行验证
472
- if (isSameContract) {
473
- console.log('🔐 Step 3: 使用 Hardhat Upgrades 插件进行链上验证(主要验证)...');
474
- }
475
- else {
476
- console.log('🔐 Step 3: 使用 Hardhat Upgrades 插件进行额外验证...');
477
- }
478
- try {
479
- // 验证新实现合约是否可以安全升级
480
- // 这会从链上读取当前实现合约并与新合约进行比较
481
- const validateOptions = {
482
- kind: 'uups',
483
- };
484
- if (unsafeAllow) {
485
- validateOptions.unsafeAllow = unsafeAllow;
486
- }
487
- // 如果有构造函数参数,添加到验证选项中
488
- if (CONSTRUCTOR_ARGS.length > 0) {
489
- validateOptions.constructorArgs = CONSTRUCTOR_ARGS;
490
- }
491
- await hre.upgrades.validateUpgrade(PROXY_ADDRESS, NewContractFactory, validateOptions);
492
- console.log('✅ Hardhat Upgrades 插件验证通过!');
493
- if (isSameContract) {
494
- console.log(' ℹ️ 已验证:存储布局兼容、无危险操作、升级安全');
495
- }
496
- console.log('');
497
- }
498
- catch (error) {
499
- console.error('❌ Hardhat Upgrades 验证失败:', error.message);
500
- console.error('');
501
- console.error('⚠️ 升级存在风险,不建议继续!');
502
- throw error;
503
- }
489
+ const manifestPaths = await getOpenZeppelinManifestPaths(hre);
490
+ await withManifestLock({
491
+ root: process.cwd(),
492
+ manifestFile: manifestPaths.file,
493
+ fallbackFile: manifestPaths.fallbackFile,
494
+ operation: async ({ manifestFile }) => {
495
+ await registerProxyForValidation({
496
+ proxyAddress: PROXY_ADDRESS,
497
+ contractName: OLD_CONTRACT_NAME,
498
+ constructorArgs: CONSTRUCTOR_ARGS,
499
+ unsafeAllow,
500
+ manifestFile,
501
+ hre,
502
+ });
503
+ // Step 3: 使用 Hardhat Upgrades 插件进行验证
504
+ if (isSameContract) {
505
+ console.log('🔐 Step 3: 使用 Hardhat Upgrades 插件进行链上验证(主要验证)...');
506
+ }
507
+ else {
508
+ console.log('🔐 Step 3: 使用 Hardhat Upgrades 插件进行额外验证...');
509
+ }
510
+ try {
511
+ // 验证新实现合约是否可以安全升级
512
+ // 这会从链上读取当前实现合约并与新合约进行比较
513
+ const validateOptions = {
514
+ kind: 'uups',
515
+ };
516
+ if (unsafeAllow) {
517
+ validateOptions.unsafeAllow = unsafeAllow;
518
+ }
519
+ // 如果有构造函数参数,添加到验证选项中
520
+ if (CONSTRUCTOR_ARGS.length > 0) {
521
+ validateOptions.constructorArgs = CONSTRUCTOR_ARGS;
522
+ }
523
+ await hre.upgrades.validateUpgrade(PROXY_ADDRESS, NewContractFactory, validateOptions);
524
+ console.log('✅ Hardhat Upgrades 插件验证通过!');
525
+ if (isSameContract) {
526
+ console.log(' ℹ️ 已验证:存储布局兼容、无危险操作、升级安全');
527
+ }
528
+ console.log('');
529
+ }
530
+ catch (error) {
531
+ console.error('❌ Hardhat Upgrades 验证失败:', error.message);
532
+ console.error('');
533
+ console.error('⚠️ 升级存在风险,不建议继续!');
534
+ throw error;
535
+ }
536
+ },
537
+ });
504
538
  // Step 4: 生成 upgradeToAndCall 的 calldata
505
539
  console.log('📝 Step 4: 生成 upgradeToAndCall calldata...');
506
540
  // 准备初始化数据(如果升级后需要调用某个函数)
@@ -1 +1 @@
1
- {"version":3,"file":"validateAndGenerateCalldata.js","sourceRoot":"","sources":["../../src/core/validateAndGenerateCalldata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateAndGenerateCalldata.js","sourceRoot":"","sources":["../../src/core/validateAndGenerateCalldata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyHA,wBAAsB,GAAG,kBAOxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0HA,wBAAsB,GAAG,kBAOxB"}
package/dist/index.js CHANGED
@@ -42,6 +42,7 @@ program
42
42
  .requiredOption('--contract <name>', '合约名称')
43
43
  .option('-n, --network <name>', '网络名称')
44
44
  .option('--constructor-args <args>', '合约构造函数参数(JSON数组格式,例如: \'["arg1", 100]\')')
45
+ .option('--skip-tx-hash', '跳过通过 Upgraded 事件补充 txHash')
45
46
  .action(async (options) => {
46
47
  try {
47
48
  await syncUpgrade(options);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,6 +35,7 @@ export interface SyncOptions {
35
35
  contract: string;
36
36
  network?: string;
37
37
  constructorArgs?: string;
38
+ skipTxHash?: boolean;
38
39
  }
39
40
  export interface ValidateOptions {
40
41
  proxy: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,40 @@
1
+ export interface ManifestTransactionReport {
2
+ version: 1;
3
+ status: 'committed' | 'rolled_back';
4
+ manifestFile: string;
5
+ fallbackFile?: string;
6
+ beforeFile?: string;
7
+ afterFile?: string;
8
+ beforeExisted: boolean;
9
+ beforeHash: string;
10
+ afterHash: string;
11
+ attemptedHash?: string;
12
+ startedAt: string;
13
+ completedAt: string;
14
+ error?: string;
15
+ }
16
+ export interface ManifestTransactionContext {
17
+ manifestFile: string;
18
+ fallbackFile: string;
19
+ writeManifestAtomic(contents: Buffer): void;
20
+ }
21
+ export interface ManifestPathOptions<T> {
22
+ root: string;
23
+ manifestFile: string;
24
+ fallbackFile?: string;
25
+ operation(context: ManifestTransactionContext): Promise<T> | T;
26
+ }
27
+ export interface ManifestTransactionOptions<T> extends ManifestPathOptions<T> {
28
+ reportFile?: string;
29
+ now?: () => string;
30
+ }
31
+ export declare const writeFileAtomic: (filePath: string, contents: Buffer) => void;
32
+ export declare function withManifestLock<T>(options: ManifestPathOptions<T>): Promise<T>;
33
+ export declare function withTemporaryManifestTransaction<T>(options: ManifestPathOptions<T>): Promise<T>;
34
+ export declare const defaultManifestReportFile: (root: string, manifestFile: string) => string;
35
+ export declare function withManifestTransaction<T>(options: ManifestTransactionOptions<T>): Promise<{
36
+ value: T;
37
+ report: ManifestTransactionReport;
38
+ reportFile: string;
39
+ }>;
40
+ //# sourceMappingURL=manifestTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifestTransaction.d.ts","sourceRoot":"","sources":["../../src/utils/manifestTransaction.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAwKD,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,IAgBpE,CAAC;AAuCF,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAKZ;AAED,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CASZ;AAED,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EACZ,cAAc,MAAM,KACnB,MAOF,CAAC;AAuBF,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAmED"}