@gearbox-protocol/deploy-tools 2.3.0 → 2.4.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 (2) hide show
  1. package/dist/index.js +46 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -266296,9 +266296,11 @@ var require_ProviderBase = __commonJS({
266296
266296
  };
266297
266297
  Object.defineProperty(exports2, "__esModule", { value: true });
266298
266298
  exports2.ProviderBase = void 0;
266299
+ var promises_1 = require("fs/promises");
266299
266300
  var deploy_suite_1 = require_dist2();
266300
266301
  var sdk_gov_1 = require_lib224();
266301
266302
  var api_kit_1 = __importDefault2(require_src8());
266303
+ var ethers_1 = require_lib2();
266302
266304
  var log_1 = __importDefault2(require_log());
266303
266305
  var providers_1 = require_providers2();
266304
266306
  var utilityContracts = {
@@ -266312,17 +266314,23 @@ var require_ProviderBase = __commonJS({
266312
266314
  VETO_ADMIN: sdk_gov_1.VETO_ADMIN,
266313
266315
  TREASURY: sdk_gov_1.TREASURY
266314
266316
  };
266315
- var _service, _initialized, _provider, _network, _chainId;
266317
+ var _service, _initialized, _provider, _network, _chainId, _overrides, _options;
266316
266318
  var ProviderBase2 = class {
266317
- constructor(rpcUrl) {
266319
+ constructor(opts) {
266318
266320
  __publicField(this, "logger", log_1.default.getSubLogger());
266319
266321
  __privateAdd(this, _service, void 0);
266320
266322
  __privateAdd(this, _initialized, false);
266321
266323
  __privateAdd(this, _provider, void 0);
266322
266324
  __privateAdd(this, _network, void 0);
266323
266325
  __privateAdd(this, _chainId, void 0);
266324
- __privateSet(this, _provider, new providers_1.RetryProvider(rpcUrl));
266326
+ __privateAdd(this, _overrides, {});
266327
+ __privateAdd(this, _options, void 0);
266328
+ __privateSet(this, _provider, new providers_1.RetryProvider(opts.rpcUrl));
266325
266329
  __privateGet(this, _provider)._isProvider = true;
266330
+ __privateSet(this, _options, opts);
266331
+ if (opts.addressProvider) {
266332
+ __privateGet(this, _overrides).ADDRESS_PROVIDER = opts.addressProvider;
266333
+ }
266326
266334
  }
266327
266335
  async init() {
266328
266336
  __privateSet(this, _network, await (0, sdk_gov_1.detectNetwork)(__privateGet(this, _provider)));
@@ -266330,6 +266338,17 @@ var require_ProviderBase = __commonJS({
266330
266338
  __privateSet(this, _service, new api_kit_1.default({
266331
266339
  chainId: BigInt(__privateGet(this, _chainId))
266332
266340
  }));
266341
+ if (__privateGet(this, _options).governanceJson) {
266342
+ this.logger.debug(`reading governance json ${__privateGet(this, _options).governanceJson}`);
266343
+ const gov = await (0, promises_1.readFile)(__privateGet(this, _options).governanceJson, "utf-8").then(JSON.parse);
266344
+ if (gov.network !== this.network) {
266345
+ throw new Error(`governance file network mismatch: expected ${this.network}, got ${gov.network}`);
266346
+ }
266347
+ __privateGet(this, _overrides).GOVERNOR = gov.governorAddress;
266348
+ __privateGet(this, _overrides).CREATE2FACTORY = gov.create2FactoryAddress;
266349
+ __privateGet(this, _overrides).TIMELOCK = gov.timelockAddress;
266350
+ this.logger.debug(`overrides: ${__privateGet(this, _overrides)}`);
266351
+ }
266333
266352
  __privateSet(this, _initialized, true);
266334
266353
  this.logger.info(`initialized with network ${__privateGet(this, _network)} and chain id ${__privateGet(this, _chainId)}`);
266335
266354
  }
@@ -266367,9 +266386,14 @@ var require_ProviderBase = __commonJS({
266367
266386
  return __privateGet(this, _service);
266368
266387
  }
266369
266388
  address(contract) {
266389
+ const overridden = __privateGet(this, _overrides)[contract];
266390
+ if ((0, ethers_1.isAddress)(overridden)) {
266391
+ this.logger.debug(`using override for ${contract}`);
266392
+ return overridden;
266393
+ }
266370
266394
  const addr = utilityContracts[contract][this.network];
266371
- if (addr === sdk_gov_1.NOT_DEPLOYED) {
266372
- throw new Error(`${contract} is not deployed on ${this.network}`);
266395
+ if (!(0, ethers_1.isAddress)(addr)) {
266396
+ throw new Error(`${contract} is not deployed on ${this.network}: address ${addr}`);
266373
266397
  }
266374
266398
  return addr;
266375
266399
  }
@@ -266379,6 +266403,8 @@ var require_ProviderBase = __commonJS({
266379
266403
  _provider = new WeakMap();
266380
266404
  _network = new WeakMap();
266381
266405
  _chainId = new WeakMap();
266406
+ _overrides = new WeakMap();
266407
+ _options = new WeakMap();
266382
266408
  exports2.ProviderBase = ProviderBase2;
266383
266409
  }
266384
266410
  });
@@ -266436,7 +266462,7 @@ var require_Deployer2 = __commonJS({
266436
266462
  var _tenderly, _governor, _testnetExecutor, _deployerAddress, _bypassEta, _sandboxDir, _deploy, deploy_fn, _init, init_fn;
266437
266463
  var _Deployer = class _Deployer extends ProviderBase_1.ProviderBase {
266438
266464
  constructor(options) {
266439
- super(options.rpcUrl);
266465
+ super(options);
266440
266466
  /**
266441
266467
  * Executes all found pending transactions, returns array of safe tx hashes
266442
266468
  */
@@ -292541,7 +292567,7 @@ var require_GearboxAddressTree = __commonJS({
292541
292567
  var _etherscan, _verifier, _auditor, _options, _outFile, _cachePolicy, _queue, _visited, _create2, _loadCache, loadCache_fn, _saveCache, saveCache_fn, _process, process_fn, _addToQueue, addToQueue_fn;
292542
292568
  var _GearboxAddressTree = class _GearboxAddressTree extends ProviderBase_1.ProviderBase {
292543
292569
  constructor(options) {
292544
- super(options.rpcUrl);
292570
+ super(options);
292545
292571
  __privateAdd(this, _loadCache);
292546
292572
  __privateAdd(this, _saveCache);
292547
292573
  __privateAdd(this, _process);
@@ -292588,6 +292614,7 @@ var require_GearboxAddressTree = __commonJS({
292588
292614
  contract: "ADDRESS_PROVIDER_V3",
292589
292615
  version: 300,
292590
292616
  discoveryBlock: 18433056
292617
+ // TODO: network dependent
292591
292618
  },
292592
292619
  {
292593
292620
  address: this.address("CREATE2FACTORY"),
@@ -309874,7 +309901,7 @@ var require_UpdateParser = __commonJS({
309874
309901
  var _sandboxDir, _output2, _parseSafeTxHashes, parseSafeTxHashes_fn, _parseBatchRepoDir, parseBatchRepoDir_fn, _parseBatchDir, parseBatchDir_fn, _parseNormalizedBatch, parseNormalizedBatch_fn, _parseNormalizedTx, parseNormalizedTx_fn, _collectCreate2Addresses, collectCreate2Addresses_fn;
309875
309902
  var UpdateParser2 = class extends ProviderBase_1.ProviderBase {
309876
309903
  constructor(options) {
309877
- super(options.rpcUrl);
309904
+ super(options);
309878
309905
  __privateAdd(this, _parseSafeTxHashes);
309879
309906
  __privateAdd(this, _parseBatchRepoDir);
309880
309907
  __privateAdd(this, _parseBatchDir);
@@ -355511,7 +355538,7 @@ var require_package3 = __commonJS({
355511
355538
  module2.exports = {
355512
355539
  name: "@gearbox-protocol/deploy-tools",
355513
355540
  description: "Gearbox deploy tools",
355514
- version: "2.2.4",
355541
+ version: "2.3.0",
355515
355542
  homepage: "https://gearbox.fi",
355516
355543
  keywords: [
355517
355544
  "gearbox"
@@ -356809,6 +356836,16 @@ program2.commands.forEach((cmd) => {
356809
356836
  new Option("--etherscan-api-key [key]", "etherscan api key").env(
356810
356837
  "ETHERSCAN_API_KEY"
356811
356838
  )
356839
+ ).addOption(
356840
+ new Option(
356841
+ "--address-provider [address]",
356842
+ "address provider address override"
356843
+ ).env("ADDRESS_PROVIDER")
356844
+ ).addOption(
356845
+ new Option(
356846
+ "--governance-json [file]",
356847
+ "file with addresses for governance contract overrides"
356848
+ )
356812
356849
  );
356813
356850
  });
356814
356851
  program2.parse();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/deploy-tools",
3
3
  "description": "Gearbox deploy tools",
4
- "version": "2.3.0",
4
+ "version": "2.4.0",
5
5
  "homepage": "https://gearbox.fi",
6
6
  "keywords": [
7
7
  "gearbox"