@gearbox-protocol/deploy-tools 4.7.0-next.3 → 4.7.0-next.4
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.
- package/dist/index.mjs +55 -21
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -347069,18 +347069,18 @@ var AddressProviderV1Visitor = class extends AbstractVisitor {
|
|
|
347069
347069
|
// ../../packages/node/dist/tree/visitors/AddressProviderV3Visitor.js
|
|
347070
347070
|
var AddressProviderV3Visitor = class extends AbstractVisitor {
|
|
347071
347071
|
async _visit({ address, lastVisitBlock, discoveryBlock }, provider, block) {
|
|
347072
|
-
const
|
|
347073
|
-
const events = await
|
|
347072
|
+
const ap = IAddressProviderV3__factory.connect(address, provider);
|
|
347073
|
+
const events = await ap.queryFilter(ap.filters.SetAddress(), lastVisitBlock ? lastVisitBlock + 1 : discoveryBlock, block);
|
|
347074
347074
|
const result = [];
|
|
347075
347075
|
for (const evt of events) {
|
|
347076
347076
|
const { key, value, version: version5 } = evt.args;
|
|
347077
|
-
let
|
|
347078
|
-
switch (
|
|
347077
|
+
let contract = decodeBytes32String2(key);
|
|
347078
|
+
switch (contract) {
|
|
347079
347079
|
case "ADDRESS_PROVIDER":
|
|
347080
347080
|
if (value.toLowerCase() === address.toLowerCase()) {
|
|
347081
347081
|
continue;
|
|
347082
347082
|
}
|
|
347083
|
-
|
|
347083
|
+
contract = "ADDRESS_PROVIDER_V1";
|
|
347084
347084
|
break;
|
|
347085
347085
|
case "CONTRACTS_REGISTER":
|
|
347086
347086
|
break;
|
|
@@ -347105,20 +347105,26 @@ var AddressProviderV3Visitor = class extends AbstractVisitor {
|
|
|
347105
347105
|
case "ZAPPER_REGISTER":
|
|
347106
347106
|
break;
|
|
347107
347107
|
case "DATA_COMPRESSOR":
|
|
347108
|
-
|
|
347108
|
+
contract = "DATA_COMPRESSOR_V1";
|
|
347109
347109
|
break;
|
|
347110
347110
|
case "PRICE_ORACLE":
|
|
347111
|
-
|
|
347111
|
+
contract = "PRICE_ORACLE_V2";
|
|
347112
347112
|
break;
|
|
347113
347113
|
case "CONTROLLER_TIMELOCK":
|
|
347114
|
-
|
|
347114
|
+
contract = "CONTROLLER_TIMELOCK_V3";
|
|
347115
|
+
break;
|
|
347116
|
+
case "DEGEN_NFT":
|
|
347117
|
+
contract = "DEGEN_NFT";
|
|
347118
|
+
break;
|
|
347119
|
+
case "ZERO_PRICE_FEED":
|
|
347120
|
+
contract = "PRICE_FEED_ZERO_ORACLE";
|
|
347115
347121
|
break;
|
|
347116
347122
|
default:
|
|
347117
|
-
throw new Error(`
|
|
347123
|
+
throw new Error(`unknown address provider key '${contract}'`);
|
|
347118
347124
|
}
|
|
347119
347125
|
const entry = {
|
|
347120
347126
|
address: value.toLowerCase(),
|
|
347121
|
-
contract
|
|
347127
|
+
contract,
|
|
347122
347128
|
discoveryBlock: evt.blockNumber,
|
|
347123
347129
|
version: Number(version5)
|
|
347124
347130
|
};
|
|
@@ -350370,6 +350376,7 @@ var CONTRACT_NAME_TO_TYPE = new Map([
|
|
|
350370
350376
|
["CurveCryptoLPPriceFeed", "PRICE_FEED_CURVE_CRYPTO_ORACLE"],
|
|
350371
350377
|
["DataCompressorV2_10", "DATA_COMPRESSOR_V210"],
|
|
350372
350378
|
["DataCompressorV3_00", "DATA_COMPRESSOR_V3"],
|
|
350379
|
+
["DataCompressorV3", "DATA_COMPRESSOR_V3"],
|
|
350373
350380
|
["DegenNFTV2", "DEGEN_NFT"],
|
|
350374
350381
|
["FarmingPool", "ONE_INCH_FARMING_POOL"],
|
|
350375
350382
|
["GaugeV3", "GAUGE_V3"],
|
|
@@ -350504,7 +350511,7 @@ var UpdateParser = class extends ProviderBase {
|
|
|
350504
350511
|
await this.init();
|
|
350505
350512
|
const { batchDir, safeTxHashes } = opts;
|
|
350506
350513
|
if (batchDir) {
|
|
350507
|
-
await this.#parseBatchDir(batchDir);
|
|
350514
|
+
await this.#parseBatchDir(batchDir, opts.unsafeMainnetMeta);
|
|
350508
350515
|
} else {
|
|
350509
350516
|
await this.#parseSafeTxHashes(safeTxHashes);
|
|
350510
350517
|
}
|
|
@@ -350518,18 +350525,23 @@ var UpdateParser = class extends ProviderBase {
|
|
|
350518
350525
|
this.logger.warn("no safe transactions to parse");
|
|
350519
350526
|
return;
|
|
350520
350527
|
}
|
|
350528
|
+
await this.metaRepo.loadFromRepo();
|
|
350521
350529
|
for (let i = 0; i < txs.length; i++) {
|
|
350522
350530
|
const parsed = await this.#parseNormalizedBatch(normalizeSafeApiBatch(txs[i]), i, total);
|
|
350523
350531
|
this.#output.batches.push(parsed);
|
|
350524
350532
|
}
|
|
350525
350533
|
}
|
|
350526
|
-
async #parseBatchDir(dir) {
|
|
350534
|
+
async #parseBatchDir(dir, unsafeMainnetMeta = false) {
|
|
350527
350535
|
const batchStat = await stat(dir);
|
|
350528
350536
|
if (!batchStat.isDirectory()) {
|
|
350529
350537
|
throw new Error(`'${dir}' is not a directory`);
|
|
350530
350538
|
}
|
|
350531
350539
|
const batches = await loadBatchDir(dir);
|
|
350532
350540
|
await this.metaRepo.loadFromDir(dir);
|
|
350541
|
+
if (unsafeMainnetMeta) {
|
|
350542
|
+
this.logger.warn(`unsafe: loading mainnet metafiles from repo`);
|
|
350543
|
+
await this.metaRepo.loadFromRepo();
|
|
350544
|
+
}
|
|
350533
350545
|
if (!batches?.length) {
|
|
350534
350546
|
throw new Error(`no batch files found in ${dir}`);
|
|
350535
350547
|
}
|
|
@@ -350616,8 +350628,8 @@ var ZeroLT = class extends ProviderBase {
|
|
|
350616
350628
|
#dc210;
|
|
350617
350629
|
#dc300;
|
|
350618
350630
|
#configrator;
|
|
350619
|
-
async setLtZero() {
|
|
350620
|
-
this.logger.info(
|
|
350631
|
+
async setLtZero(opts) {
|
|
350632
|
+
this.logger.info(`running zero lt script on with cm ${opts.cm}`);
|
|
350621
350633
|
await this.init();
|
|
350622
350634
|
const addressProvider = IAddressProviderV3__factory.connect(this.address("ADDRESS_PROVIDER"), this.provider);
|
|
350623
350635
|
this.logger?.debug(`addressProvider: ${this.address("ADDRESS_PROVIDER")}`);
|
|
@@ -350631,10 +350643,7 @@ var ZeroLT = class extends ProviderBase {
|
|
|
350631
350643
|
this.#acl = IACL__factory.connect(aclAddr, this.provider);
|
|
350632
350644
|
this.#configrator = await this.#acl.owner();
|
|
350633
350645
|
this.logger?.debug("configurator: ", this.#configrator);
|
|
350634
|
-
const [cmV2s, cmV3s] = await
|
|
350635
|
-
this.#dc210.getCreditManagersV2List(),
|
|
350636
|
-
this.#dc300.getCreditManagersV3List()
|
|
350637
|
-
]);
|
|
350646
|
+
const [cmV2s, cmV3s] = await this.#loadCMs(opts.cm);
|
|
350638
350647
|
this.logger.debug(`managers: ${cmV2s.length} v2, ${cmV3s.length} v3`);
|
|
350639
350648
|
for (const i of cmV2s) {
|
|
350640
350649
|
await this.#setOnV2(i);
|
|
@@ -350700,6 +350709,25 @@ var ZeroLT = class extends ProviderBase {
|
|
|
350700
350709
|
}
|
|
350701
350710
|
logger2.info("zero lt OK for CM " + cm.addr);
|
|
350702
350711
|
}
|
|
350712
|
+
async #loadCMs(cmAddr) {
|
|
350713
|
+
if (!cmAddr) {
|
|
350714
|
+
return Promise.all([
|
|
350715
|
+
this.#dc210.getCreditManagersV2List(),
|
|
350716
|
+
this.#dc300.getCreditManagersV3List()
|
|
350717
|
+
]);
|
|
350718
|
+
}
|
|
350719
|
+
const cm = ICreditManagerV3__factory.connect(cmAddr, this.provider);
|
|
350720
|
+
const v = await cm.version();
|
|
350721
|
+
if (v >= 200 && v <= 299) {
|
|
350722
|
+
const cmV2 = await this.#dc210.getCreditManagerData(cmAddr);
|
|
350723
|
+
return [[cmV2], []];
|
|
350724
|
+
}
|
|
350725
|
+
if (v >= 300 && v <= 399) {
|
|
350726
|
+
const cmV3 = await this.#dc300.getCreditManagerData(cmAddr);
|
|
350727
|
+
return [[], [cmV3]];
|
|
350728
|
+
}
|
|
350729
|
+
return [[], []];
|
|
350730
|
+
}
|
|
350703
350731
|
};
|
|
350704
350732
|
|
|
350705
350733
|
// src/commands/options.ts
|
|
@@ -351792,7 +351820,7 @@ function getRenderer(opts) {
|
|
|
351792
351820
|
}
|
|
351793
351821
|
|
|
351794
351822
|
// package.json
|
|
351795
|
-
var version3 = "4.7.0-next.
|
|
351823
|
+
var version3 = "4.7.0-next.4";
|
|
351796
351824
|
|
|
351797
351825
|
// src/version.ts
|
|
351798
351826
|
var version_default = version3;
|
|
@@ -351811,6 +351839,12 @@ function parse() {
|
|
|
351811
351839
|
"--safe-tx-hashes [hash...]",
|
|
351812
351840
|
"Safe tx hashes to get from safe api and verify"
|
|
351813
351841
|
)
|
|
351842
|
+
).addOption(
|
|
351843
|
+
new Option(
|
|
351844
|
+
"--unsafe-mainnet-meta",
|
|
351845
|
+
// TODO: remove me when we fix audits in meta
|
|
351846
|
+
"Load meta from repo even when parsing batches from json"
|
|
351847
|
+
)
|
|
351814
351848
|
).addOption(new Option("--renderer [cli|html]", "cli or html")).addOption(
|
|
351815
351849
|
new Option(
|
|
351816
351850
|
"-i, --interactive",
|
|
@@ -352306,9 +352340,9 @@ function warpTime() {
|
|
|
352306
352340
|
|
|
352307
352341
|
// src/commands/zero-lt.ts
|
|
352308
352342
|
function zeroLT() {
|
|
352309
|
-
return new Command().name("zero-lt").description("sets LTs to zero on credit managers").addOption(RpcURL(true)).action(async (opts) => {
|
|
352343
|
+
return new Command().name("zero-lt").description("sets LTs to zero on credit managers").addOption(RpcURL(true)).addOption(new Option("--cm [address]", "Single credit manager option")).action(async (opts) => {
|
|
352310
352344
|
const zlt = new ZeroLT(opts);
|
|
352311
|
-
await zlt.setLtZero();
|
|
352345
|
+
await zlt.setLtZero(opts);
|
|
352312
352346
|
});
|
|
352313
352347
|
}
|
|
352314
352348
|
|