curvance 3.6.1 → 3.6.3
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/arbitrum.d.ts +3 -0
- package/dist/chains/arbitrum.d.ts.map +1 -0
- package/dist/chains/arbitrum.js +16 -0
- package/dist/chains/arbitrum.js.map +1 -0
- package/dist/chains/index.d.ts +21 -568
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/index.js +6 -12
- package/dist/chains/index.js.map +1 -1
- package/dist/chains/monad.d.ts +3 -0
- package/dist/chains/monad.d.ts.map +1 -0
- package/dist/chains/monad.js +21 -0
- package/dist/chains/monad.js.map +1 -0
- package/dist/classes/Api.d.ts +37 -0
- package/dist/classes/Api.d.ts.map +1 -0
- package/dist/classes/Api.js +69 -0
- package/dist/classes/Api.js.map +1 -0
- package/dist/classes/BorrowableCToken.d.ts +0 -4
- package/dist/classes/BorrowableCToken.d.ts.map +1 -1
- package/dist/classes/BorrowableCToken.js +0 -6
- package/dist/classes/BorrowableCToken.js.map +1 -1
- package/dist/classes/CToken.d.ts +11 -1
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +20 -4
- package/dist/classes/CToken.js.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.js +8 -6
- package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
- package/dist/classes/Market.d.ts +1 -5
- package/dist/classes/Market.d.ts.map +1 -1
- package/dist/classes/Market.js +17 -32
- package/dist/classes/Market.js.map +1 -1
- package/dist/classes/NativeToken.d.ts.map +1 -1
- package/dist/classes/NativeToken.js +2 -1
- package/dist/classes/NativeToken.js.map +1 -1
- package/dist/classes/index.d.ts +15 -0
- package/dist/classes/index.d.ts.map +1 -0
- package/dist/classes/index.js +31 -0
- package/dist/classes/index.js.map +1 -0
- package/dist/contracts/arb-sepolia.json +44 -0
- package/dist/contracts/index.d.ts +267 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +13 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/monad-mainnet.json +220 -0
- package/dist/format/amounts.d.ts +18 -0
- package/dist/format/amounts.d.ts.map +1 -0
- package/dist/format/amounts.js +75 -0
- package/dist/format/amounts.js.map +1 -0
- package/dist/format/borrow.d.ts +15 -0
- package/dist/format/borrow.d.ts.map +1 -0
- package/dist/format/borrow.js +38 -0
- package/dist/format/borrow.js.map +1 -0
- package/dist/format/collateral.d.ts +10 -0
- package/dist/format/collateral.d.ts.map +1 -0
- package/dist/format/collateral.js +28 -0
- package/dist/format/collateral.js.map +1 -0
- package/dist/format/health.d.ts +10 -0
- package/dist/format/health.d.ts.map +1 -0
- package/dist/format/health.js +50 -0
- package/dist/format/health.js.map +1 -0
- package/dist/format/index.d.ts +6 -0
- package/dist/format/index.d.ts.map +1 -0
- package/dist/format/index.js +22 -0
- package/dist/format/index.js.map +1 -0
- package/dist/format/leverage.d.ts +40 -0
- package/dist/format/leverage.d.ts.map +1 -0
- package/dist/format/leverage.js +130 -0
- package/dist/format/leverage.js.map +1 -0
- package/dist/helpers.d.ts +59 -133
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +83 -15
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +5 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -16
- package/dist/index.js.map +1 -1
- package/dist/integrations/index.d.ts +3 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +19 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/merkl.d.ts +98 -0
- package/dist/integrations/merkl.d.ts.map +1 -0
- package/dist/integrations/merkl.js +37 -0
- package/dist/integrations/merkl.js.map +1 -0
- package/dist/integrations/snapshot.d.ts +53 -0
- package/dist/integrations/snapshot.d.ts.map +1 -0
- package/dist/integrations/snapshot.js +103 -0
- package/dist/integrations/snapshot.js.map +1 -0
- package/dist/setup.d.ts +4 -85
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +8 -74
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_LTV_RATIO = exports.HIGH_LEVERAGE_THRESHOLD = exports.MIN_BORROW_USD = exports.MIN_DEPOSIT_USD = void 0;
|
|
4
|
+
exports.calculateBorrowAmount = calculateBorrowAmount;
|
|
5
|
+
exports.calculateLeverageRatio = calculateLeverageRatio;
|
|
6
|
+
exports.calculateDeleverageAmount = calculateDeleverageAmount;
|
|
7
|
+
exports.calculatePositionSize = calculatePositionSize;
|
|
8
|
+
exports.checkLeverageAmountBelowMinimum = checkLeverageAmountBelowMinimum;
|
|
9
|
+
exports.checkBorrowExceedsLiquidity = checkBorrowExceedsLiquidity;
|
|
10
|
+
exports.validateLeverageInput = validateLeverageInput;
|
|
11
|
+
const decimal_js_1 = require("decimal.js");
|
|
12
|
+
exports.MIN_DEPOSIT_USD = 10;
|
|
13
|
+
exports.MIN_BORROW_USD = 10.1;
|
|
14
|
+
exports.HIGH_LEVERAGE_THRESHOLD = 60;
|
|
15
|
+
exports.MAX_LTV_RATIO = 0.85;
|
|
16
|
+
function calculateBorrowAmount(depositUsd, leverage) {
|
|
17
|
+
if (leverage <= 1)
|
|
18
|
+
return new decimal_js_1.Decimal(0);
|
|
19
|
+
return depositUsd.mul(leverage - 1);
|
|
20
|
+
}
|
|
21
|
+
function calculateLeverageRatio(totalValue, debtAmount) {
|
|
22
|
+
if (debtAmount.isZero())
|
|
23
|
+
return new decimal_js_1.Decimal(1);
|
|
24
|
+
const collateralValue = totalValue.minus(debtAmount);
|
|
25
|
+
if (collateralValue.lte(0))
|
|
26
|
+
return new decimal_js_1.Decimal(0);
|
|
27
|
+
return totalValue.div(collateralValue);
|
|
28
|
+
}
|
|
29
|
+
function calculateDeleverageAmount(currentLeverage, targetLeverage, totalValue) {
|
|
30
|
+
if (targetLeverage >= currentLeverage)
|
|
31
|
+
return new decimal_js_1.Decimal(0);
|
|
32
|
+
const currentDebt = totalValue.mul(1 - 1 / currentLeverage);
|
|
33
|
+
const targetDebt = targetLeverage === 1 ? new decimal_js_1.Decimal(0) : totalValue.mul(1 - 1 / targetLeverage);
|
|
34
|
+
return currentDebt.minus(targetDebt);
|
|
35
|
+
}
|
|
36
|
+
function calculatePositionSize(tokenAmount, leverage) {
|
|
37
|
+
return tokenAmount.mul(leverage);
|
|
38
|
+
}
|
|
39
|
+
function checkLeverageAmountBelowMinimum(input) {
|
|
40
|
+
const { isEditLeverage, debtSize, leverage, borrowAmount } = input;
|
|
41
|
+
if (isEditLeverage && debtSize.new) {
|
|
42
|
+
const newDebt = new decimal_js_1.Decimal(debtSize.new.usd || 0);
|
|
43
|
+
// Terminal debt must be either 0 (fully closed) or > MIN_BORROW_USD
|
|
44
|
+
if (newDebt.isZero())
|
|
45
|
+
return false;
|
|
46
|
+
return newDebt.lt(exports.MIN_BORROW_USD);
|
|
47
|
+
}
|
|
48
|
+
if (leverage <= 1)
|
|
49
|
+
return false;
|
|
50
|
+
return borrowAmount?.gt(0) && borrowAmount?.lt(exports.MIN_BORROW_USD) ? true : false;
|
|
51
|
+
}
|
|
52
|
+
function checkBorrowExceedsLiquidity(borrowAmount, availableLiquidity) {
|
|
53
|
+
if (!borrowAmount || !availableLiquidity)
|
|
54
|
+
return false;
|
|
55
|
+
return borrowAmount.gt(availableLiquidity);
|
|
56
|
+
}
|
|
57
|
+
function validateLeverageInput(input) {
|
|
58
|
+
const { depositAmount, leverage, availableLiquidity, maxLeverage, userBalance } = input;
|
|
59
|
+
const borrowAmount = depositAmount * (leverage - 1);
|
|
60
|
+
// Priority 1: Balance check
|
|
61
|
+
if (depositAmount > userBalance) {
|
|
62
|
+
return {
|
|
63
|
+
isValid: false,
|
|
64
|
+
error: 'Insufficient balance',
|
|
65
|
+
canProceed: false,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Priority 2: Minimum deposit
|
|
69
|
+
if (depositAmount > 0 && depositAmount < exports.MIN_DEPOSIT_USD) {
|
|
70
|
+
return {
|
|
71
|
+
isValid: false,
|
|
72
|
+
error: `Minimum deposit is $${exports.MIN_DEPOSIT_USD}`,
|
|
73
|
+
canProceed: false,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// Priority 3: Zero deposit
|
|
77
|
+
if (depositAmount <= 0) {
|
|
78
|
+
return {
|
|
79
|
+
isValid: false,
|
|
80
|
+
canProceed: false,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
// Priority 4: Minimum borrow (except for 1x)
|
|
84
|
+
if (leverage > 1 && borrowAmount > 0 && borrowAmount < exports.MIN_BORROW_USD) {
|
|
85
|
+
return {
|
|
86
|
+
isValid: false,
|
|
87
|
+
error: `Leverage would result in borrow below $${exports.MIN_BORROW_USD} minimum`,
|
|
88
|
+
canProceed: false,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Priority 5: Available liquidity
|
|
92
|
+
if (borrowAmount > availableLiquidity) {
|
|
93
|
+
return {
|
|
94
|
+
isValid: false,
|
|
95
|
+
error: 'Leverage limit exceeded - insufficient liquidity available',
|
|
96
|
+
canProceed: false,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
// Priority 6: Maximum leverage
|
|
100
|
+
if (leverage > maxLeverage) {
|
|
101
|
+
return {
|
|
102
|
+
isValid: false,
|
|
103
|
+
error: `Maximum leverage is ${maxLeverage}x`,
|
|
104
|
+
canProceed: false,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// Warning: High leverage
|
|
108
|
+
if (leverage >= exports.HIGH_LEVERAGE_THRESHOLD) {
|
|
109
|
+
return {
|
|
110
|
+
isValid: true,
|
|
111
|
+
warning: `High leverage warning: ${leverage}x leverage increases liquidation risk`,
|
|
112
|
+
canProceed: true,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
// Warning: Low liquidity
|
|
116
|
+
const liquidityUtilization = borrowAmount / availableLiquidity;
|
|
117
|
+
if (liquidityUtilization > 0.8) {
|
|
118
|
+
return {
|
|
119
|
+
isValid: true,
|
|
120
|
+
warning: 'Low available liquidity - leverage may be limited',
|
|
121
|
+
canProceed: true,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
// All validations passed
|
|
125
|
+
return {
|
|
126
|
+
isValid: true,
|
|
127
|
+
canProceed: true,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=leverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leverage.js","sourceRoot":"","sources":["../../src/format/leverage.ts"],"names":[],"mappings":";;;AAOA,sDAGC;AAED,wDAKC;AAED,8DAWC;AAED,sDAEC;AA4BD,0EAeC;AAED,kEAMC;AAED,sDAkFC;AAzKD,2CAAqC;AAExB,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAC7B,QAAA,aAAa,GAAG,IAAI,CAAC;AAElC,SAAgB,qBAAqB,CAAC,UAAmB,EAAE,QAAgB;IACvE,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,sBAAsB,CAAC,UAAmB,EAAE,UAAmB;IAC3E,IAAI,UAAU,CAAC,MAAM,EAAE;QAAE,OAAO,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,yBAAyB,CACrC,eAAuB,EACvB,cAAsB,EACtB,UAAmB;IAEnB,IAAI,cAAc,IAAI,eAAe;QAAE,OAAO,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IAElG,OAAO,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,qBAAqB,CAAC,WAAoB,EAAE,QAAgB;IACxE,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AA4BD,SAAgB,+BAA+B,CAC3C,KAA2C;IAE3C,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEnE,IAAI,cAAc,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,oBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAEnD,oEAAoE;QACpE,IAAI,OAAO,CAAC,MAAM,EAAE;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,OAAO,CAAC,EAAE,CAAC,sBAAc,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,EAAE,CAAC,sBAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAClF,CAAC;AAED,SAAgB,2BAA2B,CACvC,YAAiC,EACjC,kBAAuC;IAEvC,IAAI,CAAC,YAAY,IAAI,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAA8B;IAChE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAEpD,4BAA4B;IAC5B,IAAI,aAAa,GAAG,WAAW,EAAE,CAAC;QAC9B,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sBAAsB;YAC7B,UAAU,EAAE,KAAK;SACpB,CAAC;IACN,CAAC;IAED,8BAA8B;IAC9B,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,uBAAe,EAAE,CAAC;QACvD,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB,uBAAe,EAAE;YAC/C,UAAU,EAAE,KAAK;SACpB,CAAC;IACN,CAAC;IAED,2BAA2B;IAC3B,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;SACpB,CAAC;IACN,CAAC;IAED,6CAA6C;IAC7C,IAAI,QAAQ,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,sBAAc,EAAE,CAAC;QACpE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0CAA0C,sBAAc,UAAU;YACzE,UAAU,EAAE,KAAK;SACpB,CAAC;IACN,CAAC;IAED,kCAAkC;IAClC,IAAI,YAAY,GAAG,kBAAkB,EAAE,CAAC;QACpC,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4DAA4D;YACnE,UAAU,EAAE,KAAK;SACpB,CAAC;IACN,CAAC;IAED,+BAA+B;IAC/B,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;QACzB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB,WAAW,GAAG;YAC5C,UAAU,EAAE,KAAK;SACpB,CAAC;IACN,CAAC;IAED,yBAAyB;IACzB,IAAI,QAAQ,IAAI,+BAAuB,EAAE,CAAC;QACtC,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,0BAA0B,QAAQ,uCAAuC;YAClF,UAAU,EAAE,IAAI;SACnB,CAAC;IACN,CAAC;IAED,yBAAyB;IACzB,MAAM,oBAAoB,GAAG,YAAY,GAAG,kBAAkB,CAAC;IAC/D,IAAI,oBAAoB,GAAG,GAAG,EAAE,CAAC;QAC7B,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,mDAAmD;YAC5D,UAAU,EAAE,IAAI;SACnB,CAAC;IACN,CAAC;IAED,yBAAyB;IACzB,OAAO;QACH,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACnB,CAAC;AACN,CAAC"}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Contract } from "ethers";
|
|
2
2
|
import { Decimal } from "decimal.js";
|
|
3
3
|
import { address, bytes, curvance_provider, curvance_signer, Percentage } from "./types";
|
|
4
|
-
import { chains } from "./
|
|
4
|
+
import { chains } from "./contracts";
|
|
5
5
|
export type ChangeRate = "year" | "month" | "week" | "day";
|
|
6
6
|
export type ChainRpcPrefix = keyof typeof chains;
|
|
7
7
|
export declare const BPS: bigint;
|
|
@@ -27,141 +27,10 @@ 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
|
-
export declare function getChainConfig():
|
|
31
|
-
dexAgg: import(".").KyberSwap;
|
|
32
|
-
provider: import("ethers").JsonRpcProvider;
|
|
33
|
-
native_symbol: string;
|
|
34
|
-
native_name: string;
|
|
35
|
-
wrapped_native: address;
|
|
36
|
-
native_vaults: {
|
|
37
|
-
name: string;
|
|
38
|
-
contract: address;
|
|
39
|
-
}[];
|
|
40
|
-
vaults: {
|
|
41
|
-
name: string;
|
|
42
|
-
contract: address;
|
|
43
|
-
underlying: address;
|
|
44
|
-
}[];
|
|
45
|
-
} | {
|
|
46
|
-
dexAgg: import(".").Kuru;
|
|
47
|
-
provider: import("ethers").JsonRpcProvider;
|
|
48
|
-
native_symbol: string;
|
|
49
|
-
native_name: string;
|
|
50
|
-
wrapped_native: address;
|
|
51
|
-
native_vaults: {
|
|
52
|
-
name: string;
|
|
53
|
-
contract: address;
|
|
54
|
-
}[];
|
|
55
|
-
vaults: never[];
|
|
56
|
-
} | {
|
|
57
|
-
dexAgg: import(".").KyberSwap;
|
|
58
|
-
provider: import("ethers").JsonRpcProvider;
|
|
59
|
-
native_symbol: string;
|
|
60
|
-
native_name: string;
|
|
61
|
-
wrapped_native: address;
|
|
62
|
-
native_vaults: never[];
|
|
63
|
-
vaults: never[];
|
|
64
|
-
} | {
|
|
65
|
-
provider: import("ethers").JsonRpcProvider;
|
|
66
|
-
dexAgg: import(".").KyberSwap;
|
|
67
|
-
native_symbol: string;
|
|
68
|
-
native_name: string;
|
|
69
|
-
wrapped_native: address;
|
|
70
|
-
native_vaults: {
|
|
71
|
-
name: string;
|
|
72
|
-
contract: address;
|
|
73
|
-
}[];
|
|
74
|
-
vaults: {
|
|
75
|
-
name: string;
|
|
76
|
-
contract: address;
|
|
77
|
-
underlying: address;
|
|
78
|
-
}[];
|
|
79
|
-
};
|
|
30
|
+
export declare function getChainConfig(): import("./chains").ChainConfig;
|
|
80
31
|
export declare function validateProviderAsSigner(provider: curvance_provider): curvance_signer;
|
|
81
32
|
export declare function contractSetup<I>(provider: curvance_provider, contractAddress: address, abi: any): Contract & I;
|
|
82
33
|
export declare function getContractAddresses(chain: ChainRpcPrefix): {
|
|
83
|
-
CentralRegistry: string;
|
|
84
|
-
OracleManager: string;
|
|
85
|
-
adaptors: {
|
|
86
|
-
ChainlinkAdaptor: string;
|
|
87
|
-
RedstoneClassicAdaptor: string;
|
|
88
|
-
RedstoneCoreAdaptor: string;
|
|
89
|
-
};
|
|
90
|
-
calldataCheckers: {
|
|
91
|
-
RedstoneAdaptorMulticallChecker: string;
|
|
92
|
-
};
|
|
93
|
-
zappers: {
|
|
94
|
-
nativeVaultZapper: string;
|
|
95
|
-
vaultZapper: string;
|
|
96
|
-
simpleZapper: string;
|
|
97
|
-
};
|
|
98
|
-
MockOracle: string;
|
|
99
|
-
MessagingHub: string;
|
|
100
|
-
CVE: string;
|
|
101
|
-
RewardManager: string;
|
|
102
|
-
VeCVE: string;
|
|
103
|
-
GaugeManager: string;
|
|
104
|
-
VotingHub: string;
|
|
105
|
-
"WMON-MockPermissionV3Aggregator": string;
|
|
106
|
-
"WMON-ChainlinkAdaptor": string;
|
|
107
|
-
"VaultAggregator-WMON-aprMON": string;
|
|
108
|
-
"VaultAggregator-WMON-shMON": string;
|
|
109
|
-
markets: {
|
|
110
|
-
"aprMON & WMON": {
|
|
111
|
-
address: string;
|
|
112
|
-
plugins: {
|
|
113
|
-
nativeVaultPositionManager: string;
|
|
114
|
-
simplePositionManager: string;
|
|
115
|
-
};
|
|
116
|
-
"aprMON-DynamicIRM": string;
|
|
117
|
-
tokens: {
|
|
118
|
-
aprMON: string;
|
|
119
|
-
WMON: string;
|
|
120
|
-
};
|
|
121
|
-
"WMON-DynamicIRM": string;
|
|
122
|
-
};
|
|
123
|
-
"shMON & WMON": {
|
|
124
|
-
address: string;
|
|
125
|
-
plugins: {
|
|
126
|
-
nativeVaultPositionManager: string;
|
|
127
|
-
simplePositionManager: string;
|
|
128
|
-
};
|
|
129
|
-
"shMON-DynamicIRM": string;
|
|
130
|
-
tokens: {
|
|
131
|
-
shMON: string;
|
|
132
|
-
WMON: string;
|
|
133
|
-
};
|
|
134
|
-
"WMON-DynamicIRM": string;
|
|
135
|
-
};
|
|
136
|
-
"sMON & WMON": {
|
|
137
|
-
address: string;
|
|
138
|
-
plugins: {
|
|
139
|
-
nativeVaultPositionManager: string;
|
|
140
|
-
simplePositionManager: string;
|
|
141
|
-
};
|
|
142
|
-
"sMON-DynamicIRM": string;
|
|
143
|
-
tokens: {
|
|
144
|
-
sMON: string;
|
|
145
|
-
WMON: string;
|
|
146
|
-
};
|
|
147
|
-
"WMON-DynamicIRM": string;
|
|
148
|
-
};
|
|
149
|
-
"gMON & WMON": {
|
|
150
|
-
address: string;
|
|
151
|
-
plugins: {
|
|
152
|
-
nativeVaultPositionManager: string;
|
|
153
|
-
simplePositionManager: string;
|
|
154
|
-
};
|
|
155
|
-
"gMON-DynamicIRM": string;
|
|
156
|
-
tokens: {
|
|
157
|
-
gMON: string;
|
|
158
|
-
WMON: string;
|
|
159
|
-
};
|
|
160
|
-
"WMON-DynamicIRM": string;
|
|
161
|
-
};
|
|
162
|
-
};
|
|
163
|
-
ProtocolReader: string;
|
|
164
|
-
} | {
|
|
165
34
|
CentralRegistry: string;
|
|
166
35
|
OracleManager: string;
|
|
167
36
|
adaptors: {
|
|
@@ -438,5 +307,62 @@ export declare function getContractAddresses(chain: ChainRpcPrefix): {
|
|
|
438
307
|
* @param bufferPercent The percentage buffer to add (default 10%)
|
|
439
308
|
* @returns The same contract but with automatic gas buffering
|
|
440
309
|
*/
|
|
310
|
+
export type MerklOpportunityLike = {
|
|
311
|
+
apr: number;
|
|
312
|
+
identifier: string;
|
|
313
|
+
tokens: {
|
|
314
|
+
address: string;
|
|
315
|
+
}[];
|
|
316
|
+
};
|
|
317
|
+
export type ApyOverrides = Record<string, {
|
|
318
|
+
value: number;
|
|
319
|
+
}>;
|
|
320
|
+
/**
|
|
321
|
+
* Returns the native yield for a token — the rate provided by the asset issuer.
|
|
322
|
+
* When `nativeYield` is nonzero it already includes the interest component,
|
|
323
|
+
* so we return it directly. Otherwise we fall back to any static APY override.
|
|
324
|
+
*/
|
|
325
|
+
export declare function getNativeYield(token: {
|
|
326
|
+
nativeYield: number;
|
|
327
|
+
asset: {
|
|
328
|
+
symbol: string;
|
|
329
|
+
};
|
|
330
|
+
}, apyOverrides?: ApyOverrides): Decimal;
|
|
331
|
+
/**
|
|
332
|
+
* Returns the interest yield — the lending APY earned on Curvance.
|
|
333
|
+
*/
|
|
334
|
+
export declare function getInterestYield(token: {
|
|
335
|
+
getApy(): Decimal;
|
|
336
|
+
}): Decimal;
|
|
337
|
+
/**
|
|
338
|
+
* Returns the Merkl incentive APY for a *deposit* token.
|
|
339
|
+
* Matches opportunities whose `tokens` array contains the given address.
|
|
340
|
+
*/
|
|
341
|
+
export declare function getMerklDepositIncentives(tokenAddress: string, opportunities: MerklOpportunityLike[] | undefined): Decimal;
|
|
342
|
+
/**
|
|
343
|
+
* Returns the Merkl incentive APY for a *borrow* token.
|
|
344
|
+
* Matches opportunities whose `identifier` equals the given address.
|
|
345
|
+
*/
|
|
346
|
+
export declare function getMerklBorrowIncentives(tokenAddress: string, opportunities: MerklOpportunityLike[] | undefined): Decimal;
|
|
347
|
+
/**
|
|
348
|
+
* Returns the total deposit APY for a token (native + interest + merkl).
|
|
349
|
+
* When `nativeYield` is nonzero it already includes interest, so we use it directly.
|
|
350
|
+
*/
|
|
351
|
+
export declare function getDepositApy(token: {
|
|
352
|
+
nativeYield: number;
|
|
353
|
+
getApy(): Decimal;
|
|
354
|
+
asset: {
|
|
355
|
+
symbol: string;
|
|
356
|
+
};
|
|
357
|
+
address: string;
|
|
358
|
+
}, opportunities: MerklOpportunityLike[] | undefined, apyOverrides?: ApyOverrides): Decimal;
|
|
359
|
+
/**
|
|
360
|
+
* Returns the net borrow cost for a token (borrow rate − merkl incentives).
|
|
361
|
+
* Can be negative when Merkl rewards exceed the borrow rate.
|
|
362
|
+
*/
|
|
363
|
+
export declare function getBorrowCost(token: {
|
|
364
|
+
getBorrowRate(inPercentage: true): Decimal;
|
|
365
|
+
address: string;
|
|
366
|
+
}, opportunities: MerklOpportunityLike[] | undefined): Decimal;
|
|
441
367
|
export declare function contractWithGasBuffer<T extends object>(contract: T, bufferPercent?: number): T;
|
|
442
368
|
//# sourceMappingURL=helpers.d.ts.map
|
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,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers.js
CHANGED
|
@@ -13,12 +13,19 @@ exports.getChainConfig = getChainConfig;
|
|
|
13
13
|
exports.validateProviderAsSigner = validateProviderAsSigner;
|
|
14
14
|
exports.contractSetup = contractSetup;
|
|
15
15
|
exports.getContractAddresses = getContractAddresses;
|
|
16
|
+
exports.getNativeYield = getNativeYield;
|
|
17
|
+
exports.getInterestYield = getInterestYield;
|
|
18
|
+
exports.getMerklDepositIncentives = getMerklDepositIncentives;
|
|
19
|
+
exports.getMerklBorrowIncentives = getMerklBorrowIncentives;
|
|
20
|
+
exports.getDepositApy = getDepositApy;
|
|
21
|
+
exports.getBorrowCost = getBorrowCost;
|
|
16
22
|
exports.contractWithGasBuffer = contractWithGasBuffer;
|
|
17
23
|
const ethers_1 = require("ethers");
|
|
18
24
|
const decimal_js_1 = require("decimal.js");
|
|
19
|
-
const
|
|
25
|
+
const contracts_1 = require("./contracts");
|
|
20
26
|
const setup_1 = require("./setup");
|
|
21
27
|
const FormatConverter_1 = __importDefault(require("./classes/FormatConverter"));
|
|
28
|
+
const chains_1 = require("./chains");
|
|
22
29
|
// Set Decimal.js precision to handle large numbers
|
|
23
30
|
decimal_js_1.Decimal.set({ precision: 50 });
|
|
24
31
|
exports.BPS = BigInt(1e4);
|
|
@@ -67,7 +74,7 @@ function toBigInt(value, decimals) {
|
|
|
67
74
|
}
|
|
68
75
|
function getChainConfig() {
|
|
69
76
|
const chain = setup_1.setup_config.chain;
|
|
70
|
-
const config =
|
|
77
|
+
const config = chains_1.chain_config[chain];
|
|
71
78
|
if (!config) {
|
|
72
79
|
throw new Error(`No configuration found for chain ${chain}`);
|
|
73
80
|
}
|
|
@@ -88,7 +95,7 @@ function contractSetup(provider, contractAddress, abi) {
|
|
|
88
95
|
return contractWithGasBuffer(contract);
|
|
89
96
|
}
|
|
90
97
|
function getContractAddresses(chain) {
|
|
91
|
-
const config =
|
|
98
|
+
const config = contracts_1.chains[chain];
|
|
92
99
|
if (!config) {
|
|
93
100
|
throw new Error(`No configuration found for chain ${chain}`);
|
|
94
101
|
}
|
|
@@ -129,19 +136,80 @@ async function tryAddGasBuffer(method, args, bufferPercent) {
|
|
|
129
136
|
return true;
|
|
130
137
|
}
|
|
131
138
|
/**
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
*
|
|
139
|
+
* Returns the native yield for a token — the rate provided by the asset issuer.
|
|
140
|
+
* When `nativeYield` is nonzero it already includes the interest component,
|
|
141
|
+
* so we return it directly. Otherwise we fall back to any static APY override.
|
|
142
|
+
*/
|
|
143
|
+
function getNativeYield(token, apyOverrides) {
|
|
144
|
+
if (token.nativeYield !== 0)
|
|
145
|
+
return new decimal_js_1.Decimal(token.nativeYield);
|
|
146
|
+
const symbol = token.asset.symbol.toLowerCase();
|
|
147
|
+
return new decimal_js_1.Decimal(apyOverrides?.[symbol]?.value ?? 0);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Returns the interest yield — the lending APY earned on Curvance.
|
|
144
151
|
*/
|
|
152
|
+
function getInterestYield(token) {
|
|
153
|
+
return token.getApy();
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Returns the Merkl incentive APY for a *deposit* token.
|
|
157
|
+
* Matches opportunities whose `tokens` array contains the given address.
|
|
158
|
+
*/
|
|
159
|
+
function getMerklDepositIncentives(tokenAddress, opportunities) {
|
|
160
|
+
if (!opportunities?.length)
|
|
161
|
+
return new decimal_js_1.Decimal(0);
|
|
162
|
+
const address = tokenAddress.toLowerCase();
|
|
163
|
+
const relevant = opportunities.filter((opp) => opp.tokens.some((t) => t.address.toLowerCase() === address));
|
|
164
|
+
if (!relevant.length)
|
|
165
|
+
return new decimal_js_1.Decimal(0);
|
|
166
|
+
let bestApr = 0;
|
|
167
|
+
for (const opp of relevant) {
|
|
168
|
+
for (const t of opp.tokens) {
|
|
169
|
+
if (t.address.toLowerCase() === address) {
|
|
170
|
+
bestApr = Math.max(bestApr, opp.apr ?? 0);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return new decimal_js_1.Decimal(bestApr / 100);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Returns the Merkl incentive APY for a *borrow* token.
|
|
178
|
+
* Matches opportunities whose `identifier` equals the given address.
|
|
179
|
+
*/
|
|
180
|
+
function getMerklBorrowIncentives(tokenAddress, opportunities) {
|
|
181
|
+
if (!opportunities?.length)
|
|
182
|
+
return new decimal_js_1.Decimal(0);
|
|
183
|
+
const address = tokenAddress.toLowerCase();
|
|
184
|
+
const relevant = opportunities.filter((opp) => opp.identifier.toLowerCase() === address);
|
|
185
|
+
if (!relevant.length)
|
|
186
|
+
return new decimal_js_1.Decimal(0);
|
|
187
|
+
const bestApr = relevant.reduce((max, opp) => Math.max(max, opp.apr ?? 0), 0);
|
|
188
|
+
return new decimal_js_1.Decimal(bestApr / 100);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Returns the total deposit APY for a token (native + interest + merkl).
|
|
192
|
+
* When `nativeYield` is nonzero it already includes interest, so we use it directly.
|
|
193
|
+
*/
|
|
194
|
+
function getDepositApy(token, opportunities, apyOverrides) {
|
|
195
|
+
const base = token.nativeYield !== 0
|
|
196
|
+
? new decimal_js_1.Decimal(token.nativeYield)
|
|
197
|
+
: token.getApy().add(new decimal_js_1.Decimal(apyOverrides?.[token.asset.symbol.toLowerCase()]?.value ?? 0));
|
|
198
|
+
const merkl = getMerklDepositIncentives(token.address, opportunities);
|
|
199
|
+
return base.add(merkl);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Returns the net borrow cost for a token (borrow rate − merkl incentives).
|
|
203
|
+
* Can be negative when Merkl rewards exceed the borrow rate.
|
|
204
|
+
*/
|
|
205
|
+
function getBorrowCost(token, opportunities) {
|
|
206
|
+
const borrowRate = token.getBorrowRate(true);
|
|
207
|
+
const merkl = getMerklBorrowIncentives(token.address, opportunities);
|
|
208
|
+
return new decimal_js_1.Decimal(borrowRate).sub(merkl);
|
|
209
|
+
}
|
|
210
|
+
// ---------------------------------------------------------------------------
|
|
211
|
+
// Gas helpers
|
|
212
|
+
// ---------------------------------------------------------------------------
|
|
145
213
|
function contractWithGasBuffer(contract, bufferPercent = 10) {
|
|
146
214
|
return new Proxy(contract, {
|
|
147
215
|
get(target, methodName, receiver) {
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
export * from './classes
|
|
2
|
-
export * from './classes/OptimizerReader';
|
|
3
|
-
export * from './classes/OracleManager';
|
|
4
|
-
export * from './classes/Market';
|
|
5
|
-
export * from './classes/CToken';
|
|
6
|
-
export * from './classes/ERC20';
|
|
7
|
-
export * from './classes/Zapper';
|
|
8
|
-
export * from './classes/Redstone';
|
|
9
|
-
export * from './classes/Calldata';
|
|
10
|
-
export * from './classes/BorrowableCToken';
|
|
11
|
-
export * from './classes/NativeToken';
|
|
12
|
-
export * from './classes/PositionManager';
|
|
13
|
-
export * from './classes/CVE';
|
|
14
|
-
export * from './classes/DexAggregators';
|
|
15
|
-
export * from './classes/FormatConverter';
|
|
1
|
+
export * from './classes';
|
|
16
2
|
export * from './helpers';
|
|
3
|
+
export * from './format';
|
|
4
|
+
export * from './integrations';
|
|
17
5
|
export * from './setup';
|
|
18
6
|
export * from './types';
|
|
19
7
|
export * from './retry-provider';
|
|
20
|
-
export * from './
|
|
8
|
+
export * from './contracts';
|
|
9
|
+
export * from './chains';
|
|
21
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,24 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./classes
|
|
18
|
-
__exportStar(require("./classes/OptimizerReader"), exports);
|
|
19
|
-
__exportStar(require("./classes/OracleManager"), exports);
|
|
20
|
-
__exportStar(require("./classes/Market"), exports);
|
|
21
|
-
__exportStar(require("./classes/CToken"), exports);
|
|
22
|
-
__exportStar(require("./classes/ERC20"), exports);
|
|
23
|
-
__exportStar(require("./classes/Zapper"), exports);
|
|
24
|
-
__exportStar(require("./classes/Redstone"), exports);
|
|
25
|
-
__exportStar(require("./classes/Calldata"), exports);
|
|
26
|
-
__exportStar(require("./classes/BorrowableCToken"), exports);
|
|
27
|
-
__exportStar(require("./classes/NativeToken"), exports);
|
|
28
|
-
__exportStar(require("./classes/PositionManager"), exports);
|
|
29
|
-
__exportStar(require("./classes/CVE"), exports);
|
|
30
|
-
__exportStar(require("./classes/DexAggregators"), exports);
|
|
31
|
-
__exportStar(require("./classes/FormatConverter"), exports);
|
|
17
|
+
__exportStar(require("./classes"), exports);
|
|
32
18
|
__exportStar(require("./helpers"), exports);
|
|
19
|
+
__exportStar(require("./format"), exports);
|
|
20
|
+
__exportStar(require("./integrations"), exports);
|
|
33
21
|
__exportStar(require("./setup"), exports);
|
|
34
22
|
__exportStar(require("./types"), exports);
|
|
35
23
|
__exportStar(require("./retry-provider"), exports);
|
|
36
|
-
__exportStar(require("./
|
|
24
|
+
__exportStar(require("./contracts"), exports);
|
|
25
|
+
__exportStar(require("./chains"), exports);
|
|
37
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B;AAC1B,2CAAyB;AACzB,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAC5B,2CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./merkl"), exports);
|
|
18
|
+
__exportStar(require("./snapshot"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B"}
|