@gearbox-protocol/sdk 12.4.0-next.1 → 12.5.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 (104) hide show
  1. package/dist/cjs/abi/errors.js +10 -1
  2. package/dist/cjs/dev/AccountOpener.js +2 -1
  3. package/dist/cjs/dev/RevolverTransport.js +4 -6
  4. package/dist/cjs/dev/ltUtils.js +2 -1
  5. package/dist/cjs/dev/migrateFaucet.js +2 -1
  6. package/dist/cjs/dev/providers.js +6 -2
  7. package/dist/cjs/dev/transports.js +3 -3
  8. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +7 -4
  9. package/dist/cjs/permissionless/bindings/governance/governor.js +3 -4
  10. package/dist/cjs/permissionless/bindings/market-configurator.js +4 -2
  11. package/dist/cjs/permissionless/bindings/price-feed-store.js +2 -1
  12. package/dist/cjs/permissionless/bindings/treasury-splitter.js +12 -1
  13. package/dist/cjs/permissionless/utils/format.js +0 -8
  14. package/dist/cjs/plugins/accounts-counter/AccountsCounterPlugin.js +2 -1
  15. package/dist/cjs/plugins/bots/BotsPlugin.js +4 -2
  16. package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +13 -7
  17. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +2 -1
  18. package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +2 -1
  19. package/dist/cjs/plugins/zappers/ZappersPlugin.js +2 -1
  20. package/dist/cjs/sdk/GearboxSDK.js +9 -5
  21. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +71 -38
  22. package/dist/cjs/sdk/base/TokensMeta.js +2 -1
  23. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +20 -3
  24. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +1 -1
  25. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +1 -1
  26. package/dist/cjs/sdk/core/address-provider/createAddressProvider.js +29 -7
  27. package/dist/cjs/sdk/gauges/GaugeStakingService.js +2 -1
  28. package/dist/cjs/sdk/index.js +2 -0
  29. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +15 -0
  30. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +1 -1
  31. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +1 -1
  32. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +6 -0
  33. package/dist/cjs/sdk/pools/AbstractPoolService.js +137 -0
  34. package/dist/cjs/sdk/pools/PoolServiceV300.js +30 -0
  35. package/dist/cjs/sdk/pools/PoolServiceV310.js +30 -0
  36. package/dist/cjs/sdk/pools/createPoolService.js +39 -0
  37. package/dist/cjs/sdk/pools/index.js +26 -0
  38. package/dist/cjs/sdk/pools/types.js +16 -0
  39. package/dist/cjs/sdk/sdk-legacy/core/endpoint.js +3 -9
  40. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +2 -1
  41. package/dist/cjs/sdk/utils/formatter.js +8 -0
  42. package/dist/esm/abi/errors.js +9 -1
  43. package/dist/esm/dev/AccountOpener.js +2 -1
  44. package/dist/esm/dev/RevolverTransport.js +5 -7
  45. package/dist/esm/dev/ltUtils.js +2 -1
  46. package/dist/esm/dev/migrateFaucet.js +2 -1
  47. package/dist/esm/dev/providers.js +4 -1
  48. package/dist/esm/dev/transports.js +2 -2
  49. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +7 -4
  50. package/dist/esm/permissionless/bindings/governance/governor.js +5 -2
  51. package/dist/esm/permissionless/bindings/market-configurator.js +4 -2
  52. package/dist/esm/permissionless/bindings/price-feed-store.js +2 -1
  53. package/dist/esm/permissionless/bindings/treasury-splitter.js +13 -2
  54. package/dist/esm/permissionless/utils/format.js +0 -7
  55. package/dist/esm/plugins/accounts-counter/AccountsCounterPlugin.js +2 -1
  56. package/dist/esm/plugins/bots/BotsPlugin.js +4 -2
  57. package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +13 -7
  58. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +2 -1
  59. package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +2 -1
  60. package/dist/esm/plugins/zappers/ZappersPlugin.js +2 -1
  61. package/dist/esm/sdk/GearboxSDK.js +9 -5
  62. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +71 -38
  63. package/dist/esm/sdk/base/TokensMeta.js +2 -1
  64. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +20 -3
  65. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +1 -1
  66. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +1 -1
  67. package/dist/esm/sdk/core/address-provider/createAddressProvider.js +36 -8
  68. package/dist/esm/sdk/gauges/GaugeStakingService.js +2 -1
  69. package/dist/esm/sdk/index.js +1 -0
  70. package/dist/esm/sdk/market/MarketConfiguratorContract.js +15 -0
  71. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +6 -2
  72. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +6 -2
  73. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +6 -0
  74. package/dist/esm/sdk/pools/AbstractPoolService.js +113 -0
  75. package/dist/esm/sdk/pools/PoolServiceV300.js +6 -0
  76. package/dist/esm/sdk/pools/PoolServiceV310.js +6 -0
  77. package/dist/esm/sdk/pools/createPoolService.js +15 -0
  78. package/dist/esm/sdk/pools/index.js +3 -0
  79. package/dist/esm/sdk/pools/types.js +0 -0
  80. package/dist/esm/sdk/sdk-legacy/core/endpoint.js +3 -9
  81. package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +2 -1
  82. package/dist/esm/sdk/utils/formatter.js +7 -0
  83. package/dist/types/abi/errors.d.ts +33 -0
  84. package/dist/types/dev/RevolverTransport.d.ts +2 -20
  85. package/dist/types/dev/providers.d.ts +8 -1
  86. package/dist/types/dev/transports.d.ts +1 -1
  87. package/dist/types/permissionless/utils/format.d.ts +0 -1
  88. package/dist/types/sdk/GearboxSDK.d.ts +1 -1
  89. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +2 -2
  90. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +2 -2
  91. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +2 -2
  92. package/dist/types/sdk/core/address-provider/types.d.ts +15 -0
  93. package/dist/types/sdk/index.d.ts +1 -0
  94. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +9 -0
  95. package/dist/types/sdk/pools/AbstractPoolService.d.ts +9 -0
  96. package/dist/types/sdk/pools/PoolServiceV300.d.ts +4 -0
  97. package/dist/types/sdk/pools/PoolServiceV310.d.ts +4 -0
  98. package/dist/types/sdk/pools/createPoolService.d.ts +8 -0
  99. package/dist/types/sdk/pools/index.d.ts +3 -0
  100. package/dist/types/sdk/pools/types.d.ts +92 -0
  101. package/dist/types/sdk/sdk-legacy/core/endpoint.d.ts +1 -3
  102. package/dist/types/sdk/types/state-human.d.ts +1 -1
  103. package/dist/types/sdk/utils/formatter.d.ts +1 -0
  104. package/package.json +6 -6
@@ -36,7 +36,7 @@ var import_generated = require("../../../abi/310/generated.js");
36
36
  var import_AbstractAddressProviderContract = __toESM(require("./AbstractAddressProviderContract.js"));
37
37
  const abi = import_generated.iAddressProviderV310Abi;
38
38
  class AddressProviderV310Contract extends import_AbstractAddressProviderContract.default {
39
- constructor(options, address, version = 310, addresses = {}) {
39
+ constructor(options, address, version = 310, addresses) {
40
40
  super(
41
41
  options,
42
42
  {
@@ -24,14 +24,32 @@ __export(createAddressProvider_exports, {
24
24
  module.exports = __toCommonJS(createAddressProvider_exports);
25
25
  var import_iVersion = require("../../../abi/iVersion.js");
26
26
  var import_constants = require("../../constants/index.js");
27
+ var import_hex = require("../../utils/hex.js");
27
28
  var import_AddressProviderV300Contract = require("./AddressProviderV300Contract.js");
28
29
  var import_AddressProviderV310Contract = require("./AddressProviderV310Contract.js");
30
+ const OVERRIDE_ADDRESSES = {
31
+ // Override price feed compressor and market feed compressor
32
+ // we urgently deployed fix and it has not been added to the address provider yet
33
+ Mainnet: {
34
+ [import_constants.AP_PRICE_FEED_COMPRESSOR]: {
35
+ 311: "0x1fA2637B9fab0CD14290A7EE908DDc9688a15120"
36
+ },
37
+ [import_constants.AP_MARKET_COMPRESSOR]: {
38
+ 311: "0x0C27F242f6e9F2A9AD3261bE6e439De3B948bcA2"
39
+ }
40
+ }
41
+ };
29
42
  async function createAddressProvider(sdk, address) {
30
- const v = await sdk.client.readContract({
31
- address,
32
- abi: import_iVersion.iVersionAbi,
33
- functionName: "version"
34
- });
43
+ let v;
44
+ if ((0, import_hex.hexEq)(address, import_constants.ADDRESS_PROVIDER_V310)) {
45
+ v = 310n;
46
+ } else {
47
+ v = await sdk.client.readContract({
48
+ address,
49
+ abi: import_iVersion.iVersionAbi,
50
+ functionName: "version"
51
+ });
52
+ }
35
53
  return newAddressProvider(sdk, address, Number(v));
36
54
  }
37
55
  function hydrateAddressProvider(sdk, state) {
@@ -39,11 +57,15 @@ function hydrateAddressProvider(sdk, state) {
39
57
  return newAddressProvider(sdk, addr, Number(version), state.addresses);
40
58
  }
41
59
  function newAddressProvider(sdk, address, version, addresses) {
60
+ const addrOptions = {
61
+ addresses,
62
+ overrides: OVERRIDE_ADDRESSES[sdk.networkType]
63
+ };
42
64
  if ((0, import_constants.isV300)(version)) {
43
- return new import_AddressProviderV300Contract.AddressProviderV300Contract(sdk, address, version, addresses);
65
+ return new import_AddressProviderV300Contract.AddressProviderV300Contract(sdk, address, version, addrOptions);
44
66
  }
45
67
  if ((0, import_constants.isV310)(version)) {
46
- return new import_AddressProviderV310Contract.AddressProviderV310Contract(sdk, address, version, addresses);
68
+ return new import_AddressProviderV310Contract.AddressProviderV310Contract(sdk, address, version, addrOptions);
47
69
  }
48
70
  throw new Error(`unsupported address provider version: ${version}`);
49
71
  }
@@ -80,7 +80,8 @@ class GaugeStakingService extends import_base.SDKConstruct {
80
80
  functionName: "getCurrentEpoch",
81
81
  args: []
82
82
  }
83
- ]
83
+ ],
84
+ batchSize: 0
84
85
  });
85
86
  return {
86
87
  availableBalance,
@@ -27,6 +27,7 @@ __reExport(sdk_exports, require("./market/index.js"), module.exports);
27
27
  __reExport(sdk_exports, require("./options.js"), module.exports);
28
28
  __reExport(sdk_exports, require("./plugins/index.js"), module.exports);
29
29
  __reExport(sdk_exports, require("./poolMigration/index.js"), module.exports);
30
+ __reExport(sdk_exports, require("./pools/index.js"), module.exports);
30
31
  __reExport(sdk_exports, require("./router/index.js"), module.exports);
31
32
  __reExport(sdk_exports, require("./sdk-gov-legacy/index.js"), module.exports);
32
33
  __reExport(sdk_exports, require("./sdk-legacy/index.js"), module.exports);
@@ -47,6 +48,7 @@ __reExport(sdk_exports, require("./utils/viem/index.js"), module.exports);
47
48
  ...require("./options.js"),
48
49
  ...require("./plugins/index.js"),
49
50
  ...require("./poolMigration/index.js"),
51
+ ...require("./pools/index.js"),
50
52
  ...require("./router/index.js"),
51
53
  ...require("./sdk-gov-legacy/index.js"),
52
54
  ...require("./sdk-legacy/index.js"),
@@ -47,6 +47,21 @@ class MarketConfiguratorContract extends import_base.BaseContract {
47
47
  `Market configurator ${this.#curatorName}`
48
48
  );
49
49
  }
50
+ static async getPeripheryContractBatch(configurators, client, contract) {
51
+ const resp = await client.multicall({
52
+ allowFailure: true,
53
+ contracts: configurators.map(
54
+ (cfg) => ({
55
+ address: cfg.address,
56
+ abi: cfg.abi,
57
+ functionName: "getPeripheryContracts",
58
+ args: [(0, import_viem.stringToHex)(contract, { size: 32 })]
59
+ })
60
+ ),
61
+ batchSize: 0
62
+ });
63
+ return resp;
64
+ }
50
65
  async getPeripheryContract(contract) {
51
66
  const resp = await this.client.readContract({
52
67
  address: this.address,
@@ -50,7 +50,7 @@ class CreditFacadeV300Contract extends import_base.BaseContract {
50
50
  expirable: this.expirable,
51
51
  isDegenMode: this.degenNFT !== import_constants.ADDRESS_0X0,
52
52
  degenNFT: this.labelAddress(this.degenNFT),
53
- expirationDate: this.expirationDate,
53
+ expirationDate: (0, import_utils.formatTimestamp)(this.expirationDate),
54
54
  maxDebtPerBlockMultiplier: this.maxDebtPerBlockMultiplier,
55
55
  botList: this.labelAddress(this.botList),
56
56
  minDebt: (0, import_utils.formatBNvalue)(this.minDebt, decimals),
@@ -50,7 +50,7 @@ class CreditFacadeV310Contract extends import_base.BaseContract {
50
50
  expirable: this.expirable,
51
51
  isDegenMode: this.degenNFT !== import_constants.ADDRESS_0X0,
52
52
  degenNFT: this.labelAddress(this.degenNFT),
53
- expirationDate: this.expirationDate,
53
+ expirationDate: (0, import_utils.formatTimestamp)(this.expirationDate),
54
54
  maxDebtPerBlockMultiplier: this.maxDebtPerBlockMultiplier,
55
55
  botList: this.labelAddress(this.botList),
56
56
  minDebt: (0, import_utils.formatBNvalue)(this.minDebt, decimals),
@@ -142,6 +142,9 @@ class PriceOracleBaseContract extends import_base.BaseContract {
142
142
  * @param reserve use reserve price feed instead of main
143
143
  */
144
144
  convertToUSD(from, amount, reserve = false) {
145
+ if (amount === 0n) {
146
+ return 0n;
147
+ }
145
148
  const price = reserve ? this.reservePrice(from) : this.mainPrice(from);
146
149
  const scale = 10n ** BigInt(this.tokensMeta.decimals(from));
147
150
  return amount * price / scale;
@@ -153,6 +156,9 @@ class PriceOracleBaseContract extends import_base.BaseContract {
153
156
  * @param reserve use reserve price feed instead of main
154
157
  */
155
158
  convertFromUSD(to, amount, reserve = false) {
159
+ if (amount === 0n) {
160
+ return 0n;
161
+ }
156
162
  const price = reserve ? this.reservePrice(to) : this.mainPrice(to);
157
163
  const scale = 10n ** BigInt(this.tokensMeta.decimals(to));
158
164
  return amount * scale / price;
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var AbstractPoolService_exports = {};
20
+ __export(AbstractPoolService_exports, {
21
+ AbstractPoolService: () => AbstractPoolService
22
+ });
23
+ module.exports = __toCommonJS(AbstractPoolService_exports);
24
+ var import_iERC20ZapperDeposits = require("../../abi/iERC20ZapperDeposits.js");
25
+ var import_iETHZapperDeposits = require("../../abi/iETHZapperDeposits.js");
26
+ var import_iZapper = require("../../abi/iZapper.js");
27
+ var import_v300 = require("../../abi/v300.js");
28
+ var import_base = require("../base/index.js");
29
+ class AbstractPoolService extends import_base.SDKConstruct {
30
+ #version;
31
+ constructor(sdk, version) {
32
+ super(sdk);
33
+ this.#version = version;
34
+ this.logger?.debug(`Created PoolService with version: ${this.#version}`);
35
+ }
36
+ addLiquidity({
37
+ collateral,
38
+ pool,
39
+ account,
40
+ zapper,
41
+ permit,
42
+ nativeTokenAddress,
43
+ referralCode = 0n,
44
+ migrate
45
+ }) {
46
+ if (zapper?.tokenIn === nativeTokenAddress) {
47
+ return [
48
+ {
49
+ target: zapper.zapper,
50
+ abi: import_iETHZapperDeposits.iethZapperDepositsAbi,
51
+ functionName: "depositWithReferral",
52
+ args: [account, referralCode],
53
+ value: collateral.balance
54
+ }
55
+ ];
56
+ } else if (zapper) {
57
+ return permit ? [
58
+ {
59
+ target: zapper.zapper,
60
+ abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
61
+ functionName: "depositWithReferralAndPermit",
62
+ args: [
63
+ collateral.balance,
64
+ account,
65
+ referralCode,
66
+ permit.deadline,
67
+ permit.v,
68
+ permit.r,
69
+ permit.s
70
+ ]
71
+ }
72
+ ] : [
73
+ {
74
+ target: zapper.zapper,
75
+ abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
76
+ functionName: "depositWithReferral",
77
+ args: [collateral.balance, account, referralCode]
78
+ }
79
+ ];
80
+ } else {
81
+ if (migrate) throw Error("No zapper for migration");
82
+ return [
83
+ {
84
+ target: pool,
85
+ abi: import_v300.iPoolV300Abi,
86
+ functionName: "depositWithReferral",
87
+ args: [collateral.balance, account, referralCode]
88
+ }
89
+ ];
90
+ }
91
+ }
92
+ removeLiquidity({
93
+ pool,
94
+ amount,
95
+ account,
96
+ zapper,
97
+ permit
98
+ }) {
99
+ if (zapper) {
100
+ return permit ? [
101
+ {
102
+ target: zapper.zapper,
103
+ abi: import_iZapper.iZapperAbi,
104
+ functionName: "redeemWithPermit",
105
+ args: [
106
+ amount,
107
+ account,
108
+ permit.deadline,
109
+ permit.v,
110
+ permit.r,
111
+ permit.s
112
+ ]
113
+ }
114
+ ] : [
115
+ {
116
+ target: zapper.zapper,
117
+ abi: import_iZapper.iZapperAbi,
118
+ functionName: "redeem",
119
+ args: [amount, account]
120
+ }
121
+ ];
122
+ } else {
123
+ return [
124
+ {
125
+ target: pool,
126
+ abi: import_v300.iPoolV300Abi,
127
+ functionName: "redeem",
128
+ args: [amount, account, account]
129
+ }
130
+ ];
131
+ }
132
+ }
133
+ }
134
+ // Annotate the CommonJS export names for ESM import in node:
135
+ 0 && (module.exports = {
136
+ AbstractPoolService
137
+ });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var PoolServiceV300_exports = {};
20
+ __export(PoolServiceV300_exports, {
21
+ PoolServiceV300: () => PoolServiceV300
22
+ });
23
+ module.exports = __toCommonJS(PoolServiceV300_exports);
24
+ var import_AbstractPoolService = require("./AbstractPoolService.js");
25
+ class PoolServiceV300 extends import_AbstractPoolService.AbstractPoolService {
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ PoolServiceV300
30
+ });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var PoolServiceV310_exports = {};
20
+ __export(PoolServiceV310_exports, {
21
+ PoolServiceV310: () => PoolServiceV310
22
+ });
23
+ module.exports = __toCommonJS(PoolServiceV310_exports);
24
+ var import_AbstractPoolService = require("./AbstractPoolService.js");
25
+ class PoolServiceV310 extends import_AbstractPoolService.AbstractPoolService {
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ PoolServiceV310
30
+ });
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createPoolService_exports = {};
20
+ __export(createPoolService_exports, {
21
+ createPoolService: () => createPoolService
22
+ });
23
+ module.exports = __toCommonJS(createPoolService_exports);
24
+ var import_constants = require("../constants/index.js");
25
+ var import_PoolServiceV300 = require("./PoolServiceV300.js");
26
+ var import_PoolServiceV310 = require("./PoolServiceV310.js");
27
+ function createPoolService(sdk, version) {
28
+ if ((0, import_constants.isV300)(version)) {
29
+ return new import_PoolServiceV300.PoolServiceV300(sdk, version);
30
+ }
31
+ if ((0, import_constants.isV310)(version)) {
32
+ return new import_PoolServiceV310.PoolServiceV310(sdk, version);
33
+ }
34
+ throw new Error(`Unsupported Pool Service version ${version}`);
35
+ }
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ createPoolService
39
+ });
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var pools_exports = {};
17
+ module.exports = __toCommonJS(pools_exports);
18
+ __reExport(pools_exports, require("./AbstractPoolService.js"), module.exports);
19
+ __reExport(pools_exports, require("./createPoolService.js"), module.exports);
20
+ __reExport(pools_exports, require("./types.js"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./AbstractPoolService.js"),
24
+ ...require("./createPoolService.js"),
25
+ ...require("./types.js")
26
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -114,15 +114,9 @@ class GearboxBackendApi {
114
114
  return `${LEADERBOARD_APIS[chainId]}${url}`;
115
115
  };
116
116
  static getReferralUrl = () => REFERRAL_API;
117
- static apyServerAllRewards = (chainId) => URLApi.getRelativeUrl("https://apy-server.fly.dev/api/rewards/tokens/all", {
118
- params: { chain_id: chainId }
119
- });
120
- static apyServerGearAPY = (chainId) => URLApi.getRelativeUrl("https://apy-server.fly.dev/api/rewards/gear-apy", {
121
- params: { chain_id: chainId }
122
- });
123
- static apyServerAllPoolRewards = (chainId) => URLApi.getRelativeUrl("https://apy-server.fly.dev/api/rewards/pools/all", {
124
- params: { chain_id: chainId }
125
- });
117
+ static apyAllRewards = () => URLApi.getRelativeUrl(
118
+ "https://state-cache.gearbox.foundation/apy-server/latest.json"
119
+ );
126
120
  }
127
121
  class URLApi {
128
122
  static getRelativeUrl = (url, options) => {
@@ -128,7 +128,8 @@ class GearboxRewardsApi {
128
128
  const [response] = await Promise.allSettled([
129
129
  provider.multicall({
130
130
  allowFailure: false,
131
- contracts: [...farmInfoCalls, ...rewardTokenCalls, ...farmedCalls]
131
+ contracts: [...farmInfoCalls, ...rewardTokenCalls, ...farmedCalls],
132
+ batchSize: 0
132
133
  })
133
134
  ]);
134
135
  const safeResponse = GearboxRewardsApi.extractFulfilled(response, reportError, "v3Rewards") || [];
@@ -23,6 +23,7 @@ __export(formatter_exports, {
23
23
  formatBNvalue: () => formatBNvalue,
24
24
  formatDuration: () => formatDuration,
25
25
  formatNumberToString_: () => formatNumberToString_,
26
+ formatTimestamp: () => formatTimestamp,
26
27
  numberWithCommas: () => numberWithCommas,
27
28
  percentFmt: () => percentFmt,
28
29
  toBigInt: () => toBigInt
@@ -121,6 +122,12 @@ function formatDuration(seconds, raw = true) {
121
122
  function formatNumberToString_(value) {
122
123
  return value.toLocaleString("en-US", { minimumIntegerDigits: 1, useGrouping: true }).replaceAll(",", "_");
123
124
  }
125
+ function formatTimestamp(timestamp) {
126
+ return new Date(timestamp * 1e3).toLocaleString("en-GB", {
127
+ dateStyle: "short",
128
+ timeStyle: "short"
129
+ });
130
+ }
124
131
  // Annotate the CommonJS export names for ESM import in node:
125
132
  0 && (module.exports = {
126
133
  fmtBinaryMask,
@@ -128,6 +135,7 @@ function formatNumberToString_(value) {
128
135
  formatBNvalue,
129
136
  formatDuration,
130
137
  formatNumberToString_,
138
+ formatTimestamp,
131
139
  numberWithCommas,
132
140
  percentFmt,
133
141
  toBigInt
@@ -369,6 +369,12 @@ const iExceptionsV310Abi = [
369
369
  { type: "error", name: "VotingContractNotAllowedException", inputs: [] },
370
370
  { type: "error", name: "ZeroAddressException", inputs: [] }
371
371
  ];
372
+ const iPartialLiquidationBotV310ErrorsAbi = [
373
+ { type: "error", name: "LiquidatedLessThanNeededException", inputs: [] },
374
+ { type: "error", name: "LiquidatedMoreThanNeededException", inputs: [] },
375
+ { type: "error", name: "SeizedLessThanRequiredException", inputs: [] },
376
+ { type: "error", name: "UnderlyingNotLiquidatableException", inputs: [] }
377
+ ];
372
378
  const errorAbis = [
373
379
  ...iExceptionsV300Abi,
374
380
  ...iExceptionsV310Abi,
@@ -376,12 +382,14 @@ const errorAbis = [
376
382
  ...iRedstoneErrorsAbi,
377
383
  ...ilpPriceFeedExceptionsAbi,
378
384
  ...iRouterErrorsV300Abi,
379
- ...iRouterErrorsV310Abi
385
+ ...iRouterErrorsV310Abi,
386
+ ...iPartialLiquidationBotV310ErrorsAbi
380
387
  ];
381
388
  export {
382
389
  errorAbis,
383
390
  iExceptionsV300Abi,
384
391
  iExceptionsV310Abi,
392
+ iPartialLiquidationBotV310ErrorsAbi,
385
393
  iRedstoneErrorsAbi,
386
394
  iRedstonePriceFeedExceptionsAbi,
387
395
  iRouterErrorsV300Abi,
@@ -704,7 +704,8 @@ class AccountOpener extends SDKConstruct {
704
704
  args: [distributor.address]
705
705
  })
706
706
  ),
707
- allowFailure: false
707
+ allowFailure: false,
708
+ batchSize: 0
708
709
  });
709
710
  const tokensArr = tokens.asArray();
710
711
  for (let i = 0; i < tokensArr.length; i++) {
@@ -11,8 +11,7 @@ import {
11
11
  withRetry
12
12
  } from "viem";
13
13
  import { z } from "zod/v4";
14
- import { NetworkType } from "../sdk/index.js";
15
- import { httpTransportConfigSchema } from "./transports.js";
14
+ import { httpTransportOptionsSchema } from "./transports.js";
16
15
  const providerConfigSchema = z.object({
17
16
  /**
18
17
  * Provider name for display purposes
@@ -29,11 +28,10 @@ const providerConfigSchema = z.object({
29
28
  /**
30
29
  * HTTP transport options to use for this provider
31
30
  */
32
- httpClientOptions: httpTransportConfigSchema.optional()
31
+ httpTransportOptions: httpTransportOptionsSchema.optional()
33
32
  });
34
33
  const SelectionStrategy = z.enum(["simple", "ordered"]);
35
34
  const revolverTransportConfigSchema = z.object({
36
- network: NetworkType,
37
35
  /**
38
36
  * Providers to use
39
37
  */
@@ -50,7 +48,7 @@ const revolverTransportConfigSchema = z.object({
50
48
  /**
51
49
  * Default HTTP options to use for all providers, can be overridden by provider config
52
50
  */
53
- defaultHTTPOptions: httpTransportConfigSchema.optional(),
51
+ defaultHTTPOptions: httpTransportOptionsSchema.optional(),
54
52
  /**
55
53
  * Default cooldown, in milliseconds, to wait before try this transport again
56
54
  */
@@ -91,11 +89,11 @@ class RevolverTransport {
91
89
  shouldRetry: config.shouldRetry ?? defaultShouldRetry
92
90
  };
93
91
  const transports = config.providers.map(
94
- ({ url, name, cooldown, httpClientOptions }) => ({
92
+ ({ url, name, cooldown, httpTransportOptions }) => ({
95
93
  name,
96
94
  transport: http(url, {
97
95
  ...config.defaultHTTPOptions,
98
- ...httpClientOptions,
96
+ ...httpTransportOptions,
99
97
  key: name,
100
98
  name,
101
99
  onFetchRequest: this.#config.onRequest ? (...args) => this.#config.onRequest?.(name, ...args) : void 0,
@@ -170,7 +170,8 @@ async function logLTs(anvil, cm, tokens, logger) {
170
170
  address: t,
171
171
  args: []
172
172
  }
173
- ])
173
+ ]),
174
+ batchSize: 0
174
175
  });
175
176
  for (let i = 0; i < tokens.length; i++) {
176
177
  const lt = resp[i * 2]?.result ?? "error";
@@ -31,7 +31,8 @@ async function unsafeMigrateFaucet(sdk, faucet) {
31
31
  args: []
32
32
  }
33
33
  ],
34
- allowFailure: false
34
+ allowFailure: false,
35
+ batchSize: 0
35
36
  });
36
37
  }
37
38
  sdk.logger?.debug(`faucet address: ${faucetAddr}, owner: ${owner}`);
@@ -1,3 +1,4 @@
1
+ import { z } from "zod/v4";
1
2
  import { chains, getChain } from "../sdk/index.js";
2
3
  const SUPPORTED_RPC_PROVIDERS = [
3
4
  "alchemy",
@@ -5,6 +6,7 @@ const SUPPORTED_RPC_PROVIDERS = [
5
6
  "thirdweb",
6
7
  "ankr"
7
8
  ];
9
+ const rpcProvidersSchema = z.enum(SUPPORTED_RPC_PROVIDERS);
8
10
  function getRpcProviderUrl(provider, network, apiKey, protocol = "http") {
9
11
  switch (provider) {
10
12
  case "alchemy":
@@ -128,5 +130,6 @@ export {
128
130
  getDrpcUrl,
129
131
  getErpcKey,
130
132
  getRpcProviderUrl,
131
- getThirdWebUrl
133
+ getThirdWebUrl,
134
+ rpcProvidersSchema
132
135
  };
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod/v4";
2
- const httpTransportConfigSchema = z.object({
2
+ const httpTransportOptionsSchema = z.object({
3
3
  /**
4
4
  * Whether to enable Batch JSON-RPC.
5
5
  * @link https://www.jsonrpc.org/specification#batch
@@ -43,5 +43,5 @@ const httpTransportConfigSchema = z.object({
43
43
  timeout: z.number().optional()
44
44
  });
45
45
  export {
46
- httpTransportConfigSchema
46
+ httpTransportOptionsSchema
47
47
  };