@gearbox-protocol/deploy-tools 5.11.19 → 5.11.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 (2) hide show
  1. package/dist/index.mjs +69 -50
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -370958,10 +370958,12 @@ var PERCENTAGE_DECIMALS = 100n;
370958
370958
  var PERCENTAGE_FACTOR = 10000n;
370959
370959
  var ADDRESS_PROVIDER_BLOCK = {
370960
370960
  Mainnet: 18433056n,
370961
+ // AddressProvderV3 0x9ea7b04Da02a5373317D745c1571c84aaD03321D
370961
370962
  Arbitrum: 184650310n,
370962
370963
  Optimism: 118410666n,
370963
370964
  Base: 0n,
370964
- Sonic: 0n
370965
+ Sonic: 8515200n
370966
+ // TODO: this is arbitrary block, to avoid staring from zero
370965
370967
  };
370966
370968
  var BLOCK_DURATION_BY_NETWORK = {
370967
370969
  Mainnet: 12.05,
@@ -379390,21 +379392,30 @@ var PriceOracleBaseContract = class extends BaseContract {
379390
379392
  for (const node of tree) {
379391
379393
  this.sdk.priceFeeds.getOrCreate(node);
379392
379394
  }
379393
- entries.forEach((node) => {
379394
- const { token, priceFeed, reserve, stalenessPeriod } = node;
379395
+ entries.forEach((entry) => {
379396
+ const { token, priceFeed, reserve, stalenessPeriod } = entry;
379395
379397
  const ref = new PriceFeedRef(this.sdk, priceFeed, stalenessPeriod);
379396
- const price = this.#priceFeedTree.find(
379398
+ const node = this.#priceFeedTree.find(
379397
379399
  (n) => n.baseParams.addr === priceFeed
379398
- )?.answer?.price;
379400
+ );
379401
+ const price = node?.answer?.price;
379399
379402
  if (reserve) {
379400
379403
  this.reservePriceFeeds.upsert(token, ref);
379401
379404
  if (price) {
379402
379405
  this.reservePrices.upsert(token, price);
379406
+ } else {
379407
+ this.logger?.warn(
379408
+ `answer not found for reserve price feed ${this.labelAddress(priceFeed)}, success: ${node?.answer?.success}`
379409
+ );
379403
379410
  }
379404
379411
  } else {
379405
379412
  this.mainPriceFeeds.upsert(token, ref);
379406
379413
  if (price) {
379407
379414
  this.mainPrices.upsert(token, price);
379415
+ } else {
379416
+ this.logger?.warn(
379417
+ `answer not found for main price feed ${this.labelAddress(priceFeed)}, success: ${node?.answer?.success}`
379418
+ );
379408
379419
  }
379409
379420
  }
379410
379421
  this.#labelPriceFeed(priceFeed, reserve ? "Reserve" : "Main", token);
@@ -409630,7 +409641,7 @@ var Queue = class extends EventTarget {
409630
409641
  };
409631
409642
 
409632
409643
  // ../../packages/node/dist/constants.js
409633
- var FIRST_GEARBOX_BLOCK = 13810899;
409644
+ var GEARBOX_V1_BLOCK = 13810899;
409634
409645
 
409635
409646
  // ../../packages/node/dist/Verifier.js
409636
409647
  var import_bytecode_utils2 = __toESM(require_main(), 1);
@@ -409784,9 +409795,11 @@ var AbstractVisitor = class {
409784
409795
  logger;
409785
409796
  contractType;
409786
409797
  allowZeroAddress = false;
409787
- constructor(contractType) {
409798
+ network;
409799
+ constructor(contractType, network) {
409788
409800
  this.contractType = contractType;
409789
409801
  this.logger = log_default.child({ name: contractType });
409802
+ this.network = network;
409790
409803
  }
409791
409804
  async visit(entry, client, block) {
409792
409805
  this.logger.trace(`visiting ${entry.address} at [${entry.lastVisitBlock}:${block}]`);
@@ -410243,7 +410256,7 @@ var CreditConfiguratorV2Visitor = class extends AbstractVisitor {
410243
410256
  name: "PriceOracleUpgraded"
410244
410257
  })
410245
410258
  ],
410246
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410259
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : GEARBOX_V1_BLOCK),
410247
410260
  toBlock: BigInt(block),
410248
410261
  strict: true
410249
410262
  });
@@ -410319,7 +410332,7 @@ var CreditConfiguratorV3Visitor = class extends AbstractVisitor {
410319
410332
  name: "SetPriceOracle"
410320
410333
  })
410321
410334
  ],
410322
- fromBlock: lastVisitBlock ? BigInt(lastVisitBlock + 1) : BigInt(FIRST_GEARBOX_BLOCK),
410335
+ fromBlock: lastVisitBlock ? BigInt(lastVisitBlock + 1) : ADDRESS_PROVIDER_BLOCK[this.network],
410323
410336
  toBlock: BigInt(block),
410324
410337
  strict: true
410325
410338
  });
@@ -410403,7 +410416,7 @@ var CreditFacadeV2Visitor = class extends AbstractVisitor {
410403
410416
  getAbiItem({ abi: iCreditFacadeV2Abi, name: "BlacklistHelperSet" }),
410404
410417
  getAbiItem({ abi: iCreditFacadeV2Abi, name: "OpenCreditAccount" })
410405
410418
  ],
410406
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410419
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : GEARBOX_V1_BLOCK),
410407
410420
  toBlock: BigInt(block),
410408
410421
  strict: true
410409
410422
  });
@@ -410464,7 +410477,7 @@ var CreditFacadeV3Visitor = class extends AbstractVisitor {
410464
410477
  events: [
410465
410478
  getAbiItem({ abi: iCreditFacadeV3Abi, name: "OpenCreditAccount" })
410466
410479
  ],
410467
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410480
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : ADDRESS_PROVIDER_BLOCK[this.network]),
410468
410481
  toBlock: BigInt(block),
410469
410482
  strict: true
410470
410483
  });
@@ -410500,7 +410513,7 @@ var CreditFilterVisitor = class extends AbstractVisitor {
410500
410513
  getAbiItem({ abi: iCreditFilterAbi, name: "ContractAllowed" }),
410501
410514
  getAbiItem({ abi: iCreditFilterAbi, name: "PriceOracleUpdated" })
410502
410515
  ],
410503
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410516
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : GEARBOX_V1_BLOCK),
410504
410517
  toBlock: BigInt(block),
410505
410518
  strict: true
410506
410519
  });
@@ -410554,7 +410567,7 @@ var CreditManagerV1Visitor = class extends AbstractVisitor {
410554
410567
  const events = await client.getLogs({
410555
410568
  address,
410556
410569
  event: getAbiItem({ abi: iCreditManagerAbi, name: "OpenCreditAccount" }),
410557
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410570
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : GEARBOX_V1_BLOCK),
410558
410571
  toBlock: BigInt(block),
410559
410572
  strict: true
410560
410573
  });
@@ -410595,7 +410608,7 @@ var CreditManagerV2Visitor = class extends AbstractVisitor {
410595
410608
  const events = await client.getLogs({
410596
410609
  address,
410597
410610
  event: getAbiItem({ abi: iCreditManagerV2Abi, name: "NewConfigurator" }),
410598
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410611
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : GEARBOX_V1_BLOCK),
410599
410612
  toBlock: BigInt(block),
410600
410613
  strict: true
410601
410614
  });
@@ -410645,7 +410658,7 @@ var CreditManagerV3Visitor = class extends AbstractVisitor {
410645
410658
  abi: iCreditManagerV3Abi,
410646
410659
  name: "SetCreditConfigurator"
410647
410660
  }),
410648
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410661
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : ADDRESS_PROVIDER_BLOCK[this.network]),
410649
410662
  toBlock: BigInt(block),
410650
410663
  strict: true
410651
410664
  });
@@ -410693,8 +410706,10 @@ var GaugeV3Visitor = class extends AbstractVisitor {
410693
410706
  // ../../packages/node/dist/tree/visitors/NoopVisitor.js
410694
410707
  var NoopVisitor = class {
410695
410708
  #allowZeroAddress;
410696
- constructor(allowZeroAddress = false) {
410709
+ network;
410710
+ constructor(allowZeroAddress, network) {
410697
410711
  this.#allowZeroAddress = allowZeroAddress;
410712
+ this.network = network;
410698
410713
  }
410699
410714
  async visit(entry, client, block) {
410700
410715
  if (!this.#allowZeroAddress && entry.address === ADDRESS_0X0) {
@@ -410712,7 +410727,7 @@ var PoolQuotaKeeperV3Visitor = class extends AbstractVisitor {
410712
410727
  const events = await client.getLogs({
410713
410728
  address,
410714
410729
  event: getAbiItem({ abi: iPoolQuotaKeeperV3Abi, name: "SetGauge" }),
410715
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410730
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : ADDRESS_PROVIDER_BLOCK[this.network]),
410716
410731
  toBlock: BigInt(block),
410717
410732
  strict: true
410718
410733
  });
@@ -410740,7 +410755,7 @@ var PoolV1Visitor = class extends AbstractVisitor {
410740
410755
  const events = await client.getLogs({
410741
410756
  address,
410742
410757
  event: getAbiItem({ abi: iPoolServiceAbi, name: "NewInterestRateModel" }),
410743
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410758
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : GEARBOX_V1_BLOCK),
410744
410759
  toBlock: BigInt(block),
410745
410760
  strict: true
410746
410761
  });
@@ -410770,7 +410785,7 @@ var PoolV3Visitor = class extends AbstractVisitor {
410770
410785
  getAbiItem({ abi: iPoolV3Abi, name: "SetInterestRateModel" }),
410771
410786
  getAbiItem({ abi: iPoolV3Abi, name: "SetPoolQuotaKeeper" })
410772
410787
  ],
410773
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410788
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : ADDRESS_PROVIDER_BLOCK[this.network]),
410774
410789
  toBlock: BigInt(block),
410775
410790
  strict: true
410776
410791
  });
@@ -410855,7 +410870,7 @@ var PriceOracleV2Visitor = class extends AbstractVisitor {
410855
410870
  const events = await client.getLogs({
410856
410871
  address,
410857
410872
  event: getAbiItem({ abi: iPriceOracleV2Abi, name: "NewPriceFeed" }),
410858
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410873
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : GEARBOX_V1_BLOCK),
410859
410874
  toBlock: BigInt(block),
410860
410875
  strict: true
410861
410876
  });
@@ -410885,7 +410900,7 @@ var PriceOracleV3Visitor = class extends AbstractVisitor {
410885
410900
  name: "SetReservePriceFeed"
410886
410901
  })
410887
410902
  ],
410888
- fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : FIRST_GEARBOX_BLOCK),
410903
+ fromBlock: BigInt(lastVisitBlock ? lastVisitBlock + 1 : ADDRESS_PROVIDER_BLOCK[this.network]),
410889
410904
  toBlock: BigInt(block),
410890
410905
  strict: true
410891
410906
  });
@@ -410930,54 +410945,54 @@ var PriceOracleV3Visitor = class extends AbstractVisitor {
410930
410945
 
410931
410946
  // ../../packages/node/dist/tree/visitors/factory.js
410932
410947
  var _visitors = /* @__PURE__ */ new Map();
410933
- function visitorFor({ contract }) {
410948
+ function visitorFor({ contract }, network) {
410934
410949
  if (_visitors.has(contract)) {
410935
410950
  return _visitors.get(contract);
410936
410951
  }
410937
- const visitor = newVisitor(contract);
410952
+ const visitor = newVisitor(contract, network);
410938
410953
  _visitors.set(contract, visitor);
410939
410954
  return visitor;
410940
410955
  }
410941
- function newVisitor(contract) {
410956
+ function newVisitor(contract, network) {
410942
410957
  switch (contract) {
410943
410958
  case "ADDRESS_PROVIDER_V1":
410944
- return new AddressProviderV1Visitor(contract);
410959
+ return new AddressProviderV1Visitor(contract, network);
410945
410960
  case "ADDRESS_PROVIDER_V3":
410946
- return new AddressProviderV3Visitor(contract);
410961
+ return new AddressProviderV3Visitor(contract, network);
410947
410962
  case "CONTRACTS_REGISTER":
410948
- return new ContractsRegisterVisitor(contract);
410963
+ return new ContractsRegisterVisitor(contract, network);
410949
410964
  case "POOL_V1":
410950
- return new PoolV1Visitor(contract);
410965
+ return new PoolV1Visitor(contract, network);
410951
410966
  case "POOL_V3":
410952
- return new PoolV3Visitor(contract);
410967
+ return new PoolV3Visitor(contract, network);
410953
410968
  case "POOL_QUOTA_KEEPER_V3":
410954
- return new PoolQuotaKeeperV3Visitor(contract);
410969
+ return new PoolQuotaKeeperV3Visitor(contract, network);
410955
410970
  case "PRICE_ORACLE_V2":
410956
- return new PriceOracleV2Visitor(contract);
410971
+ return new PriceOracleV2Visitor(contract, network);
410957
410972
  case "PRICE_ORACLE_V3":
410958
- return new PriceOracleV3Visitor(contract);
410973
+ return new PriceOracleV3Visitor(contract, network);
410959
410974
  case "CREDIT_MANAGER_V1":
410960
- return new CreditManagerV1Visitor(contract);
410975
+ return new CreditManagerV1Visitor(contract, network);
410961
410976
  case "CREDIT_MANAGER_V2":
410962
- return new CreditManagerV2Visitor(contract);
410977
+ return new CreditManagerV2Visitor(contract, network);
410963
410978
  case "CREDIT_MANAGER_V3":
410964
- return new CreditManagerV3Visitor(contract);
410979
+ return new CreditManagerV3Visitor(contract, network);
410965
410980
  case "CREDIT_CONFIGURATOR_V2":
410966
- return new CreditConfiguratorV2Visitor(contract);
410981
+ return new CreditConfiguratorV2Visitor(contract, network);
410967
410982
  case "CREDIT_CONFIGURATOR_V3":
410968
- return new CreditConfiguratorV3Visitor(contract);
410983
+ return new CreditConfiguratorV3Visitor(contract, network);
410969
410984
  case "CREDIT_FACADE_V2":
410970
- return new CreditFacadeV2Visitor(contract);
410985
+ return new CreditFacadeV2Visitor(contract, network);
410971
410986
  case "CREDIT_FACADE_V3":
410972
- return new CreditFacadeV3Visitor(contract);
410987
+ return new CreditFacadeV3Visitor(contract, network);
410973
410988
  case "CREDIT_FILTER":
410974
- return new CreditFilterVisitor(contract);
410989
+ return new CreditFilterVisitor(contract, network);
410975
410990
  case "GAUGE_V3":
410976
- return new GaugeV3Visitor(contract);
410991
+ return new GaugeV3Visitor(contract, network);
410977
410992
  case "DEGEN_NFT":
410978
- return new NoopVisitor(true);
410993
+ return new NoopVisitor(true, network);
410979
410994
  default:
410980
- return new NoopVisitor();
410995
+ return new NoopVisitor(false, network);
410981
410996
  }
410982
410997
  }
410983
410998
 
@@ -411035,8 +411050,7 @@ var GearboxAddressTree = class _GearboxAddressTree extends ProviderBase {
411035
411050
  address: this.address("ADDRESS_PROVIDER"),
411036
411051
  contract: "ADDRESS_PROVIDER_V3",
411037
411052
  version: 300,
411038
- discoveryBlock: 18433056
411039
- // TODO: network dependent
411053
+ discoveryBlock: Number(ADDRESS_PROVIDER_BLOCK[this.network])
411040
411054
  },
411041
411055
  {
411042
411056
  address: this.address("CREATE2FACTORY"),
@@ -411070,7 +411084,7 @@ var GearboxAddressTree = class _GearboxAddressTree extends ProviderBase {
411070
411084
  address: "0xcF64698AFF7E5f27A11dff868AF228653ba53be0",
411071
411085
  contract: "ADDRESS_PROVIDER_V1",
411072
411086
  version: 1,
411073
- discoveryBlock: FIRST_GEARBOX_BLOCK
411087
+ discoveryBlock: GEARBOX_V1_BLOCK
411074
411088
  }
411075
411089
  ]);
411076
411090
  }
@@ -411103,7 +411117,12 @@ var GearboxAddressTree = class _GearboxAddressTree extends ProviderBase {
411103
411117
  this.#create2.clear();
411104
411118
  }
411105
411119
  getContract(address) {
411106
- return this.#visited.get(address.toLowerCase()) ?? this.#create2.get(address.toLowerCase());
411120
+ const visited = this.#visited.get(address.toLowerCase());
411121
+ const created = this.#create2.get(address.toLowerCase());
411122
+ if (!!created && !!visited) {
411123
+ this.logger.warn(`address ${address} (${created.contract}) is both created and visited`);
411124
+ }
411125
+ return created ?? visited;
411107
411126
  }
411108
411127
  async #loadCache() {
411109
411128
  if (this.#cachePolicy === "never") {
@@ -411143,7 +411162,7 @@ var GearboxAddressTree = class _GearboxAddressTree extends ProviderBase {
411143
411162
  if (this.#visited.has(entry.address.toLowerCase())) {
411144
411163
  return;
411145
411164
  }
411146
- const newEntries = await visitorFor(entry).visit(entry, this.client, Number(block));
411165
+ const newEntries = await visitorFor(entry, this.network).visit(entry, this.client, Number(block));
411147
411166
  if (entry.address === ADDRESS_0X0) {
411148
411167
  return;
411149
411168
  }
@@ -415687,7 +415706,7 @@ function getRenderer(opts) {
415687
415706
  var package_default = {
415688
415707
  name: "@gearbox-protocol/deploy-tools",
415689
415708
  description: "Gearbox deploy tools",
415690
- version: "5.11.19",
415709
+ version: "5.11.21",
415691
415710
  homepage: "https://gearbox.fi",
415692
415711
  keywords: [
415693
415712
  "gearbox"
@@ -415730,7 +415749,7 @@ var package_default = {
415730
415749
  "@gearbox-protocol/deploy-tools-node": "0.0.0",
415731
415750
  "@gearbox-protocol/deploy-tools-shared": "0.0.0",
415732
415751
  "@gearbox-protocol/deploy-tools-types": "0.0.0",
415733
- "@gearbox-protocol/sdk": "3.0.0-vfour.248",
415752
+ "@gearbox-protocol/sdk": "3.0.0-vfour.250",
415734
415753
  "@gearbox-protocol/sdk-gov": "^2.35.0",
415735
415754
  "@types/lodash-es": "^4.17.12",
415736
415755
  "@types/node": "^22.13.4",
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": "5.11.19",
4
+ "version": "5.11.21",
5
5
  "homepage": "https://gearbox.fi",
6
6
  "keywords": [
7
7
  "gearbox"
@@ -44,7 +44,7 @@
44
44
  "@gearbox-protocol/deploy-tools-node": "0.0.0",
45
45
  "@gearbox-protocol/deploy-tools-shared": "0.0.0",
46
46
  "@gearbox-protocol/deploy-tools-types": "0.0.0",
47
- "@gearbox-protocol/sdk": "3.0.0-vfour.248",
47
+ "@gearbox-protocol/sdk": "3.0.0-vfour.250",
48
48
  "@gearbox-protocol/sdk-gov": "^2.35.0",
49
49
  "@types/lodash-es": "^4.17.12",
50
50
  "@types/node": "^22.13.4",