curvance 4.0.4 → 4.1.1

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 (125) hide show
  1. package/README.md +649 -59
  2. package/dist/chains/arb-sepolia.json +44 -0
  3. package/dist/chains/arbitrum.d.ts.map +1 -1
  4. package/dist/chains/arbitrum.js +4 -2
  5. package/dist/chains/arbitrum.js.map +1 -1
  6. package/dist/chains/index.d.ts +4 -0
  7. package/dist/chains/index.d.ts.map +1 -1
  8. package/dist/chains/index.js +15 -0
  9. package/dist/chains/index.js.map +1 -1
  10. package/dist/chains/monad-mainnet.json +26 -1
  11. package/dist/chains/monad.d.ts.map +1 -1
  12. package/dist/chains/monad.js +4 -2
  13. package/dist/chains/monad.js.map +1 -1
  14. package/dist/chains/rpc.d.ts +57 -0
  15. package/dist/chains/rpc.d.ts.map +1 -0
  16. package/dist/chains/rpc.js +67 -0
  17. package/dist/chains/rpc.js.map +1 -0
  18. package/dist/classes/Api.d.ts +4 -3
  19. package/dist/classes/Api.d.ts.map +1 -1
  20. package/dist/classes/Api.js +7 -7
  21. package/dist/classes/Api.js.map +1 -1
  22. package/dist/classes/BorrowableCToken.d.ts +3 -2
  23. package/dist/classes/BorrowableCToken.d.ts.map +1 -1
  24. package/dist/classes/BorrowableCToken.js +6 -5
  25. package/dist/classes/BorrowableCToken.js.map +1 -1
  26. package/dist/classes/CToken.d.ts +11 -3
  27. package/dist/classes/CToken.d.ts.map +1 -1
  28. package/dist/classes/CToken.js +102 -108
  29. package/dist/classes/CToken.js.map +1 -1
  30. package/dist/classes/Calldata.d.ts +2 -2
  31. package/dist/classes/Calldata.d.ts.map +1 -1
  32. package/dist/classes/Calldata.js +2 -2
  33. package/dist/classes/Calldata.js.map +1 -1
  34. package/dist/classes/DexAggregators/IDexAgg.d.ts +2 -2
  35. package/dist/classes/DexAggregators/IDexAgg.d.ts.map +1 -1
  36. package/dist/classes/DexAggregators/Kuru.d.ts +2 -2
  37. package/dist/classes/DexAggregators/Kuru.d.ts.map +1 -1
  38. package/dist/classes/DexAggregators/Kuru.js +3 -4
  39. package/dist/classes/DexAggregators/Kuru.js.map +1 -1
  40. package/dist/classes/DexAggregators/KuruMainnet.d.ts +1 -0
  41. package/dist/classes/DexAggregators/KuruMainnet.d.ts.map +1 -0
  42. package/dist/classes/DexAggregators/KuruMainnet.js +228 -0
  43. package/dist/classes/DexAggregators/KuruMainnet.js.map +1 -0
  44. package/dist/classes/DexAggregators/KyberSwap.d.ts +2 -2
  45. package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
  46. package/dist/classes/DexAggregators/KyberSwap.js +22 -13
  47. package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
  48. package/dist/classes/DexAggregators/MultiDexAgg.d.ts +2 -2
  49. package/dist/classes/DexAggregators/MultiDexAgg.d.ts.map +1 -1
  50. package/dist/classes/DexAggregators/MultiDexAgg.js +3 -3
  51. package/dist/classes/DexAggregators/MultiDexAgg.js.map +1 -1
  52. package/dist/classes/ERC20.d.ts +5 -3
  53. package/dist/classes/ERC20.d.ts.map +1 -1
  54. package/dist/classes/ERC20.js +20 -14
  55. package/dist/classes/ERC20.js.map +1 -1
  56. package/dist/classes/ERC4626.d.ts.map +1 -1
  57. package/dist/classes/ERC4626.js +3 -1
  58. package/dist/classes/ERC4626.js.map +1 -1
  59. package/dist/classes/Kuru.d.ts +59 -0
  60. package/dist/classes/Kuru.d.ts.map +1 -0
  61. package/dist/classes/Kuru.js +167 -0
  62. package/dist/classes/Kuru.js.map +1 -0
  63. package/dist/classes/KuruMainnet.d.ts +59 -0
  64. package/dist/classes/KuruMainnet.d.ts.map +1 -0
  65. package/dist/classes/KuruMainnet.js +167 -0
  66. package/dist/classes/KuruMainnet.js.map +1 -0
  67. package/dist/classes/Market.d.ts +13 -4
  68. package/dist/classes/Market.d.ts.map +1 -1
  69. package/dist/classes/Market.js +87 -32
  70. package/dist/classes/Market.js.map +1 -1
  71. package/dist/classes/NativeToken.d.ts +6 -3
  72. package/dist/classes/NativeToken.d.ts.map +1 -1
  73. package/dist/classes/NativeToken.js +11 -16
  74. package/dist/classes/NativeToken.js.map +1 -1
  75. package/dist/classes/OptimizerReader.d.ts +3 -3
  76. package/dist/classes/OptimizerReader.d.ts.map +1 -1
  77. package/dist/classes/OptimizerReader.js +1 -1
  78. package/dist/classes/OptimizerReader.js.map +1 -1
  79. package/dist/classes/OracleManager.d.ts +3 -3
  80. package/dist/classes/OracleManager.d.ts.map +1 -1
  81. package/dist/classes/OracleManager.js +1 -1
  82. package/dist/classes/OracleManager.js.map +1 -1
  83. package/dist/classes/PositionManager.d.ts +2 -2
  84. package/dist/classes/PositionManager.d.ts.map +1 -1
  85. package/dist/classes/PositionManager.js +4 -4
  86. package/dist/classes/PositionManager.js.map +1 -1
  87. package/dist/classes/ProtocolReader.d.ts +23 -8
  88. package/dist/classes/ProtocolReader.d.ts.map +1 -1
  89. package/dist/classes/ProtocolReader.js +197 -64
  90. package/dist/classes/ProtocolReader.js.map +1 -1
  91. package/dist/classes/Redstone.d.ts.map +1 -1
  92. package/dist/classes/Redstone.js +1 -2
  93. package/dist/classes/Redstone.js.map +1 -1
  94. package/dist/classes/Zapper.d.ts +4 -2
  95. package/dist/classes/Zapper.d.ts.map +1 -1
  96. package/dist/classes/Zapper.js +14 -13
  97. package/dist/classes/Zapper.js.map +1 -1
  98. package/dist/classes/index.d.ts +1 -1
  99. package/dist/classes/index.d.ts.map +1 -1
  100. package/dist/classes/index.js +6 -1
  101. package/dist/classes/index.js.map +1 -1
  102. package/dist/contracts/monad-mainnet.json +1 -1
  103. package/dist/helpers.d.ts +3 -1
  104. package/dist/helpers.d.ts.map +1 -1
  105. package/dist/helpers.js +34 -4
  106. package/dist/helpers.js.map +1 -1
  107. package/dist/integrations/snapshot.d.ts.map +1 -1
  108. package/dist/integrations/snapshot.js +4 -18
  109. package/dist/integrations/snapshot.js.map +1 -1
  110. package/dist/retry-provider.d.ts +83 -6
  111. package/dist/retry-provider.d.ts.map +1 -1
  112. package/dist/retry-provider.js +538 -68
  113. package/dist/retry-provider.js.map +1 -1
  114. package/dist/setup.d.ts +14 -3
  115. package/dist/setup.d.ts.map +1 -1
  116. package/dist/setup.js +67 -20
  117. package/dist/setup.js.map +1 -1
  118. package/dist/snapshot.d.ts +53 -0
  119. package/dist/snapshot.d.ts.map +1 -0
  120. package/dist/snapshot.js +103 -0
  121. package/dist/snapshot.js.map +1 -0
  122. package/dist/types.d.ts +2 -1
  123. package/dist/types.d.ts.map +1 -1
  124. package/dist/types.js.map +1 -1
  125. package/package.json +5 -2
@@ -1,5 +1,5 @@
1
1
  import { Contract } from "ethers";
2
- import { address, curvance_provider, TokenInput, TypeBPS } from "../types";
2
+ import { address, curvance_read_provider, TokenInput, TypeBPS } from "../types";
3
3
  import Decimal from "decimal.js";
4
4
  import { MarketToken } from "./Market";
5
5
  import { BorrowableCToken } from "./BorrowableCToken";
@@ -107,6 +107,8 @@ export interface UserData {
107
107
  markets: UserMarket[];
108
108
  }
109
109
  export interface IProtocolReader {
110
+ getAllDynamicState(account: address): Promise<any>;
111
+ getMarketStates(markets: address[], account: address): Promise<any>;
110
112
  getUserData(account: address): Promise<UserData>;
111
113
  getDynamicMarketData(): Promise<DynamicMarketData[]>;
112
114
  getStaticMarketData(): Promise<StaticMarketData[]>;
@@ -121,12 +123,17 @@ export interface IProtocolReader {
121
123
  getBalancesOf(tokens: address[], account: address): Promise<bigint[]>;
122
124
  getLeverageSnapshot(account: address, cToken: address, borrowableCToken: address, bufferTime: bigint): Promise<[bigint, bigint, bigint, bigint, bigint, bigint, boolean]>;
123
125
  }
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. */
128
+ export declare function __resetProtocolReaderCache(): void;
124
129
  export declare class ProtocolReader {
125
- provider: curvance_provider;
130
+ provider: curvance_read_provider;
126
131
  address: address;
127
132
  contract: Contract & IProtocolReader;
128
- constructor(address: address, provider?: curvance_provider);
129
- getAllMarketData(account: address, use_api?: boolean): Promise<{
133
+ constructor(address: address, provider?: curvance_read_provider);
134
+ private isMissingGetMarketStates;
135
+ private getMarketStatesFallback;
136
+ getAllMarketData(account?: address | null): Promise<{
130
137
  staticMarket: StaticMarketData[];
131
138
  dynamicMarket: DynamicMarketData[];
132
139
  userData: UserData;
@@ -136,13 +143,13 @@ export declare class ProtocolReader {
136
143
  maxUncollateralizedShares: bigint;
137
144
  errorCodeHit: boolean;
138
145
  }>;
139
- hypotheticalRedemptionOf(account: address, ctoken: CToken, shares: bigint): Promise<{
146
+ hypotheticalRedemptionOf(account: address, ctoken: CToken, shares: bigint, bufferTime?: bigint): Promise<{
140
147
  excess: bigint;
141
148
  deficit: bigint;
142
149
  isPossible: boolean;
143
150
  priceStale: boolean;
144
151
  }>;
145
- hypotheticalBorrowOf(account: address, ctoken: BorrowableCToken, assets: bigint): Promise<{
152
+ hypotheticalBorrowOf(account: address, ctoken: BorrowableCToken, assets: bigint, bufferTime?: bigint): Promise<{
146
153
  excess: bigint;
147
154
  deficit: bigint;
148
155
  isPossible: boolean;
@@ -152,8 +159,16 @@ export declare class ProtocolReader {
152
159
  positionHealth: bigint;
153
160
  errorCodeHit: boolean;
154
161
  }>;
155
- getDynamicMarketData(use_api?: boolean): Promise<DynamicMarketData[]>;
162
+ getDynamicMarketData(): Promise<DynamicMarketData[]>;
156
163
  getUserData(account: address): Promise<UserData>;
164
+ getAllDynamicState(account: address): Promise<{
165
+ dynamicMarket: DynamicMarketData[];
166
+ userData: UserData;
167
+ }>;
168
+ getMarketStates(markets: address[], account: address): Promise<{
169
+ dynamicMarkets: DynamicMarketData[];
170
+ userMarkets: UserMarket[];
171
+ }>;
157
172
  previewAssetImpact(user: address, collateral_ctoken: address, debt_ctoken: address, deposit_amount: bigint, borrow_amount: bigint): Promise<{
158
173
  supply: bigint;
159
174
  borrow: bigint;
@@ -176,6 +191,6 @@ export declare class ProtocolReader {
176
191
  debtTokenBalance: bigint;
177
192
  oracleError: boolean;
178
193
  }>;
179
- getStaticMarketData(use_api?: boolean): Promise<StaticMarketData[]>;
194
+ getStaticMarketData(): Promise<StaticMarketData[]>;
180
195
  }
181
196
  //# 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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"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProtocolReader = exports.AdaptorTypes = void 0;
7
+ exports.__resetProtocolReaderCache = __resetProtocolReaderCache;
7
8
  const helpers_1 = require("../helpers");
8
9
  const ProtocolReader_json_1 = __importDefault(require("../abis/ProtocolReader.json"));
9
10
  const setup_1 = require("../setup");
@@ -14,25 +15,177 @@ exports.AdaptorTypes = {
14
15
  REDSTONE_CORE: 2n,
15
16
  MOCK: 1337n
16
17
  };
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";
22
+ function normalizeDynamicMarketData(data) {
23
+ return data.map((market) => ({
24
+ address: market._address,
25
+ tokens: market.tokens.map((token) => ({
26
+ address: token._address,
27
+ totalSupply: BigInt(token.totalSupply),
28
+ totalAssets: BigInt(token.totalAssets),
29
+ exchangeRate: BigInt(token.exchangeRate),
30
+ collateral: BigInt(token.collateral),
31
+ debt: BigInt(token.debt),
32
+ sharePrice: BigInt(token.sharePrice),
33
+ assetPrice: BigInt(token.assetPrice),
34
+ sharePriceLower: BigInt(token.sharePriceLower),
35
+ assetPriceLower: BigInt(token.assetPriceLower),
36
+ borrowRate: BigInt(token.borrowRate),
37
+ predictedBorrowRate: BigInt(token.predictedBorrowRate),
38
+ utilizationRate: BigInt(token.utilizationRate),
39
+ supplyRate: BigInt(token.supplyRate),
40
+ liquidity: BigInt(token.liquidity),
41
+ })),
42
+ }));
43
+ }
44
+ function normalizeUserMarkets(data) {
45
+ return data.map((market) => ({
46
+ address: market._address,
47
+ collateral: BigInt(market.collateral),
48
+ maxDebt: BigInt(market.maxDebt),
49
+ debt: BigInt(market.debt),
50
+ positionHealth: BigInt(market.positionHealth),
51
+ cooldown: BigInt(market.cooldown),
52
+ // ABI names this field `errorCodeHit`; older SDK code/context call it `priceStale`.
53
+ priceStale: Boolean(market.priceStale ?? market.errorCodeHit),
54
+ tokens: market.tokens.map((token) => ({
55
+ address: token._address,
56
+ userAssetBalance: BigInt(token.userAssetBalance),
57
+ userShareBalance: BigInt(token.userShareBalance),
58
+ userUnderlyingBalance: BigInt(token.userUnderlyingBalance),
59
+ userCollateral: BigInt(token.userCollateral),
60
+ userDebt: BigInt(token.userDebt),
61
+ liquidationPrice: BigInt(token.liquidationPrice),
62
+ })),
63
+ }));
64
+ }
65
+ function normalizeUserData(data) {
66
+ return {
67
+ locks: (data?.locks ?? []).map((lock) => ({
68
+ lockIndex: BigInt(lock.lockIndex),
69
+ amount: BigInt(lock.amount),
70
+ unlockTime: BigInt(lock.unlockTime),
71
+ })),
72
+ markets: normalizeUserMarkets(data?.markets ?? []),
73
+ };
74
+ }
75
+ function createEmptyUserData(staticMarkets) {
76
+ return {
77
+ locks: [],
78
+ markets: staticMarkets.map((market) => ({
79
+ address: market.address,
80
+ collateral: 0n,
81
+ maxDebt: 0n,
82
+ debt: 0n,
83
+ positionHealth: helpers_1.UINT256_MAX,
84
+ cooldown: market.cooldownLength,
85
+ priceStale: false,
86
+ tokens: market.tokens.map((token) => ({
87
+ address: token.address,
88
+ userAssetBalance: 0n,
89
+ userShareBalance: 0n,
90
+ userUnderlyingBalance: 0n,
91
+ userCollateral: 0n,
92
+ userDebt: 0n,
93
+ liquidationPrice: helpers_1.UINT256_MAX,
94
+ })),
95
+ })),
96
+ };
97
+ }
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. */
108
+ function __resetProtocolReaderCache() {
109
+ PROTOCOL_READER_SELECTOR_SUPPORT.clear();
110
+ PROTOCOL_READER_FALLBACK_WARNED.clear();
111
+ }
17
112
  class ProtocolReader {
18
113
  provider;
19
114
  address;
20
115
  contract;
21
- constructor(address, provider = setup_1.setup_config.provider) {
116
+ constructor(address, provider = setup_1.setup_config.readProvider) {
22
117
  this.provider = provider;
23
118
  this.address = address;
24
- this.contract = (0, helpers_1.contractSetup)(provider, address, ProtocolReader_json_1.default);
119
+ this.contract = (0, helpers_1.contractSetup)(provider, address, [...ProtocolReader_json_1.default, ...PROTOCOL_READER_EXTRA_ABI]);
25
120
  }
26
- async getAllMarketData(account, use_api = true) {
27
- const all = await Promise.all([
28
- this.getStaticMarketData(use_api),
29
- this.getDynamicMarketData(use_api),
30
- this.getUserData(account)
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.");
143
+ }
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
+ };
168
+ }
169
+ async getAllMarketData(account = null) {
170
+ if (account == null || account === helpers_1.EMPTY_ADDRESS) {
171
+ const [staticMarket, dynamicMarket] = await Promise.all([
172
+ this.getStaticMarketData(),
173
+ this.getDynamicMarketData(),
174
+ ]);
175
+ return {
176
+ staticMarket,
177
+ dynamicMarket,
178
+ userData: createEmptyUserData(staticMarket),
179
+ };
180
+ }
181
+ const [staticMarket, { dynamicMarket, userData }] = await Promise.all([
182
+ this.getStaticMarketData(),
183
+ this.getAllDynamicState(account),
31
184
  ]);
32
185
  return {
33
- staticMarket: all[0],
34
- dynamicMarket: all[1],
35
- userData: all[2]
186
+ staticMarket,
187
+ dynamicMarket,
188
+ userData,
36
189
  };
37
190
  }
38
191
  async maxRedemptionOf(account, ctoken, bufferTime = 0n) {
@@ -43,8 +196,8 @@ class ProtocolReader {
43
196
  errorCodeHit: data[2]
44
197
  };
45
198
  }
46
- async hypotheticalRedemptionOf(account, ctoken, shares) {
47
- const data = await this.contract.hypotheticalRedemptionOf(account, ctoken.address, shares, 0n);
199
+ async hypotheticalRedemptionOf(account, ctoken, shares, bufferTime = 0n) {
200
+ const data = await this.contract.hypotheticalRedemptionOf(account, ctoken.address, shares, bufferTime);
48
201
  return {
49
202
  excess: BigInt(data[0]),
50
203
  deficit: BigInt(data[1]),
@@ -52,8 +205,8 @@ class ProtocolReader {
52
205
  priceStale: data[3]
53
206
  };
54
207
  }
55
- async hypotheticalBorrowOf(account, ctoken, assets) {
56
- const data = await this.contract.hypotheticalBorrowOf(account, ctoken.address, assets, 0n);
208
+ async hypotheticalBorrowOf(account, ctoken, assets, bufferTime = 0n) {
209
+ const data = await this.contract.hypotheticalBorrowOf(account, ctoken.address, assets, bufferTime);
57
210
  return {
58
211
  excess: BigInt(data[0]),
59
212
  deficit: BigInt(data[1]),
@@ -68,59 +221,40 @@ class ProtocolReader {
68
221
  errorCodeHit: data[1]
69
222
  };
70
223
  }
71
- async getDynamicMarketData(use_api = true) {
72
- // TODO: Implement API call
224
+ async getDynamicMarketData() {
73
225
  const data = await this.contract.getDynamicMarketData();
74
- const typedData = data.map((market) => ({
75
- address: market._address,
76
- tokens: market.tokens.map((token) => ({
77
- address: token._address,
78
- totalSupply: BigInt(token.totalSupply),
79
- totalAssets: BigInt(token.totalAssets),
80
- exchangeRate: BigInt(token.exchangeRate),
81
- collateral: BigInt(token.collateral),
82
- debt: BigInt(token.debt),
83
- sharePrice: BigInt(token.sharePrice),
84
- assetPrice: BigInt(token.assetPrice),
85
- sharePriceLower: BigInt(token.sharePriceLower),
86
- assetPriceLower: BigInt(token.assetPriceLower),
87
- borrowRate: BigInt(token.borrowRate),
88
- predictedBorrowRate: BigInt(token.predictedBorrowRate),
89
- utilizationRate: BigInt(token.utilizationRate),
90
- supplyRate: BigInt(token.supplyRate),
91
- liquidity: BigInt(token.liquidity)
92
- }))
93
- }));
94
- return typedData;
226
+ return normalizeDynamicMarketData(data);
95
227
  }
96
228
  async getUserData(account) {
97
229
  const data = await this.contract.getUserData(account);
98
- const typedData = {
99
- locks: data.locks.map((lock) => ({
100
- lockIndex: BigInt(lock.lockIndex),
101
- amount: BigInt(lock.amount),
102
- unlockTime: BigInt(lock.unlockTime)
103
- })),
104
- markets: data.markets.map((market) => ({
105
- address: market._address,
106
- collateral: BigInt(market.collateral),
107
- maxDebt: BigInt(market.maxDebt),
108
- debt: BigInt(market.debt),
109
- positionHealth: BigInt(market.positionHealth),
110
- cooldown: BigInt(market.cooldown),
111
- priceStale: market.priceStale,
112
- tokens: market.tokens.map((token) => ({
113
- address: token._address,
114
- userAssetBalance: BigInt(token.userAssetBalance),
115
- userShareBalance: BigInt(token.userShareBalance),
116
- userUnderlyingBalance: BigInt(token.userUnderlyingBalance),
117
- userCollateral: BigInt(token.userCollateral),
118
- userDebt: BigInt(token.userDebt),
119
- liquidationPrice: BigInt(token.liquidationPrice)
120
- }))
121
- }))
230
+ return normalizeUserData(data);
231
+ }
232
+ async getAllDynamicState(account) {
233
+ const data = await this.contract.getAllDynamicState(account);
234
+ return {
235
+ dynamicMarket: normalizeDynamicMarketData(data.market ?? data[0] ?? []),
236
+ userData: normalizeUserData(data.user ?? data[1] ?? { locks: [], markets: [] }),
122
237
  };
123
- return typedData;
238
+ }
239
+ 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
+ }
124
258
  }
125
259
  async previewAssetImpact(user, collateral_ctoken, debt_ctoken, deposit_amount, borrow_amount) {
126
260
  const data = await this.contract.previewAssetImpact(user, collateral_ctoken, debt_ctoken, deposit_amount, borrow_amount);
@@ -152,8 +286,7 @@ class ProtocolReader {
152
286
  const [collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError] = await this.contract.getLeverageSnapshot(account, cToken, borrowableCToken, bufferTime);
153
287
  return { collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError };
154
288
  }
155
- async getStaticMarketData(use_api = true) {
156
- // TODO: Implement API call
289
+ async getStaticMarketData() {
157
290
  const data = await this.contract.getStaticMarketData();
158
291
  const typedData = data.map((market) => ({
159
292
  address: market._address,
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Redstone.d.ts","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvG;AAED,qBAAa,QAAQ;WACJ,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,OAAe;iBAyBzB,KAAK;;;WAM3B,oBAAoB,CAAC,MAAM,EAAE,WAAW;CAkBxD"}
1
+ {"version":3,"file":"Redstone.d.ts","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvG;AAED,qBAAa,QAAQ;WACJ,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,OAAe;iBAyBzB,KAAK;;;WAM3B,oBAAoB,CAAC,MAAM,EAAE,WAAW;CAkBxD"}
@@ -8,7 +8,6 @@ const sdk_1 = require("@redstone-finance/sdk");
8
8
  const helpers_1 = require("../helpers");
9
9
  const ethers_1 = require("ethers");
10
10
  const RedstoneCoreAdaptor_json_1 = __importDefault(require("../abis/RedstoneCoreAdaptor.json"));
11
- const setup_1 = require("../setup");
12
11
  class Redstone {
13
12
  static async getPayload(symbol, log = false) {
14
13
  let payload_params = {
@@ -37,7 +36,7 @@ class Redstone {
37
36
  };
38
37
  }
39
38
  static async buildMultiCallAction(ctoken) {
40
- const adaptor = setup_1.setup_config.contracts.adaptors.RedstoneCoreAdaptor;
39
+ const adaptor = ctoken.market.setup.contracts.adaptors.RedstoneCoreAdaptor;
41
40
  const contract = (0, helpers_1.contractSetup)(ctoken.provider, adaptor, RedstoneCoreAdaptor_json_1.default);
42
41
  const { payload, timestamp } = await Redstone.getPayload(ctoken.asset.symbol);
43
42
  const writePrice = contract.interface.encodeFunctionData("writePrice", [
@@ -1 +1 @@
1
- {"version":3,"file":"Redstone.js","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA+G;AAE/G,wCAA2C;AAC3C,mCAA6D;AAE7D,gGAAmD;AACnD,oCAAwC;AAOxC,MAAa,QAAQ;IACjB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAe,KAAK;QACxD,IAAI,cAAc,GAAG;YACjB,aAAa,EAAE,uBAAuB;YACtC,eAAe,EAAE,CAAC,MAAM,CAAC;YACzB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE;gBACf,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;aAC/C;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAmB,EAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAA,iCAA2B,EAAC,QAAQ,CAAC;YACrC,IAAA,0BAAoB,EAAC,QAAQ,CAAC;SACjC,CAAC,CAAC;QAEH,IAAG,GAAG,EAAE,CAAC;YACL,MAAM,IAAI,GAAG,MAAM,IAAA,iCAA2B,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK,OAAO,EAAW;YAChC,SAAS;SACZ,CAAC;IAEN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAmB;QACjD,MAAM,OAAO,GAAG,oBAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAA8B,CAAC;QAC/E,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAuB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,kCAAG,CAAC,CAAC;QACpF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACnE,MAAM,CAAC,KAAK,CAAC,OAAO;YACpB,IAAI;YACJ,SAAS;SACZ,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAA,uBAAc,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAEpF,OAAO;YACH,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,iBAAiB;SACP,CAAC;IACzB,CAAC;CACJ;AAlDD,4BAkDC"}
1
+ {"version":3,"file":"Redstone.js","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA+G;AAE/G,wCAA2C;AAC3C,mCAA6D;AAE7D,gGAAmD;AAOnD,MAAa,QAAQ;IACjB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAe,KAAK;QACxD,IAAI,cAAc,GAAG;YACjB,aAAa,EAAE,uBAAuB;YACtC,eAAe,EAAE,CAAC,MAAM,CAAC;YACzB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE;gBACf,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;aAC/C;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAmB,EAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAA,iCAA2B,EAAC,QAAQ,CAAC;YACrC,IAAA,0BAAoB,EAAC,QAAQ,CAAC;SACjC,CAAC,CAAC;QAEH,IAAG,GAAG,EAAE,CAAC;YACL,MAAM,IAAI,GAAG,MAAM,IAAA,iCAA2B,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK,OAAO,EAAW;YAChC,SAAS;SACZ,CAAC;IAEN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAmB;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAA8B,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAuB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,kCAAG,CAAC,CAAC;QACpF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACnE,MAAM,CAAC,KAAK,CAAC,OAAO;YACpB,IAAI;YACJ,SAAS;SACZ,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAA,uBAAc,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAEpF,OAAO;YACH,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,iBAAiB;SACP,CAAC;IACzB,CAAC;CACJ;AAlDD,4BAkDC"}
@@ -3,6 +3,7 @@ import { address, bytes, curvance_signer } from "../types";
3
3
  import { CToken } from "./CToken";
4
4
  import { Calldata } from "./Calldata";
5
5
  import { Zappers } from "./Market";
6
+ import { type SetupConfigSnapshot } from "../setup";
6
7
  export interface Swap {
7
8
  inputToken: address;
8
9
  inputAmount: bigint;
@@ -17,11 +18,12 @@ export interface IZapper {
17
18
  swapAndDeposit(ctoken: address, depositAsWrappedNative: boolean, swapAction: Swap, expectedShares: bigint, collateralizeFor: boolean, receiver: address): Promise<TransactionResponse>;
18
19
  }
19
20
  export declare class Zapper extends Calldata<IZapper> {
20
- provider: curvance_signer;
21
+ signer: curvance_signer;
21
22
  contract: Contract & IZapper;
22
23
  address: address;
23
24
  type: ZapperTypes;
24
- constructor(address: address, provider: curvance_signer, type: ZapperTypes);
25
+ setup: SetupConfigSnapshot;
26
+ constructor(address: address, signer: curvance_signer, type: ZapperTypes, setup: SetupConfigSnapshot);
25
27
  nativeZap(ctoken: CToken, amount: bigint, collateralize: boolean): Promise<TransactionResponse>;
26
28
  simpleZap(ctoken: CToken, inputToken: address, outputToken: address, amount: bigint, collateralize: boolean, slippage: bigint): Promise<TransactionResponse>;
27
29
  getSimpleZapCalldata(ctoken: CToken, inputToken: address, outputToken: address, amount: bigint, collateralize: boolean, slippage: bigint): Promise<`0x${string}`>;
@@ -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;AAInC,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,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;gBAEN,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW;IAQpE,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,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"}
@@ -7,7 +7,6 @@ exports.Zapper = exports.zapperTypeToName = void 0;
7
7
  const helpers_1 = require("../helpers");
8
8
  const Calldata_1 = require("./Calldata");
9
9
  const SimpleZapper_json_1 = __importDefault(require("../abis/SimpleZapper.json"));
10
- const setup_1 = require("../setup");
11
10
  const FormatConverter_1 = __importDefault(require("./FormatConverter"));
12
11
  ;
13
12
  exports.zapperTypeToName = new Map([
@@ -17,16 +16,18 @@ exports.zapperTypeToName = new Map([
17
16
  ['native-simple', 'simpleZapper'],
18
17
  ]);
19
18
  class Zapper extends Calldata_1.Calldata {
20
- provider;
19
+ signer;
21
20
  contract;
22
21
  address;
23
22
  type;
24
- constructor(address, provider, type) {
23
+ setup;
24
+ constructor(address, signer, type, setup) {
25
25
  super();
26
26
  this.address = address;
27
- this.provider = provider;
27
+ this.signer = signer;
28
28
  this.type = type;
29
- this.contract = (0, helpers_1.contractSetup)(provider, address, SimpleZapper_json_1.default);
29
+ this.setup = setup;
30
+ this.contract = (0, helpers_1.contractSetup)(signer, address, SimpleZapper_json_1.default);
30
31
  }
31
32
  async nativeZap(ctoken, amount, collateralize) {
32
33
  const calldata = await this.getNativeZapCalldata(ctoken, amount, collateralize);
@@ -38,7 +39,7 @@ class Zapper extends Calldata_1.Calldata {
38
39
  }
39
40
  async getSimpleZapCalldata(ctoken, inputToken, outputToken, amount, collateralize, slippage) {
40
41
  const isNative = inputToken.toLowerCase() === helpers_1.NATIVE_ADDRESS.toLowerCase();
41
- const config = (0, helpers_1.getChainConfig)();
42
+ const config = (0, helpers_1.getChainConfig)(this.setup.chain);
42
43
  // For native MON: if the deposit token IS wrapped native, just wrap (no swap needed)
43
44
  if (isNative && outputToken.toLowerCase() === config.wrapped_native.toLowerCase()) {
44
45
  return this.getNativeZapCalldata(ctoken, amount, collateralize, true);
@@ -66,13 +67,13 @@ class Zapper extends Calldata_1.Calldata {
66
67
  swap,
67
68
  expected_shares,
68
69
  collateralize,
69
- this.provider.address
70
+ this.signer.address
70
71
  ]);
71
72
  }
72
73
  // Resolve fee from policy. The policy already exempts no-ops via
73
74
  // same-token + native↔wrapped checks, so the only way feeBps > 0 here
74
75
  // is for a real swap.
75
- const feeBps = setup_1.setup_config.feePolicy.getFeeBps({
76
+ const feeBps = this.setup.feePolicy.getFeeBps({
76
77
  operation: 'zap',
77
78
  inputToken: isNative ? helpers_1.NATIVE_ADDRESS : inputToken,
78
79
  outputToken: outputToken,
@@ -80,7 +81,7 @@ class Zapper extends Calldata_1.Calldata {
80
81
  currentLeverage: null,
81
82
  targetLeverage: null,
82
83
  });
83
- const feeReceiver = feeBps > 0n ? setup_1.setup_config.feePolicy.feeReceiver : undefined;
84
+ const feeReceiver = feeBps > 0n ? this.setup.feePolicy.feeReceiver : undefined;
84
85
  const quote = await config.dexAgg.quote(this.address, swapInputToken, outputToken, amount, slippage, feeBps, feeReceiver);
85
86
  const swap = {
86
87
  inputToken: isNative ? helpers_1.NATIVE_ADDRESS : inputToken,
@@ -97,7 +98,7 @@ class Zapper extends Calldata_1.Calldata {
97
98
  swap,
98
99
  expected_shares,
99
100
  collateralize,
100
- this.provider.address
101
+ this.signer.address
101
102
  ]);
102
103
  }
103
104
  async getVaultZapCalldata(ctoken, amount, collateralize, wrapped = false) {
@@ -116,7 +117,7 @@ class Zapper extends Calldata_1.Calldata {
116
117
  swap,
117
118
  expected_shares,
118
119
  collateralize,
119
- this.provider.address
120
+ this.signer.address
120
121
  ]);
121
122
  }
122
123
  async getZapVaultData(ctoken, amount) {
@@ -133,7 +134,7 @@ class Zapper extends Calldata_1.Calldata {
133
134
  ? await ctoken.getUnderlyingVault().previewDeposit(amount)
134
135
  : amount;
135
136
  const expected_shares = await ctoken.convertToShares(vaultAssets);
136
- const config = (0, helpers_1.getChainConfig)();
137
+ const config = (0, helpers_1.getChainConfig)(this.setup.chain);
137
138
  const swap = {
138
139
  inputToken: helpers_1.NATIVE_ADDRESS,
139
140
  inputAmount: amount,
@@ -148,7 +149,7 @@ class Zapper extends Calldata_1.Calldata {
148
149
  swap,
149
150
  expected_shares,
150
151
  collateralize,
151
- this.provider.address
152
+ this.signer.address
152
153
  ]);
153
154
  }
154
155
  }