@gearbox-protocol/deploy-tools 5.45.8 → 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 +55 -24
  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
  }
@@ -446770,7 +446801,7 @@ function getRenderer(opts) {
446770
446801
  var package_default = {
446771
446802
  name: "@gearbox-protocol/deploy-tools",
446772
446803
  description: "Gearbox deploy tools",
446773
- version: "5.45.8",
446804
+ version: "5.45.9",
446774
446805
  homepage: "https://gearbox.fi",
446775
446806
  keywords: [
446776
446807
  "gearbox"
@@ -446810,7 +446841,7 @@ var package_default = {
446810
446841
  "@gearbox-protocol/deploy-tools-node": "0.0.0",
446811
446842
  "@gearbox-protocol/deploy-tools-shared": "0.0.0",
446812
446843
  "@gearbox-protocol/deploy-tools-types": "0.0.0",
446813
- "@gearbox-protocol/sdk": "8.24.3",
446844
+ "@gearbox-protocol/sdk": "8.24.7",
446814
446845
  "@gearbox-protocol/sdk-gov": "2.37.0",
446815
446846
  "@types/lodash-es": "^4.17.12",
446816
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.8",
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",