@gearbox-protocol/sdk 14.12.0-next.74 → 14.12.0-next.76

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 (79) hide show
  1. package/dist/cjs/plugins/accounts-counter/AccountsCounterPlugin.js +1 -1
  2. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +85 -584
  3. package/dist/cjs/sdk/accounts/bots/AccountBotsService.js +132 -0
  4. package/dist/cjs/sdk/accounts/bots/PeripheryCompressorV310Contract.js +31 -0
  5. package/dist/cjs/sdk/accounts/bots/abi.js +19 -0
  6. package/dist/cjs/sdk/accounts/bots/index.js +6 -0
  7. package/dist/cjs/sdk/accounts/bots/types.js +1 -0
  8. package/dist/cjs/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +280 -0
  9. package/dist/cjs/sdk/accounts/credit-account-compressor/CreditAccountCompressorV310Contract.js +141 -0
  10. package/dist/cjs/sdk/accounts/credit-account-compressor/index.js +6 -0
  11. package/dist/cjs/sdk/accounts/credit-account-compressor/types.js +1 -0
  12. package/dist/cjs/sdk/accounts/index.js +10 -0
  13. package/dist/cjs/sdk/index.js +8 -0
  14. package/dist/cjs/sdk/market/ZapperRegister.js +1 -1
  15. package/dist/cjs/sdk/market/credit/CreditSuite.js +31 -0
  16. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +41 -1
  17. package/dist/cjs/sdk/market/oracle/PriceOracleV310Contract.js +0 -23
  18. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +1 -1
  19. package/dist/esm/plugins/accounts-counter/AccountsCounterPlugin.js +1 -1
  20. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +87 -586
  21. package/dist/esm/sdk/accounts/bots/AccountBotsService.js +131 -0
  22. package/dist/esm/sdk/accounts/bots/PeripheryCompressorV310Contract.js +31 -0
  23. package/dist/esm/sdk/accounts/bots/abi.js +18 -0
  24. package/dist/esm/sdk/accounts/bots/index.js +4 -0
  25. package/dist/esm/sdk/accounts/bots/types.js +1 -0
  26. package/dist/esm/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +279 -0
  27. package/dist/esm/sdk/accounts/credit-account-compressor/CreditAccountCompressorV310Contract.js +141 -0
  28. package/dist/esm/sdk/accounts/credit-account-compressor/index.js +4 -0
  29. package/dist/esm/sdk/accounts/credit-account-compressor/types.js +1 -0
  30. package/dist/esm/sdk/accounts/index.js +7 -1
  31. package/dist/esm/sdk/index.js +5 -1
  32. package/dist/esm/sdk/market/ZapperRegister.js +1 -1
  33. package/dist/esm/sdk/market/credit/CreditSuite.js +31 -0
  34. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +41 -1
  35. package/dist/esm/sdk/market/oracle/PriceOracleV310Contract.js +0 -23
  36. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +1 -1
  37. package/dist/types/new-sdk/AbstractNamespace.d.ts +2 -2
  38. package/dist/types/new-sdk/opportunities/OpportunitiesNamespace.d.ts +1 -1
  39. package/dist/types/new-sdk/positions/PositionsNamespace.d.ts +1 -1
  40. package/dist/types/plugins/accounts/AccountsPlugin.d.ts +1 -1
  41. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +17 -58
  42. package/dist/types/sdk/accounts/bots/AccountBotsService.d.ts +38 -0
  43. package/dist/types/sdk/accounts/bots/PeripheryCompressorV310Contract.d.ts +236 -0
  44. package/dist/types/sdk/accounts/bots/abi.d.ts +18 -0
  45. package/dist/types/sdk/accounts/bots/index.d.ts +4 -0
  46. package/dist/types/sdk/accounts/bots/types.d.ts +143 -0
  47. package/dist/types/sdk/accounts/credit-account-compressor/CreditAccountCompressor.d.ts +60 -0
  48. package/dist/types/sdk/accounts/credit-account-compressor/CreditAccountCompressorV310Contract.d.ts +879 -0
  49. package/dist/types/sdk/accounts/credit-account-compressor/index.d.ts +4 -0
  50. package/dist/types/sdk/accounts/credit-account-compressor/types.d.ts +164 -0
  51. package/dist/types/sdk/accounts/index.d.ts +11 -3
  52. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +2 -2
  53. package/dist/types/sdk/accounts/liquidations/types.d.ts +1 -1
  54. package/dist/types/sdk/accounts/types.d.ts +13 -194
  55. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  56. package/dist/types/sdk/base/index.d.ts +2 -2
  57. package/dist/types/sdk/base/types.d.ts +6 -1
  58. package/dist/types/sdk/index.d.ts +11 -5
  59. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +1 -1
  60. package/dist/types/sdk/market/MarketSuite.d.ts +1 -1
  61. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  62. package/dist/types/sdk/market/credit/CreditSuite.d.ts +26 -1
  63. package/dist/types/sdk/market/credit/types.d.ts +1 -1
  64. package/dist/types/sdk/market/index.d.ts +2 -2
  65. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +16 -5
  66. package/dist/types/sdk/market/oracle/PriceOracleV310Contract.d.ts +0 -11
  67. package/dist/types/sdk/market/oracle/index.d.ts +2 -2
  68. package/dist/types/sdk/market/oracle/types.d.ts +31 -15
  69. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +1 -1
  70. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +1 -1
  71. package/dist/types/sdk/market/pool/PoolSuite.d.ts +1 -1
  72. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +1 -1
  73. package/dist/types/sdk/market/pool/types.d.ts +1 -1
  74. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +1 -1
  75. package/dist/types/sdk/market/pricefeeds/types.d.ts +1 -1
  76. package/dist/types/sdk/opportunities/MultichainOpportunitiesService.d.ts +2 -2
  77. package/dist/types/sdk/pools/types.d.ts +1 -1
  78. package/dist/types/sdk/positions/MultichainPositionsService.d.ts +2 -2
  79. package/package.json +1 -1
@@ -43,6 +43,8 @@ const require_sdk_base_SDKConstruct = require("./base/SDKConstruct.js");
43
43
  const require_sdk_base_token_types = require("./base/token-types.js");
44
44
  const require_sdk_base_types = require("./base/types.js");
45
45
  require("./base/index.js");
46
+ const require_sdk_accounts_bots_PeripheryCompressorV310Contract = require("./accounts/bots/PeripheryCompressorV310Contract.js");
47
+ const require_sdk_accounts_bots_AccountBotsService = require("./accounts/bots/AccountBotsService.js");
46
48
  const require_sdk_market_adapters_PlaceholderAdapterContracts = require("./market/adapters/PlaceholderAdapterContracts.js");
47
49
  const require_sdk_market_adapters_createAdapter = require("./market/adapters/createAdapter.js");
48
50
  const require_sdk_market_credit_CreditConfiguratorV310Contract = require("./market/credit/CreditConfiguratorV310Contract.js");
@@ -104,6 +106,8 @@ const require_sdk_market_rwa_securitize_SecuritizeRWAFactory = require("./market
104
106
  const require_sdk_market_rwa_RWARegistry = require("./market/rwa/RWARegistry.js");
105
107
  const require_sdk_market_rwa_types = require("./market/rwa/types.js");
106
108
  require("./market/index.js");
109
+ const require_sdk_accounts_credit_account_compressor_CreditAccountCompressorV310Contract = require("./accounts/credit-account-compressor/CreditAccountCompressorV310Contract.js");
110
+ const require_sdk_accounts_credit_account_compressor_CreditAccountCompressor = require("./accounts/credit-account-compressor/CreditAccountCompressor.js");
107
111
  const require_sdk_accounts_CreditAccountsServiceV310 = require("./accounts/CreditAccountsServiceV310.js");
108
112
  const require_sdk_accounts_intents_operations_claim_delayed_index = require("./accounts/intents/operations/claim-delayed/index.js");
109
113
  const require_sdk_accounts_intents_index = require("./accounts/intents/index.js");
@@ -183,6 +187,7 @@ exports.AP_ZERO_PRICE_FEED = require_sdk_constants_address_provider.AP_ZERO_PRIC
183
187
  exports.AbstractLPPriceFeedContract = require_sdk_market_pricefeeds_AbstractLPPriceFeed.AbstractLPPriceFeedContract;
184
188
  exports.AbstractPriceFeedContract = require_sdk_market_pricefeeds_AbstractPriceFeed.AbstractPriceFeedContract;
185
189
  exports.AbstractWithdrawalCompressorContract = require_sdk_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract.AbstractWithdrawalCompressorContract;
190
+ exports.AccountBotsService = require_sdk_accounts_bots_AccountBotsService.AccountBotsService;
186
191
  exports.AddressMap = require_sdk_utils_AddressMap.AddressMap;
187
192
  exports.AddressProviderV310Contract = require_sdk_core_AddressProviderV310Contract.AddressProviderV310Contract;
188
193
  exports.AddressSet = require_sdk_utils_AddressSet.AddressSet;
@@ -200,6 +205,8 @@ exports.ChainNotConfiguredError = require_sdk_core_errors.ChainNotConfiguredErro
200
205
  exports.CompositePriceFeedContract = require_sdk_market_pricefeeds_CompositePriceFeed.CompositePriceFeedContract;
201
206
  exports.Construct = require_sdk_base_Construct.Construct;
202
207
  exports.ContractParseError = require_sdk_base_BaseContract.ContractParseError;
208
+ exports.CreditAccountCompressor = require_sdk_accounts_credit_account_compressor_CreditAccountCompressor.CreditAccountCompressor;
209
+ exports.CreditAccountCompressorV310Contract = require_sdk_accounts_credit_account_compressor_CreditAccountCompressorV310Contract.CreditAccountCompressorV310Contract;
203
210
  exports.CreditAccountOperationsService = require_sdk_accounts_intents_index.CreditAccountOperationsService;
204
211
  exports.CreditAccountsServiceV310 = require_sdk_accounts_CreditAccountsServiceV310.CreditAccountsServiceV310;
205
212
  exports.CreditConfiguratorV310Contract = require_sdk_market_credit_CreditConfiguratorV310Contract.CreditConfiguratorV310Contract;
@@ -257,6 +264,7 @@ exports.PRICE_DECIMALS = require_sdk_constants_math.PRICE_DECIMALS;
257
264
  exports.PRICE_DECIMALS_POW = require_sdk_constants_math.PRICE_DECIMALS_POW;
258
265
  exports.PartialPriceFeedInitError = require_sdk_market_pricefeeds_AbstractPriceFeed.PartialPriceFeedInitError;
259
266
  exports.PendleTWAPPTPriceFeed = require_sdk_market_pricefeeds_PendleTWAPPTPriceFeed.PendleTWAPPTPriceFeed;
267
+ exports.PeripheryCompressorV310Contract = require_sdk_accounts_bots_PeripheryCompressorV310Contract.PeripheryCompressorV310Contract;
260
268
  exports.PlaceholderAdapterContract = require_sdk_market_adapters_PlaceholderAdapterContracts.PlaceholderAdapterContract;
261
269
  exports.PlaceholderContract = require_sdk_base_PlaceholderContract.PlaceholderContract;
262
270
  exports.PluginStateVersionError = require_sdk_plugins_errors.PluginStateVersionError;
@@ -1,5 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_abi_compressors_peripheryCompressor = require("../../abi/compressors/peripheryCompressor.js");
3
2
  const require_sdk_utils_AddressMap = require("../utils/AddressMap.js");
4
3
  const require_sdk_constants_address_provider = require("../constants/address-provider.js");
5
4
  const require_sdk_constants_versions = require("../constants/versions.js");
@@ -8,6 +7,7 @@ const require_sdk_utils_hex = require("../utils/hex.js");
8
7
  require("../utils/index.js");
9
8
  const require_sdk_base_SDKConstruct = require("../base/SDKConstruct.js");
10
9
  require("../base/index.js");
10
+ const require_abi_compressors_peripheryCompressor = require("../../abi/compressors/peripheryCompressor.js");
11
11
  const require_sdk_market_zapper_createZapper = require("./zapper/createZapper.js");
12
12
  require("./zapper/index.js");
13
13
  //#region src/sdk/market/ZapperRegister.ts
@@ -90,6 +90,37 @@ var CreditSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
90
90
  return this.market.configurator;
91
91
  }
92
92
  /**
93
+ * Factory that opens and manages the accounts of this suite, defined only
94
+ * for RWA markets.
95
+ */
96
+ get rwaFactory() {
97
+ return this.market.rwaFactory;
98
+ }
99
+ /**
100
+ * Builds a transaction that executes a multicall on one of this suite's
101
+ * credit accounts.
102
+ *
103
+ * @param creditAccount - Account to operate on.
104
+ * @param calls - Multicall body.
105
+ * @param rwaOptions - Factory-specific args, ignored on non-RWA markets.
106
+ */
107
+ multicallTx(creditAccount, calls, rwaOptions) {
108
+ const { rwaFactory } = this;
109
+ return rwaFactory ? rwaFactory.multicall(creditAccount, calls, rwaOptions) : this.creditFacade.multicall(creditAccount, calls);
110
+ }
111
+ /**
112
+ * Builds a transaction that opens a new credit account in this suite.
113
+ *
114
+ * @param to - Owner of the new account.
115
+ * @param calls - Multicall body executed on the new account.
116
+ * @param referralCode - Referral code, facade path only.
117
+ * @param rwaOptions - Factory-specific args, ignored on non-RWA markets.
118
+ */
119
+ openCreditAccountTx(to, calls, referralCode, rwaOptions) {
120
+ const { rwaFactory } = this;
121
+ return rwaFactory ? rwaFactory.openCreditAccount(this.creditManager.address, calls, rwaOptions) : this.creditFacade.openCreditAccount(to, calls, referralCode ?? 0n);
122
+ }
123
+ /**
93
124
  * Router configured for this credit suite.
94
125
  */
95
126
  get router() {
@@ -1,6 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_sdk_utils_AddressMap = require("../../utils/AddressMap.js");
3
+ const require_sdk_utils_AddressSet = require("../../utils/AddressSet.js");
3
4
  const require_sdk_constants_address_provider = require("../../constants/address-provider.js");
5
+ require("../../constants/math.js");
4
6
  const require_sdk_constants_versions = require("../../constants/versions.js");
5
7
  require("../../constants/index.js");
6
8
  const require_sdk_utils_formatter = require("../../utils/formatter.js");
@@ -8,8 +10,9 @@ require("../../utils/index.js");
8
10
  const require_sdk_base_BaseContract = require("../../base/BaseContract.js");
9
11
  require("../../base/index.js");
10
12
  const require_sdk_market_math = require("../math.js");
11
- const require_sdk_market_pricefeeds_PriceFeedRef = require("../pricefeeds/PriceFeedRef.js");
12
13
  const require_abi_compressors_priceFeedCompressor = require("../../../abi/compressors/priceFeedCompressor.js");
14
+ const require_sdk_market_pricefeeds_PriceFeedRef = require("../pricefeeds/PriceFeedRef.js");
15
+ const require_sdk_market_pricefeeds_getRawPriceUpdates = require("../pricefeeds/getRawPriceUpdates.js");
13
16
  require("../pricefeeds/index.js");
14
17
  const require_sdk_market_oracle_PriceFeedAnswerMap = require("./PriceFeedAnswerMap.js");
15
18
  let viem = require("viem");
@@ -59,6 +62,31 @@ var PriceOracleBaseContract = class extends require_sdk_base_BaseContract.BaseCo
59
62
  return tokens.flatMap((t) => [main ? this.mainPriceFeeds.get(t)?.priceFeed : void 0, reserve ? this.reservePriceFeeds.get(t)?.priceFeed : void 0]).filter((f) => !!f);
60
63
  }
61
64
  /**
65
+ * {@inheritDoc IPriceOracleContract.priceUpdateTxsForAccount}
66
+ **/
67
+ async priceUpdateTxsForAccount(account, opts) {
68
+ return this.#priceUpdateTxsForTokens(getAccountTokens(account, opts?.extraTokens), opts);
69
+ }
70
+ /**
71
+ * {@inheritDoc IPriceOracleContract.priceUpdatesForAccount}
72
+ **/
73
+ async priceUpdatesForAccount(account, opts) {
74
+ return require_sdk_market_pricefeeds_getRawPriceUpdates.getRawPriceUpdates(await this.priceUpdateTxsForAccount(account, opts));
75
+ }
76
+ /**
77
+ * {@inheritDoc IPriceOracleContract.priceUpdatesForTokens}
78
+ **/
79
+ async priceUpdatesForTokens(tokens, opts) {
80
+ return require_sdk_market_pricefeeds_getRawPriceUpdates.getRawPriceUpdates(await this.#priceUpdateTxsForTokens(tokens, opts));
81
+ }
82
+ async #priceUpdateTxsForTokens(tokens, opts) {
83
+ const priceFeeds = this.priceFeedsForTokens(tokens, opts);
84
+ const tStr = tokens.map((t) => this.labelAddress(t)).join(", ");
85
+ const remark = opts?.reserve === false ? " main" : "";
86
+ this.logger?.debug(`generating price feed updates for ${tStr} from ${priceFeeds.length}${remark} price feeds`);
87
+ return this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(priceFeeds);
88
+ }
89
+ /**
62
90
  * {@inheritDoc IPriceOracleContract.mainPrice}
63
91
  **/
64
92
  mainPrice(token) {
@@ -262,6 +290,18 @@ var PriceOracleBaseContract = class extends require_sdk_base_BaseContract.BaseCo
262
290
  }
263
291
  }
264
292
  };
293
+ /**
294
+ * Tokens of an account that have to be priced: its underlying, every enabled
295
+ * token it holds a non-dust balance of, and any extra tokens the caller adds.
296
+ **/
297
+ function getAccountTokens(account, extraTokens) {
298
+ const tokens = new require_sdk_utils_AddressSet.AddressSet([account.underlying, ...extraTokens ?? []]);
299
+ for (const t of account.tokens) {
300
+ const isEnabled = (t.mask & account.enabledTokensMask) !== 0n;
301
+ if (t.balance > 10n && isEnabled) tokens.add(t.token);
302
+ }
303
+ return tokens.asArray();
304
+ }
265
305
  function formatAnswer({ price, success, updatedAt }, raw = true) {
266
306
  if (!success) return "failed";
267
307
  let priceS = require_sdk_utils_formatter.formatBN(price, 8);
@@ -1,8 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_abi_310_generated = require("../../../abi/310/generated.js");
3
3
  const require_sdk_utils_viem_simulateWithPriceUpdates = require("../../utils/viem/simulateWithPriceUpdates.js");
4
- const require_sdk_market_pricefeeds_getRawPriceUpdates = require("../pricefeeds/getRawPriceUpdates.js");
5
- require("../pricefeeds/index.js");
6
4
  const require_sdk_market_oracle_PriceOracleBaseContract = require("./PriceOracleBaseContract.js");
7
5
  //#region src/sdk/market/oracle/PriceOracleV310Contract.ts
8
6
  const abi = require_abi_310_generated.iPriceOracleV310Abi;
@@ -15,27 +13,6 @@ var PriceOracleV310Contract = class extends require_sdk_market_oracle_PriceOracl
15
13
  }, data);
16
14
  }
17
15
  /**
18
- * Converts previously obtained price updates into CreditFacade multicall entry
19
- * @param creditFacade
20
- * @param updates
21
- * @returns
22
- * @throws If `creditFacade` does not belong to a loaded market.
23
- */
24
- onDemandPriceUpdates(creditFacade, updates) {
25
- if (!updates) {
26
- this.logger?.debug("empty updates list");
27
- return {
28
- multicall: [],
29
- raw: []
30
- };
31
- }
32
- const raw = require_sdk_market_pricefeeds_getRawPriceUpdates.getRawPriceUpdates(updates);
33
- return {
34
- raw,
35
- multicall: [this.sdk.marketRegister.findCreditFacade(creditFacade).prepareOnDemandPriceUpdates(raw)]
36
- };
37
- }
38
- /**
39
16
  * {@inheritDoc IPriceOracleContract.updateAndConvert}
40
17
  **/
41
18
  async updateAndConvert(from, to, amount) {
@@ -9,6 +9,7 @@ require("../../constants/index.js");
9
9
  require("../../utils/index.js");
10
10
  const require_sdk_base_SDKConstruct = require("../../base/SDKConstruct.js");
11
11
  require("../../base/index.js");
12
+ const require_abi_compressors_priceFeedCompressor = require("../../../abi/compressors/priceFeedCompressor.js");
12
13
  const require_sdk_market_pricefeeds_AbstractPriceFeed = require("./AbstractPriceFeed.js");
13
14
  const require_sdk_market_pricefeeds_BalancerStablePriceFeed = require("./BalancerStablePriceFeed.js");
14
15
  const require_sdk_market_pricefeeds_BalancerWeightedPriceFeed = require("./BalancerWeightedPriceFeed.js");
@@ -22,7 +23,6 @@ const require_sdk_market_pricefeeds_ExternalPriceFeed = require("./ExternalPrice
22
23
  const require_sdk_market_pricefeeds_getRawPriceUpdates = require("./getRawPriceUpdates.js");
23
24
  const require_sdk_market_pricefeeds_MellowLRTPriceFeed = require("./MellowLRTPriceFeed.js");
24
25
  const require_sdk_market_pricefeeds_PendleTWAPPTPriceFeed = require("./PendleTWAPPTPriceFeed.js");
25
- const require_abi_compressors_priceFeedCompressor = require("../../../abi/compressors/priceFeedCompressor.js");
26
26
  const require_sdk_utils_internal_Hooks = require("../../utils/internal/Hooks.js");
27
27
  require("../../utils/internal/index.js");
28
28
  const require_sdk_market_pricefeeds_ConstantPriceFeed = require("./ConstantPriceFeed.js");
@@ -1,10 +1,10 @@
1
- import { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
2
1
  import { AddressMap } from "../../sdk/utils/AddressMap.js";
3
2
  import { TypedObjectUtils } from "../../sdk/utils/mappers.js";
4
3
  import { AP_CREDIT_ACCOUNT_COMPRESSOR } from "../../sdk/constants/address-provider.js";
5
4
  import { ADDRESS_0X0 } from "../../sdk/constants/addresses.js";
6
5
  import { MAX_UINT256 } from "../../sdk/constants/math.js";
7
6
  import { VERSION_RANGE_310 } from "../../sdk/constants/versions.js";
7
+ import { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
8
8
  import { BasePlugin } from "../../sdk/plugins/BasePlugin.js";
9
9
  import "../../sdk/index.js";
10
10
  //#region src/plugins/accounts-counter/AccountsCounterPlugin.ts