@gearbox-protocol/deploy-tools 5.45.7 → 5.45.9

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 +63 -27
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -406546,6 +406546,26 @@ var Hooks = class {
406546
406546
  }
406547
406547
  };
406548
406548
 
406549
+ // ../../node_modules/@gearbox-protocol/sdk/dist/esm/sdk/router/helpers.js
406550
+ function balancesMap(assets) {
406551
+ return new AddressMap(assets.map(({ token, balance }) => [token, balance]));
406552
+ }
406553
+ function compareRouterResults(a, b) {
406554
+ return a.amount > b.amount ? a : b;
406555
+ }
406556
+ function assetsMap(assets) {
406557
+ return new AddressMap(assets.map((a) => [a.token, a]));
406558
+ }
406559
+ var TOKEN = "0x19ebd191f7a24ece672ba13a302212b5ef7f35cb".toLowerCase();
406560
+ var THRESHOLD = 5n * 10n ** 17n;
406561
+ function limitLeftover(balance, token) {
406562
+ const leftoverBalance = balance ?? 0n;
406563
+ if (token.toLowerCase() === TOKEN && leftoverBalance < THRESHOLD) {
406564
+ return THRESHOLD;
406565
+ }
406566
+ return balance;
406567
+ }
406568
+
406549
406569
  // ../../node_modules/@gearbox-protocol/sdk/dist/esm/sdk/router/AbstractRouterContract.js
406550
406570
  var AbstractRouterContract = class extends BaseContract {
406551
406571
  hooks = new Hooks();
@@ -406561,7 +406581,7 @@ var AbstractRouterContract = class extends BaseContract {
406561
406581
  expected.upsert(token, { token, balance: actual > 10n ? actual : 0n });
406562
406582
  leftover.upsert(token, {
406563
406583
  token,
406564
- balance: leftoverBalances.get(token)?.balance || 1n
406584
+ balance: limitLeftover(leftoverBalances.get(token)?.balance || 1n, token) ?? 1n
406565
406585
  });
406566
406586
  }
406567
406587
  return {
@@ -406581,7 +406601,10 @@ var AbstractRouterContract = class extends BaseContract {
406581
406601
  const decimals = this.sdk.tokensMeta.decimals(token);
406582
406602
  const minBalance = 10n ** BigInt(Math.max(8, decimals) - 8);
406583
406603
  if (keepAssetsSet.has(token.toLowerCase()) || balance < minBalance || !isEnabled) {
406584
- leftoverBalances.upsert(token, { token, balance });
406604
+ leftoverBalances.upsert(token, {
406605
+ token,
406606
+ balance: limitLeftover(balance, token) ?? balance
406607
+ });
406585
406608
  }
406586
406609
  }
406587
406610
  return {
@@ -406592,17 +406615,6 @@ var AbstractRouterContract = class extends BaseContract {
406592
406615
  }
406593
406616
  };
406594
406617
 
406595
- // ../../node_modules/@gearbox-protocol/sdk/dist/esm/sdk/router/helpers.js
406596
- function balancesMap(assets) {
406597
- return new AddressMap(assets.map(({ token, balance }) => [token, balance]));
406598
- }
406599
- function compareRouterResults(a, b) {
406600
- return a.amount > b.amount ? a : b;
406601
- }
406602
- function assetsMap(assets) {
406603
- return new AddressMap(assets.map((a) => [a.token, a]));
406604
- }
406605
-
406606
406618
  // ../../node_modules/@gearbox-protocol/sdk/dist/esm/sdk/router/PathOptionFactory.js
406607
406619
  var PathOptionFactory = class _PathOptionFactory {
406608
406620
  // TODO: get rid of token data from SDK
@@ -406731,7 +406743,7 @@ var RouterV300Contract = class extends AbstractRouterContract {
406731
406743
  tokenOut,
406732
406744
  connectors: connectors2,
406733
406745
  amount,
406734
- leftoverAmount
406746
+ leftoverAmount: limitLeftover(leftoverAmount, tokenIn) ?? 0n
406735
406747
  };
406736
406748
  const { result } = await this.contract.simulate.findAllSwaps(
406737
406749
  [swapTask, BigInt(slippage)],
@@ -406805,7 +406817,7 @@ var RouterV300Contract = class extends AbstractRouterContract {
406805
406817
  }));
406806
406818
  const leftover = cm.collateralTokens.map((token) => ({
406807
406819
  token,
406808
- balance: leftoverMap.get(token) ?? 0n
406820
+ balance: limitLeftover(leftoverMap.get(token), token) ?? 0n
406809
406821
  }));
406810
406822
  const connectors2 = this.getAvailableConnectors(cm.collateralTokens);
406811
406823
  const {
@@ -406850,7 +406862,12 @@ var RouterV300Contract = class extends AbstractRouterContract {
406850
406862
  slippage,
406851
406863
  balances
406852
406864
  }) {
406853
- const { pathOptions, expected, leftover, connectors: connectors2 } = this.getFindClosePathInput(
406865
+ const {
406866
+ pathOptions,
406867
+ expected,
406868
+ leftover: leftoverUnsafe,
406869
+ connectors: connectors2
406870
+ } = this.getFindClosePathInput(
406854
406871
  ca,
406855
406872
  cm,
406856
406873
  balances ? {
@@ -406859,6 +406876,10 @@ var RouterV300Contract = class extends AbstractRouterContract {
406859
406876
  tokensToClaim: assetsMap(balances.tokensToClaim || [])
406860
406877
  } : void 0
406861
406878
  );
406879
+ const leftover = leftoverUnsafe.map((a) => ({
406880
+ ...a,
406881
+ balance: limitLeftover(a.balance, a.token) ?? 0n
406882
+ }));
406862
406883
  await this.hooks.triggerHooks("foundPathOptions", {
406863
406884
  creditAccount: ca.creditAccount,
406864
406885
  pathOptions,
@@ -406921,6 +406942,10 @@ var RouterV300Contract = class extends AbstractRouterContract {
406921
406942
  balances,
406922
406943
  keepAssets
406923
406944
  );
406945
+ const leftover = leftoverBalances.values().map((a) => ({
406946
+ ...a,
406947
+ balance: limitLeftover(a.balance, a.token) ?? 0n
406948
+ }));
406924
406949
  const pathOptions = PathOptionFactory.generatePathOptions(
406925
406950
  ca.tokens,
406926
406951
  this.provider.networkType,
@@ -406929,7 +406954,7 @@ var RouterV300Contract = class extends AbstractRouterContract {
406929
406954
  const connectors2 = this.getAvailableConnectors(cm.collateralTokens);
406930
406955
  return {
406931
406956
  expected: expectedBalances.values(),
406932
- leftover: leftoverBalances.values(),
406957
+ leftover,
406933
406958
  connectors: connectors2,
406934
406959
  pathOptions
406935
406960
  };
@@ -407115,7 +407140,7 @@ var RouterV310Contract = class extends AbstractRouterContract {
407115
407140
  (token) => ({
407116
407141
  token,
407117
407142
  balance: expectedMap.get(token) ?? 0n,
407118
- leftoverBalance: leftoverMap.get(token) ?? 0n,
407143
+ leftoverBalance: limitLeftover(leftoverMap.get(token), token) ?? 0n,
407119
407144
  numSplits: getNumSplits(token),
407120
407145
  claimRewards: false
407121
407146
  })
@@ -407199,7 +407224,7 @@ var RouterV310Contract = class extends AbstractRouterContract {
407199
407224
  tData.push({
407200
407225
  token,
407201
407226
  balance: expectedBalances.get(token)?.balance || 0n,
407202
- leftoverBalance: leftoverBalances.get(token)?.balance || 0n,
407227
+ leftoverBalance: limitLeftover(leftoverBalances.get(token)?.balance, token) ?? 0n,
407203
407228
  numSplits: getNumSplits(token),
407204
407229
  claimRewards: !!tokensToClaim.get(token)
407205
407230
  });
@@ -407331,7 +407356,10 @@ function balancesAfterOpen(target, targetAmount, expected, leftover) {
407331
407356
  if (t === targetAddr) {
407332
407357
  result[t] = (expected.get(t) ?? 0n) + targetAmount;
407333
407358
  } else {
407334
- result[t] = BigIntMath.min(expected.get(t) ?? 0n, leftover.get(t) ?? 0n);
407359
+ result[t] = BigIntMath.min(
407360
+ expected.get(t) ?? 0n,
407361
+ limitLeftover(leftover.get(t), t) ?? 0n
407362
+ );
407335
407363
  }
407336
407364
  }
407337
407365
  return result;
@@ -416856,7 +416884,10 @@ var PriceOracleBaseContract = class extends BaseContract {
416856
416884
  const { to: priceFeed, callData, description } = tx.raw;
416857
416885
  const [token, reserve] = this.findTokenForPriceFeed(priceFeed);
416858
416886
  if (!token) {
416887
+ const mains = this.mainPriceFeeds.values().map((v) => v.address);
416888
+ const reserves = this.reservePriceFeeds.values().map((v) => v.address);
416859
416889
  this.logger?.debug(
416890
+ { mainPriceFeeds: mains, reservePriceFeeds: reserves },
416860
416891
  `skipping onDemandPriceUpdate ${description}): token not found for price feed ${priceFeed} in oracle ${this.address}`
416861
416892
  );
416862
416893
  continue;
@@ -417055,12 +417086,12 @@ var PriceOracleBaseContract = class extends BaseContract {
417055
417086
  */
417056
417087
  findTokenForPriceFeed(priceFeed) {
417057
417088
  for (const [token, pf] of this.mainPriceFeeds.entries()) {
417058
- if (pf.address === priceFeed) {
417089
+ if (hexEq(pf.address, priceFeed)) {
417059
417090
  return [token, false];
417060
417091
  }
417061
417092
  }
417062
417093
  for (const [token, pf] of this.reservePriceFeeds.entries()) {
417063
- if (pf.address === priceFeed) {
417094
+ if (hexEq(pf.address, priceFeed)) {
417064
417095
  return [token, true];
417065
417096
  }
417066
417097
  }
@@ -446362,7 +446393,7 @@ function defillamaTest() {
446362
446393
  anvilUrl = "http://127.0.0.1:8545",
446363
446394
  outputDir,
446364
446395
  gasLimit = "550000000",
446365
- pageSize = "250"
446396
+ pageSize = "1000"
446366
446397
  } = opts;
446367
446398
  const transportOptions = getSDKTransportOptions({
446368
446399
  ...opts,
@@ -446426,13 +446457,18 @@ function defillamaTest() {
446426
446457
  }
446427
446458
  const creditManagers = {};
446428
446459
  for (const suite of sdk.marketRegister.creditManagers) {
446429
- const creditAccounts = await loadCreditAccounts(
446460
+ let creditAccounts = await loadCreditAccounts(
446430
446461
  sdk,
446431
446462
  address,
446432
446463
  suite,
446433
446464
  Number(pageSize)
446434
446465
  );
446466
+ const total = creditAccounts.length;
446467
+ creditAccounts = creditAccounts.filter((ca) => !!ca.debt);
446435
446468
  creditManagers[suite.creditManager.address] = creditAccounts;
446469
+ log_default.info(
446470
+ `got ${creditAccounts.length}/${total} credit accounts for ${sdk.provider.addressLabels.get(suite.creditManager.address)}`
446471
+ );
446436
446472
  }
446437
446473
  const outDir = outputDir ?? process.cwd();
446438
446474
  await mkdir2(outDir, { recursive: true });
@@ -446465,7 +446501,7 @@ async function loadCreditAccounts(sdk, compressor, suite, limit) {
446465
446501
  log_default.debug(
446466
446502
  `got ${creditAccounts.length} credit accounts for ${sdk.provider.addressLabels.get(suite.creditManager.address)} page ${page}`
446467
446503
  );
446468
- } while (creditAccounts.length > 0);
446504
+ } while (creditAccounts.length === limit);
446469
446505
  return result;
446470
446506
  }
446471
446507
  async function loadPage(sdk, compressor, suite, offset, limit) {
@@ -446765,7 +446801,7 @@ function getRenderer(opts) {
446765
446801
  var package_default = {
446766
446802
  name: "@gearbox-protocol/deploy-tools",
446767
446803
  description: "Gearbox deploy tools",
446768
- version: "5.45.7",
446804
+ version: "5.45.9",
446769
446805
  homepage: "https://gearbox.fi",
446770
446806
  keywords: [
446771
446807
  "gearbox"
@@ -446805,7 +446841,7 @@ var package_default = {
446805
446841
  "@gearbox-protocol/deploy-tools-node": "0.0.0",
446806
446842
  "@gearbox-protocol/deploy-tools-shared": "0.0.0",
446807
446843
  "@gearbox-protocol/deploy-tools-types": "0.0.0",
446808
- "@gearbox-protocol/sdk": "8.24.3",
446844
+ "@gearbox-protocol/sdk": "8.24.7",
446809
446845
  "@gearbox-protocol/sdk-gov": "2.37.0",
446810
446846
  "@types/lodash-es": "^4.17.12",
446811
446847
  "@types/node": "^24.3.0",
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.45.7",
4
+ "version": "5.45.9",
5
5
  "homepage": "https://gearbox.fi",
6
6
  "keywords": [
7
7
  "gearbox"
@@ -41,7 +41,7 @@
41
41
  "@gearbox-protocol/deploy-tools-node": "0.0.0",
42
42
  "@gearbox-protocol/deploy-tools-shared": "0.0.0",
43
43
  "@gearbox-protocol/deploy-tools-types": "0.0.0",
44
- "@gearbox-protocol/sdk": "8.24.3",
44
+ "@gearbox-protocol/sdk": "8.24.7",
45
45
  "@gearbox-protocol/sdk-gov": "2.37.0",
46
46
  "@types/lodash-es": "^4.17.12",
47
47
  "@types/node": "^24.3.0",