curvance 4.1.2 → 5.1.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 (115) hide show
  1. package/README.md +65 -10
  2. package/dist/abis/OptimizerReader.json +43 -45
  3. package/dist/abis/ProtocolReader.json +279 -55
  4. package/dist/chains/arbitrum.js +3 -3
  5. package/dist/chains/arbitrum.js.map +1 -1
  6. package/dist/classes/Api.d.ts +2 -2
  7. package/dist/classes/Api.d.ts.map +1 -1
  8. package/dist/classes/Api.js +87 -14
  9. package/dist/classes/Api.js.map +1 -1
  10. package/dist/classes/BorrowableCToken.d.ts +9 -1
  11. package/dist/classes/BorrowableCToken.d.ts.map +1 -1
  12. package/dist/classes/BorrowableCToken.js +67 -12
  13. package/dist/classes/BorrowableCToken.js.map +1 -1
  14. package/dist/classes/CToken.d.ts +210 -21
  15. package/dist/classes/CToken.d.ts.map +1 -1
  16. package/dist/classes/CToken.js +692 -284
  17. package/dist/classes/CToken.js.map +1 -1
  18. package/dist/classes/Calldata.d.ts +2 -2
  19. package/dist/classes/Calldata.d.ts.map +1 -1
  20. package/dist/classes/Calldata.js +6 -2
  21. package/dist/classes/Calldata.js.map +1 -1
  22. package/dist/classes/DexAggregators/IDexAgg.d.ts +1 -1
  23. package/dist/classes/DexAggregators/Kuru.js +1 -1
  24. package/dist/classes/DexAggregators/Kuru.js.map +1 -1
  25. package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
  26. package/dist/classes/DexAggregators/KyberSwap.js +112 -61
  27. package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
  28. package/dist/classes/DexAggregators/MultiDexAgg.d.ts +2 -2
  29. package/dist/classes/DexAggregators/MultiDexAgg.d.ts.map +1 -1
  30. package/dist/classes/DexAggregators/MultiDexAgg.js +30 -18
  31. package/dist/classes/DexAggregators/MultiDexAgg.js.map +1 -1
  32. package/dist/classes/DexAggregators/UnsupportedDexAgg.d.ts +19 -0
  33. package/dist/classes/DexAggregators/UnsupportedDexAgg.d.ts.map +1 -0
  34. package/dist/classes/DexAggregators/UnsupportedDexAgg.js +29 -0
  35. package/dist/classes/DexAggregators/UnsupportedDexAgg.js.map +1 -0
  36. package/dist/classes/DexAggregators/helpers.d.ts +30 -0
  37. package/dist/classes/DexAggregators/helpers.d.ts.map +1 -0
  38. package/dist/classes/DexAggregators/helpers.js +57 -0
  39. package/dist/classes/DexAggregators/helpers.js.map +1 -0
  40. package/dist/classes/DexAggregators/index.d.ts +2 -0
  41. package/dist/classes/DexAggregators/index.d.ts.map +1 -1
  42. package/dist/classes/DexAggregators/index.js +1 -0
  43. package/dist/classes/DexAggregators/index.js.map +1 -1
  44. package/dist/classes/ERC20.d.ts +3 -3
  45. package/dist/classes/ERC20.d.ts.map +1 -1
  46. package/dist/classes/ERC20.js +26 -10
  47. package/dist/classes/ERC20.js.map +1 -1
  48. package/dist/classes/FormatConverter.d.ts.map +1 -1
  49. package/dist/classes/FormatConverter.js +4 -1
  50. package/dist/classes/FormatConverter.js.map +1 -1
  51. package/dist/classes/Market.d.ts +46 -8
  52. package/dist/classes/Market.d.ts.map +1 -1
  53. package/dist/classes/Market.js +342 -111
  54. package/dist/classes/Market.js.map +1 -1
  55. package/dist/classes/NativeToken.d.ts +2 -2
  56. package/dist/classes/NativeToken.d.ts.map +1 -1
  57. package/dist/classes/NativeToken.js +21 -7
  58. package/dist/classes/NativeToken.js.map +1 -1
  59. package/dist/classes/OptimizerReader.d.ts +15 -7
  60. package/dist/classes/OptimizerReader.d.ts.map +1 -1
  61. package/dist/classes/OptimizerReader.js +108 -30
  62. package/dist/classes/OptimizerReader.js.map +1 -1
  63. package/dist/classes/OracleManager.d.ts.map +1 -1
  64. package/dist/classes/OracleManager.js +11 -4
  65. package/dist/classes/OracleManager.js.map +1 -1
  66. package/dist/classes/PositionManager.d.ts.map +1 -1
  67. package/dist/classes/PositionManager.js +1 -3
  68. package/dist/classes/PositionManager.js.map +1 -1
  69. package/dist/classes/ProtocolReader.d.ts +30 -9
  70. package/dist/classes/ProtocolReader.d.ts.map +1 -1
  71. package/dist/classes/ProtocolReader.js +158 -138
  72. package/dist/classes/ProtocolReader.js.map +1 -1
  73. package/dist/classes/Zapper.d.ts +5 -5
  74. package/dist/classes/Zapper.d.ts.map +1 -1
  75. package/dist/classes/Zapper.js +21 -18
  76. package/dist/classes/Zapper.js.map +1 -1
  77. package/dist/contracts/monad-mainnet.json +1 -1
  78. package/dist/feePolicy.d.ts +2 -0
  79. package/dist/feePolicy.d.ts.map +1 -1
  80. package/dist/feePolicy.js +19 -0
  81. package/dist/feePolicy.js.map +1 -1
  82. package/dist/format/borrow.d.ts.map +1 -1
  83. package/dist/format/borrow.js +7 -1
  84. package/dist/format/borrow.js.map +1 -1
  85. package/dist/format/health.d.ts +3 -2
  86. package/dist/format/health.d.ts.map +1 -1
  87. package/dist/format/health.js +10 -9
  88. package/dist/format/health.js.map +1 -1
  89. package/dist/format/leverage.js +5 -4
  90. package/dist/format/leverage.js.map +1 -1
  91. package/dist/helpers.d.ts +14 -11
  92. package/dist/helpers.d.ts.map +1 -1
  93. package/dist/helpers.js +171 -52
  94. package/dist/helpers.js.map +1 -1
  95. package/dist/integrations/merkl.d.ts +2 -1
  96. package/dist/integrations/merkl.d.ts.map +1 -1
  97. package/dist/integrations/merkl.js +199 -4
  98. package/dist/integrations/merkl.js.map +1 -1
  99. package/dist/integrations/snapshot.d.ts +28 -24
  100. package/dist/integrations/snapshot.d.ts.map +1 -1
  101. package/dist/integrations/snapshot.js +106 -42
  102. package/dist/integrations/snapshot.js.map +1 -1
  103. package/dist/retry-provider.d.ts +6 -0
  104. package/dist/retry-provider.d.ts.map +1 -1
  105. package/dist/retry-provider.js +103 -11
  106. package/dist/retry-provider.js.map +1 -1
  107. package/dist/setup.d.ts +8 -6
  108. package/dist/setup.d.ts.map +1 -1
  109. package/dist/setup.js +125 -45
  110. package/dist/setup.js.map +1 -1
  111. package/dist/validation.d.ts +1 -1
  112. package/dist/validation.d.ts.map +1 -1
  113. package/dist/validation.js +13 -7
  114. package/dist/validation.js.map +1 -1
  115. package/package.json +6 -3
@@ -87,14 +87,17 @@ export interface UserMarketToken {
87
87
  userDebt: bigint;
88
88
  liquidationPrice: bigint;
89
89
  }
90
- export interface UserMarket {
90
+ export interface UserMarketSummary {
91
91
  address: address;
92
92
  collateral: bigint;
93
93
  maxDebt: bigint;
94
94
  debt: bigint;
95
95
  positionHealth: bigint;
96
96
  cooldown: bigint;
97
+ errorCodeHit: boolean;
97
98
  priceStale: boolean;
99
+ }
100
+ export interface UserMarket extends UserMarketSummary {
98
101
  tokens: UserMarketToken[];
99
102
  }
100
103
  export interface UserLock {
@@ -108,31 +111,32 @@ export interface UserData {
108
111
  }
109
112
  export interface IProtocolReader {
110
113
  getAllDynamicState(account: address): Promise<any>;
114
+ getMarketSummaries(markets: address[], account: address): Promise<any>;
111
115
  getMarketStates(markets: address[], account: address): Promise<any>;
112
116
  getUserData(account: address): Promise<UserData>;
113
117
  getDynamicMarketData(): Promise<DynamicMarketData[]>;
114
118
  getStaticMarketData(): Promise<StaticMarketData[]>;
115
119
  marketMultiCooldown(markets: address[], account: address): Promise<bigint[]>;
116
120
  previewAssetImpact(user: address, collateral_ctoken: address, debt_ctoken: address, new_collateral: bigint, new_debt: bigint): Promise<[bigint, bigint]>;
117
- hypotheticalLeverageOf(account: address, depositCToken: address, borrowCToken: address, assets: bigint, bufferTime: bigint): Promise<[bigint, bigint, bigint, bigint]>;
121
+ hypotheticalLeverageOf(account: address, depositCToken: address, borrowCToken: address, assets: bigint, bufferTime: bigint): Promise<[bigint, bigint, bigint, bigint, boolean, boolean]>;
118
122
  getPositionHealth(market: address, account: address, ctoken: address, borrowableCToken: address, isDeposit: boolean, collateralAssets: bigint, isRepayment: boolean, debtAssets: bigint, bufferTime: bigint): Promise<[bigint, boolean]>;
119
123
  hypotheticalRedemptionOf(account: address, ctoken: address, redeemShares: bigint, bufferTime: bigint): Promise<[bigint, bigint, boolean, boolean]>;
120
- hypotheticalBorrowOf(account: address, borrowableCToken: address, borrowAssets: bigint, bufferTime: bigint): Promise<[bigint, bigint, boolean, boolean]>;
124
+ hypotheticalBorrowOf(account: address, borrowableCToken: address, borrowAssets: bigint, bufferTime: bigint): Promise<[bigint, bigint, boolean, boolean, boolean]>;
125
+ hypotheticalLiquidityOf(market: address, account: address, cTokenModified: address, redemptionShares: bigint, borrowAssets: bigint, bufferTime: bigint): Promise<any>;
121
126
  maxRedemptionOf(account: address, ctoken: address, bufferTime: bigint): Promise<[bigint, bigint, boolean]>;
122
127
  debtBalanceAtTimestamp(account: address, borrowableCtoken: address, timestamp: bigint): Promise<bigint>;
123
128
  getBalancesOf(tokens: address[], account: address): Promise<bigint[]>;
124
129
  getLeverageSnapshot(account: address, cToken: address, borrowableCToken: address, bufferTime: bigint): Promise<[bigint, bigint, bigint, bigint, bigint, bigint, boolean]>;
125
130
  }
126
- /** Test-only: reset the module-level probe cache so tests can validate
127
- * probe-path behavior in isolation. Not part of the public runtime API. */
131
+ /** Test-only: reset the module-level static market cache. */
128
132
  export declare function __resetProtocolReaderCache(): void;
129
133
  export declare class ProtocolReader {
130
134
  provider: curvance_read_provider;
131
135
  address: address;
132
136
  contract: Contract & IProtocolReader;
133
- constructor(address: address, provider?: curvance_read_provider);
134
- private isMissingGetMarketStates;
135
- private getMarketStatesFallback;
137
+ readonly batchKey: string | null;
138
+ private readonly staticMarketCacheKey;
139
+ constructor(address: address, provider?: curvance_read_provider, cacheNamespace?: string | null);
136
140
  getAllMarketData(account?: address | null): Promise<{
137
141
  staticMarket: StaticMarketData[];
138
142
  dynamicMarket: DynamicMarketData[];
@@ -147,14 +151,26 @@ export declare class ProtocolReader {
147
151
  excess: bigint;
148
152
  deficit: bigint;
149
153
  isPossible: boolean;
154
+ oracleError: boolean;
150
155
  priceStale: boolean;
151
156
  }>;
152
157
  hypotheticalBorrowOf(account: address, ctoken: BorrowableCToken, assets: bigint, bufferTime?: bigint): Promise<{
153
158
  excess: bigint;
154
159
  deficit: bigint;
155
160
  isPossible: boolean;
161
+ loanSizeError: boolean;
162
+ oracleError: boolean;
156
163
  priceStale: boolean;
157
164
  }>;
165
+ hypotheticalLiquidityOf(market: address, account: address, cTokenModified?: address, redemptionShares?: bigint, borrowAssets?: bigint, bufferTime?: bigint): Promise<{
166
+ collateral: bigint;
167
+ maxDebt: bigint;
168
+ debt: bigint;
169
+ collateralSurplus: bigint;
170
+ liquidityDeficit: bigint;
171
+ loanSizeError: boolean;
172
+ oracleError: boolean;
173
+ }>;
158
174
  getPositionHealth(market: address, account: address, ctoken: address, borrowableCToken: address, isDeposit: boolean, collateralAssets: bigint, isRepayment: boolean, debtAssets: bigint, bufferTime: bigint): Promise<{
159
175
  positionHealth: bigint;
160
176
  errorCodeHit: boolean;
@@ -165,6 +181,7 @@ export declare class ProtocolReader {
165
181
  dynamicMarket: DynamicMarketData[];
166
182
  userData: UserData;
167
183
  }>;
184
+ getMarketSummaries(markets: address[], account: address): Promise<UserMarketSummary[]>;
168
185
  getMarketStates(markets: address[], account: address): Promise<{
169
186
  dynamicMarkets: DynamicMarketData[];
170
187
  userMarkets: UserMarket[];
@@ -178,6 +195,8 @@ export declare class ProtocolReader {
178
195
  adjustMaxLeverage: Decimal;
179
196
  maxLeverage: Decimal;
180
197
  maxDebtBorrowable: Decimal;
198
+ loanSizeError: boolean;
199
+ oracleError: boolean;
181
200
  }>;
182
201
  marketMultiCooldown(markets: address[], account: address): Promise<bigint[]>;
183
202
  debtBalanceAtTimestamp(account: address, borrowableCtoken: address, timestamp: bigint): Promise<bigint>;
@@ -191,6 +210,8 @@ export declare class ProtocolReader {
191
210
  debtTokenBalance: bigint;
192
211
  oracleError: boolean;
193
212
  }>;
194
- getStaticMarketData(): Promise<StaticMarketData[]>;
213
+ getStaticMarketData(options?: {
214
+ forceRefresh?: boolean;
215
+ }): Promise<StaticMarketData[]>;
195
216
  }
196
217
  //# sourceMappingURL=ProtocolReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolReader.d.ts","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtocolReader.d.ts","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ exports.ProtocolReader = exports.AdaptorTypes = void 0;
7
7
  exports.__resetProtocolReaderCache = __resetProtocolReaderCache;
8
8
  const helpers_1 = require("../helpers");
9
9
  const ProtocolReader_json_1 = __importDefault(require("../abis/ProtocolReader.json"));
10
- const setup_1 = require("../setup");
11
10
  const FormatConverter_1 = __importDefault(require("./FormatConverter"));
12
11
  exports.AdaptorTypes = {
13
12
  CHAINLINK: 4146809896196834135992027840844413263297648946195754575888528621153937239424n,
@@ -15,10 +14,20 @@ exports.AdaptorTypes = {
15
14
  REDSTONE_CORE: 2n,
16
15
  MOCK: 1337n
17
16
  };
18
- const PROTOCOL_READER_EXTRA_ABI = [
19
- "function getMarketStates(address[] markets, address account) view returns ((address _address,(address _address,uint256 totalSupply,uint256 exchangeRate,uint256 totalAssets,uint256 collateral,uint256 debt,uint256 sharePrice,uint256 assetPrice,uint256 sharePriceLower,uint256 assetPriceLower,uint256 borrowRate,uint256 predictedBorrowRate,uint256 utilizationRate,uint256 supplyRate,uint256 liquidity)[] tokens)[] dynamicMarkets,(address _address,uint256 collateral,uint256 maxDebt,uint256 debt,uint256 positionHealth,uint256 cooldown,bool errorCodeHit,(address _address,uint256 userAssetBalance,uint256 userShareBalance,uint256 userUnderlyingBalance,uint256 userCollateral,uint256 userDebt,uint256 liquidationPrice)[] tokens)[] userMarkets)",
20
- ];
21
- const GET_MARKET_STATES_SELECTOR = "0xaa78b4d4";
17
+ const STATIC_MARKET_CACHE_TTL_MS = 60_000;
18
+ const PROVIDER_IDENTITIES = new WeakMap();
19
+ let nextProviderIdentity = 1;
20
+ function getProviderIdentity(provider) {
21
+ if (typeof provider !== "object" || provider == null) {
22
+ return "provider:primitive";
23
+ }
24
+ let identity = PROVIDER_IDENTITIES.get(provider);
25
+ if (identity == undefined) {
26
+ identity = nextProviderIdentity++;
27
+ PROVIDER_IDENTITIES.set(provider, identity);
28
+ }
29
+ return `provider:${identity}`;
30
+ }
22
31
  function normalizeDynamicMarketData(data) {
23
32
  return data.map((market) => ({
24
33
  address: market._address,
@@ -41,16 +50,26 @@ function normalizeDynamicMarketData(data) {
41
50
  })),
42
51
  }));
43
52
  }
44
- function normalizeUserMarkets(data) {
45
- return data.map((market) => ({
53
+ function normalizeUserMarketSummary(market) {
54
+ return {
46
55
  address: market._address,
47
56
  collateral: BigInt(market.collateral),
48
57
  maxDebt: BigInt(market.maxDebt),
49
58
  debt: BigInt(market.debt),
50
59
  positionHealth: BigInt(market.positionHealth),
51
60
  cooldown: BigInt(market.cooldown),
52
- // ABI names this field `errorCodeHit`; older SDK code/context call it `priceStale`.
53
- priceStale: Boolean(market.priceStale ?? market.errorCodeHit),
61
+ // ABI names this field `errorCodeHit`; keep `priceStale` as a
62
+ // backward-compatible alias until downstream consumers migrate.
63
+ errorCodeHit: Boolean(market.errorCodeHit ?? market.priceStale),
64
+ priceStale: Boolean(market.errorCodeHit ?? market.priceStale),
65
+ };
66
+ }
67
+ function normalizeUserMarketSummaries(data) {
68
+ return data.map((market) => normalizeUserMarketSummary(market));
69
+ }
70
+ function normalizeUserMarkets(data) {
71
+ return data.map((market) => ({
72
+ ...normalizeUserMarketSummary(market),
54
73
  tokens: market.tokens.map((token) => ({
55
74
  address: token._address,
56
75
  userAssetBalance: BigInt(token.userAssetBalance),
@@ -82,6 +101,7 @@ function createEmptyUserData(staticMarkets) {
82
101
  debt: 0n,
83
102
  positionHealth: helpers_1.UINT256_MAX,
84
103
  cooldown: market.cooldownLength,
104
+ errorCodeHit: false,
85
105
  priceStale: false,
86
106
  tokens: market.tokens.map((token) => ({
87
107
  address: token.address,
@@ -95,76 +115,79 @@ function createEmptyUserData(staticMarkets) {
95
115
  })),
96
116
  };
97
117
  }
98
- // Module-level cache: reader address → whether the new getMarketStates
99
- // selector is deployed on that contract. Every setupChain() constructs a
100
- // fresh ProtocolReader, so a per-instance flag would re-probe on every
101
- // chain switch. After the retry-provider unknown-error cascade fix, one
102
- // probe costs primary + every configured fallback RPC, making the re-probe
103
- // observable cost rather than a silent waste.
104
- const PROTOCOL_READER_SELECTOR_SUPPORT = new Map();
105
- const PROTOCOL_READER_FALLBACK_WARNED = new Set();
106
- /** Test-only: reset the module-level probe cache so tests can validate
107
- * probe-path behavior in isolation. Not part of the public runtime API. */
118
+ function normalizeStaticMarketData(data) {
119
+ return data.map((market) => ({
120
+ address: market._address,
121
+ adapters: market.adapters,
122
+ cooldownLength: market.cooldownLength,
123
+ tokens: market.tokens.map((token) => ({
124
+ address: token._address,
125
+ name: token.name,
126
+ symbol: token.symbol,
127
+ decimals: BigInt(token.decimals),
128
+ asset: {
129
+ address: token.asset._address,
130
+ name: token.asset.name,
131
+ symbol: token.asset.symbol,
132
+ decimals: BigInt(token.asset.decimals),
133
+ totalSupply: BigInt(token.asset.totalSupply)
134
+ },
135
+ adapters: [BigInt(token.adapters[0]), BigInt(token.adapters[1])],
136
+ isBorrowable: token.isBorrowable,
137
+ borrowPaused: token.borrowPaused,
138
+ collateralizationPaused: token.collateralizationPaused,
139
+ mintPaused: token.mintPaused,
140
+ collateralCap: BigInt(token.collateralCap),
141
+ debtCap: BigInt(token.debtCap),
142
+ isListed: token.isListed,
143
+ collRatio: BigInt(token.collRatio),
144
+ maxLeverage: BigInt(token.maxLeverage),
145
+ collReqSoft: BigInt(token.collReqSoft),
146
+ collReqHard: BigInt(token.collReqHard),
147
+ liqIncBase: BigInt(token.liqIncBase),
148
+ liqIncCurve: BigInt(token.liqIncCurve),
149
+ liqIncMin: BigInt(token.liqIncMin),
150
+ liqIncMax: BigInt(token.liqIncMax),
151
+ closeFactorBase: BigInt(token.closeFactorBase),
152
+ closeFactorCurve: BigInt(token.closeFactorCurve),
153
+ closeFactorMin: BigInt(token.closeFactorMin),
154
+ closeFactorMax: BigInt(token.closeFactorMax),
155
+ irmTargetRate: BigInt(token.irmTargetRate),
156
+ irmMaxRate: BigInt(token.irmMaxRate),
157
+ irmTargetUtilization: BigInt(token.irmTargetUtilization),
158
+ interestFee: BigInt(token.interestFee)
159
+ }))
160
+ }));
161
+ }
162
+ // Module-level cache: namespace-qualified reader address -> static market data.
163
+ const STATIC_MARKET_DATA_CACHE = new Map();
164
+ function resolveDefaultReadProvider() {
165
+ return require("../setup").setup_config?.readProvider;
166
+ }
167
+ /** Test-only: reset the module-level static market cache. */
108
168
  function __resetProtocolReaderCache() {
109
- PROTOCOL_READER_SELECTOR_SUPPORT.clear();
110
- PROTOCOL_READER_FALLBACK_WARNED.clear();
169
+ STATIC_MARKET_DATA_CACHE.clear();
111
170
  }
112
171
  class ProtocolReader {
113
172
  provider;
114
173
  address;
115
174
  contract;
116
- constructor(address, provider = setup_1.setup_config.readProvider) {
117
- this.provider = provider;
118
- this.address = address;
119
- this.contract = (0, helpers_1.contractSetup)(provider, address, [...ProtocolReader_json_1.default, ...PROTOCOL_READER_EXTRA_ABI]);
120
- }
121
- isMissingGetMarketStates(error) {
122
- const message = String(error?.message ?? "").toLowerCase();
123
- const shortMessage = String(error?.shortMessage ?? "").toLowerCase();
124
- const revertReason = String(error?.reason ?? "").toLowerCase();
125
- const txData = String(error?.transaction?.data ?? "").toLowerCase();
126
- const looksLikeSelectorMiss = txData.startsWith(GET_MARKET_STATES_SELECTOR) &&
127
- (shortMessage.includes("no data present") ||
128
- shortMessage.includes("missing revert data") ||
129
- message.includes("no data present") ||
130
- message.includes("missing revert data") ||
131
- revertReason === "require(false)");
132
- return looksLikeSelectorMiss;
133
- }
134
- async getMarketStatesFallback(markets, account) {
135
- // Compatibility fallback: keep this path until every environment that
136
- // runs the SDK (main deployment, staging, forks, local Anvil) has a
137
- // ProtocolReader with getMarketStates deployed. Removing it right after
138
- // a single deployment upgrade will break older forks and stale test envs.
139
- if (!PROTOCOL_READER_FALLBACK_WARNED.has(this.address)) {
140
- PROTOCOL_READER_FALLBACK_WARNED.add(this.address);
141
- console.warn("[ProtocolReader] getMarketStates is not available on this deployment yet. " +
142
- "Falling back to getDynamicMarketData + getUserData for targeted refreshes.");
175
+ batchKey;
176
+ staticMarketCacheKey;
177
+ constructor(address, provider, cacheNamespace = null) {
178
+ const resolvedProvider = provider ?? resolveDefaultReadProvider();
179
+ if (resolvedProvider == undefined) {
180
+ throw new Error(`Read provider is not configured for ProtocolReader ${address}. ` +
181
+ `Pass a provider explicitly or initialize setupChain() first.`);
143
182
  }
144
- const [allDynamicMarkets, userData] = await Promise.all([
145
- this.getDynamicMarketData(),
146
- this.getUserData(account),
147
- ]);
148
- const dynamicByAddress = new Map(allDynamicMarkets.map((market) => [market.address, market]));
149
- const userByAddress = new Map(userData.markets.map((market) => [market.address, market]));
150
- const dynamicMarkets = markets.map((marketAddress) => {
151
- const dynamicMarket = dynamicByAddress.get(marketAddress);
152
- if (!dynamicMarket) {
153
- throw new Error(`Fallback could not find dynamic market state for ${marketAddress}.`);
154
- }
155
- return dynamicMarket;
156
- });
157
- const userMarkets = markets.map((marketAddress) => {
158
- const userMarket = userByAddress.get(marketAddress);
159
- if (!userMarket) {
160
- throw new Error(`Fallback could not find user market state for ${marketAddress}.`);
161
- }
162
- return userMarket;
163
- });
164
- return {
165
- dynamicMarkets,
166
- userMarkets,
167
- };
183
+ this.provider = resolvedProvider;
184
+ this.address = address;
185
+ this.contract = (0, helpers_1.contractSetup)(resolvedProvider, address, ProtocolReader_json_1.default);
186
+ const normalizedAddress = address.toLowerCase();
187
+ const providerIdentity = getProviderIdentity(resolvedProvider);
188
+ this.batchKey =
189
+ cacheNamespace == null ? null : `${cacheNamespace}:${providerIdentity}:${normalizedAddress}`;
190
+ this.staticMarketCacheKey = this.batchKey;
168
191
  }
169
192
  async getAllMarketData(account = null) {
170
193
  if (account == null || account === helpers_1.EMPTY_ADDRESS) {
@@ -202,16 +225,34 @@ class ProtocolReader {
202
225
  excess: BigInt(data[0]),
203
226
  deficit: BigInt(data[1]),
204
227
  isPossible: data[2],
228
+ oracleError: data[3],
205
229
  priceStale: data[3]
206
230
  };
207
231
  }
208
232
  async hypotheticalBorrowOf(account, ctoken, assets, bufferTime = 0n) {
209
233
  const data = await this.contract.hypotheticalBorrowOf(account, ctoken.address, assets, bufferTime);
234
+ const loanSizeError = Boolean(data[3]);
235
+ const oracleError = Boolean(data[4]);
210
236
  return {
211
237
  excess: BigInt(data[0]),
212
238
  deficit: BigInt(data[1]),
213
- isPossible: data[2],
214
- priceStale: data[3]
239
+ isPossible: Boolean(data[2]),
240
+ loanSizeError,
241
+ oracleError,
242
+ priceStale: oracleError,
243
+ };
244
+ }
245
+ async hypotheticalLiquidityOf(market, account, cTokenModified = helpers_1.EMPTY_ADDRESS, redemptionShares = 0n, borrowAssets = 0n, bufferTime = 0n) {
246
+ const data = await this.contract.hypotheticalLiquidityOf(market, account, cTokenModified, redemptionShares, borrowAssets, bufferTime);
247
+ const result = data.result ?? data;
248
+ return {
249
+ collateral: BigInt(result.collateral ?? result[0]),
250
+ maxDebt: BigInt(result.maxDebt ?? result[1]),
251
+ debt: BigInt(result.debt ?? result[2]),
252
+ collateralSurplus: BigInt(result.collateralSurplus ?? result[3]),
253
+ liquidityDeficit: BigInt(result.liquidityDeficit ?? result[4]),
254
+ loanSizeError: Boolean(result.loanSizeError ?? result[5]),
255
+ oracleError: Boolean(result.oracleError ?? result[6]),
215
256
  };
216
257
  }
217
258
  async getPositionHealth(market, account, ctoken, borrowableCToken, isDeposit, collateralAssets, isRepayment, debtAssets, bufferTime) {
@@ -236,25 +277,16 @@ class ProtocolReader {
236
277
  userData: normalizeUserData(data.user ?? data[1] ?? { locks: [], markets: [] }),
237
278
  };
238
279
  }
280
+ async getMarketSummaries(markets, account) {
281
+ const data = await this.contract.getMarketSummaries(markets, account);
282
+ return normalizeUserMarketSummaries(Array.isArray(data) ? data : data.userMarkets ?? data[0] ?? []);
283
+ }
239
284
  async getMarketStates(markets, account) {
240
- if (PROTOCOL_READER_SELECTOR_SUPPORT.get(this.address) === false) {
241
- return this.getMarketStatesFallback(markets, account);
242
- }
243
- try {
244
- const data = await this.contract.getMarketStates(markets, account);
245
- PROTOCOL_READER_SELECTOR_SUPPORT.set(this.address, true);
246
- return {
247
- dynamicMarkets: normalizeDynamicMarketData(data.dynamicMarkets ?? data[0] ?? []),
248
- userMarkets: normalizeUserMarkets(data.userMarkets ?? data[1] ?? []),
249
- };
250
- }
251
- catch (error) {
252
- if (!this.isMissingGetMarketStates(error)) {
253
- throw error;
254
- }
255
- PROTOCOL_READER_SELECTOR_SUPPORT.set(this.address, false);
256
- return this.getMarketStatesFallback(markets, account);
257
- }
285
+ const data = await this.contract.getMarketStates(markets, account);
286
+ return {
287
+ dynamicMarkets: normalizeDynamicMarketData(data.dynamicMarkets ?? data[0] ?? []),
288
+ userMarkets: normalizeUserMarkets(data.userMarkets ?? data[1] ?? []),
289
+ };
258
290
  }
259
291
  async previewAssetImpact(user, collateral_ctoken, debt_ctoken, deposit_amount, borrow_amount) {
260
292
  const data = await this.contract.previewAssetImpact(user, collateral_ctoken, debt_ctoken, deposit_amount, borrow_amount);
@@ -265,12 +297,14 @@ class ProtocolReader {
265
297
  }
266
298
  async hypotheticalLeverageOf(account, depositCToken, borrowableCToken, deposit_amount) {
267
299
  const assets = FormatConverter_1.default.decimalToBigInt(deposit_amount, depositCToken.asset.decimals);
268
- const [currentLeverage, adjustMaxLeverage, maxLeverage, maxDebtBorrowable] = await this.contract.hypotheticalLeverageOf(account, depositCToken.address, borrowableCToken.address, assets, 0n);
300
+ const [currentLeverage, adjustMaxLeverage, maxLeverage, maxDebtBorrowable, loanSizeError, oracleError,] = await this.contract.hypotheticalLeverageOf(account, depositCToken.address, borrowableCToken.address, assets, 0n);
269
301
  return {
270
302
  currentLeverage: FormatConverter_1.default.bigIntToDecimal(currentLeverage, 18),
271
303
  adjustMaxLeverage: FormatConverter_1.default.bigIntToDecimal(adjustMaxLeverage, 18),
272
304
  maxLeverage: FormatConverter_1.default.bigIntToDecimal(maxLeverage, 18),
273
305
  maxDebtBorrowable: FormatConverter_1.default.bigIntToDecimal(maxDebtBorrowable, borrowableCToken.decimals),
306
+ loanSizeError: Boolean(loanSizeError),
307
+ oracleError: Boolean(oracleError),
274
308
  };
275
309
  }
276
310
  async marketMultiCooldown(markets, account) {
@@ -286,51 +320,37 @@ class ProtocolReader {
286
320
  const [collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError] = await this.contract.getLeverageSnapshot(account, cToken, borrowableCToken, bufferTime);
287
321
  return { collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError };
288
322
  }
289
- async getStaticMarketData() {
290
- const data = await this.contract.getStaticMarketData();
291
- const typedData = data.map((market) => ({
292
- address: market._address,
293
- adapters: market.adapters,
294
- cooldownLength: market.cooldownLength,
295
- tokens: market.tokens.map((token) => ({
296
- address: token._address,
297
- name: token.name,
298
- symbol: token.symbol,
299
- decimals: BigInt(token.decimals),
300
- asset: {
301
- address: token.asset._address,
302
- name: token.asset.name,
303
- symbol: token.asset.symbol,
304
- decimals: BigInt(token.asset.decimals),
305
- totalSupply: BigInt(token.asset.totalSupply)
306
- },
307
- adapters: [BigInt(token.adapters[0]), BigInt(token.adapters[1])],
308
- isBorrowable: token.isBorrowable,
309
- borrowPaused: token.borrowPaused,
310
- collateralizationPaused: token.collateralizationPaused,
311
- mintPaused: token.mintPaused,
312
- collateralCap: BigInt(token.collateralCap),
313
- debtCap: BigInt(token.debtCap),
314
- isListed: token.isListed,
315
- collRatio: BigInt(token.collRatio),
316
- maxLeverage: BigInt(token.maxLeverage),
317
- collReqSoft: BigInt(token.collReqSoft),
318
- collReqHard: BigInt(token.collReqHard),
319
- liqIncBase: BigInt(token.liqIncBase),
320
- liqIncCurve: BigInt(token.liqIncCurve),
321
- liqIncMin: BigInt(token.liqIncMin),
322
- liqIncMax: BigInt(token.liqIncMax),
323
- closeFactorBase: BigInt(token.closeFactorBase),
324
- closeFactorCurve: BigInt(token.closeFactorCurve),
325
- closeFactorMin: BigInt(token.closeFactorMin),
326
- closeFactorMax: BigInt(token.closeFactorMax),
327
- irmTargetRate: BigInt(token.irmTargetRate),
328
- irmMaxRate: BigInt(token.irmMaxRate),
329
- irmTargetUtilization: BigInt(token.irmTargetUtilization),
330
- interestFee: BigInt(token.interestFee)
331
- }))
332
- }));
333
- return typedData;
323
+ async getStaticMarketData(options = {}) {
324
+ const cacheKey = this.staticMarketCacheKey;
325
+ const now = Date.now();
326
+ if (!options.forceRefresh && cacheKey != null) {
327
+ const cached = STATIC_MARKET_DATA_CACHE.get(cacheKey);
328
+ if (cached != undefined && cached.expiresAt > now) {
329
+ return cached.data;
330
+ }
331
+ }
332
+ const dataPromise = this.contract
333
+ .getStaticMarketData()
334
+ .then((data) => normalizeStaticMarketData(data));
335
+ if (cacheKey == null) {
336
+ return dataPromise;
337
+ }
338
+ // Cache only within a short window because this payload includes slow-
339
+ // moving config like caps and pause flags, not immutable metadata only.
340
+ STATIC_MARKET_DATA_CACHE.set(cacheKey, {
341
+ expiresAt: now + STATIC_MARKET_CACHE_TTL_MS,
342
+ data: dataPromise,
343
+ });
344
+ try {
345
+ return await dataPromise;
346
+ }
347
+ catch (error) {
348
+ const cached = STATIC_MARKET_DATA_CACHE.get(cacheKey);
349
+ if (cached?.data === dataPromise) {
350
+ STATIC_MARKET_DATA_CACHE.delete(cacheKey);
351
+ }
352
+ throw error;
353
+ }
334
354
  }
335
355
  }
336
356
  exports.ProtocolReader = ProtocolReader;
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolReader.js","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtocolReader.js","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
@@ -24,14 +24,14 @@ export declare class Zapper extends Calldata<IZapper> {
24
24
  type: ZapperTypes;
25
25
  setup: SetupConfigSnapshot;
26
26
  constructor(address: address, signer: curvance_signer, type: ZapperTypes, setup: SetupConfigSnapshot);
27
- nativeZap(ctoken: CToken, amount: bigint, collateralize: boolean): Promise<TransactionResponse>;
28
- simpleZap(ctoken: CToken, inputToken: address, outputToken: address, amount: bigint, collateralize: boolean, slippage: bigint): Promise<TransactionResponse>;
29
- getSimpleZapCalldata(ctoken: CToken, inputToken: address, outputToken: address, amount: bigint, collateralize: boolean, slippage: bigint): Promise<`0x${string}`>;
30
- getVaultZapCalldata(ctoken: CToken, amount: bigint, collateralize: boolean, wrapped?: boolean): Promise<`0x${string}`>;
27
+ nativeZap(ctoken: CToken, amount: bigint, collateralize: boolean, receiver?: address): Promise<TransactionResponse>;
28
+ simpleZap(ctoken: CToken, inputToken: address, outputToken: address, amount: bigint, collateralize: boolean, slippage: bigint, receiver?: address): Promise<TransactionResponse>;
29
+ getSimpleZapCalldata(ctoken: CToken, inputToken: address, outputToken: address, amount: bigint, collateralize: boolean, slippage: bigint, receiver?: address): Promise<`0x${string}`>;
30
+ getVaultZapCalldata(ctoken: CToken, amount: bigint, collateralize: boolean, wrapped?: boolean, receiver?: address): Promise<`0x${string}`>;
31
31
  getZapVaultData(ctoken: CToken, amount: bigint): Promise<{
32
32
  underlying_address: `0x${string}`;
33
33
  expected_shares: bigint;
34
34
  }>;
35
- getNativeZapCalldata(ctoken: CToken, amount: bigint, collateralize: boolean, wrapped?: boolean): Promise<`0x${string}`>;
35
+ getNativeZapCalldata(ctoken: CToken, amount: bigint, collateralize: boolean, wrapped?: boolean, receiver?: address): Promise<`0x${string}`>;
36
36
  }
37
37
  //# sourceMappingURL=Zapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Zapper.d.ts","sourceRoot":"","sources":["../../src/classes/Zapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAK,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,WAAW,IAAI;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC;AACzF,eAAO,MAAM,gBAAgB,iCAK3B,CAAC;AAEH,MAAM,WAAW,OAAO;IACpB,cAAc,CACV,MAAM,EAAE,OAAO,EACf,sBAAsB,EAAE,OAAO,EAC/B,UAAU,EAAE,IAAI,EAChB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAClC;AAED,qBAAa,MAAO,SAAQ,QAAQ,CAAC,OAAO,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,mBAAmB,CAAC;gBAEf,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB;IAS9F,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;IAKhE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAG,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAK9H,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAyExI,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAE,OAAe;IAsBpG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAW9C,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAE,OAAe;CAyB9G"}
1
+ {"version":3,"file":"Zapper.d.ts","sourceRoot":"","sources":["../../src/classes/Zapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,IAAI;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC;AACzF,eAAO,MAAM,gBAAgB,iCAK3B,CAAC;AAEH,MAAM,WAAW,OAAO;IACpB,cAAc,CACV,MAAM,EAAE,OAAO,EACf,sBAAsB,EAAE,OAAO,EAC/B,UAAU,EAAE,IAAI,EAChB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAClC;AAED,qBAAa,MAAO,SAAQ,QAAQ,CAAC,OAAO,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,mBAAmB,CAAC;gBAEf,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB;IAS9F,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,GAAE,OAAwC;IAMpH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAG,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAwC;IAMlL,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAwC;IAyE5L,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAE,OAAe,EAAE,QAAQ,GAAE,OAAwC;IAsBxJ,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAW9C,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAE,OAAe,EAAE,QAAQ,GAAE,OAAwC;CA2BlK"}