curvance 4.1.0 → 4.1.2
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.
- package/README.md +79 -2
- package/dist/chains/rpc.d.ts.map +1 -1
- package/dist/chains/rpc.js +24 -4
- package/dist/chains/rpc.js.map +1 -1
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +51 -54
- package/dist/classes/CToken.js.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.js +12 -5
- package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
- package/dist/classes/Market.d.ts.map +1 -1
- package/dist/classes/Market.js +3 -6
- package/dist/classes/Market.js.map +1 -1
- package/dist/classes/ProtocolReader.d.ts +8 -7
- package/dist/classes/ProtocolReader.d.ts.map +1 -1
- package/dist/classes/ProtocolReader.js +30 -19
- package/dist/classes/ProtocolReader.js.map +1 -1
- package/dist/helpers.d.ts +84 -0
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +94 -0
- package/dist/helpers.js.map +1 -1
- package/dist/retry-provider.d.ts +2 -0
- package/dist/retry-provider.d.ts.map +1 -1
- package/dist/retry-provider.js +51 -35
- package/dist/retry-provider.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +11 -0
- package/dist/setup.js.map +1 -1
- package/package.json +7 -3
|
@@ -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");
|
|
@@ -94,12 +95,24 @@ function createEmptyUserData(staticMarkets) {
|
|
|
94
95
|
})),
|
|
95
96
|
};
|
|
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
|
+
}
|
|
97
112
|
class ProtocolReader {
|
|
98
113
|
provider;
|
|
99
114
|
address;
|
|
100
115
|
contract;
|
|
101
|
-
supportsGetMarketStates = null;
|
|
102
|
-
hasWarnedAboutMarketStatesFallback = false;
|
|
103
116
|
constructor(address, provider = setup_1.setup_config.readProvider) {
|
|
104
117
|
this.provider = provider;
|
|
105
118
|
this.address = address;
|
|
@@ -123,8 +136,8 @@ class ProtocolReader {
|
|
|
123
136
|
// runs the SDK (main deployment, staging, forks, local Anvil) has a
|
|
124
137
|
// ProtocolReader with getMarketStates deployed. Removing it right after
|
|
125
138
|
// a single deployment upgrade will break older forks and stale test envs.
|
|
126
|
-
if (!this.
|
|
127
|
-
this.
|
|
139
|
+
if (!PROTOCOL_READER_FALLBACK_WARNED.has(this.address)) {
|
|
140
|
+
PROTOCOL_READER_FALLBACK_WARNED.add(this.address);
|
|
128
141
|
console.warn("[ProtocolReader] getMarketStates is not available on this deployment yet. " +
|
|
129
142
|
"Falling back to getDynamicMarketData + getUserData for targeted refreshes.");
|
|
130
143
|
}
|
|
@@ -153,11 +166,11 @@ class ProtocolReader {
|
|
|
153
166
|
userMarkets,
|
|
154
167
|
};
|
|
155
168
|
}
|
|
156
|
-
async getAllMarketData(account = null
|
|
169
|
+
async getAllMarketData(account = null) {
|
|
157
170
|
if (account == null || account === helpers_1.EMPTY_ADDRESS) {
|
|
158
171
|
const [staticMarket, dynamicMarket] = await Promise.all([
|
|
159
|
-
this.getStaticMarketData(
|
|
160
|
-
this.getDynamicMarketData(
|
|
172
|
+
this.getStaticMarketData(),
|
|
173
|
+
this.getDynamicMarketData(),
|
|
161
174
|
]);
|
|
162
175
|
return {
|
|
163
176
|
staticMarket,
|
|
@@ -166,7 +179,7 @@ class ProtocolReader {
|
|
|
166
179
|
};
|
|
167
180
|
}
|
|
168
181
|
const [staticMarket, { dynamicMarket, userData }] = await Promise.all([
|
|
169
|
-
this.getStaticMarketData(
|
|
182
|
+
this.getStaticMarketData(),
|
|
170
183
|
this.getAllDynamicState(account),
|
|
171
184
|
]);
|
|
172
185
|
return {
|
|
@@ -183,8 +196,8 @@ class ProtocolReader {
|
|
|
183
196
|
errorCodeHit: data[2]
|
|
184
197
|
};
|
|
185
198
|
}
|
|
186
|
-
async hypotheticalRedemptionOf(account, ctoken, shares) {
|
|
187
|
-
const data = await this.contract.hypotheticalRedemptionOf(account, ctoken.address, shares,
|
|
199
|
+
async hypotheticalRedemptionOf(account, ctoken, shares, bufferTime = 0n) {
|
|
200
|
+
const data = await this.contract.hypotheticalRedemptionOf(account, ctoken.address, shares, bufferTime);
|
|
188
201
|
return {
|
|
189
202
|
excess: BigInt(data[0]),
|
|
190
203
|
deficit: BigInt(data[1]),
|
|
@@ -192,8 +205,8 @@ class ProtocolReader {
|
|
|
192
205
|
priceStale: data[3]
|
|
193
206
|
};
|
|
194
207
|
}
|
|
195
|
-
async hypotheticalBorrowOf(account, ctoken, assets) {
|
|
196
|
-
const data = await this.contract.hypotheticalBorrowOf(account, ctoken.address, assets,
|
|
208
|
+
async hypotheticalBorrowOf(account, ctoken, assets, bufferTime = 0n) {
|
|
209
|
+
const data = await this.contract.hypotheticalBorrowOf(account, ctoken.address, assets, bufferTime);
|
|
197
210
|
return {
|
|
198
211
|
excess: BigInt(data[0]),
|
|
199
212
|
deficit: BigInt(data[1]),
|
|
@@ -208,8 +221,7 @@ class ProtocolReader {
|
|
|
208
221
|
errorCodeHit: data[1]
|
|
209
222
|
};
|
|
210
223
|
}
|
|
211
|
-
async getDynamicMarketData(
|
|
212
|
-
// TODO: Implement API call
|
|
224
|
+
async getDynamicMarketData() {
|
|
213
225
|
const data = await this.contract.getDynamicMarketData();
|
|
214
226
|
return normalizeDynamicMarketData(data);
|
|
215
227
|
}
|
|
@@ -225,12 +237,12 @@ class ProtocolReader {
|
|
|
225
237
|
};
|
|
226
238
|
}
|
|
227
239
|
async getMarketStates(markets, account) {
|
|
228
|
-
if (this.
|
|
240
|
+
if (PROTOCOL_READER_SELECTOR_SUPPORT.get(this.address) === false) {
|
|
229
241
|
return this.getMarketStatesFallback(markets, account);
|
|
230
242
|
}
|
|
231
243
|
try {
|
|
232
244
|
const data = await this.contract.getMarketStates(markets, account);
|
|
233
|
-
this.
|
|
245
|
+
PROTOCOL_READER_SELECTOR_SUPPORT.set(this.address, true);
|
|
234
246
|
return {
|
|
235
247
|
dynamicMarkets: normalizeDynamicMarketData(data.dynamicMarkets ?? data[0] ?? []),
|
|
236
248
|
userMarkets: normalizeUserMarkets(data.userMarkets ?? data[1] ?? []),
|
|
@@ -240,7 +252,7 @@ class ProtocolReader {
|
|
|
240
252
|
if (!this.isMissingGetMarketStates(error)) {
|
|
241
253
|
throw error;
|
|
242
254
|
}
|
|
243
|
-
this.
|
|
255
|
+
PROTOCOL_READER_SELECTOR_SUPPORT.set(this.address, false);
|
|
244
256
|
return this.getMarketStatesFallback(markets, account);
|
|
245
257
|
}
|
|
246
258
|
}
|
|
@@ -274,8 +286,7 @@ class ProtocolReader {
|
|
|
274
286
|
const [collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError] = await this.contract.getLeverageSnapshot(account, cToken, borrowableCToken, bufferTime);
|
|
275
287
|
return { collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError };
|
|
276
288
|
}
|
|
277
|
-
async getStaticMarketData(
|
|
278
|
-
// TODO: Implement API call
|
|
289
|
+
async getStaticMarketData() {
|
|
279
290
|
const data = await this.contract.getStaticMarketData();
|
|
280
291
|
const typedData = data.map((market) => ({
|
|
281
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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"}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -27,6 +27,90 @@ export declare function toDecimal(value: bigint, decimals: bigint): Decimal;
|
|
|
27
27
|
export declare function toBps(value: Percentage): bigint;
|
|
28
28
|
export declare function fromBpsToWad(value: bigint): bigint;
|
|
29
29
|
export declare function toBigInt(value: number | Decimal, decimals: bigint): bigint;
|
|
30
|
+
/**
|
|
31
|
+
* Amplify a BPS slippage tolerance by `leverageDelta × bpsToAmplify` to
|
|
32
|
+
* compensate for the equity-fraction amplification that the on-chain
|
|
33
|
+
* `checkSlippage` modifier applies to in-op losses on leveraged operations.
|
|
34
|
+
*
|
|
35
|
+
* ## Why this exists
|
|
36
|
+
*
|
|
37
|
+
* `checkSlippage` measures loss as `(valueIn − valueOut) / equity`. On a
|
|
38
|
+
* leveraged swap where `valueIn = equity × L`, the same absolute loss X
|
|
39
|
+
* appears as `X / equity = (X / valueIn) × L` — amplified by `(L−1)` in
|
|
40
|
+
* (L−1)-terms. So any known per-swap loss (Curvance fee deducted before
|
|
41
|
+
* the swap; full-deleverage intentional overshoot) needs the contract-level
|
|
42
|
+
* slippage budget expanded by the amplified amount, otherwise a benign
|
|
43
|
+
* known loss trips the check and reverts the tx.
|
|
44
|
+
*
|
|
45
|
+
* The user's raw `slippage` budget is reserved for VARIABLE in-op losses
|
|
46
|
+
* (DEX impact, oracle drift) — this helper adds the DETERMINISTIC losses
|
|
47
|
+
* on top.
|
|
48
|
+
*
|
|
49
|
+
* ## Call sites
|
|
50
|
+
*
|
|
51
|
+
* Three sites in `CToken.ts` use this:
|
|
52
|
+
*
|
|
53
|
+
* - `leverageUp` case `'simple'`: `leverageDelta = newLeverage - 1`, `bps = feeBps`
|
|
54
|
+
* - `leverageDown` (simple): `leverageDelta = full ? currL - 1 : currL - newL`,
|
|
55
|
+
* `bps = full ? DELEVERAGE_OVERHEAD_BPS + feeBps : feeBps`
|
|
56
|
+
* - `depositAndLeverage` case simple: `leverageDelta = multiplier - 1`, `bps = feeBps`
|
|
57
|
+
*
|
|
58
|
+
* The `leverageDelta` and `bpsToAmplify` arguments preserve the per-site
|
|
59
|
+
* asymmetries: leverageUp/depositAndLeverage pass `newL - 1`; deleverage's
|
|
60
|
+
* full path uses `currL - 1` (the entire leverage range collapses) and its
|
|
61
|
+
* partial path uses `currL - newL` (only the shrunk range swaps). Full
|
|
62
|
+
* deleverage also adds `DELEVERAGE_OVERHEAD_BPS` on top of the fee.
|
|
63
|
+
*
|
|
64
|
+
* ## Not for
|
|
65
|
+
*
|
|
66
|
+
* - `KyberSwap.quoteAction`'s `action.slippage = userSlippage + feeBps` is
|
|
67
|
+
* a DIFFERENT primitive — swap-layer flat fee absorption for `_swapSafe`,
|
|
68
|
+
* not `(L−1)`-amplified for `checkSlippage`. Keep that in the adapter.
|
|
69
|
+
* - Borrow-amount sizing in `previewLeverageUp` — that's a fixed-point solve
|
|
70
|
+
* against LTV, not a slippage-tolerance expansion.
|
|
71
|
+
*/
|
|
72
|
+
export declare function amplifyContractSlippage(baseSlippage: bigint, leverageDelta: Decimal, bpsToAmplify: bigint): bigint;
|
|
73
|
+
/**
|
|
74
|
+
* Compute the swap-layer slippage tolerance (in WAD-BPS form) for the
|
|
75
|
+
* `Swap.slippage` field passed through `CalldataChecker._swapSafe`.
|
|
76
|
+
*
|
|
77
|
+
* Semantics: `_swapSafe` measures `(valueIn − valueOut) / valueIn` on the
|
|
78
|
+
* swap leg itself — NOT equity-fraction (that's the contract-level
|
|
79
|
+
* `checkSlippage` modifier one layer up; see `amplifyContractSlippage`).
|
|
80
|
+
* When a DEX aggregator deducts a currency_in fee before executing the
|
|
81
|
+
* swap, the on-chain path sees `valueIn = full input` but receives only
|
|
82
|
+
* `valueOut = swap_out_post_fee`, so the fee appears to `_swapSafe` as
|
|
83
|
+
* swap slippage. Expand the tolerance here to absorb the known fee so the
|
|
84
|
+
* user's raw slippage budget stays reserved for variable in-op losses
|
|
85
|
+
* (pool-fee tier variance, DEX price impact, oracle drift).
|
|
86
|
+
*
|
|
87
|
+
* ## Symmetry across DEX aggregators
|
|
88
|
+
*
|
|
89
|
+
* Every aggregator adapter that charges `CURVANCE_FEE_BPS` via a
|
|
90
|
+
* currency_in deduction must route its `quoteAction` through this helper
|
|
91
|
+
* so the on-chain behavior is uniform. Currently used by:
|
|
92
|
+
*
|
|
93
|
+
* - `KyberSwap.quoteAction` (explicit `currency_in` + `isInBps` params)
|
|
94
|
+
* - `Kuru.quoteAction` (referrer-style fee deduction, per Kuru docs
|
|
95
|
+
* mirroring KyberSwap's currency_in semantics)
|
|
96
|
+
*
|
|
97
|
+
* An aggregator that paid fees out-of-band (e.g., signed RFQ with fill-
|
|
98
|
+
* price already netted) would NOT use this helper — its `_swapSafe` sees
|
|
99
|
+
* no fee-induced loss. Gas-rebate models (negative fee) also skip.
|
|
100
|
+
*
|
|
101
|
+
* ## Return value
|
|
102
|
+
*
|
|
103
|
+
* BPS converted to WAD form via `FormatConverter.bpsToBpsWad`. Zero input
|
|
104
|
+
* (both userSlippage and feeBps are zero / undefined) returns `0n` without
|
|
105
|
+
* the conversion — preserves the historical zero-guard behavior of both
|
|
106
|
+
* adapters.
|
|
107
|
+
*
|
|
108
|
+
* @param userSlippage User's slippage tolerance in BPS (e.g., 100n = 1%)
|
|
109
|
+
* @param feeBps Aggregator's currency_in fee in BPS (e.g., CURVANCE_FEE_BPS = 4n).
|
|
110
|
+
* Undefined / 0n / negative all produce no expansion.
|
|
111
|
+
* @returns WAD-BPS slippage for the `Swap.slippage` struct field
|
|
112
|
+
*/
|
|
113
|
+
export declare function toContractSwapSlippage(userSlippage: bigint, feeBps?: bigint): bigint;
|
|
30
114
|
export declare function getChainConfig(chain?: ChainRpcPrefix): import("./chains").ChainConfig;
|
|
31
115
|
export declare function validateProviderAsSigner(provider: curvance_provider): curvance_signer;
|
|
32
116
|
export declare function requireSigner(signer: curvance_signer | null | undefined): curvance_signer;
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,MAAM,CAAC;AAEjD,eAAO,MAAM,GAAG,QAAc,CAAC;AAC/B,eAAO,MAAM,WAAW,QAAc,CAAC;AACvC,eAAO,MAAM,GAAG,QAAe,CAAC;AAChC,eAAO,MAAM,OAAO,QAAe,CAAC;AACpC,eAAO,MAAM,GAAG,QAAe,CAAC;AAChC,eAAO,MAAM,WAAW,QAAe,CAAC;AACxC,eAAO,MAAM,oBAAoB,QAAe,CAAC;AACjD,eAAO,MAAM,WAAW,SAAmB,CAAC;AAE5C,eAAO,MAAM,gBAAgB,YAAc,CAAC;AAC5C,eAAO,MAAM,iBAAiB,WAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,UAAW,CAAC;AACzC,eAAO,MAAM,eAAe,SAAU,CAAA;AAEtC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,eAAO,MAAM,WAAW,kFAAkF,CAAC;AAC3G,eAAO,MAAM,mBAAmB,SAAuB,CAAC;AACxD,eAAO,MAAM,aAAa,EAAmD,OAAO,CAAC;AACrF,eAAO,MAAM,cAAc,EAAmD,OAAO,CAAC;AACtF,eAAO,MAAM,WAAW,EAAW,KAAK,CAAC;AAEzC,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAavD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,cAAc,CAAC,KAAK,GAAE,cAAmC,kCAMxE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,GAO7C,eAAe,CACrC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAMzF;AAED,wBAAgB,cAAc,CAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,MAAM,GAAE,eAAe,GAAG,IAAI,GAAG,SAAgB,GAClD,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,CAAC,CAM9G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzD;AAuDD;;;;;;;;;;;;;GAaG;AAKH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,cAAc,CAC1B,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACzD,YAAY,CAAC,EAAE,YAAY,GAC5B,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE;IAAE,MAAM,IAAI,OAAO,CAAA;CAAE,GAC7B,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,oBAAoB,EAAE,GAAG,SAAS,GAClD,OAAO,CAqBT;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,oBAAoB,EAAE,GAAG,SAAS,GAClD,OAAO,CAcT;AAED;;;GAGG;AACH,wBAAgB,aAAa,CACzB,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,IAAI,OAAO,CAAC;IAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC7F,aAAa,EAAE,oBAAoB,EAAE,GAAG,SAAS,EACjD,YAAY,CAAC,EAAE,YAAY,GAC5B,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,aAAa,CACzB,KAAK,EAAE;IAAE,aAAa,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACtE,aAAa,EAAE,oBAAoB,EAAE,GAAG,SAAS,GAClD,OAAO,CAIT;AAMD,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,SAAK,GAAG,CAAC,CA8B1F"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers.js
CHANGED
|
@@ -9,6 +9,8 @@ exports.toDecimal = toDecimal;
|
|
|
9
9
|
exports.toBps = toBps;
|
|
10
10
|
exports.fromBpsToWad = fromBpsToWad;
|
|
11
11
|
exports.toBigInt = toBigInt;
|
|
12
|
+
exports.amplifyContractSlippage = amplifyContractSlippage;
|
|
13
|
+
exports.toContractSwapSlippage = toContractSwapSlippage;
|
|
12
14
|
exports.getChainConfig = getChainConfig;
|
|
13
15
|
exports.validateProviderAsSigner = validateProviderAsSigner;
|
|
14
16
|
exports.requireSigner = requireSigner;
|
|
@@ -74,6 +76,98 @@ function fromBpsToWad(value) {
|
|
|
74
76
|
function toBigInt(value, decimals) {
|
|
75
77
|
return FormatConverter_1.default.decimalToBigInt((0, decimal_js_1.Decimal)(value), decimals);
|
|
76
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Amplify a BPS slippage tolerance by `leverageDelta × bpsToAmplify` to
|
|
81
|
+
* compensate for the equity-fraction amplification that the on-chain
|
|
82
|
+
* `checkSlippage` modifier applies to in-op losses on leveraged operations.
|
|
83
|
+
*
|
|
84
|
+
* ## Why this exists
|
|
85
|
+
*
|
|
86
|
+
* `checkSlippage` measures loss as `(valueIn − valueOut) / equity`. On a
|
|
87
|
+
* leveraged swap where `valueIn = equity × L`, the same absolute loss X
|
|
88
|
+
* appears as `X / equity = (X / valueIn) × L` — amplified by `(L−1)` in
|
|
89
|
+
* (L−1)-terms. So any known per-swap loss (Curvance fee deducted before
|
|
90
|
+
* the swap; full-deleverage intentional overshoot) needs the contract-level
|
|
91
|
+
* slippage budget expanded by the amplified amount, otherwise a benign
|
|
92
|
+
* known loss trips the check and reverts the tx.
|
|
93
|
+
*
|
|
94
|
+
* The user's raw `slippage` budget is reserved for VARIABLE in-op losses
|
|
95
|
+
* (DEX impact, oracle drift) — this helper adds the DETERMINISTIC losses
|
|
96
|
+
* on top.
|
|
97
|
+
*
|
|
98
|
+
* ## Call sites
|
|
99
|
+
*
|
|
100
|
+
* Three sites in `CToken.ts` use this:
|
|
101
|
+
*
|
|
102
|
+
* - `leverageUp` case `'simple'`: `leverageDelta = newLeverage - 1`, `bps = feeBps`
|
|
103
|
+
* - `leverageDown` (simple): `leverageDelta = full ? currL - 1 : currL - newL`,
|
|
104
|
+
* `bps = full ? DELEVERAGE_OVERHEAD_BPS + feeBps : feeBps`
|
|
105
|
+
* - `depositAndLeverage` case simple: `leverageDelta = multiplier - 1`, `bps = feeBps`
|
|
106
|
+
*
|
|
107
|
+
* The `leverageDelta` and `bpsToAmplify` arguments preserve the per-site
|
|
108
|
+
* asymmetries: leverageUp/depositAndLeverage pass `newL - 1`; deleverage's
|
|
109
|
+
* full path uses `currL - 1` (the entire leverage range collapses) and its
|
|
110
|
+
* partial path uses `currL - newL` (only the shrunk range swaps). Full
|
|
111
|
+
* deleverage also adds `DELEVERAGE_OVERHEAD_BPS` on top of the fee.
|
|
112
|
+
*
|
|
113
|
+
* ## Not for
|
|
114
|
+
*
|
|
115
|
+
* - `KyberSwap.quoteAction`'s `action.slippage = userSlippage + feeBps` is
|
|
116
|
+
* a DIFFERENT primitive — swap-layer flat fee absorption for `_swapSafe`,
|
|
117
|
+
* not `(L−1)`-amplified for `checkSlippage`. Keep that in the adapter.
|
|
118
|
+
* - Borrow-amount sizing in `previewLeverageUp` — that's a fixed-point solve
|
|
119
|
+
* against LTV, not a slippage-tolerance expansion.
|
|
120
|
+
*/
|
|
121
|
+
function amplifyContractSlippage(baseSlippage, leverageDelta, bpsToAmplify) {
|
|
122
|
+
if (bpsToAmplify === 0n)
|
|
123
|
+
return baseSlippage;
|
|
124
|
+
const expansion = leverageDelta.mul(Number(bpsToAmplify)).ceil().toFixed(0);
|
|
125
|
+
return baseSlippage + BigInt(expansion);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Compute the swap-layer slippage tolerance (in WAD-BPS form) for the
|
|
129
|
+
* `Swap.slippage` field passed through `CalldataChecker._swapSafe`.
|
|
130
|
+
*
|
|
131
|
+
* Semantics: `_swapSafe` measures `(valueIn − valueOut) / valueIn` on the
|
|
132
|
+
* swap leg itself — NOT equity-fraction (that's the contract-level
|
|
133
|
+
* `checkSlippage` modifier one layer up; see `amplifyContractSlippage`).
|
|
134
|
+
* When a DEX aggregator deducts a currency_in fee before executing the
|
|
135
|
+
* swap, the on-chain path sees `valueIn = full input` but receives only
|
|
136
|
+
* `valueOut = swap_out_post_fee`, so the fee appears to `_swapSafe` as
|
|
137
|
+
* swap slippage. Expand the tolerance here to absorb the known fee so the
|
|
138
|
+
* user's raw slippage budget stays reserved for variable in-op losses
|
|
139
|
+
* (pool-fee tier variance, DEX price impact, oracle drift).
|
|
140
|
+
*
|
|
141
|
+
* ## Symmetry across DEX aggregators
|
|
142
|
+
*
|
|
143
|
+
* Every aggregator adapter that charges `CURVANCE_FEE_BPS` via a
|
|
144
|
+
* currency_in deduction must route its `quoteAction` through this helper
|
|
145
|
+
* so the on-chain behavior is uniform. Currently used by:
|
|
146
|
+
*
|
|
147
|
+
* - `KyberSwap.quoteAction` (explicit `currency_in` + `isInBps` params)
|
|
148
|
+
* - `Kuru.quoteAction` (referrer-style fee deduction, per Kuru docs
|
|
149
|
+
* mirroring KyberSwap's currency_in semantics)
|
|
150
|
+
*
|
|
151
|
+
* An aggregator that paid fees out-of-band (e.g., signed RFQ with fill-
|
|
152
|
+
* price already netted) would NOT use this helper — its `_swapSafe` sees
|
|
153
|
+
* no fee-induced loss. Gas-rebate models (negative fee) also skip.
|
|
154
|
+
*
|
|
155
|
+
* ## Return value
|
|
156
|
+
*
|
|
157
|
+
* BPS converted to WAD form via `FormatConverter.bpsToBpsWad`. Zero input
|
|
158
|
+
* (both userSlippage and feeBps are zero / undefined) returns `0n` without
|
|
159
|
+
* the conversion — preserves the historical zero-guard behavior of both
|
|
160
|
+
* adapters.
|
|
161
|
+
*
|
|
162
|
+
* @param userSlippage User's slippage tolerance in BPS (e.g., 100n = 1%)
|
|
163
|
+
* @param feeBps Aggregator's currency_in fee in BPS (e.g., CURVANCE_FEE_BPS = 4n).
|
|
164
|
+
* Undefined / 0n / negative all produce no expansion.
|
|
165
|
+
* @returns WAD-BPS slippage for the `Swap.slippage` struct field
|
|
166
|
+
*/
|
|
167
|
+
function toContractSwapSlippage(userSlippage, feeBps) {
|
|
168
|
+
const effective = feeBps && feeBps > 0n ? userSlippage + feeBps : userSlippage;
|
|
169
|
+
return effective ? FormatConverter_1.default.bpsToBpsWad(effective) : 0n;
|
|
170
|
+
}
|
|
77
171
|
function getChainConfig(chain = setup_1.setup_config.chain) {
|
|
78
172
|
const config = chains_1.chain_config[chain];
|
|
79
173
|
if (!config) {
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;AAoCA,wCAaC;AAED,8BAEC;AAED,sBAEC;AAED,oCAEC;AAED,4BAEC;AAED,wCAMC;AAED,4DAQC;AAED,sCAMC;AAED,wCASC;AAED,sCAMC;AAED,oDAQC;AAsFD,wCAOC;AAKD,4CAIC;AAMD,8DAwBC;AAMD,4DAiBC;AAMD,sCAUC;AAMD,sCAOC;AAMD,sDA8BC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/retry-provider.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ declare class RetryableProvider {
|
|
|
63
63
|
private publishDebugState;
|
|
64
64
|
private recordProviderSelection;
|
|
65
65
|
private recordProviderAttempt;
|
|
66
|
+
private static readonly CONTRACT_ERROR_PATTERNS;
|
|
67
|
+
private isContractError;
|
|
66
68
|
private isRetryableError;
|
|
67
69
|
private isReadFallbackActive;
|
|
68
70
|
private getFallbackProviderLabel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-provider.d.ts","sourceRoot":"","sources":["../src/retry-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAsBpE,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpE;AAED,eAAO,MAAM,oBAAoB,EAAE,WAuDlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,qBAAqB,EAAE,CAAC;CACtC;AAED,KAAK,gBAAgB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAgE7D,wBAAgB,mBAAmB,IAAI,gBAAgB,CAatD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAM1E;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED,cAAM,iBAAiB;IACnB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,wBAAwB,CAAK;gBAGjC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,EACjC,iBAAiB,GAAE,eAAe,GAAG,eAAe,EAAE,GAAG,IAAW;YAa1D,KAAK;IAInB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"retry-provider.d.ts","sourceRoot":"","sources":["../src/retry-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/retry-provider.js
CHANGED
|
@@ -315,43 +315,50 @@ class RetryableProvider {
|
|
|
315
315
|
}
|
|
316
316
|
this.publishDebugState(state);
|
|
317
317
|
}
|
|
318
|
-
|
|
319
|
-
|
|
318
|
+
// Contract / user-intent errors that are deterministic chain state. These
|
|
319
|
+
// must never be retried on the same provider AND must never cascade to a
|
|
320
|
+
// fallback provider — the next provider would return the same result.
|
|
321
|
+
static CONTRACT_ERROR_PATTERNS = [
|
|
322
|
+
'revert',
|
|
323
|
+
'execution reverted',
|
|
324
|
+
'transaction reverted',
|
|
325
|
+
'insufficient funds',
|
|
326
|
+
'gas required exceeds allowance',
|
|
327
|
+
'nonce too high',
|
|
328
|
+
'nonce too low',
|
|
329
|
+
'replacement transaction underpriced',
|
|
330
|
+
'already pending',
|
|
331
|
+
'invalid opcode',
|
|
332
|
+
'stack overflow',
|
|
333
|
+
'stack underflow',
|
|
334
|
+
'out of gas',
|
|
335
|
+
'call_exception',
|
|
336
|
+
'unpredictable_gas_limit',
|
|
337
|
+
'invalid_argument',
|
|
338
|
+
'missing_argument',
|
|
339
|
+
'unexpected_argument',
|
|
340
|
+
'numeric_fault',
|
|
341
|
+
'user rejected',
|
|
342
|
+
'user denied',
|
|
343
|
+
'user cancelled',
|
|
344
|
+
'action_rejected',
|
|
345
|
+
'4001',
|
|
346
|
+
];
|
|
347
|
+
isContractError(error) {
|
|
320
348
|
const errorMessage = error?.message?.toLowerCase() || '';
|
|
321
349
|
const errorCode = error?.code?.toString() || '';
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
'nonce too low',
|
|
331
|
-
'replacement transaction underpriced',
|
|
332
|
-
'already pending',
|
|
333
|
-
'invalid opcode',
|
|
334
|
-
'stack overflow',
|
|
335
|
-
'stack underflow',
|
|
336
|
-
'out of gas',
|
|
337
|
-
'call_exception',
|
|
338
|
-
'unpredictable_gas_limit',
|
|
339
|
-
'invalid_argument',
|
|
340
|
-
'missing_argument',
|
|
341
|
-
'unexpected_argument',
|
|
342
|
-
'numeric_fault',
|
|
343
|
-
'user rejected',
|
|
344
|
-
'user denied',
|
|
345
|
-
'user cancelled',
|
|
346
|
-
'action_rejected',
|
|
347
|
-
'4001'
|
|
348
|
-
];
|
|
349
|
-
// If it's a contract execution error, don't retry
|
|
350
|
-
const isContractError = nonRetryablePatterns.some(pattern => errorMessage.includes(pattern) || errorCode.includes(pattern));
|
|
351
|
-
if (isContractError) {
|
|
350
|
+
return RetryableProvider.CONTRACT_ERROR_PATTERNS.some((pattern) => errorMessage.includes(pattern) || errorCode.includes(pattern));
|
|
351
|
+
}
|
|
352
|
+
isRetryableError(error) {
|
|
353
|
+
// Retry policy — only known-transient errors warrant a same-provider
|
|
354
|
+
// retry. Unknown error shapes are NOT retried here (re-sending the
|
|
355
|
+
// same payload to the same broken endpoint rarely helps), but they
|
|
356
|
+
// DO still advance to the fallback chain via isContractError below.
|
|
357
|
+
if (this.isContractError(error)) {
|
|
352
358
|
return false;
|
|
353
359
|
}
|
|
354
|
-
|
|
360
|
+
const errorMessage = error?.message?.toLowerCase() || '';
|
|
361
|
+
const errorCode = error?.code?.toString() || '';
|
|
355
362
|
const errorStatus = error?.response?.status?.toString() || '';
|
|
356
363
|
return this.config.retryableErrors.some(retryableError => errorMessage.includes(retryableError.toLowerCase()) ||
|
|
357
364
|
errorCode.includes(retryableError) ||
|
|
@@ -524,7 +531,12 @@ class RetryableProvider {
|
|
|
524
531
|
return result;
|
|
525
532
|
}
|
|
526
533
|
catch (fallbackError) {
|
|
527
|
-
|
|
534
|
+
// Only deterministic contract/user errors short-circuit the
|
|
535
|
+
// fallback chain. Unknown transport-level errors on one
|
|
536
|
+
// fallback must still advance to the next configured provider
|
|
537
|
+
// — a malformed response or auth issue on fallback N is not
|
|
538
|
+
// a reason to abandon fallback N+1.
|
|
539
|
+
if (this.isContractError(fallbackError)) {
|
|
528
540
|
throw fallbackError;
|
|
529
541
|
}
|
|
530
542
|
this.markFallbackFailure(state);
|
|
@@ -545,7 +557,11 @@ class RetryableProvider {
|
|
|
545
557
|
return await this.executeWithRetry(timedPrimaryOp, context, primaryState);
|
|
546
558
|
}
|
|
547
559
|
catch (primaryError) {
|
|
548
|
-
|
|
560
|
+
// Contract/user errors skip fallback — deterministic chain state.
|
|
561
|
+
// Everything else (known-retryable AND unknown transport errors)
|
|
562
|
+
// advances to the fallback chain so a broken primary can't block
|
|
563
|
+
// reads while healthy fallbacks sit idle.
|
|
564
|
+
if (this.isContractError(primaryError)) {
|
|
549
565
|
throw primaryError;
|
|
550
566
|
}
|
|
551
567
|
this.primaryReadCooldownUntil = Date.now() + this.config.fallbackCooldownMs;
|