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
package/README.md
CHANGED
|
@@ -34,10 +34,14 @@ const { markets, reader, dexAgg, global_milestone } = await setupChain("monad-ma
|
|
|
34
34
|
```ts
|
|
35
35
|
setupChain(
|
|
36
36
|
chain: ChainRpcPrefix,
|
|
37
|
-
provider: curvance_provider | null = null, // null → SDK
|
|
37
|
+
provider: curvance_provider | null = null, // signer (wallet) OR read-only provider; null → SDK default
|
|
38
38
|
approval_protection: boolean = false, // revoke-before-approve pattern
|
|
39
39
|
api_url: string = "https://api.curvance.com",
|
|
40
|
-
options: {
|
|
40
|
+
options: {
|
|
41
|
+
feePolicy?: FeePolicy; // zap/leverage fee routing (default: NO_FEE_POLICY)
|
|
42
|
+
account?: address | null; // user address for user-specific reads without a signer
|
|
43
|
+
readProvider?: curvance_read_provider | null; // explicit override for read transport
|
|
44
|
+
} = {}
|
|
41
45
|
): Promise<{
|
|
42
46
|
markets: Market[],
|
|
43
47
|
reader: ProtocolReader,
|
|
@@ -46,6 +50,13 @@ setupChain(
|
|
|
46
50
|
}>
|
|
47
51
|
```
|
|
48
52
|
|
|
53
|
+
### RPC routing
|
|
54
|
+
|
|
55
|
+
- **Wallet connected** (signer with a `.provider`) → the wallet's own provider is the **primary** read source; the chain's configured RPC + fallbacks absorb wallet RPC failures. This distributes read load across users' wallet RPCs and respects whichever endpoint each user chose.
|
|
56
|
+
- **Signerless / public view** → the chain's configured RPC is primary; chain fallbacks serve as backup.
|
|
57
|
+
- **Explicit `options.readProvider`** → wins over all of the above. Use when you want deterministic read transport (e.g. fork testing).
|
|
58
|
+
- **Writes** always route through the connected signer; they never use the chain RPC or fallbacks.
|
|
59
|
+
|
|
49
60
|
### Explore markets
|
|
50
61
|
|
|
51
62
|
```ts
|
|
@@ -397,6 +408,29 @@ leverage.checkLeverageAmountBelowMinimum(input) // $10.10 minimum borrow
|
|
|
397
408
|
leverage.checkBorrowExceedsLiquidity(borrowAmount, availableLiquidity)
|
|
398
409
|
```
|
|
399
410
|
|
|
411
|
+
### Contract-level slippage amplification
|
|
412
|
+
|
|
413
|
+
```ts
|
|
414
|
+
import { amplifyContractSlippage, toContractSwapSlippage } from "curvance"
|
|
415
|
+
|
|
416
|
+
// Used internally by CToken.leverageUp / leverageDown / depositAndLeverage to
|
|
417
|
+
// expand the contract-level slippage budget for the equity-fraction amplification
|
|
418
|
+
// that on-chain `checkSlippage` applies. Each deterministic per-swap loss
|
|
419
|
+
// (CURVANCE_FEE_BPS, full-deleverage overshoot) gets amplified by (L-1) in
|
|
420
|
+
// (L-1)-terms, so contractSlippage must absorb it without dipping into the
|
|
421
|
+
// user's raw `slippage` budget (reserved for variable DEX impact + drift).
|
|
422
|
+
amplifyContractSlippage(baseSlippageBps, leverageDelta, bpsToAmplify)
|
|
423
|
+
|
|
424
|
+
// Used by DEX aggregator adapters (KyberSwap etc.) in `quoteAction` to
|
|
425
|
+
// compute the WAD-BPS slippage tolerance for the `Swap.slippage` struct
|
|
426
|
+
// field consumed by on-chain `_swapSafe`. When the aggregator pre-deducts
|
|
427
|
+
// a currency_in fee, the expansion absorbs that fee so `_swapSafe` doesn't
|
|
428
|
+
// double-count it as swap slippage. Adapters whose fee model does NOT
|
|
429
|
+
// pre-deduct (e.g., out-of-band referrer paid from output) should call
|
|
430
|
+
// with `feeBps` omitted / 0n so no expansion applies.
|
|
431
|
+
toContractSwapSlippage(userSlippageBps, feeBps?)
|
|
432
|
+
```
|
|
433
|
+
|
|
400
434
|
### Borrow math
|
|
401
435
|
|
|
402
436
|
```ts
|
|
@@ -617,3 +651,46 @@ DEFAULT_SLIPPAGE_BPS // 100n (1%)
|
|
|
617
651
|
| [ethers v6](https://www.npmjs.com/package/ethers) | Typed contract interactions, providers, and signer handling |
|
|
618
652
|
| [decimal.js](https://www.npmjs.com/package/decimal.js) | Arbitrary-precision math for all token amounts, prices, and rates |
|
|
619
653
|
| [@redstone-finance/sdk](https://www.npmjs.com/package/@redstone-finance/sdk) | Price feed writes bundled into multicalls for pull-oracle adaptors |
|
|
654
|
+
|
|
655
|
+
## ❯ Pre-Publish Checklist
|
|
656
|
+
|
|
657
|
+
Run before every `npm publish` that touches `src/chains/`, `src/setup.ts`,
|
|
658
|
+
`src/retry-provider.ts`, or any RPC-adjacent code:
|
|
659
|
+
|
|
660
|
+
1. **Unit tests green.** `npm test` — must show all `test:transport` tests
|
|
661
|
+
passing. `tests/rpc-config-shape.test.ts` locks the structural invariants
|
|
662
|
+
of `chain_rpc_config` (no known-bad RPCs, no duplicate fallbacks, policy
|
|
663
|
+
fields within sane ranges).
|
|
664
|
+
|
|
665
|
+
2. **Live RPC probe against both app origins.** In the app repo:
|
|
666
|
+
|
|
667
|
+
```bash
|
|
668
|
+
cd path/to/curvance-app
|
|
669
|
+
RPC_PROBE_YES=1 node scripts/rpc-probe.mjs
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
The probe hits `staging.curvance.com` and `app.curvance.com` origins
|
|
673
|
+
against every URL in `chain_rpc_config`. Required thresholds for the
|
|
674
|
+
**primary** and **first fallback** on each chain:
|
|
675
|
+
|
|
676
|
+
- CORS preflight returns `204` or `200` with a matching `Access-Control-Allow-Origin` header
|
|
677
|
+
- Correctness call returns a valid `chainId` matching the chain
|
|
678
|
+
- Latency `p95 ≤ 500ms`
|
|
679
|
+
- 50-concurrent-burst: `≥ 45/50` successful (allow 10% for transient blips)
|
|
680
|
+
|
|
681
|
+
Any primary or first-fallback failing these thresholds **blocks the
|
|
682
|
+
publish**. Demote to a later fallback position or replace.
|
|
683
|
+
|
|
684
|
+
Deeper-cascade fallbacks (`fallbacks[1]+`) MAY have looser limits if
|
|
685
|
+
documented inline with a comment in `chain_rpc_config`.
|
|
686
|
+
|
|
687
|
+
3. **Do not add the probe to CI.** The probe fires ~500 requests per run
|
|
688
|
+
across 5-10 public RPCs from a single IP. Running it on every PR would
|
|
689
|
+
trip per-IP rate limits and eventually provoke origin bans from the
|
|
690
|
+
free RPCs we depend on — recreating the exact failure mode
|
|
691
|
+
(monadinfra 403'ing `staging.curvance.com`) that motivated building
|
|
692
|
+
this probe.
|
|
693
|
+
|
|
694
|
+
4. **Republish workflow.** Version bump → `npm publish` → in app repo,
|
|
695
|
+
bump `curvance` in `package.json` to the new version → `yarn install`
|
|
696
|
+
→ commit `yarn.lock` → deploy.
|
package/dist/chains/rpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/chains/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/chains/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAWD,eAAO,MAAM,wBAAwB,EAAE,cAYtC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;oBAzCb,MAAM;sBACJ,MAAM;mBACT,MAAM;4BACG,MAAM;wBACV,MAAM;yBACL,MAAM;uBACR,MAAM;qBACR;YACT,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACrB;;;;;oBAVW,MAAM;sBACJ,MAAM;mBACT,MAAM;4BACG,MAAM;wBACV,MAAM;yBACL,MAAM;uBACR,MAAM;qBACR;YACT,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACrB;;CAqDkD,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc,CAE1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,eAAe,CAEpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAG5F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iBAAiB,GAAG,eAAe,EAAE,CAExF"}
|
package/dist/chains/rpc.js
CHANGED
|
@@ -6,10 +6,19 @@ exports.createChainPrimaryProvider = createChainPrimaryProvider;
|
|
|
6
6
|
exports.createChainFallbackProvider = createChainFallbackProvider;
|
|
7
7
|
exports.createChainFallbackProviders = createChainFallbackProviders;
|
|
8
8
|
const ethers_1 = require("ethers");
|
|
9
|
+
// Latency budget: primary + 1 fallback must resolve within ~17s worst case so
|
|
10
|
+
// users don't assume the site is broken. The fallback IS the real second try
|
|
11
|
+
// — retrying 3× on a dying primary before failover is double-insurance. One
|
|
12
|
+
// retry per provider (2 attempts each) with a 4s per-attempt timeout gives:
|
|
13
|
+
// primary ~8.2s + fallback ~8.2s ≈ 16.5s ceiling. Healthy RPCs respond in
|
|
14
|
+
// <1s so happy path is unchanged.
|
|
15
|
+
// See tests/retry-fallback.test.ts — "DEFAULT_RETRY_CONFIG keeps single-
|
|
16
|
+
// provider worst-case under 10 seconds" and "read with hanging primary..."
|
|
17
|
+
// lock this budget in.
|
|
9
18
|
exports.DEFAULT_CHAIN_RPC_POLICY = {
|
|
10
|
-
retryCount:
|
|
19
|
+
retryCount: 1,
|
|
11
20
|
retryDelayMs: 150,
|
|
12
|
-
timeoutMs:
|
|
21
|
+
timeoutMs: 4_000,
|
|
13
22
|
fallbackCooldownMs: 30_000,
|
|
14
23
|
rankIntervalMs: 30_000,
|
|
15
24
|
rankSampleCount: 5,
|
|
@@ -22,8 +31,19 @@ exports.DEFAULT_CHAIN_RPC_POLICY = {
|
|
|
22
31
|
exports.chain_rpc_config = {
|
|
23
32
|
"monad-mainnet": {
|
|
24
33
|
...exports.DEFAULT_CHAIN_RPC_POLICY,
|
|
25
|
-
|
|
26
|
-
|
|
34
|
+
// Empirically measured 2026-04-16 via app/scripts/rpc-probe.mjs against
|
|
35
|
+
// both staging.curvance.com and app.curvance.com origins. Primary +
|
|
36
|
+
// first fallback held 100/100 under 100-concurrent burst. Cascade
|
|
37
|
+
// ordered by: (1) CORS wildcard, (2) p50 latency, (3) per-IP rate
|
|
38
|
+
// limit headroom. monadinfra dropped — it returns 403 + missing
|
|
39
|
+
// Access-Control-Allow-Origin for requests from curvance.com origins.
|
|
40
|
+
primary: "https://monad-rpc.huginn.tech",
|
|
41
|
+
fallbacks: [
|
|
42
|
+
"https://gm.monad.at.htw.tech",
|
|
43
|
+
"https://monad-mainnet.drpc.org",
|
|
44
|
+
"https://rpc3.monad.xyz",
|
|
45
|
+
"https://rpc1.monad.xyz",
|
|
46
|
+
],
|
|
27
47
|
},
|
|
28
48
|
"arb-sepolia": {
|
|
29
49
|
...exports.DEFAULT_CHAIN_RPC_POLICY,
|
package/dist/chains/rpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/chains/rpc.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/chains/rpc.ts"],"names":[],"mappings":";;;AAuEA,8CAEC;AAED,gEAEC;AAED,kEAGC;AAED,oEAEC;AAtFD,mCAAyC;AAsBzC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,kCAAkC;AAClC,yEAAyE;AACzE,2EAA2E;AAC3E,uBAAuB;AACV,QAAA,wBAAwB,GAAmB;IACpD,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,KAAK;IAChB,kBAAkB,EAAE,MAAM;IAC1B,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,CAAC;IAClB,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE;QACT,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;KACjB;CACJ,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC5B,eAAe,EAAE;QACb,GAAG,gCAAwB;QAC3B,wEAAwE;QACxE,oEAAoE;QACpE,kEAAkE;QAClE,kEAAkE;QAClE,gEAAgE;QAChE,sEAAsE;QACtE,OAAO,EAAE,+BAA+B;QACxC,SAAS,EAAE;YACP,8BAA8B;YAC9B,gCAAgC;YAChC,wBAAwB;YACxB,wBAAwB;SAC3B;KACJ;IACD,aAAa,EAAE;QACX,GAAG,gCAAwB;QAC3B,OAAO,EAAE,mCAAmC;QAC5C,SAAS,EAAE,EAAE;KAChB;CACkD,CAAC;AAIxD,SAAgB,iBAAiB,CAAC,KAAwB;IACtD,OAAO,wBAAgB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,0BAA0B,CAAC,KAAwB;IAC/D,OAAO,IAAI,wBAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,2BAA2B,CAAC,KAAwB;IAChE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,wBAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,SAAgB,4BAA4B,CAAC,KAAwB;IACjE,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,wBAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CToken.d.ts","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CToken.d.ts","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/CToken.js
CHANGED
|
@@ -46,9 +46,10 @@ const EXCLUDED_ZAP_SYMBOLS = new Set([
|
|
|
46
46
|
*
|
|
47
47
|
* Because _swapSafe measures value loss against the FULL input (pre-fee),
|
|
48
48
|
* the deterministic KyberSwap fee would consume feeBps of the user's MEV
|
|
49
|
-
* tolerance if not compensated.
|
|
50
|
-
* feeBps
|
|
51
|
-
* tolerance is preserved for actual MEV/routing variance.
|
|
49
|
+
* tolerance if not compensated. `KyberSwap.quoteAction` (the DEX adapter)
|
|
50
|
+
* expands action.slippage by feeBps internally so the fee is absorbed and
|
|
51
|
+
* the user's chosen tolerance is preserved for actual MEV/routing variance.
|
|
52
|
+
* Callers pass raw user slippage — the adapter owns the expansion.
|
|
52
53
|
*
|
|
53
54
|
* Asymmetry between leverage up and deleverage
|
|
54
55
|
* --------------------------------------------
|
|
@@ -70,19 +71,38 @@ const EXCLUDED_ZAP_SYMBOLS = new Set([
|
|
|
70
71
|
*/
|
|
71
72
|
const LEVERAGE = {
|
|
72
73
|
/** Max leverage cap: fraction of theoretical max the user can select.
|
|
73
|
-
* Prevents boundary singularity at exact max leverage
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
|
|
74
|
+
* Prevents boundary singularity at exact max leverage — the contract's
|
|
75
|
+
* post-op `canBorrow` check re-evaluates LTV against fresh on-chain
|
|
76
|
+
* state, and several loss channels can tick final LTV above collRatio
|
|
77
|
+
* at the boundary:
|
|
78
|
+
* - Pool fees (variable 1bp–1% across pools; aggregator route choice
|
|
79
|
+
* is not knowable at cap-compute time, can differ per-trade even
|
|
80
|
+
* for the same market)
|
|
81
|
+
* - `CURVANCE_FEE_BPS` (deterministic, amplified by (L-1); at L=10
|
|
82
|
+
* eats ~36bps of equity-fraction)
|
|
83
|
+
* - Oracle drift between preview snapshot and Redstone payload at
|
|
84
|
+
* tx inclusion
|
|
85
|
+
* - Share rounding (wei-level)
|
|
86
|
+
*
|
|
87
|
+
* History: 0.99 → 0.995 when caching improved precision (pre-fee era).
|
|
88
|
+
* 0.995 → 0.98 when `CURVANCE_FEE_BPS = 4` landed and users on high-
|
|
89
|
+
* collRatio markets (shMON r=0.9 → 10x theoretical) hit
|
|
90
|
+
* `InsufficientCollateral` reverts at the boundary.
|
|
91
|
+
*
|
|
92
|
+
* Independent of `LEVERAGE_UP_BUFFER_BPS` and `DELEVERAGE_OVERHEAD_BPS`
|
|
93
|
+
* below — those protect in-op slippage at `_swapSafe`; this protects
|
|
94
|
+
* post-op position health at `canBorrow`. */
|
|
95
|
+
MAX_LEVERAGE_FACTOR: (0, decimal_js_1.default)(0.98),
|
|
77
96
|
/** Flat BPS buffer added to leverage-up DEX/swapSafe slippage tolerance.
|
|
78
97
|
* Under single-oracle, the only forced loss at the swap level comes from
|
|
79
98
|
* wei-level share rounding plus possible Redstone price drift between
|
|
80
99
|
* snapshot RPC and tx broadcast block. Both are small constants.
|
|
81
100
|
*
|
|
82
|
-
* Fee handling:
|
|
83
|
-
* so _swapSafe doesn't treat the fee as MEV
|
|
84
|
-
* (L-1) × feeBps
|
|
85
|
-
*
|
|
101
|
+
* Fee handling: KyberSwap.quoteAction expands action.slippage by feeBps
|
|
102
|
+
* internally so _swapSafe doesn't treat the fee as MEV. Each call site
|
|
103
|
+
* still computes contractSlippage (expanded by (L-1) × feeBps) so
|
|
104
|
+
* checkSlippage doesn't fire from equity-fraction amplification. This
|
|
105
|
+
* buffer covers rounding/drift only. */
|
|
86
106
|
LEVERAGE_UP_BUFFER_BPS: 10n,
|
|
87
107
|
/** BPS overhead on full deleverage swap sizing — absolute terms.
|
|
88
108
|
* Oversizes the collateral→debt swap so DEX impact + drift doesn't
|
|
@@ -166,8 +186,9 @@ class CToken extends Calldata_1.Calldata {
|
|
|
166
186
|
get exchangeRate() { return this.cache.exchangeRate; }
|
|
167
187
|
get canZap() { return this.zapTypes.length > 0; }
|
|
168
188
|
get maxLeverage() {
|
|
169
|
-
// Cap max leverage
|
|
170
|
-
// to
|
|
189
|
+
// Cap max leverage below theoretical max by applying MAX_LEVERAGE_FACTOR
|
|
190
|
+
// to the (theoretical - 1) span. See LEVERAGE.MAX_LEVERAGE_FACTOR docs
|
|
191
|
+
// for the loss channels this buffer absorbs and the tuning history.
|
|
171
192
|
const theoretical = (0, decimal_js_1.default)(this.cache.maxLeverage).div(helpers_1.BPS);
|
|
172
193
|
const factor = theoretical.sub(1);
|
|
173
194
|
return (0, decimal_js_1.default)(1).add(factor.mul(LEVERAGE.MAX_LEVERAGE_FACTOR));
|
|
@@ -867,25 +888,15 @@ class CToken extends Calldata_1.Calldata {
|
|
|
867
888
|
});
|
|
868
889
|
const feeReceiver = feeBps > 0n ? this.setup.feePolicy.feeReceiver : undefined;
|
|
869
890
|
const { action, quote } = await this.currentChainConfig.dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, borrowAssets, slippage, feeBps, feeReceiver);
|
|
870
|
-
//
|
|
871
|
-
//
|
|
872
|
-
//
|
|
873
|
-
//
|
|
874
|
-
// action.slippage by feeBps so the fee doesn't consume the user's
|
|
875
|
-
// MEV protection budget. The KyberSwap quote already used the
|
|
876
|
-
// user's raw slippage for minReturnAmount (DEX-level protection).
|
|
877
|
-
if (feeBps > 0n) {
|
|
878
|
-
action.slippage = FormatConverter_1.default.bpsToBpsWad(slippage + feeBps);
|
|
879
|
-
}
|
|
891
|
+
// Fee-aware slippage expansion now lives inside KyberSwap.quoteAction
|
|
892
|
+
// so any caller inherits correct behavior. See KyberSwap.ts for the
|
|
893
|
+
// rationale. The fee still reduces swap output, which checkSlippage
|
|
894
|
+
// sees as equity loss amplified by (L-1) — handled below.
|
|
880
895
|
// The fee also reduces swap output, which checkSlippage sees
|
|
881
896
|
// as equity loss amplified by (L-1) — same pattern as
|
|
882
897
|
// deleverage. Expand the contract-level tolerance to absorb it.
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
.mul(Number(feeBps))
|
|
886
|
-
.ceil()
|
|
887
|
-
.toFixed(0))
|
|
888
|
-
: slippage;
|
|
898
|
+
// See `amplifyContractSlippage` in helpers.ts for rationale.
|
|
899
|
+
const contractSlippage = (0, helpers_1.amplifyContractSlippage)(slippage, newLeverage.sub(1), feeBps);
|
|
889
900
|
calldata = manager.getLeverageCalldata({
|
|
890
901
|
borrowableCToken: borrow.address,
|
|
891
902
|
borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
|
|
@@ -995,12 +1006,8 @@ class CToken extends Calldata_1.Calldata {
|
|
|
995
1006
|
swapCollateral = swapCollateral * 10000n / (10000n - feeBps);
|
|
996
1007
|
}
|
|
997
1008
|
const { action, quote } = await config.dexAgg.quoteAction(manager.address, this.asset.address, borrowToken.asset.address, swapCollateral, slippage, feeBps, feeReceiver);
|
|
998
|
-
//
|
|
999
|
-
//
|
|
1000
|
-
// Same rationale as leverageUp — see comment there.
|
|
1001
|
-
if (feeBps > 0n) {
|
|
1002
|
-
action.slippage = FormatConverter_1.default.bpsToBpsWad(slippage + feeBps);
|
|
1003
|
-
}
|
|
1009
|
+
// Fee-aware slippage expansion for `_swapSafe` is handled by
|
|
1010
|
+
// KyberSwap.quoteAction. See KyberSwap.ts for rationale.
|
|
1004
1011
|
const minRepay = isFullDeleverage ? 1n : quote.min_out;
|
|
1005
1012
|
// checkSlippage measures equity-fraction loss. Both the
|
|
1006
1013
|
// intentional swap overshoot (full deleverage only) and the
|
|
@@ -1011,18 +1018,16 @@ class CToken extends Calldata_1.Calldata {
|
|
|
1011
1018
|
//
|
|
1012
1019
|
// Full: (L-1) × (overhead + fee) — overshoot + fee
|
|
1013
1020
|
// Partial: (ΔL) × fee — fee only, no overshoot
|
|
1021
|
+
//
|
|
1022
|
+
// See `amplifyContractSlippage` in helpers.ts for the shared
|
|
1023
|
+
// primitive + per-call-site asymmetry docs.
|
|
1014
1024
|
const leverageDelta = isFullDeleverage
|
|
1015
1025
|
? currentLeverage.sub(1)
|
|
1016
1026
|
: currentLeverage.sub(newLeverage);
|
|
1017
1027
|
const forcedBps = isFullDeleverage
|
|
1018
1028
|
? LEVERAGE.DELEVERAGE_OVERHEAD_BPS + feeBps
|
|
1019
1029
|
: feeBps;
|
|
1020
|
-
const contractSlippage =
|
|
1021
|
-
? slippage + BigInt(leverageDelta
|
|
1022
|
-
.mul(Number(forcedBps))
|
|
1023
|
-
.ceil()
|
|
1024
|
-
.toFixed(0))
|
|
1025
|
-
: slippage;
|
|
1030
|
+
const contractSlippage = (0, helpers_1.amplifyContractSlippage)(slippage, leverageDelta, forcedBps);
|
|
1026
1031
|
calldata = manager.getDeleverageCalldata({
|
|
1027
1032
|
cToken: this.address,
|
|
1028
1033
|
collateralAssets: swapCollateral,
|
|
@@ -1076,19 +1081,11 @@ class CToken extends Calldata_1.Calldata {
|
|
|
1076
1081
|
});
|
|
1077
1082
|
const feeReceiver = feeBps > 0n ? this.setup.feePolicy.feeReceiver : undefined;
|
|
1078
1083
|
const { action, quote } = await this.currentChainConfig.dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, borrowAssets, slippage, feeBps, feeReceiver);
|
|
1079
|
-
//
|
|
1080
|
-
//
|
|
1081
|
-
//
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
}
|
|
1085
|
-
// Fee amplification: same pattern as leverageUp.
|
|
1086
|
-
const contractSlippage = feeBps > 0n
|
|
1087
|
-
? slippage + BigInt(multiplier.sub(1)
|
|
1088
|
-
.mul(Number(feeBps))
|
|
1089
|
-
.ceil()
|
|
1090
|
-
.toFixed(0))
|
|
1091
|
-
: slippage;
|
|
1084
|
+
// Fee-aware slippage expansion for `_swapSafe` is handled by
|
|
1085
|
+
// KyberSwap.quoteAction. See KyberSwap.ts for rationale.
|
|
1086
|
+
// Fee amplification: same pattern as leverageUp. See
|
|
1087
|
+
// `amplifyContractSlippage` in helpers.ts.
|
|
1088
|
+
const contractSlippage = (0, helpers_1.amplifyContractSlippage)(slippage, multiplier.sub(1), feeBps);
|
|
1092
1089
|
calldata = manager.getDepositAndLeverageCalldata(FormatConverter_1.default.decimalToBigInt(depositAmount, this.asset.decimals), {
|
|
1093
1090
|
borrowableCToken: borrow.address,
|
|
1094
1091
|
borrowAssets: borrowAssets,
|