@gearbox-protocol/deploy-tools 5.20.2 → 5.21.1

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 +198 -126
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -408619,13 +408619,6 @@ var ForkTemplate = z.object({
408619
408619
  });
408620
408620
 
408621
408621
  // ../../packages/shared/dist/governor.js
408622
- var GOVERNOR = {
408623
- Mainnet: "0x29B97F37B3E0C704bCFD785F5b7bBa2A0B7df2c7",
408624
- Arbitrum: "0xF0C89a0eDCD68B4176A26B3bf7574498DD3E6d09",
408625
- Optimism: "0xF0C89a0eDCD68B4176A26B3bf7574498DD3E6d09",
408626
- Base: NOT_DEPLOYED,
408627
- Sonic: "0x1f3Ee385ce9A6333d73b61086349C4d0f5De0da8"
408628
- };
408629
408622
  var EVENT_TO_STATUS = {
408630
408623
  QueueBatch: "queued",
408631
408624
  ExecuteBatch: "executed",
@@ -408638,21 +408631,15 @@ var GOVERNOR_EVENTS = [
408638
408631
  ];
408639
408632
  var TimelockQueueTransaction = parseAbiItem("event QueueTransaction( bytes32 indexed txHash, address indexed target, uint256 value, string signature, bytes data, uint256 eta )");
408640
408633
  async function loadGovernorBatches(opts) {
408641
- const { client, logger: logger2, governor: gov, fromBlock, toBlock } = opts;
408642
- let governor = gov;
408643
- if (!governor) {
408644
- const chainId = await client.getChainId();
408645
- const networkType = getNetworkType(chainId);
408646
- governor = GOVERNOR[networkType];
408647
- }
408634
+ const { client, logger: logger2, address, fromBlock, toBlock } = opts;
408648
408635
  const timelock = await client.readContract({
408649
- address: governor,
408636
+ address,
408650
408637
  abi: iGovernorAbi,
408651
408638
  functionName: "timeLock"
408652
408639
  });
408653
- logger2?.info({ timelock, governor, fromBlock, toBlock }, "reading from governor and timelock");
408640
+ logger2?.info({ timelock, governor: address, fromBlock, toBlock }, "reading from governor and timelock");
408654
408641
  let govLogs = await client.getLogs({
408655
- address: governor,
408642
+ address,
408656
408643
  events: GOVERNOR_EVENTS,
408657
408644
  fromBlock,
408658
408645
  toBlock,
@@ -410778,6 +410765,133 @@ var SafeApiWrapper = class {
410778
410765
  }
410779
410766
  };
410780
410767
 
410768
+ // ../../packages/shared/dist/utilityContracts.js
410769
+ var ADDRESS_PROVIDER2 = {
410770
+ Mainnet: "0x9ea7b04Da02a5373317D745c1571c84aaD03321D",
410771
+ Arbitrum: "0x7d04eCdb892Ae074f03B5D0aBA03796F90F3F2af",
410772
+ Optimism: "0x3761ca4BFAcFCFFc1B8034e69F19116dD6756726",
410773
+ Base: NOT_DEPLOYED,
410774
+ Sonic: "0x4b27b296273B72d7c7bfee1ACE93DC081467C41B"
410775
+ };
410776
+ var GOVERNOR = {
410777
+ Mainnet: "0x29B97F37B3E0C704bCFD785F5b7bBa2A0B7df2c7",
410778
+ Arbitrum: "0xF0C89a0eDCD68B4176A26B3bf7574498DD3E6d09",
410779
+ Optimism: "0xF0C89a0eDCD68B4176A26B3bf7574498DD3E6d09",
410780
+ Base: NOT_DEPLOYED,
410781
+ Sonic: "0x1f3Ee385ce9A6333d73b61086349C4d0f5De0da8"
410782
+ };
410783
+ var TIMELOCK2 = {
410784
+ Mainnet: "0xa133C9A92Fb8dDB962Af1cbae58b2723A0bdf23b",
410785
+ Arbitrum: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A",
410786
+ Optimism: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A",
410787
+ Base: NOT_DEPLOYED,
410788
+ Sonic: "0xAdbF876ce58CB65c99b18078353e1DCB16E69e84"
410789
+ };
410790
+ var BATCH_CHAIN = {
410791
+ Mainnet: "0xB900bDEf6eAc8C5D97F8e876aBC39573Cf6626b2",
410792
+ Arbitrum: "0xAEbaa1015D0bc250F5b38aac9b8f65E0668cE3c2",
410793
+ Optimism: "0x5CfB7F186dEA745381ccb1D532e43223B5a6AD10",
410794
+ Base: NOT_DEPLOYED,
410795
+ Sonic: "0xDe6c55B81442AF66Fd12508e15807fe2b92Be76D"
410796
+ };
410797
+ var BLACKLIST_HELPER = {
410798
+ Mainnet: "0xFfbF344741654a1B9Ab1286Cf05A42f275F67839",
410799
+ Arbitrum: NOT_DEPLOYED,
410800
+ Optimism: NOT_DEPLOYED,
410801
+ Base: NOT_DEPLOYED,
410802
+ Sonic: NOT_DEPLOYED
410803
+ };
410804
+ var CREATE2FACTORY = {
410805
+ Mainnet: "0x45d146CAA25aa565Cfc7434926633f4F1C97c873",
410806
+ Arbitrum: "0xad1231A64eE68D6BF721a1E8e177776cc49bAA2C",
410807
+ Optimism: "0xad1231A64eE68D6BF721a1E8e177776cc49bAA2C",
410808
+ Base: NOT_DEPLOYED,
410809
+ Sonic: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A"
410810
+ };
410811
+ var MULTISIG = {
410812
+ Mainnet: "0xA7D5DDc1b8557914F158076b228AA91eF613f1D5",
410813
+ Arbitrum: "0x57Fd8B1a9213624157786Fff4a7bc532Ce717773",
410814
+ Optimism: "0x8bA8cd6D00919ceCc19D9B4A2c8669a524883C4c",
410815
+ Base: NOT_DEPLOYED,
410816
+ Sonic: "0xacEB9dc6a81f1C9E2d8a86c3bFec3f6EF584139D"
410817
+ };
410818
+ var VETO_ADMIN = {
410819
+ Mainnet: "0xbb803559B4D58b75E12dd74641AB955e8B0Df40E",
410820
+ Arbitrum: "0x746fb3AcAfF6Bfe246206EC2E51F587d2E57abb6",
410821
+ Optimism: "0x9744f76dc5239Eb4DC2CE8D5538e1BA89C8FA90f",
410822
+ Base: NOT_DEPLOYED,
410823
+ Sonic: "0x393eC629b90389F957c5a2E4FC2F8F488e735BFC"
410824
+ };
410825
+ var TREASURY = {
410826
+ Mainnet: "0x7b065fcb0760df0cea8cfd144e08554f3cea73d1",
410827
+ Arbitrum: "0x2c31eFFE426765E68A43163A96DD13DF70B53C14",
410828
+ Optimism: "0x1ACc5BC353f23B901801f3Ba48e1E51a14263808",
410829
+ Base: NOT_DEPLOYED,
410830
+ Sonic: "0x74028Cf1cBa6A4513c9a27137E7d0F3847833795"
410831
+ };
410832
+ var ROUTER_MULTISIG_ADDRESS = {
410833
+ Mainnet: "0xaaDf86C39a76eEEf5a5337Ca449C7EfA66E3175E",
410834
+ Arbitrum: "0xEAb23245937A4F0894B0c92f08992C2c45Fc8df5",
410835
+ Optimism: "0x4cda5Fa96B5d436002175d958667C7EF3B644aA1",
410836
+ Base: NOT_DEPLOYED,
410837
+ Sonic: "0x21DEE3c9bAc88F8cb96b7e7d19D3DFDB071EC81d"
410838
+ };
410839
+ var ROUTER_CREATE2FACTORY = {
410840
+ Mainnet: "0xA287577Fb7Cf49246e569EA268FE919F1cD6d9E2",
410841
+ Arbitrum: "0x95345A4d55DAf6864924fC8861b311B9BC860E5f",
410842
+ Optimism: "0x95345A4d55DAf6864924fC8861b311B9BC860E5f",
410843
+ Base: NOT_DEPLOYED,
410844
+ Sonic: "0x5CfB7F186dEA745381ccb1D532e43223B5a6AD10"
410845
+ };
410846
+ var NEXO_ADDRESS_PROVIDER = {
410847
+ Mainnet: "0x2Eb0BE5585E49190414307597912BD039a029Eda",
410848
+ Arbitrum: NOT_DEPLOYED,
410849
+ Optimism: NOT_DEPLOYED,
410850
+ Base: NOT_DEPLOYED,
410851
+ Sonic: NOT_DEPLOYED
410852
+ };
410853
+ var NEXO_TIMELOCK = {
410854
+ Mainnet: "0xdcC3FD83DBF480e8Ad74DD3A634CaE29B68b9814",
410855
+ Arbitrum: NOT_DEPLOYED,
410856
+ Optimism: NOT_DEPLOYED,
410857
+ Base: NOT_DEPLOYED,
410858
+ Sonic: NOT_DEPLOYED
410859
+ };
410860
+ var NEXO_GOVERNOR = {
410861
+ Mainnet: "0x42Cf536467f4fa474010a16f66A3fa7576f987D6",
410862
+ Arbitrum: NOT_DEPLOYED,
410863
+ Optimism: NOT_DEPLOYED,
410864
+ Base: NOT_DEPLOYED,
410865
+ Sonic: NOT_DEPLOYED
410866
+ };
410867
+ var NEXO_BATCH_CHAIN = {
410868
+ Mainnet: "0xcba71ACEDe17d2CABBfADBab30cc08F20eeaca52",
410869
+ Arbitrum: NOT_DEPLOYED,
410870
+ Optimism: NOT_DEPLOYED,
410871
+ Base: NOT_DEPLOYED,
410872
+ Sonic: NOT_DEPLOYED
410873
+ };
410874
+ var NEXO_CREATE2FACTORY = {
410875
+ Mainnet: "0x48D945ACc64043B10A781917bfB88dDF49e06Fc6",
410876
+ Arbitrum: NOT_DEPLOYED,
410877
+ Optimism: NOT_DEPLOYED,
410878
+ Base: NOT_DEPLOYED,
410879
+ Sonic: NOT_DEPLOYED
410880
+ };
410881
+ var UTILITY_CONTRACTS = {
410882
+ ADDRESS_PROVIDER: ADDRESS_PROVIDER2,
410883
+ GOVERNOR,
410884
+ TIMELOCK: TIMELOCK2,
410885
+ BATCH_CHAIN,
410886
+ BLACKLIST_HELPER,
410887
+ CREATE2FACTORY,
410888
+ MULTISIG,
410889
+ VETO_ADMIN,
410890
+ TREASURY,
410891
+ ROUTER_MULTISIG_ADDRESS,
410892
+ ROUTER_CREATE2FACTORY
410893
+ };
410894
+
410781
410895
  // ../../packages/shared/dist/version.js
410782
410896
  function major(v) {
410783
410897
  return v >= 100 ? Math.floor(v / 100) : v;
@@ -411630,93 +411744,6 @@ async function setLTZero(anvil, cm, logger2) {
411630
411744
  await anvil.stopImpersonatingAccount({ address: configuratorAddr });
411631
411745
  }
411632
411746
 
411633
- // ../../packages/node/dist/utilityContracts.js
411634
- var utilityContracts_exports = {};
411635
- __export(utilityContracts_exports, {
411636
- ADDRESS_PROVIDER: () => ADDRESS_PROVIDER2,
411637
- BATCH_CHAIN: () => BATCH_CHAIN,
411638
- BLACKLIST_HELPER: () => BLACKLIST_HELPER,
411639
- CREATE2FACTORY: () => CREATE2FACTORY,
411640
- GOVERNOR: () => GOVERNOR2,
411641
- MULTISIG: () => MULTISIG,
411642
- ROUTER_CREATE2FACTORY: () => ROUTER_CREATE2FACTORY,
411643
- ROUTER_MULTISIG_ADDRESS: () => ROUTER_MULTISIG_ADDRESS,
411644
- TIMELOCK: () => TIMELOCK2,
411645
- TREASURY: () => TREASURY,
411646
- VETO_ADMIN: () => VETO_ADMIN
411647
- });
411648
- var ADDRESS_PROVIDER2 = {
411649
- Mainnet: "0x9ea7b04Da02a5373317D745c1571c84aaD03321D",
411650
- Arbitrum: "0x7d04eCdb892Ae074f03B5D0aBA03796F90F3F2af",
411651
- Optimism: "0x3761ca4BFAcFCFFc1B8034e69F19116dD6756726",
411652
- Base: NOT_DEPLOYED,
411653
- Sonic: "0x4b27b296273B72d7c7bfee1ACE93DC081467C41B"
411654
- };
411655
- var TIMELOCK2 = {
411656
- Mainnet: "0xa133C9A92Fb8dDB962Af1cbae58b2723A0bdf23b",
411657
- Arbitrum: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A",
411658
- Optimism: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A",
411659
- Base: NOT_DEPLOYED,
411660
- Sonic: "0xAdbF876ce58CB65c99b18078353e1DCB16E69e84"
411661
- };
411662
- var GOVERNOR2 = GOVERNOR;
411663
- var BATCH_CHAIN = {
411664
- Mainnet: "0xB900bDEf6eAc8C5D97F8e876aBC39573Cf6626b2",
411665
- Arbitrum: "0xAEbaa1015D0bc250F5b38aac9b8f65E0668cE3c2",
411666
- Optimism: "0x5CfB7F186dEA745381ccb1D532e43223B5a6AD10",
411667
- Base: NOT_DEPLOYED,
411668
- Sonic: "0xDe6c55B81442AF66Fd12508e15807fe2b92Be76D"
411669
- };
411670
- var BLACKLIST_HELPER = {
411671
- Mainnet: "0xFfbF344741654a1B9Ab1286Cf05A42f275F67839",
411672
- Arbitrum: NOT_DEPLOYED,
411673
- Optimism: NOT_DEPLOYED,
411674
- Base: NOT_DEPLOYED,
411675
- Sonic: NOT_DEPLOYED
411676
- };
411677
- var CREATE2FACTORY = {
411678
- Mainnet: "0x45d146CAA25aa565Cfc7434926633f4F1C97c873",
411679
- Arbitrum: "0xad1231A64eE68D6BF721a1E8e177776cc49bAA2C",
411680
- Optimism: "0xad1231A64eE68D6BF721a1E8e177776cc49bAA2C",
411681
- Base: NOT_DEPLOYED,
411682
- Sonic: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A"
411683
- };
411684
- var MULTISIG = {
411685
- Mainnet: "0xA7D5DDc1b8557914F158076b228AA91eF613f1D5",
411686
- Arbitrum: "0x57Fd8B1a9213624157786Fff4a7bc532Ce717773",
411687
- Optimism: "0x8bA8cd6D00919ceCc19D9B4A2c8669a524883C4c",
411688
- Base: NOT_DEPLOYED,
411689
- Sonic: "0xacEB9dc6a81f1C9E2d8a86c3bFec3f6EF584139D"
411690
- };
411691
- var VETO_ADMIN = {
411692
- Mainnet: "0xbb803559B4D58b75E12dd74641AB955e8B0Df40E",
411693
- Arbitrum: "0x746fb3AcAfF6Bfe246206EC2E51F587d2E57abb6",
411694
- Optimism: "0x9744f76dc5239Eb4DC2CE8D5538e1BA89C8FA90f",
411695
- Base: NOT_DEPLOYED,
411696
- Sonic: "0x393eC629b90389F957c5a2E4FC2F8F488e735BFC"
411697
- };
411698
- var TREASURY = {
411699
- Mainnet: "0x7b065fcb0760df0cea8cfd144e08554f3cea73d1",
411700
- Arbitrum: "0x2c31eFFE426765E68A43163A96DD13DF70B53C14",
411701
- Optimism: "0x1ACc5BC353f23B901801f3Ba48e1E51a14263808",
411702
- Base: NOT_DEPLOYED,
411703
- Sonic: "0x74028Cf1cBa6A4513c9a27137E7d0F3847833795"
411704
- };
411705
- var ROUTER_MULTISIG_ADDRESS = {
411706
- Mainnet: "0xaaDf86C39a76eEEf5a5337Ca449C7EfA66E3175E",
411707
- Arbitrum: "0xEAb23245937A4F0894B0c92f08992C2c45Fc8df5",
411708
- Optimism: "0x4cda5Fa96B5d436002175d958667C7EF3B644aA1",
411709
- Base: NOT_DEPLOYED,
411710
- Sonic: "0x21DEE3c9bAc88F8cb96b7e7d19D3DFDB071EC81d"
411711
- };
411712
- var ROUTER_CREATE2FACTORY = {
411713
- Mainnet: "0xA287577Fb7Cf49246e569EA268FE919F1cD6d9E2",
411714
- Arbitrum: "0x95345A4d55DAf6864924fC8861b311B9BC860E5f",
411715
- Optimism: "0x95345A4d55DAf6864924fC8861b311B9BC860E5f",
411716
- Base: NOT_DEPLOYED,
411717
- Sonic: "0x5CfB7F186dEA745381ccb1D532e43223B5a6AD10"
411718
- };
411719
-
411720
411747
  // ../../packages/node/dist/ProviderBase.js
411721
411748
  var NetworkMismatchError = class extends Error {
411722
411749
  constructor(expected, received) {
@@ -411853,7 +411880,7 @@ var ProviderBase = class {
411853
411880
  return overridden;
411854
411881
  }
411855
411882
  }
411856
- const addr = utilityContracts_exports[contract][this.network];
411883
+ const addr = UTILITY_CONTRACTS[contract][this.network];
411857
411884
  if (!isAddress(addr)) {
411858
411885
  throw new Error(`${contract} is not deployed on ${this.network}: address ${addr}`);
411859
411886
  }
@@ -413646,6 +413673,34 @@ var GearboxAddressTree = class _GearboxAddressTree extends ProviderBase {
413646
413673
  discoveryBlock: GEARBOX_V1_BLOCK
413647
413674
  }
413648
413675
  ]);
413676
+ queued = this.#addWellKnown(queued, [
413677
+ {
413678
+ address: NEXO_ADDRESS_PROVIDER.Mainnet,
413679
+ contract: "ADDRESS_PROVIDER_V3",
413680
+ version: 300,
413681
+ discoveryBlock: Number(ADDRESS_PROVIDER_BLOCK[this.network])
413682
+ },
413683
+ {
413684
+ address: NEXO_CREATE2FACTORY.Mainnet,
413685
+ contract: "CREATE2_FACTORY",
413686
+ version: VERSION_UNVERSIONED
413687
+ },
413688
+ {
413689
+ address: NEXO_GOVERNOR.Mainnet,
413690
+ contract: "GOVERNOR_V3",
413691
+ version: VERSION_UNVERSIONED
413692
+ },
413693
+ {
413694
+ address: NEXO_TIMELOCK.Mainnet,
413695
+ contract: "TIMELOCK",
413696
+ version: VERSION_UNVERSIONED
413697
+ },
413698
+ {
413699
+ address: NEXO_BATCH_CHAIN.Mainnet,
413700
+ contract: "BATCH_CHAIN",
413701
+ version: VERSION_UNVERSIONED
413702
+ }
413703
+ ]);
413649
413704
  }
413650
413705
  this.logger.info(`started building gearbox address tree till block ${head}`);
413651
413706
  for (const entry of queued) {
@@ -416673,7 +416728,7 @@ var UpdateParser = class extends ProviderBase {
416673
416728
  if (batchDir) {
416674
416729
  await this.#parseBatchDir(batchDir, opts.unsafeMainnetMeta);
416675
416730
  } else if (governor) {
416676
- await this.#parseGovernorQueue(governor.fromBlock, governor.toBlock);
416731
+ await this.#parseGovernorQueue(governor.address, governor.fromBlock, governor.toBlock);
416677
416732
  } else {
416678
416733
  await this.#parseSafeTxHashes(safeTxHashes);
416679
416734
  }
@@ -416780,12 +416835,12 @@ var UpdateParser = class extends ProviderBase {
416780
416835
  this.#collectCreate2Addresses(parsed);
416781
416836
  return parsed;
416782
416837
  }
416783
- async #parseGovernorQueue(fromBlock, toBlock) {
416838
+ async #parseGovernorQueue(governorAddress, fromBlock, toBlock) {
416784
416839
  this.logger.info("parsing governor queue");
416785
416840
  const latest = await this.client.getBlockNumber();
416786
416841
  const batches = await loadGovernorBatches({
416787
416842
  client: this.client,
416788
- governor: this.address("GOVERNOR"),
416843
+ address: governorAddress ?? this.address("GOVERNOR"),
416789
416844
  fromBlock: fromBlock ?? ADDRESS_PROVIDER_BLOCK[this.network],
416790
416845
  toBlock: toBlock ?? latest,
416791
416846
  logger: this.logger
@@ -418958,7 +419013,7 @@ function getRenderer(opts) {
418958
419013
  var package_default = {
418959
419014
  name: "@gearbox-protocol/deploy-tools",
418960
419015
  description: "Gearbox deploy tools",
418961
- version: "5.20.2",
419016
+ version: "5.21.1",
418962
419017
  homepage: "https://gearbox.fi",
418963
419018
  keywords: [
418964
419019
  "gearbox"
@@ -419056,6 +419111,11 @@ function parse() {
419056
419111
  "Safe tx hashes to get from safe api and verify"
419057
419112
  )
419058
419113
  ).addOption(new Option("--governor", "Parse entire governor queue")).addOption(
419114
+ new Option(
419115
+ "--governor-address <address>",
419116
+ "Optional governor address"
419117
+ ).argParser(parseAddress2)
419118
+ ).addOption(
419059
419119
  new Option(
419060
419120
  "--governor-from <starting block>",
419061
419121
  "Parse governor queue starting from this block"
@@ -419081,24 +419141,36 @@ function parse() {
419081
419141
  "-i, --interactive",
419082
419142
  "Interactive navigation for pretty-print"
419083
419143
  )
419084
- ).addOption(new Option("--html-file <file>", "output html file")).action(async ({ governor, governorFrom, governorTo, ...opts }) => {
419085
- container.auditor = new Auditor(opts);
419086
- await container.auditor.setup();
419087
- container.addressTree = new GearboxAddressTree(opts);
419088
- await container.addressTree.build();
419089
- const options = {
419090
- ...opts,
419091
- safeTxHashes: opts.safeTxHashes,
419092
- governor: governor || governorFrom || governorTo ? { fromBlock: governorFrom, toBlock: governorTo } : void 0
419093
- };
419094
- const parser = new UpdateParser(opts, version_default);
419095
- const result = await parser.parse(options);
419096
- if (opts.outFile) {
419097
- await writeFile5(opts.outFile, json_stringify(result), "utf-8");
419144
+ ).addOption(new Option("--html-file <file>", "output html file")).action(
419145
+ async ({
419146
+ governor,
419147
+ governorFrom,
419148
+ governorTo,
419149
+ governorAddress,
419150
+ ...opts
419151
+ }) => {
419152
+ container.auditor = new Auditor(opts);
419153
+ await container.auditor.setup();
419154
+ container.addressTree = new GearboxAddressTree(opts);
419155
+ await container.addressTree.build();
419156
+ const options = {
419157
+ ...opts,
419158
+ safeTxHashes: opts.safeTxHashes,
419159
+ governor: governor || governorFrom || governorTo ? {
419160
+ address: governorAddress,
419161
+ fromBlock: governorFrom,
419162
+ toBlock: governorTo
419163
+ } : void 0
419164
+ };
419165
+ const parser = new UpdateParser(opts, version_default);
419166
+ const result = await parser.parse(options);
419167
+ if (opts.outFile) {
419168
+ await writeFile5(opts.outFile, json_stringify(result), "utf-8");
419169
+ }
419170
+ const renderer = getRenderer(opts);
419171
+ return renderer?.render(result);
419098
419172
  }
419099
- const renderer = getRenderer(opts);
419100
- return renderer?.render(result);
419101
- });
419173
+ );
419102
419174
  }
419103
419175
 
419104
419176
  // src/commands/prices.ts
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.20.2",
4
+ "version": "5.21.1",
5
5
  "homepage": "https://gearbox.fi",
6
6
  "keywords": [
7
7
  "gearbox"