@gearbox-protocol/sdk 12.4.0-next.1 → 12.4.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 (94) 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/createAddressProvider.js +11 -5
  24. package/dist/cjs/sdk/gauges/GaugeStakingService.js +2 -1
  25. package/dist/cjs/sdk/index.js +2 -0
  26. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +15 -0
  27. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +1 -1
  28. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +1 -1
  29. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +6 -0
  30. package/dist/cjs/sdk/pools/AbstractPoolService.js +137 -0
  31. package/dist/cjs/sdk/pools/PoolServiceV300.js +30 -0
  32. package/dist/cjs/sdk/pools/PoolServiceV310.js +30 -0
  33. package/dist/cjs/sdk/pools/createPoolService.js +39 -0
  34. package/dist/cjs/sdk/pools/index.js +26 -0
  35. package/dist/cjs/sdk/pools/types.js +16 -0
  36. package/dist/cjs/sdk/sdk-legacy/core/endpoint.js +3 -9
  37. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +2 -1
  38. package/dist/cjs/sdk/utils/formatter.js +8 -0
  39. package/dist/esm/abi/errors.js +9 -1
  40. package/dist/esm/dev/AccountOpener.js +2 -1
  41. package/dist/esm/dev/RevolverTransport.js +5 -7
  42. package/dist/esm/dev/ltUtils.js +2 -1
  43. package/dist/esm/dev/migrateFaucet.js +2 -1
  44. package/dist/esm/dev/providers.js +4 -1
  45. package/dist/esm/dev/transports.js +2 -2
  46. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +7 -4
  47. package/dist/esm/permissionless/bindings/governance/governor.js +5 -2
  48. package/dist/esm/permissionless/bindings/market-configurator.js +4 -2
  49. package/dist/esm/permissionless/bindings/price-feed-store.js +2 -1
  50. package/dist/esm/permissionless/bindings/treasury-splitter.js +13 -2
  51. package/dist/esm/permissionless/utils/format.js +0 -7
  52. package/dist/esm/plugins/accounts-counter/AccountsCounterPlugin.js +2 -1
  53. package/dist/esm/plugins/bots/BotsPlugin.js +4 -2
  54. package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +13 -7
  55. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +2 -1
  56. package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +2 -1
  57. package/dist/esm/plugins/zappers/ZappersPlugin.js +2 -1
  58. package/dist/esm/sdk/GearboxSDK.js +9 -5
  59. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +71 -38
  60. package/dist/esm/sdk/base/TokensMeta.js +2 -1
  61. package/dist/esm/sdk/core/address-provider/createAddressProvider.js +16 -6
  62. package/dist/esm/sdk/gauges/GaugeStakingService.js +2 -1
  63. package/dist/esm/sdk/index.js +1 -0
  64. package/dist/esm/sdk/market/MarketConfiguratorContract.js +15 -0
  65. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +6 -2
  66. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +6 -2
  67. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +6 -0
  68. package/dist/esm/sdk/pools/AbstractPoolService.js +113 -0
  69. package/dist/esm/sdk/pools/PoolServiceV300.js +6 -0
  70. package/dist/esm/sdk/pools/PoolServiceV310.js +6 -0
  71. package/dist/esm/sdk/pools/createPoolService.js +15 -0
  72. package/dist/esm/sdk/pools/index.js +3 -0
  73. package/dist/esm/sdk/pools/types.js +0 -0
  74. package/dist/esm/sdk/sdk-legacy/core/endpoint.js +3 -9
  75. package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +2 -1
  76. package/dist/esm/sdk/utils/formatter.js +7 -0
  77. package/dist/types/abi/errors.d.ts +33 -0
  78. package/dist/types/dev/RevolverTransport.d.ts +2 -20
  79. package/dist/types/dev/providers.d.ts +8 -1
  80. package/dist/types/dev/transports.d.ts +1 -1
  81. package/dist/types/permissionless/utils/format.d.ts +0 -1
  82. package/dist/types/sdk/GearboxSDK.d.ts +1 -1
  83. package/dist/types/sdk/index.d.ts +1 -0
  84. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +9 -0
  85. package/dist/types/sdk/pools/AbstractPoolService.d.ts +9 -0
  86. package/dist/types/sdk/pools/PoolServiceV300.d.ts +4 -0
  87. package/dist/types/sdk/pools/PoolServiceV310.d.ts +4 -0
  88. package/dist/types/sdk/pools/createPoolService.d.ts +8 -0
  89. package/dist/types/sdk/pools/index.d.ts +3 -0
  90. package/dist/types/sdk/pools/types.d.ts +92 -0
  91. package/dist/types/sdk/sdk-legacy/core/endpoint.d.ts +1 -3
  92. package/dist/types/sdk/types/state-human.d.ts +1 -1
  93. package/dist/types/sdk/utils/formatter.d.ts +1 -0
  94. package/package.json +6 -6
@@ -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
  };
@@ -25,7 +25,8 @@ class TokenCompressorContract extends BaseContract {
25
25
  args: []
26
26
  }));
27
27
  const results = await this.client.multicall({
28
- contracts
28
+ contracts,
29
+ batchSize: 0
29
30
  });
30
31
  const multivaultToToken = /* @__PURE__ */ new Map();
31
32
  const multivaults = [];
@@ -44,7 +45,8 @@ class TokenCompressorContract extends BaseContract {
44
45
  functionName: "symbol",
45
46
  args: []
46
47
  })),
47
- allowFailure: true
48
+ allowFailure: true,
49
+ batchSize: 0
48
50
  });
49
51
  const tokenToSymbol = /* @__PURE__ */ new Map();
50
52
  for (let i = 0; i < resultsSymbols.length; i++) {
@@ -66,7 +68,8 @@ class TokenCompressorContract extends BaseContract {
66
68
  abi,
67
69
  functionName: "getTokenInfo",
68
70
  args: [token]
69
- }))
71
+ })),
72
+ batchSize: 0
70
73
  });
71
74
  const tokenInfos = results.map((result, index) => {
72
75
  if (result.status === "failure") {
@@ -78,7 +81,7 @@ class TokenCompressorContract extends BaseContract {
78
81
  const postfix = multivaultSymbol ? `[${multivaultSymbol}]` : "";
79
82
  return {
80
83
  ...tokenInfo,
81
- symbol: `${tokenInfo.symbol} ${postfix}`
84
+ symbol: !postfix ? tokenInfo.symbol : `${tokenInfo.symbol} ${postfix}`
82
85
  };
83
86
  });
84
87
  return tokenInfos;
@@ -6,8 +6,11 @@ import {
6
6
  } from "viem";
7
7
  import { formatAbiItem } from "viem/utils";
8
8
  import { governorAbi } from "../../../abi/governance/governor.js";
9
- import { BaseContract, json_stringify } from "../../../sdk/index.js";
10
- import { formatTimestamp } from "../../utils/index.js";
9
+ import {
10
+ BaseContract,
11
+ formatTimestamp,
12
+ json_stringify
13
+ } from "../../../sdk/index.js";
11
14
  import { MarketConfiguratorContract } from "../market-configurator.js";
12
15
  import { TreasurySplitterContract } from "../treasury-splitter.js";
13
16
  import { BatchesChainContract } from "./batches-chain.js";
@@ -413,7 +413,8 @@ class MarketConfiguratorContract extends BaseContract {
413
413
  functionName: "getRoleHolders",
414
414
  args: [stringToHex("EMERGENCY_LIQUIDATOR", { size: 32 })]
415
415
  }
416
- ]
416
+ ],
417
+ batchSize: 0
417
418
  });
418
419
  return {
419
420
  admin,
@@ -442,7 +443,8 @@ class MarketConfiguratorContract extends BaseContract {
442
443
  address: admin,
443
444
  abi: parseAbi(["function contractType() view returns (bytes32)"]),
444
445
  functionName: "contractType"
445
- }))
446
+ })),
447
+ batchSize: 0
446
448
  });
447
449
  const pause = result.map((r, i) => ({
448
450
  ...r,
@@ -310,7 +310,8 @@ class PriceFeedStoreContract extends BaseContract {
310
310
  args: [priceFeed]
311
311
  }));
312
312
  const results = await this.client.multicall({
313
- contracts: multicallCalls
313
+ contracts: multicallCalls,
314
+ batchSize: 0
314
315
  });
315
316
  return results.map((result, index) => {
316
317
  if (result.status === "failure") {
@@ -2,7 +2,7 @@ import {
2
2
  decodeFunctionData
3
3
  } from "viem";
4
4
  import { ITreasurySplitterAbi } from "../../abi/310/iTreasurySplitter.js";
5
- import { BaseContract } from "../../sdk/index.js";
5
+ import { BaseContract, json_stringify } from "../../sdk/index.js";
6
6
  const abi = ITreasurySplitterAbi;
7
7
  class TreasurySplitterContract extends BaseContract {
8
8
  constructor(addr, client) {
@@ -78,7 +78,18 @@ class TreasurySplitterContract extends BaseContract {
78
78
  });
79
79
  return {
80
80
  functionName: decoded.functionName,
81
- ...super.parseFunctionParams(decoded)
81
+ ...this.parseFunctionParams(decoded)
82
+ };
83
+ }
84
+ case "setDefaultSplit": {
85
+ const [receivers, proportions] = args;
86
+ return {
87
+ receivers: json_stringify(receivers),
88
+ proportions: json_stringify(
89
+ proportions.map(
90
+ (proportion) => `${proportion / 100}% [${proportion}]`
91
+ )
92
+ )
82
93
  };
83
94
  }
84
95
  default: