curvance 4.0.3 → 4.0.4
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/dist/chains/monad-mainnet.json +1 -26
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +83 -37
- package/dist/classes/CToken.js.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.js +81 -4
- package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
- package/dist/classes/Zapper.d.ts.map +1 -1
- package/dist/classes/Zapper.js +2 -1
- package/dist/classes/Zapper.js.map +1 -1
- package/dist/feePolicy.d.ts +27 -1
- package/dist/feePolicy.d.ts.map +1 -1
- package/dist/feePolicy.js +10 -2
- package/dist/feePolicy.js.map +1 -1
- package/dist/retry-provider.js +3 -3
- package/dist/retry-provider.js.map +1 -1
- package/package.json +1 -1
- package/dist/chains/arb-sepolia.json +0 -44
- package/dist/classes/DexAggregators/KuruMainnet.d.ts +0 -1
- package/dist/classes/DexAggregators/KuruMainnet.d.ts.map +0 -1
- package/dist/classes/DexAggregators/KuruMainnet.js +0 -228
- package/dist/classes/DexAggregators/KuruMainnet.js.map +0 -1
- package/dist/classes/Kuru.d.ts +0 -59
- package/dist/classes/Kuru.d.ts.map +0 -1
- package/dist/classes/Kuru.js +0 -167
- package/dist/classes/Kuru.js.map +0 -1
- package/dist/classes/KuruMainnet.d.ts +0 -59
- package/dist/classes/KuruMainnet.d.ts.map +0 -1
- package/dist/classes/KuruMainnet.js +0 -167
- package/dist/classes/KuruMainnet.js.map +0 -1
- package/dist/snapshot.d.ts +0 -53
- package/dist/snapshot.d.ts.map +0 -1
- package/dist/snapshot.js +0 -103
- package/dist/snapshot.js.map +0 -1
|
@@ -9,6 +9,70 @@ const helpers_1 = require("../../helpers");
|
|
|
9
9
|
const ERC20_1 = require("../ERC20");
|
|
10
10
|
const FormatConverter_1 = __importDefault(require("../FormatConverter"));
|
|
11
11
|
const validation_1 = require("../../validation");
|
|
12
|
+
const ethers_1 = require("ethers");
|
|
13
|
+
// ── Calldata validation ─────────────────────────────────────────────
|
|
14
|
+
// The KyberSwap API returns an opaque calldata blob. We trust the API to
|
|
15
|
+
// embed the fee params we requested, but verify before submitting the tx.
|
|
16
|
+
// Without this, a misconfigured API response silently reverts on-chain
|
|
17
|
+
// at the KyberSwapChecker with no user-facing explanation.
|
|
18
|
+
/** _FEE_IN_BPS flag — must be set so the router interprets feeAmounts
|
|
19
|
+
* as basis points, not absolute token amounts. */
|
|
20
|
+
const REQUIRED_FLAGS = 0x80n;
|
|
21
|
+
/** ABI type string for KyberSwap's SwapExecutionParams struct. */
|
|
22
|
+
const SWAP_PARAMS_TYPE = 'tuple(address callTarget, address approveTarget, ' +
|
|
23
|
+
'tuple(address srcToken, address dstToken, address[] srcReceivers, ' +
|
|
24
|
+
'uint256[] srcAmounts, address[] feeReceivers, uint256[] feeAmounts, ' +
|
|
25
|
+
'address dstReceiver, uint256 amount, uint256 minReturnAmount, ' +
|
|
26
|
+
'uint256 flags, bytes permit) desc, ' +
|
|
27
|
+
'bytes targetData, bytes clientData)';
|
|
28
|
+
/**
|
|
29
|
+
* Decode and validate fee-related fields in KyberSwap swap calldata.
|
|
30
|
+
* Catches API misconfigurations before the tx hits the on-chain checker.
|
|
31
|
+
*
|
|
32
|
+
* @param calldata - Raw calldata from KyberSwap build API
|
|
33
|
+
* @param feeBps - Expected fee BPS (0n to skip fee validation)
|
|
34
|
+
* @param feeReceiver - Expected fee receiver address (undefined to skip)
|
|
35
|
+
*/
|
|
36
|
+
function validateSwapCalldata(calldata, feeBps, feeReceiver) {
|
|
37
|
+
// No fee configured — nothing to validate in the calldata
|
|
38
|
+
if (!feeBps || feeBps === 0n || !feeReceiver)
|
|
39
|
+
return;
|
|
40
|
+
try {
|
|
41
|
+
// Strip 4-byte selector (0x + 8 hex chars = 10 chars)
|
|
42
|
+
const encoded = '0x' + calldata.slice(10);
|
|
43
|
+
const coder = ethers_1.AbiCoder.defaultAbiCoder();
|
|
44
|
+
const [execution] = coder.decode([SWAP_PARAMS_TYPE], encoded);
|
|
45
|
+
const desc = execution.desc;
|
|
46
|
+
// Validate _FEE_IN_BPS flag — without it, feeAmounts[0]=4 means
|
|
47
|
+
// 4 wei instead of 4 BPS
|
|
48
|
+
const flags = BigInt(desc.flags);
|
|
49
|
+
if (flags !== REQUIRED_FLAGS) {
|
|
50
|
+
throw new Error(`KyberSwap calldata flags=${flags} (0x${flags.toString(16)}), ` +
|
|
51
|
+
`expected ${REQUIRED_FLAGS} (0x${REQUIRED_FLAGS.toString(16)}). ` +
|
|
52
|
+
`Without _FEE_IN_BPS, fee is interpreted as absolute tokens.`);
|
|
53
|
+
}
|
|
54
|
+
// Validate fee receiver
|
|
55
|
+
if (desc.feeReceivers.length !== 1) {
|
|
56
|
+
throw new Error(`KyberSwap calldata has ${desc.feeReceivers.length} fee receivers, expected 1`);
|
|
57
|
+
}
|
|
58
|
+
if (desc.feeReceivers[0].toLowerCase() !== feeReceiver.toLowerCase()) {
|
|
59
|
+
throw new Error(`KyberSwap calldata feeReceiver=${desc.feeReceivers[0]}, ` +
|
|
60
|
+
`expected ${feeReceiver}`);
|
|
61
|
+
}
|
|
62
|
+
// Validate fee amount
|
|
63
|
+
if (desc.feeAmounts.length !== 1 || BigInt(desc.feeAmounts[0]) !== feeBps) {
|
|
64
|
+
throw new Error(`KyberSwap calldata feeAmount=${desc.feeAmounts[0]}, expected ${feeBps}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
// If this is our own validation error, rethrow
|
|
69
|
+
if (e.message?.startsWith('KyberSwap calldata'))
|
|
70
|
+
throw e;
|
|
71
|
+
// ABI decode failure — calldata structure doesn't match expected format.
|
|
72
|
+
// Log but don't block — the on-chain checker will catch structural issues.
|
|
73
|
+
console.warn('Failed to validate KyberSwap calldata structure:', e.message);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
12
76
|
;
|
|
13
77
|
class KyberSwap {
|
|
14
78
|
api;
|
|
@@ -108,8 +172,13 @@ class KyberSwap {
|
|
|
108
172
|
}
|
|
109
173
|
});
|
|
110
174
|
if (!quote_response.ok) {
|
|
111
|
-
|
|
112
|
-
|
|
175
|
+
let detail = `${quote_response.status} ${quote_response.statusText}`;
|
|
176
|
+
try {
|
|
177
|
+
const body = await quote_response.json();
|
|
178
|
+
detail = `[${body.requestId}]: ${body.message} (code: ${body.code})`;
|
|
179
|
+
}
|
|
180
|
+
catch { /* non-JSON error body (e.g. HTML 502 page) */ }
|
|
181
|
+
throw new Error(`KyberSwap quote failed: ${detail}`);
|
|
113
182
|
}
|
|
114
183
|
const quote = await quote_response.json();
|
|
115
184
|
const build_response = await (0, validation_1.fetchWithTimeout)(`${this.api}/api/v1/route/build`, {
|
|
@@ -128,8 +197,13 @@ class KyberSwap {
|
|
|
128
197
|
})
|
|
129
198
|
});
|
|
130
199
|
if (!build_response.ok) {
|
|
131
|
-
|
|
132
|
-
|
|
200
|
+
let detail = `${build_response.status} ${build_response.statusText}`;
|
|
201
|
+
try {
|
|
202
|
+
const body = await build_response.json();
|
|
203
|
+
detail = `[${body.requestId}]: ${body.message} (code: ${body.code})`;
|
|
204
|
+
}
|
|
205
|
+
catch { /* non-JSON error body */ }
|
|
206
|
+
throw new Error(`KyberSwap build failed: ${detail}`);
|
|
133
207
|
}
|
|
134
208
|
const build_data = await build_response.json();
|
|
135
209
|
const amountOut = (0, validation_1.safeBigInt)(build_data.data.amountOut, 'KyberSwap amountOut');
|
|
@@ -137,6 +211,9 @@ class KyberSwap {
|
|
|
137
211
|
if (build_data.data.routerAddress != this.router) {
|
|
138
212
|
throw new Error(`KyberSwap returned unexpected router address: ${build_data.data.routerAddress}`);
|
|
139
213
|
}
|
|
214
|
+
// Validate that the API actually embedded the fee params we requested.
|
|
215
|
+
// Without this, a misconfigured API response silently reverts on-chain.
|
|
216
|
+
validateSwapCalldata(build_data.data.data, feeBps ?? 0n, feeReceiver);
|
|
140
217
|
return {
|
|
141
218
|
to: build_data.data.routerAddress,
|
|
142
219
|
calldata: build_data.data.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KyberSwap.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":";;;;;;AAIA,uCAA0C;AAC1C,2CAAmE;AACnE,oCAAiC;AACjC,yEAAiD;AACjD,iDAAqF;
|
|
1
|
+
{"version":3,"file":"KyberSwap.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/classes/Zapper.js
CHANGED
|
@@ -8,6 +8,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
10
|
const setup_1 = require("../setup");
|
|
11
|
+
const FormatConverter_1 = __importDefault(require("./FormatConverter"));
|
|
11
12
|
;
|
|
12
13
|
exports.zapperTypeToName = new Map([
|
|
13
14
|
['native-vault', 'nativeVaultZapper'],
|
|
@@ -86,7 +87,7 @@ class Zapper extends Calldata_1.Calldata {
|
|
|
86
87
|
inputAmount: amount,
|
|
87
88
|
outputToken: outputToken,
|
|
88
89
|
target: quote.to,
|
|
89
|
-
slippage: slippage,
|
|
90
|
+
slippage: FormatConverter_1.default.bpsToBpsWad(slippage),
|
|
90
91
|
call: quote.calldata
|
|
91
92
|
};
|
|
92
93
|
const expected_shares = await ctoken.convertToShares(BigInt(quote.min_out));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zapper.js","sourceRoot":"","sources":["../../src/classes/Zapper.ts"],"names":[],"mappings":";;;;;;AAEA,wCAAuG;AAEvG,yCAAsC;AACtC,kFAA4C;AAE5C,oCAAwC;
|
|
1
|
+
{"version":3,"file":"Zapper.js","sourceRoot":"","sources":["../../src/classes/Zapper.ts"],"names":[],"mappings":"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"}
|
package/dist/feePolicy.d.ts
CHANGED
|
@@ -32,6 +32,15 @@ import { ChainRpcPrefix } from "./helpers";
|
|
|
32
32
|
* to prevent dust debt. The fee compensation is applied at the call site,
|
|
33
33
|
* not in the policy itself.
|
|
34
34
|
*
|
|
35
|
+
* - **protocolLeverageFee must remain 0 while SDK fees are active.**
|
|
36
|
+
* On-chain _validateInputsAndApplyFee mutates action.borrowAssets before
|
|
37
|
+
* the swap callback, causing swapAction.inputAmount != action.borrowAssets
|
|
38
|
+
* in SimplePositionManager (revert). Additionally, users would be double-
|
|
39
|
+
* charged (protocol fee on collateral/borrow + SDK fee on swap input).
|
|
40
|
+
* If protocolLeverageFee needs activation, the SDK must first query the
|
|
41
|
+
* fee from centralRegistry, subtract it from swapAction.inputAmount, and
|
|
42
|
+
* quote KyberSwap for the reduced amount.
|
|
43
|
+
*
|
|
35
44
|
* Future functionality (not yet implemented)
|
|
36
45
|
* ------------------------------------------
|
|
37
46
|
* - **SDK-native token classification.** Currently, stable/volatile classification
|
|
@@ -46,6 +55,15 @@ import { ChainRpcPrefix } from "./helpers";
|
|
|
46
55
|
* would let the protocol, integrators, and a referral program co-receive
|
|
47
56
|
* fees in one swap call.
|
|
48
57
|
*
|
|
58
|
+
* - **Dynamic DAO address from chain.** `CURVANCE_DAO_FEE_RECEIVER` is
|
|
59
|
+
* hardcoded. The on-chain KyberSwapChecker validates against
|
|
60
|
+
* `centralRegistry.daoAddress()` dynamically. If DAO permissions transfer
|
|
61
|
+
* via `transferDaoPermissions()`, the checker validates against the new
|
|
62
|
+
* address but the SDK still sends the old one — every swap reverts.
|
|
63
|
+
* Fix: read `daoAddress` at setupChain time via
|
|
64
|
+
* `protocolReader.centralRegistry()` → `centralRegistry.daoAddress()`,
|
|
65
|
+
* store in setup_config, and use at runtime instead of the constant.
|
|
66
|
+
*
|
|
49
67
|
* - **Per-user fee tiers / discounts.** The current policy is global (one
|
|
50
68
|
* policy per setupChain). To support staker discounts, volume tiers, or
|
|
51
69
|
* referral codes, the policy would need to be invoked with per-call user
|
|
@@ -90,8 +108,16 @@ export interface FeePolicy {
|
|
|
90
108
|
* multi-receiver lists if extended in the future. */
|
|
91
109
|
feeReceiver: address;
|
|
92
110
|
}
|
|
111
|
+
/** Fee BPS charged on all DEX swaps via KyberSwap's `feeAmount` parameter.
|
|
112
|
+
* Must match the on-chain KyberSwapChecker.FEE_BPS constant — if they
|
|
113
|
+
* diverge, every swap reverts (checker enforces exact match).
|
|
114
|
+
* To change the fee: update this constant AND redeploy the checker. */
|
|
115
|
+
export declare const CURVANCE_FEE_BPS = 4n;
|
|
93
116
|
/** Curvance DAO fee receiver — same wallet used for protocol interest fees
|
|
94
|
-
* and existing Kuru aggregator referrer fees.
|
|
117
|
+
* and existing Kuru aggregator referrer fees. Must match
|
|
118
|
+
* centralRegistry.daoAddress() — the on-chain checker validates
|
|
119
|
+
* dynamically per-swap. If DAO permissions transfer on-chain without
|
|
120
|
+
* updating this constant, every swap reverts. */
|
|
95
121
|
export declare const CURVANCE_DAO_FEE_RECEIVER: address;
|
|
96
122
|
/** Token classification used by the optional category-tier override.
|
|
97
123
|
* Consumers provide their own classifier — the SDK does not currently
|
package/dist/feePolicy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feePolicy.d.ts","sourceRoot":"","sources":["../src/feePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C
|
|
1
|
+
{"version":3,"file":"feePolicy.d.ts","sourceRoot":"","sources":["../src/feePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAEH,MAAM,MAAM,YAAY,GAClB,aAAa,GACb,eAAe,GACf,sBAAsB,GACtB,KAAK,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC7B,iDAAiD;IACjD,SAAS,EAAE,YAAY,CAAC;IACxB,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,qCAAqC;IACrC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACtB,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACzC;0DACsD;IACtD,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;;wEAGwE;AACxE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;kDAIkD;AAClD,eAAO,MAAM,yBAAyB,EAAE,OACQ,CAAC;AAEjD;;sDAEsD;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAChC,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB;gEAC4D;IAC5D,KAAK,EAAE,cAAc,CAAC;IACtB;;wCAEoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;6EAGyE;IACzE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,GAAG,IAAI,CAAC;CACpD;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CA2DpE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,SAG1B,CAAC"}
|
package/dist/feePolicy.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NO_FEE_POLICY = exports.CURVANCE_DAO_FEE_RECEIVER = void 0;
|
|
3
|
+
exports.NO_FEE_POLICY = exports.CURVANCE_DAO_FEE_RECEIVER = exports.CURVANCE_FEE_BPS = void 0;
|
|
4
4
|
exports.flatFeePolicy = flatFeePolicy;
|
|
5
5
|
const chains_1 = require("./chains");
|
|
6
|
+
/** Fee BPS charged on all DEX swaps via KyberSwap's `feeAmount` parameter.
|
|
7
|
+
* Must match the on-chain KyberSwapChecker.FEE_BPS constant — if they
|
|
8
|
+
* diverge, every swap reverts (checker enforces exact match).
|
|
9
|
+
* To change the fee: update this constant AND redeploy the checker. */
|
|
10
|
+
exports.CURVANCE_FEE_BPS = 4n;
|
|
6
11
|
/** Curvance DAO fee receiver — same wallet used for protocol interest fees
|
|
7
|
-
* and existing Kuru aggregator referrer fees.
|
|
12
|
+
* and existing Kuru aggregator referrer fees. Must match
|
|
13
|
+
* centralRegistry.daoAddress() — the on-chain checker validates
|
|
14
|
+
* dynamically per-swap. If DAO permissions transfer on-chain without
|
|
15
|
+
* updating this constant, every swap reverts. */
|
|
8
16
|
exports.CURVANCE_DAO_FEE_RECEIVER = '0x0Acb7eF4D8733C719d60e0992B489b629bc55C02';
|
|
9
17
|
const NATIVE_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
|
|
10
18
|
/**
|
package/dist/feePolicy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feePolicy.js","sourceRoot":"","sources":["../src/feePolicy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"feePolicy.js","sourceRoot":"","sources":["../src/feePolicy.ts"],"names":[],"mappings":";;;AAwLA,sCA2DC;AAhPD,qCAAwC;AAqHxC;;;wEAGwE;AAC3D,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;;;kDAIkD;AACrC,QAAA,yBAAyB,GAClC,4CAA4C,CAAC;AA0BjD,MAAM,cAAc,GAAG,4CAA4C,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,aAAa,CAAC,MAA2B;IACrD,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAExE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,iBAAiB,GAAG,EAAE,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,+DAA+D,iBAAiB,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,uCAAuC;IACvC,MAAM,QAAQ,GAAG,qBAAY,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;IAEjE,OAAO;QACH,WAAW;QACX,SAAS,CAAC,GAAqB;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAE/C,+DAA+D;YAC/D,iEAAiE;YACjE,mEAAmE;YACnE,IAAI,OAAO,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAEpC,oEAAoE;YACpE,2DAA2D;YAC3D,iEAAiE;YACjE,sCAAsC;YACtC,IACI,CAAC,OAAO,KAAK,cAAc,IAAI,QAAQ,KAAK,kBAAkB,CAAC;gBAC/D,CAAC,OAAO,KAAK,kBAAkB,IAAI,QAAQ,KAAK,cAAc,CAAC,EACjE,CAAC;gBACC,OAAO,EAAE,CAAC;YACd,CAAC;YAED,oEAAoE;YACpE,iBAAiB;YACjB,IAAI,QAAQ,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC3C,IAAI,OAAO,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAChD,OAAO,iBAAiB,CAAC;gBAC7B,CAAC;YACL,CAAC;YAED,OAAO,GAAG,CAAC;QACf,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;;;;GAWG;AACU,QAAA,aAAa,GAAc,MAAM,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,iCAAyB;IACtC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;CACtB,CAAC,CAAC"}
|
package/dist/retry-provider.js
CHANGED
|
@@ -122,7 +122,7 @@ class RetryableProvider {
|
|
|
122
122
|
if (attempt === this.config.maxRetries || !isRetryable) {
|
|
123
123
|
if (!isRetryable && attempt === 0) {
|
|
124
124
|
// Log that this error is not retryable for debugging
|
|
125
|
-
console.debug(
|
|
125
|
+
console.debug(`[rpc] ${context}: non-retryable`, error.message);
|
|
126
126
|
}
|
|
127
127
|
throw error;
|
|
128
128
|
}
|
|
@@ -131,7 +131,7 @@ class RetryableProvider {
|
|
|
131
131
|
if (this.config.onRetry) {
|
|
132
132
|
this.config.onRetry(attempt + 1, error, delay);
|
|
133
133
|
}
|
|
134
|
-
console.
|
|
134
|
+
console.debug(`[rpc] ${context}: attempt ${attempt + 1}/${this.config.maxRetries + 1} failed, retry in ${delay}ms`, error.message);
|
|
135
135
|
await this.sleep(delay);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
@@ -158,7 +158,7 @@ class RetryableProvider {
|
|
|
158
158
|
// For JsonRpcProvider, also wrap _send if it exists
|
|
159
159
|
if (prop === '_send' && typeof original === 'function') {
|
|
160
160
|
return async (payload, callback) => {
|
|
161
|
-
return this.executeWithRetry(() => original.apply(target,
|
|
161
|
+
return this.executeWithRetry(() => original.apply(target, [payload, callback]), `RPC ${payload.method || 'unknown'}`);
|
|
162
162
|
};
|
|
163
163
|
}
|
|
164
164
|
// Wrap other async methods that might make RPC calls
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-provider.js","sourceRoot":"","sources":["../src/retry-provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"retry-provider.js","sourceRoot":"","sources":["../src/retry-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"CentralRegistry": "0xC7B36473cb7F4BC0b2F47376623615Da4e6fE57D",
|
|
3
|
-
"OracleManager": "0x440d0CC7ACC38DDA1E0E2E1DDa226EB44A72d4eE",
|
|
4
|
-
"adaptors": {
|
|
5
|
-
"ChainlinkAdaptor": "0x38c37f57a3b5c26B344671FdF3C3162BaCDA7bBa",
|
|
6
|
-
"RedstoneClassicAdaptor": "0x6a0bf34856F6B9cb42867aC0a6b9Dc9e49a0b2Ba",
|
|
7
|
-
"RedstoneCoreAdaptor": "0xD44861cF7ff4eCEe3d227a0e67E2e60244456E27"
|
|
8
|
-
},
|
|
9
|
-
"calldataCheckers": {
|
|
10
|
-
"RedstoneAdaptorMulticallChecker": "0x81607179829EFA9735E7413090Db247cFb6231E1"
|
|
11
|
-
},
|
|
12
|
-
"zappers": {
|
|
13
|
-
"nativeVaultZapper": "0xbDa98B38aFc8433a07bf291787A10c7470E3fA06",
|
|
14
|
-
"vaultZapper": "0x24cE639C53a1A0eCB0d5209fc8F548ceBbfF534A",
|
|
15
|
-
"simpleZapper": "0xCD602E77913114fd29CA5da0898c49996d504B13"
|
|
16
|
-
},
|
|
17
|
-
"MockOracle": "0x7f2b026da1e31109b7049DeeCb5aa852a1f2a728",
|
|
18
|
-
"USDC": "0xFAf10acC86Dd587B1a75B832FCeB01B2fe3379Db",
|
|
19
|
-
"AUSD": "0x2220a895C3B943838F606C67B488fec9FE9ADa4b",
|
|
20
|
-
"BTC": "0x955Cd836061481131b35Ac114ef96e17f9D1D402",
|
|
21
|
-
"ETH": "0xa0EF95Df879E7958281404B44f2065A72cF4A8FA",
|
|
22
|
-
"Faucet": "0xa47b3c31aeB952E60332869F7ED6F44D14890375",
|
|
23
|
-
"markets": {
|
|
24
|
-
"Stable Market": {
|
|
25
|
-
"address": "0x8fe35902B67D81c94CF81fd9a96558e8349215F5",
|
|
26
|
-
"USDC-DynamicIRM": "0x2a5d40ccbD99cf6aC202A32725e2E1680bd3B2A0",
|
|
27
|
-
"tokens": {
|
|
28
|
-
"USDC": "0x4Fd99EFd43d66F0eF854Ca58Ec0c9b9950514aF3",
|
|
29
|
-
"AUSD": "0xC9cfa1ABf23F672a0a75eC567cE13619d0062CAD"
|
|
30
|
-
},
|
|
31
|
-
"AUSD-DynamicIRM": "0xa8CAc481f9f8D690609f4A1EF1C32d58cFC687F0"
|
|
32
|
-
},
|
|
33
|
-
"Volatile Market": {
|
|
34
|
-
"address": "0x405793BfAC1A82F056fdE8A71580FCeDa68Ef8d6",
|
|
35
|
-
"BTC-DynamicIRM": "0xA6D76582F0cBaaBB512edCeB138c106185C8f0c6",
|
|
36
|
-
"tokens": {
|
|
37
|
-
"BTC": "0xe98D2e7EB66e504e26Dbc208601cb04F31652AA5",
|
|
38
|
-
"ETH": "0x79049726F807407eEa9eFc49DEa4010332Aa6d7f"
|
|
39
|
-
},
|
|
40
|
-
"ETH-DynamicIRM": "0xFae2a261D376acDCcf5fe6D63944650209f22C2C"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"ProtocolReader": "0xC57e4e42278CA815C5717eFA84a536f30Ee49637"
|
|
44
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=KuruMainnet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KuruMainnet.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KuruMainnet.ts"],"names":[],"mappings":""}
|