@defisaver/positions-sdk 2.1.161-portfolio-api-dev → 2.1.161
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/cjs/portfolio/index.js +3 -5
- package/cjs/savings/index.js +5 -2
- package/cjs/savings/morphoVaults/index.d.ts +1 -1
- package/cjs/savings/morphoVaults/index.js +56 -18
- package/cjs/savings/morphoVaults/options.d.ts +2 -0
- package/cjs/savings/morphoVaults/options.js +61 -1
- package/cjs/types/aave.d.ts +2 -15
- package/cjs/types/compound.d.ts +2 -26
- package/cjs/types/curveUsd.d.ts +1 -9
- package/cjs/types/llamaLend.d.ts +1 -12
- package/cjs/types/morphoBlue.d.ts +0 -2
- package/cjs/types/savings/morphoVaults.d.ts +10 -2
- package/cjs/types/savings/morphoVaults.js +9 -1
- package/cjs/types/spark.d.ts +1 -21
- package/esm/portfolio/index.js +3 -5
- package/esm/savings/index.js +5 -2
- package/esm/savings/morphoVaults/index.d.ts +1 -1
- package/esm/savings/morphoVaults/index.js +57 -19
- package/esm/savings/morphoVaults/options.d.ts +2 -0
- package/esm/savings/morphoVaults/options.js +61 -1
- package/esm/types/aave.d.ts +2 -15
- package/esm/types/compound.d.ts +2 -26
- package/esm/types/curveUsd.d.ts +1 -9
- package/esm/types/llamaLend.d.ts +1 -12
- package/esm/types/morphoBlue.d.ts +0 -2
- package/esm/types/savings/morphoVaults.d.ts +10 -2
- package/esm/types/savings/morphoVaults.js +8 -0
- package/esm/types/spark.d.ts +1 -21
- package/package.json +1 -1
- package/src/portfolio/index.ts +2 -4
- package/src/savings/index.ts +5 -2
- package/src/savings/morphoVaults/index.ts +73 -21
- package/src/savings/morphoVaults/options.ts +67 -1
- package/src/types/aave.ts +1 -18
- package/src/types/compound.ts +2 -38
- package/src/types/curveUsd.ts +1 -17
- package/src/types/llamaLend.ts +1 -19
- package/src/types/morphoBlue.ts +0 -3
- package/src/types/savings/morphoVaults.ts +11 -1
- package/src/types/spark.ts +1 -25
package/cjs/portfolio/index.js
CHANGED
|
@@ -521,11 +521,9 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
521
521
|
positions[address.toLowerCase()].spark[market.value] = { error: `Error fetching Spark account data for address ${address} on market ${market.value}`, data: null };
|
|
522
522
|
}
|
|
523
523
|
}))).flat(),
|
|
524
|
-
|
|
525
|
-
// before a vault's data lands and the vault is missing from the result.
|
|
526
|
-
...addresses.flatMap((address) => {
|
|
524
|
+
...addresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
527
525
|
var _a;
|
|
528
|
-
return (
|
|
526
|
+
return (_a = makerCdps[address.toLowerCase()]) === null || _a === void 0 ? void 0 : _a.map((cdpInfo) => __awaiter(this, void 0, void 0, function* () {
|
|
529
527
|
try {
|
|
530
528
|
const cdpData = yield (0, maker_1._getMakerCdpData)(client, network, cdpInfo);
|
|
531
529
|
if (cdpData) {
|
|
@@ -537,7 +535,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
537
535
|
positions[address.toLowerCase()].maker[cdpInfo.id] = { error: `Error fetching Maker CDP data for address ${address} with ID ${cdpInfo.id}`, data: null };
|
|
538
536
|
}
|
|
539
537
|
}));
|
|
540
|
-
}),
|
|
538
|
+
})).flat(),
|
|
541
539
|
...aaveV2Markets.map((market) => addresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
542
540
|
try {
|
|
543
541
|
const accData = yield (0, aaveV2_1._getAaveV2AccountData)(client, network, address, aaveV2MarketsData[market.value].assetsData, market);
|
package/cjs/savings/index.js
CHANGED
|
@@ -60,7 +60,8 @@ exports.summerVaults = summerVaults;
|
|
|
60
60
|
const yearnV3Vaults = __importStar(require("./yearnV3Vaults"));
|
|
61
61
|
exports.yearnV3Vaults = yearnV3Vaults;
|
|
62
62
|
const getSavingsData = (provider, network, accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
const morphoVaultsList = Object.keys(morphoVaults.morphoVaultsOptions.MORPHO_VAULTS)
|
|
63
|
+
const morphoVaultsList = Object.keys(morphoVaults.morphoVaultsOptions.MORPHO_VAULTS)
|
|
64
|
+
.filter((key) => morphoVaults.morphoVaultsOptions.getMorphoVault(key).network === network);
|
|
64
65
|
const yearnVaultsList = Object.keys(yearnVaults.yearnVaultsOptions.YEARN_VAULTS);
|
|
65
66
|
const sparkSavingsVaultsList = Object.keys(sparkSavingsVaults.sparkSavingsVaultsOptions.SPARK_SAVINGS_VAULTS);
|
|
66
67
|
const yearnV3VaultsList = Object.keys(yearnV3Vaults.yearnV3VaultsOptions.YEARN_V3_VAULTS);
|
|
@@ -68,7 +69,7 @@ const getSavingsData = (provider, network, accounts) => __awaiter(void 0, void 0
|
|
|
68
69
|
.filter((key) => summerVaults.summerVaultsOptions.getSummerVault(key).network === network);
|
|
69
70
|
const savingsData = {};
|
|
70
71
|
yield Promise.all([
|
|
71
|
-
...(
|
|
72
|
+
...(morphoVaultsList.length ? [
|
|
72
73
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
74
|
try {
|
|
74
75
|
const vaults = morphoVaultsList.map((vaultKey) => morphoVaults.morphoVaultsOptions.getMorphoVault(vaultKey));
|
|
@@ -79,6 +80,8 @@ const getSavingsData = (provider, network, accounts) => __awaiter(void 0, void 0
|
|
|
79
80
|
console.error('[getSavingsData] Error fetching morpho vaults:', err);
|
|
80
81
|
}
|
|
81
82
|
}))(),
|
|
83
|
+
] : []),
|
|
84
|
+
...(network === common_1.NetworkNumber.Eth ? [
|
|
82
85
|
...yearnVaultsList.map((vaultKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
86
|
try {
|
|
84
87
|
const vault = yearnVaults.yearnVaultsOptions.getYearnVault(vaultKey);
|
|
@@ -3,7 +3,7 @@ import * as morphoVaultsOptions from './options';
|
|
|
3
3
|
import { EthAddress, EthereumProvider, NetworkNumber, MorphoVault, MorphoVaultType, SavingsVaultData } from '../../types';
|
|
4
4
|
export { morphoVaultsOptions, };
|
|
5
5
|
/**
|
|
6
|
-
* Fetches liquidity for all given vaults
|
|
6
|
+
* Fetches liquidity for all given vaults, one API request per vault version (chunked if over the page cap),
|
|
7
7
|
* returned as a map keyed by lowercased vault address. A vault missing from the API response is
|
|
8
8
|
* absent from the map.
|
|
9
9
|
*/
|
|
@@ -53,42 +53,50 @@ const graphql_request_1 = require("graphql-request");
|
|
|
53
53
|
const tokens_1 = require("@defisaver/tokens");
|
|
54
54
|
const morphoVaultsOptions = __importStar(require("./options"));
|
|
55
55
|
exports.morphoVaultsOptions = morphoVaultsOptions;
|
|
56
|
+
const types_1 = require("../../types");
|
|
56
57
|
const viem_1 = require("../../services/viem");
|
|
57
58
|
const contracts_1 = require("../../contracts");
|
|
58
59
|
const constants_1 = require("../../constants");
|
|
59
60
|
// Morpho API caps list page size at 100 items
|
|
60
61
|
const MORPHO_API_PAGE_SIZE = 100;
|
|
61
|
-
const
|
|
62
|
+
const buildLiquidityQuery = (listField) => `
|
|
62
63
|
query VaultsLiquidity($addresses: [String!], $chainIds: [Int!]) {
|
|
63
|
-
|
|
64
|
+
${listField}(first: ${MORPHO_API_PAGE_SIZE}, where: { address_in: $addresses, chainId_in: $chainIds }) {
|
|
64
65
|
items {
|
|
65
66
|
address
|
|
66
|
-
liquidity {
|
|
67
|
-
underlying
|
|
68
|
-
}
|
|
67
|
+
liquidity${listField === 'vaults' ? ' {\n underlying\n }' : ''}
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
70
|
}`;
|
|
71
|
+
const liquidityQueries = {
|
|
72
|
+
[types_1.MorphoVaultVersion.V1]: { field: 'vaults', query: buildLiquidityQuery('vaults') },
|
|
73
|
+
[types_1.MorphoVaultVersion.V2]: { field: 'vaultV2s', query: buildLiquidityQuery('vaultV2s') },
|
|
74
|
+
};
|
|
72
75
|
/**
|
|
73
|
-
* Fetches liquidity for all given vaults
|
|
76
|
+
* Fetches liquidity for all given vaults, one API request per vault version (chunked if over the page cap),
|
|
74
77
|
* returned as a map keyed by lowercased vault address. A vault missing from the API response is
|
|
75
78
|
* absent from the map.
|
|
76
79
|
*/
|
|
77
80
|
const fetchMorphoVaultsLiquidity = (network, vaults) => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
const requests = [];
|
|
82
|
+
[types_1.MorphoVaultVersion.V1, types_1.MorphoVaultVersion.V2].forEach((version) => {
|
|
83
|
+
const versionVaults = vaults.filter((vault) => vault.version === version);
|
|
84
|
+
for (let i = 0; i < versionVaults.length; i += MORPHO_API_PAGE_SIZE)
|
|
85
|
+
requests.push({ version, chunk: versionVaults.slice(i, i + MORPHO_API_PAGE_SIZE) });
|
|
86
|
+
});
|
|
81
87
|
const liquidityByAddress = {};
|
|
82
|
-
yield Promise.all(
|
|
83
|
-
const
|
|
88
|
+
yield Promise.all(requests.map((_a) => __awaiter(void 0, [_a], void 0, function* ({ version, chunk }) {
|
|
89
|
+
const { field, query } = liquidityQueries[version];
|
|
90
|
+
const data = yield (0, graphql_request_1.request)(constants_1.MORPHO_API_URL, query, {
|
|
84
91
|
addresses: chunk.map((vault) => vault.address),
|
|
85
92
|
chainIds: [network],
|
|
86
93
|
// the BigInt scalar serializes as a JSON number when it fits in Number.MAX_SAFE_INTEGER, a string otherwise
|
|
87
94
|
});
|
|
88
|
-
(data.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
(data[field].items || []).forEach((item) => {
|
|
96
|
+
// V1 exposes liquidity as { underlying }, V2 as a plain BigInt scalar
|
|
97
|
+
const underlying = (item === null || item === void 0 ? void 0 : item.liquidity) !== null && typeof (item === null || item === void 0 ? void 0 : item.liquidity) === 'object' ? item.liquidity.underlying : item === null || item === void 0 ? void 0 : item.liquidity;
|
|
98
|
+
if (underlying !== undefined && underlying !== null) {
|
|
99
|
+
liquidityByAddress[item.address.toLowerCase()] = String(underlying);
|
|
92
100
|
}
|
|
93
101
|
});
|
|
94
102
|
})));
|
|
@@ -102,7 +110,19 @@ const getBatchedViemProvider = (provider, network) => (0, viem_1.getViemProvider
|
|
|
102
110
|
},
|
|
103
111
|
},
|
|
104
112
|
});
|
|
105
|
-
|
|
113
|
+
// Vault V2 is ERC-4626 but has no decimals offset, so shares are converted with convertToAssets
|
|
114
|
+
const getMorphoVaultV2ChainData = (provider, morphoVault, accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
115
|
+
const vaultContract = (0, contracts_1.getErc4626ContractViem)(provider, morphoVault.address);
|
|
116
|
+
const [totalAssets, suppliedAssets] = yield Promise.all([
|
|
117
|
+
vaultContract.read.totalAssets(),
|
|
118
|
+
Promise.all(accounts.map((account) => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
+
const share = yield vaultContract.read.balanceOf([account]);
|
|
120
|
+
return share === BigInt(0) ? BigInt(0) : vaultContract.read.convertToAssets([share]);
|
|
121
|
+
}))),
|
|
122
|
+
]);
|
|
123
|
+
return { totalAssets, suppliedAssets };
|
|
124
|
+
});
|
|
125
|
+
const getMorphoVaultV1ChainData = (provider, morphoVault, accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
106
126
|
const morphoVaultContract = (0, contracts_1.getMorphoVaultContractViem)(provider, morphoVault.address);
|
|
107
127
|
const shares = {};
|
|
108
128
|
const [totalAssets, totalSupply, decimals, decimalsOffset] = yield Promise.all([
|
|
@@ -119,11 +139,29 @@ const getMorphoVaultChainData = (provider, morphoVault, accounts) => __awaiter(v
|
|
|
119
139
|
totalAssets, totalSupply, decimals, decimalsOffset, shares,
|
|
120
140
|
};
|
|
121
141
|
});
|
|
142
|
+
const getMorphoVaultChainData = (provider, morphoVault, accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
143
|
+
return (morphoVault.version === types_1.MorphoVaultVersion.V2
|
|
144
|
+
? { v2: yield getMorphoVaultV2ChainData(provider, morphoVault, accounts) }
|
|
145
|
+
: { v1: yield getMorphoVaultV1ChainData(provider, morphoVault, accounts) });
|
|
146
|
+
});
|
|
122
147
|
const formatMorphoVaultData = (morphoVault, chainData, liquidityUnderlying, accounts) => {
|
|
123
|
-
const { totalAssets, totalSupply, decimals, decimalsOffset, shares, } = chainData;
|
|
124
|
-
const poolSize = (0, tokens_1.assetAmountInEth)(totalAssets.toString(), morphoVault.asset);
|
|
125
148
|
const liquidity = (0, tokens_1.assetAmountInEth)(liquidityUnderlying, morphoVault.asset);
|
|
126
149
|
const supplied = {};
|
|
150
|
+
if (chainData.v2) {
|
|
151
|
+
const { totalAssets, suppliedAssets } = chainData.v2;
|
|
152
|
+
accounts.forEach((account, i) => {
|
|
153
|
+
supplied[account.toLowerCase()] = (0, tokens_1.assetAmountInEth)(suppliedAssets[i].toString(), morphoVault.asset);
|
|
154
|
+
});
|
|
155
|
+
return {
|
|
156
|
+
poolSize: (0, tokens_1.assetAmountInEth)(totalAssets.toString(), morphoVault.asset),
|
|
157
|
+
supplied,
|
|
158
|
+
liquidity,
|
|
159
|
+
asset: morphoVault.asset,
|
|
160
|
+
optionType: morphoVault.type,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
const { totalAssets, totalSupply, decimals, decimalsOffset, shares, } = chainData.v1;
|
|
164
|
+
const poolSize = (0, tokens_1.assetAmountInEth)(totalAssets.toString(), morphoVault.asset);
|
|
127
165
|
accounts.forEach((account) => {
|
|
128
166
|
const share = shares[account] || BigInt(0);
|
|
129
167
|
supplied[account.toLowerCase()] = new decimal_js_1.default(new decimal_js_1.default(share.toString()).mul(new decimal_js_1.default(totalAssets.toString()).add(1)).div(new decimal_js_1.default(totalSupply.toString()).add(Math.pow(10, decimalsOffset))).div(Math.pow(10, 18))
|
|
@@ -17,5 +17,7 @@ export declare const MORPHO_VAULT_STEAKHOUSE_PYUSD: MorphoVault;
|
|
|
17
17
|
export declare const MORPHO_VAULT_SMOKEHOUSE_USDT: MorphoVault;
|
|
18
18
|
export declare const MORPHO_VAULT_SMOKEHOUSE_USDC: MorphoVault;
|
|
19
19
|
export declare const MORPHO_VAULT_SMOKEHOUSE_DAI: MorphoVault;
|
|
20
|
+
export declare const MORPHO_VAULT_GAUNTLET_USDG_PREMIUM: MorphoVault;
|
|
21
|
+
export declare const MORPHO_VAULT_STEAKHOUSE_USDG_PRO: MorphoVault;
|
|
20
22
|
export declare const MORPHO_VAULTS: Record<MorphoVaultType, MorphoVault>;
|
|
21
23
|
export declare const getMorphoVault: (type: MorphoVaultType) => MorphoVault;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMorphoVault = exports.MORPHO_VAULTS = exports.MORPHO_VAULT_SMOKEHOUSE_DAI = exports.MORPHO_VAULT_SMOKEHOUSE_USDC = exports.MORPHO_VAULT_SMOKEHOUSE_USDT = exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = exports.MORPHO_VAULT_STEAKHOUSE_ETH = exports.MORPHO_VAULT_STEAKHOUSE_USDC = exports.MORPHO_VAULT_STEAKHOUSE_USDT = exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = exports.MORPHO_VAULT_FLAGSHIP_USDT = exports.MORPHO_VAULT_BOOSTED_USDC = exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = exports.MORPHO_VAULT_RE7_WETH = exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = exports.MORPHO_VAULT_FLAGSHIP_ETH = void 0;
|
|
3
|
+
exports.getMorphoVault = exports.MORPHO_VAULTS = exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO = exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM = exports.MORPHO_VAULT_SMOKEHOUSE_DAI = exports.MORPHO_VAULT_SMOKEHOUSE_USDC = exports.MORPHO_VAULT_SMOKEHOUSE_USDT = exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = exports.MORPHO_VAULT_STEAKHOUSE_ETH = exports.MORPHO_VAULT_STEAKHOUSE_USDC = exports.MORPHO_VAULT_STEAKHOUSE_USDT = exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = exports.MORPHO_VAULT_FLAGSHIP_USDT = exports.MORPHO_VAULT_BOOSTED_USDC = exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = exports.MORPHO_VAULT_RE7_WETH = exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = exports.MORPHO_VAULT_FLAGSHIP_ETH = void 0;
|
|
4
4
|
const types_1 = require("../../types");
|
|
5
5
|
exports.MORPHO_VAULT_FLAGSHIP_ETH = {
|
|
6
6
|
type: types_1.MorphoVaultType.MorphoVaultFlagshipEth,
|
|
7
7
|
name: 'Flagship ETH',
|
|
8
8
|
address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
|
|
9
9
|
asset: 'WETH',
|
|
10
|
+
network: types_1.NetworkNumber.Eth,
|
|
11
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
10
12
|
deploymentBlock: 18927491,
|
|
11
13
|
isLegacy: true,
|
|
12
14
|
};
|
|
@@ -15,6 +17,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = {
|
|
|
15
17
|
name: 'Gauntlet USDC Core',
|
|
16
18
|
address: '0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458',
|
|
17
19
|
asset: 'USDC',
|
|
20
|
+
network: types_1.NetworkNumber.Eth,
|
|
21
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
18
22
|
deploymentBlock: 19777569,
|
|
19
23
|
isLegacy: true,
|
|
20
24
|
};
|
|
@@ -23,6 +27,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDC_PRIME = {
|
|
|
23
27
|
name: 'Gauntlet USDC Prime',
|
|
24
28
|
address: '0xdd0f28e19C1780eb6396170735D45153D261490d',
|
|
25
29
|
asset: 'USDC',
|
|
30
|
+
network: types_1.NetworkNumber.Eth,
|
|
31
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
26
32
|
deploymentBlock: 19777569,
|
|
27
33
|
isLegacy: true,
|
|
28
34
|
};
|
|
@@ -31,6 +37,8 @@ exports.MORPHO_VAULT_RE7_WETH = {
|
|
|
31
37
|
name: 'RE7 WETH',
|
|
32
38
|
address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
|
|
33
39
|
asset: 'WETH',
|
|
40
|
+
network: types_1.NetworkNumber.Eth,
|
|
41
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
34
42
|
deploymentBlock: 19121118,
|
|
35
43
|
isLegacy: true,
|
|
36
44
|
};
|
|
@@ -39,6 +47,8 @@ exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = {
|
|
|
39
47
|
name: 'Gauntlet WETH Core',
|
|
40
48
|
address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
|
|
41
49
|
asset: 'WETH',
|
|
50
|
+
network: types_1.NetworkNumber.Eth,
|
|
51
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
42
52
|
deploymentBlock: 19541126,
|
|
43
53
|
isLegacy: true,
|
|
44
54
|
};
|
|
@@ -47,6 +57,8 @@ exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = {
|
|
|
47
57
|
name: 'Gauntlet WETH Prime',
|
|
48
58
|
address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
|
|
49
59
|
asset: 'WETH',
|
|
60
|
+
network: types_1.NetworkNumber.Eth,
|
|
61
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
50
62
|
deploymentBlock: 19372149,
|
|
51
63
|
isLegacy: true,
|
|
52
64
|
};
|
|
@@ -55,6 +67,8 @@ exports.MORPHO_VAULT_BOOSTED_USDC = {
|
|
|
55
67
|
name: 'Boosted USDC',
|
|
56
68
|
address: '0xd63070114470f685b75B74D60EEc7c1113d33a3D',
|
|
57
69
|
asset: 'USDC',
|
|
70
|
+
network: types_1.NetworkNumber.Eth,
|
|
71
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
58
72
|
deploymentBlock: 20377233,
|
|
59
73
|
isLegacy: true,
|
|
60
74
|
};
|
|
@@ -63,6 +77,8 @@ exports.MORPHO_VAULT_FLAGSHIP_USDT = {
|
|
|
63
77
|
name: 'Flagship USDT',
|
|
64
78
|
address: '0x2C25f6C25770fFEC5959D34B94Bf898865e5D6b1',
|
|
65
79
|
asset: 'USDT',
|
|
80
|
+
network: types_1.NetworkNumber.Eth,
|
|
81
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
66
82
|
deploymentBlock: 19127039,
|
|
67
83
|
isLegacy: true,
|
|
68
84
|
};
|
|
@@ -71,6 +87,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDA_CORE = {
|
|
|
71
87
|
name: 'Gauntlet USDA Core',
|
|
72
88
|
address: '0x125D41A6e5dbf455cD9Df8F80BCC6fd172D52Cc6',
|
|
73
89
|
asset: 'USDA',
|
|
90
|
+
network: types_1.NetworkNumber.Eth,
|
|
91
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
74
92
|
deploymentBlock: 19633608,
|
|
75
93
|
isLegacy: true,
|
|
76
94
|
};
|
|
@@ -79,6 +97,8 @@ exports.MORPHO_VAULT_GAUNTLET_USDT_PRIME = {
|
|
|
79
97
|
name: 'Gauntlet USDT Prime',
|
|
80
98
|
address: '0x8CB3649114051cA5119141a34C200D65dc0Faa73',
|
|
81
99
|
asset: 'USDT',
|
|
100
|
+
network: types_1.NetworkNumber.Eth,
|
|
101
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
82
102
|
deploymentBlock: 19486541,
|
|
83
103
|
isLegacy: true,
|
|
84
104
|
};
|
|
@@ -87,6 +107,8 @@ exports.MORPHO_VAULT_GAUNTLET_RESOLV_USDC = {
|
|
|
87
107
|
name: 'Gauntlet Resolv USDC',
|
|
88
108
|
address: '0x132E6C9C33A62D7727cd359b1f51e5B566E485Eb',
|
|
89
109
|
asset: 'USDC',
|
|
110
|
+
network: types_1.NetworkNumber.Eth,
|
|
111
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
90
112
|
deploymentBlock: 21487882,
|
|
91
113
|
isLegacy: true,
|
|
92
114
|
};
|
|
@@ -96,6 +118,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_USDT = {
|
|
|
96
118
|
name: 'Steakhouse USDT',
|
|
97
119
|
address: '0xbEef047a543E45807105E51A8BBEFCc5950fcfBa',
|
|
98
120
|
asset: 'USDT',
|
|
121
|
+
network: types_1.NetworkNumber.Eth,
|
|
122
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
99
123
|
deploymentBlock: 19043398,
|
|
100
124
|
isLegacy: false,
|
|
101
125
|
};
|
|
@@ -104,6 +128,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_USDC = {
|
|
|
104
128
|
name: 'Steakhouse USDC',
|
|
105
129
|
address: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB',
|
|
106
130
|
asset: 'USDC',
|
|
131
|
+
network: types_1.NetworkNumber.Eth,
|
|
132
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
107
133
|
deploymentBlock: 18928285,
|
|
108
134
|
isLegacy: false,
|
|
109
135
|
};
|
|
@@ -112,6 +138,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_ETH = {
|
|
|
112
138
|
name: 'Steakhouse WETH',
|
|
113
139
|
address: '0xBEEf050ecd6a16c4e7bfFbB52Ebba7846C4b8cD4',
|
|
114
140
|
asset: 'WETH',
|
|
141
|
+
network: types_1.NetworkNumber.Eth,
|
|
142
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
115
143
|
deploymentBlock: 19380443,
|
|
116
144
|
isLegacy: false,
|
|
117
145
|
};
|
|
@@ -120,6 +148,8 @@ exports.MORPHO_VAULT_STEAKHOUSE_PYUSD = {
|
|
|
120
148
|
name: 'Steakhouse PYUSD',
|
|
121
149
|
address: '0xbEEF02e5E13584ab96848af90261f0C8Ee04722a',
|
|
122
150
|
asset: 'PYUSD',
|
|
151
|
+
network: types_1.NetworkNumber.Eth,
|
|
152
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
123
153
|
deploymentBlock: 19043398,
|
|
124
154
|
isLegacy: false,
|
|
125
155
|
};
|
|
@@ -129,6 +159,8 @@ exports.MORPHO_VAULT_SMOKEHOUSE_USDT = {
|
|
|
129
159
|
name: 'Smokehouse USDT',
|
|
130
160
|
address: '0xA0804346780b4c2e3bE118ac957D1DB82F9d7484',
|
|
131
161
|
asset: 'USDT',
|
|
162
|
+
network: types_1.NetworkNumber.Eth,
|
|
163
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
132
164
|
deploymentBlock: 21522238,
|
|
133
165
|
isLegacy: false,
|
|
134
166
|
};
|
|
@@ -137,6 +169,8 @@ exports.MORPHO_VAULT_SMOKEHOUSE_USDC = {
|
|
|
137
169
|
name: 'Smokehouse USDC',
|
|
138
170
|
address: '0xBEeFFF209270748ddd194831b3fa287a5386f5bC',
|
|
139
171
|
asset: 'USDC',
|
|
172
|
+
network: types_1.NetworkNumber.Eth,
|
|
173
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
140
174
|
deploymentBlock: 21337719,
|
|
141
175
|
isLegacy: false,
|
|
142
176
|
};
|
|
@@ -145,9 +179,32 @@ exports.MORPHO_VAULT_SMOKEHOUSE_DAI = {
|
|
|
145
179
|
name: 'Smokehouse DAI',
|
|
146
180
|
address: '0xbeeFfF68CC520D68f82641EFF84330C631E2490E',
|
|
147
181
|
asset: 'DAI',
|
|
182
|
+
network: types_1.NetworkNumber.Eth,
|
|
183
|
+
version: types_1.MorphoVaultVersion.V1,
|
|
148
184
|
deploymentBlock: 21343808,
|
|
149
185
|
isLegacy: false,
|
|
150
186
|
};
|
|
187
|
+
// Vault V2
|
|
188
|
+
exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM = {
|
|
189
|
+
type: types_1.MorphoVaultType.MorphoVaultGauntletUSDGPremium,
|
|
190
|
+
name: 'Gauntlet USDG Premium',
|
|
191
|
+
address: '0x390c1bb01F3F627144a40617e287d4cE3D5aBCfa',
|
|
192
|
+
asset: 'USDG',
|
|
193
|
+
network: types_1.NetworkNumber.Arb,
|
|
194
|
+
version: types_1.MorphoVaultVersion.V2,
|
|
195
|
+
deploymentBlock: 510799903,
|
|
196
|
+
isLegacy: false,
|
|
197
|
+
};
|
|
198
|
+
exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO = {
|
|
199
|
+
type: types_1.MorphoVaultType.MorphoVaultSteakhouseUSDGPro,
|
|
200
|
+
name: 'Steakhouse USDG Pro',
|
|
201
|
+
address: '0xbeeFf72B77e7584a450E887125F25E8D8819016a',
|
|
202
|
+
asset: 'USDG',
|
|
203
|
+
network: types_1.NetworkNumber.Arb,
|
|
204
|
+
version: types_1.MorphoVaultVersion.V2,
|
|
205
|
+
deploymentBlock: 512247107,
|
|
206
|
+
isLegacy: false,
|
|
207
|
+
};
|
|
151
208
|
exports.MORPHO_VAULTS = {
|
|
152
209
|
[types_1.MorphoVaultType.MorphoVaultFlagshipEth]: exports.MORPHO_VAULT_FLAGSHIP_ETH,
|
|
153
210
|
[types_1.MorphoVaultType.MorphoVaultGauntletUSDCCore]: exports.MORPHO_VAULT_GAUNTLET_USDC_CORE,
|
|
@@ -169,6 +226,9 @@ exports.MORPHO_VAULTS = {
|
|
|
169
226
|
[types_1.MorphoVaultType.MorphoVaultSmokehouseUSDT]: exports.MORPHO_VAULT_SMOKEHOUSE_USDT,
|
|
170
227
|
[types_1.MorphoVaultType.MorphoVaultSmokehouseUSDC]: exports.MORPHO_VAULT_SMOKEHOUSE_USDC,
|
|
171
228
|
[types_1.MorphoVaultType.MorphoVaultSmokehouseDAI]: exports.MORPHO_VAULT_SMOKEHOUSE_DAI,
|
|
229
|
+
// Vault V2
|
|
230
|
+
[types_1.MorphoVaultType.MorphoVaultGauntletUSDGPremium]: exports.MORPHO_VAULT_GAUNTLET_USDG_PREMIUM,
|
|
231
|
+
[types_1.MorphoVaultType.MorphoVaultSteakhouseUSDGPro]: exports.MORPHO_VAULT_STEAKHOUSE_USDG_PRO,
|
|
172
232
|
};
|
|
173
233
|
const getMorphoVault = (type) => exports.MORPHO_VAULTS[type];
|
|
174
234
|
exports.getMorphoVault = getMorphoVault;
|
package/cjs/types/aave.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IncentiveData, LeverageType, MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber } from './common';
|
|
2
2
|
export declare enum AaveVersions {
|
|
3
3
|
AaveV1 = "v1",
|
|
4
4
|
AaveV2 = "v2default",
|
|
@@ -84,8 +84,6 @@ export interface AaveV3AssetData extends AaveAssetData {
|
|
|
84
84
|
liquidationBonus: string;
|
|
85
85
|
supplyIncentives: IncentiveData[];
|
|
86
86
|
borrowIncentives: IncentiveData[];
|
|
87
|
-
aTokenAddress?: EthAddress;
|
|
88
|
-
vTokenAddress?: EthAddress;
|
|
89
87
|
}
|
|
90
88
|
export type EModeCategoriesData = Record<number, EModeCategoryData>;
|
|
91
89
|
export type AaveAssetsData<T> = {
|
|
@@ -123,12 +121,7 @@ export type AaveUsedAssets<T> = {
|
|
|
123
121
|
};
|
|
124
122
|
export type AaveV2UsedAssets = AaveUsedAssets<AaveV2UsedAsset>;
|
|
125
123
|
export type AaveV3UsedAssets = AaveUsedAssets<AaveV3UsedAsset>;
|
|
126
|
-
|
|
127
|
-
* Fields aaveAnyGetAggregatedPositionData adds to every Aave V2/V3 position at runtime, on top of those declared
|
|
128
|
-
* below. Optional, so code that builds a position by hand keeps compiling.
|
|
129
|
-
*/
|
|
130
|
-
export type AavePositionAggregatedFields = Partial<Omit<AaveV3AggregatedPositionData, keyof MMPositionData | 'ratio' | 'collRatio' | 'safetyRatioWithLtvZeroFallback' | 'suppliedUsd' | 'borrowedUsd' | 'borrowLimitUsd' | 'suppliedCollateralUsd' | 'incentiveUsd' | 'totalInterestUsd'>>;
|
|
131
|
-
export interface AavePositionData extends MMPositionData, AavePositionAggregatedFields {
|
|
124
|
+
export interface AavePositionData extends MMPositionData {
|
|
132
125
|
ratio: string;
|
|
133
126
|
minRatio: string;
|
|
134
127
|
collRatio: string;
|
|
@@ -145,12 +138,6 @@ export interface AavePositionData extends MMPositionData, AavePositionAggregated
|
|
|
145
138
|
}
|
|
146
139
|
export interface AaveV2PositionData extends AavePositionData {
|
|
147
140
|
usedAssets: AaveV2UsedAssets;
|
|
148
|
-
eModeCategory?: number;
|
|
149
|
-
isInIsolationMode?: boolean;
|
|
150
|
-
isInSiloedMode?: boolean;
|
|
151
|
-
eModeCategories?: {
|
|
152
|
-
[key: number]: EModeCategoryDataMapping;
|
|
153
|
-
};
|
|
154
141
|
}
|
|
155
142
|
export interface AaveV3PositionData extends AavePositionData {
|
|
156
143
|
usedAssets: AaveV3UsedAssets;
|
package/cjs/types/compound.d.ts
CHANGED
|
@@ -52,7 +52,6 @@ export interface CompoundAssetData extends MMAssetData {
|
|
|
52
52
|
sortIndex?: number;
|
|
53
53
|
}
|
|
54
54
|
export interface CompoundV2AssetData extends CompoundAssetData {
|
|
55
|
-
exchangeRate?: string;
|
|
56
55
|
}
|
|
57
56
|
export interface CompoundV3AssetData extends CompoundAssetData {
|
|
58
57
|
borrowCollateralFactor: string;
|
|
@@ -64,17 +63,6 @@ export interface CompoundV3AssetData extends CompoundAssetData {
|
|
|
64
63
|
supplyCap: string;
|
|
65
64
|
priceInBaseAsset: string;
|
|
66
65
|
canBeWithdrawn: boolean;
|
|
67
|
-
tokenAddr?: EthAddress;
|
|
68
|
-
isBase?: boolean;
|
|
69
|
-
baseBorrowMin?: string;
|
|
70
|
-
baseTrackingBorrowRewardsSpeed?: string;
|
|
71
|
-
baseTrackingSupplyRewardsSpeed?: string;
|
|
72
|
-
borrowIndex?: string;
|
|
73
|
-
supplyIndex?: string;
|
|
74
|
-
trackingBorrowIndex?: string;
|
|
75
|
-
trackingSupplyIndex?: string;
|
|
76
|
-
rewardSupplySpeed?: string;
|
|
77
|
-
rewardBorrowSpeed?: string;
|
|
78
66
|
}
|
|
79
67
|
export interface CompoundAssetsData<T> {
|
|
80
68
|
[token: string]: T;
|
|
@@ -135,21 +123,9 @@ export interface CompoundPositionData extends MMPositionData {
|
|
|
135
123
|
isSubscribedToAutomation?: boolean;
|
|
136
124
|
automationResubscribeRequired?: boolean;
|
|
137
125
|
}
|
|
138
|
-
|
|
139
|
-
* Fields getCompoundV2AggregatedData adds to every Compound V2 position at runtime — a subset of
|
|
140
|
-
* CompoundAggregatedPositionData. Optional, so code that builds a position by hand keeps compiling.
|
|
141
|
-
*/
|
|
142
|
-
export type CompoundV2PositionAggregatedFields = Partial<Pick<CompoundAggregatedPositionData, 'suppliedCollateralUsd' | 'liquidationLimitUsd' | 'leftToBorrowUsd' | 'collRatio' | 'leveragedType' | 'leveragedAsset' | 'liquidationPrice'>>;
|
|
143
|
-
/**
|
|
144
|
-
* Fields getCompoundV3AggregatedData adds to every Compound V3 position at runtime, on top of those declared in
|
|
145
|
-
* CompoundPositionData. Optional, so code that builds a position by hand keeps compiling.
|
|
146
|
-
*/
|
|
147
|
-
export type CompoundV3PositionAggregatedFields = Partial<Omit<CompoundAggregatedPositionData, keyof MMPositionData | 'ratio' | 'minRatio' | 'suppliedUsd' | 'borrowedUsd' | 'borrowLimitUsd' | 'incentiveUsd' | 'totalInterestUsd'>>;
|
|
148
|
-
export interface CompoundV2PositionData extends CompoundPositionData, CompoundV2PositionAggregatedFields {
|
|
126
|
+
export interface CompoundV2PositionData extends CompoundPositionData {
|
|
149
127
|
usedAssets: CompoundV2UsedAssets;
|
|
150
|
-
borrowStableSupplyUnstable?: boolean;
|
|
151
128
|
}
|
|
152
|
-
export interface CompoundV3PositionData extends CompoundPositionData
|
|
129
|
+
export interface CompoundV3PositionData extends CompoundPositionData {
|
|
153
130
|
usedAssets: CompoundV3UsedAssets;
|
|
154
|
-
isAllowed?: boolean;
|
|
155
131
|
}
|
package/cjs/types/curveUsd.d.ts
CHANGED
|
@@ -60,7 +60,6 @@ export interface CrvUSDGlobalMarketData {
|
|
|
60
60
|
leftToBorrow: string;
|
|
61
61
|
bands: BandData[];
|
|
62
62
|
loanDiscount: string;
|
|
63
|
-
A?: bigint;
|
|
64
63
|
}
|
|
65
64
|
export interface CrvUSDAggregatedPositionData {
|
|
66
65
|
ratio: string;
|
|
@@ -92,8 +91,7 @@ export interface CrvUSDUsedAsset {
|
|
|
92
91
|
export interface CrvUSDUsedAssets {
|
|
93
92
|
[key: string]: CrvUSDUsedAsset;
|
|
94
93
|
}
|
|
95
|
-
export
|
|
96
|
-
export interface CrvUSDUserData extends CrvUSDPositionAggregatedFields {
|
|
94
|
+
export interface CrvUSDUserData {
|
|
97
95
|
debtAmount: string;
|
|
98
96
|
health: string;
|
|
99
97
|
healthPercent: string;
|
|
@@ -115,10 +113,4 @@ export interface CrvUSDUserData extends CrvUSDPositionAggregatedFields {
|
|
|
115
113
|
collateralPrice: string;
|
|
116
114
|
collRatio: string;
|
|
117
115
|
exposure: string;
|
|
118
|
-
marketCollateralAmount?: bigint;
|
|
119
|
-
curveUsdCollateralAmount?: bigint;
|
|
120
|
-
N?: bigint;
|
|
121
|
-
bandRange?: readonly [bigint, bigint];
|
|
122
|
-
usersBands?: readonly [readonly bigint[], readonly bigint[]];
|
|
123
|
-
isInSoftLiquidation?: boolean;
|
|
124
116
|
}
|
package/cjs/types/llamaLend.d.ts
CHANGED
|
@@ -138,8 +138,7 @@ export interface LlamaLendUsedAsset {
|
|
|
138
138
|
export interface LlamaLendUsedAssets {
|
|
139
139
|
[key: string]: LlamaLendUsedAsset;
|
|
140
140
|
}
|
|
141
|
-
export
|
|
142
|
-
export interface LlamaLendUserData extends LlamaLendPositionAggregatedFields {
|
|
141
|
+
export interface LlamaLendUserData {
|
|
143
142
|
debtAmount: string;
|
|
144
143
|
health: string;
|
|
145
144
|
healthPercent: string;
|
|
@@ -158,14 +157,4 @@ export interface LlamaLendUserData extends LlamaLendPositionAggregatedFields {
|
|
|
158
157
|
loanExists: boolean;
|
|
159
158
|
borrowRate?: string;
|
|
160
159
|
exposure: string;
|
|
161
|
-
collateralPrice?: bigint;
|
|
162
|
-
marketCollateralAmount?: bigint;
|
|
163
|
-
debtTokenCollateralAmount?: bigint;
|
|
164
|
-
N?: bigint;
|
|
165
|
-
bandRange?: readonly [bigint, bigint];
|
|
166
|
-
usersBands?: readonly [readonly bigint[], readonly bigint[]];
|
|
167
|
-
collRatio?: bigint;
|
|
168
|
-
isInSoftLiquidation?: boolean;
|
|
169
|
-
debtTokenSuppliedShares?: bigint;
|
|
170
|
-
debtTokenSuppliedAssets?: bigint;
|
|
171
160
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EthAddress } from '../common';
|
|
1
|
+
import { EthAddress, NetworkNumber } from '../common';
|
|
2
2
|
export declare enum MorphoVaultType {
|
|
3
3
|
MorphoVaultFlagshipEth = "morpho_vault_flagship_eth",
|
|
4
4
|
MorphoVaultGauntletUSDCCore = "morpho_vault_gauntlet_usdc_core",
|
|
@@ -17,13 +17,21 @@ export declare enum MorphoVaultType {
|
|
|
17
17
|
MorphoVaultSteakhousePYUSD = "morpho_vault_steakhouse_pyusd",
|
|
18
18
|
MorphoVaultSmokehouseUSDT = "morpho_vault_smokehouse_usdt",
|
|
19
19
|
MorphoVaultSmokehouseUSDC = "morpho_vault_smokehouse_usdc",
|
|
20
|
-
MorphoVaultSmokehouseDAI = "morpho_vault_smokehouse_dai"
|
|
20
|
+
MorphoVaultSmokehouseDAI = "morpho_vault_smokehouse_dai",
|
|
21
|
+
MorphoVaultGauntletUSDGPremium = "morpho_vault_gauntlet_usdg_premium",
|
|
22
|
+
MorphoVaultSteakhouseUSDGPro = "morpho_vault_steakhouse_usdg_pro"
|
|
23
|
+
}
|
|
24
|
+
export declare enum MorphoVaultVersion {
|
|
25
|
+
V1 = 1,
|
|
26
|
+
V2 = 2
|
|
21
27
|
}
|
|
22
28
|
export interface MorphoVault {
|
|
23
29
|
type: MorphoVaultType;
|
|
24
30
|
name: string;
|
|
25
31
|
address: EthAddress;
|
|
26
32
|
asset: string;
|
|
33
|
+
network: NetworkNumber;
|
|
34
|
+
version: MorphoVaultVersion;
|
|
27
35
|
deploymentBlock: number;
|
|
28
36
|
isLegacy: boolean;
|
|
29
37
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MorphoVaultType = void 0;
|
|
3
|
+
exports.MorphoVaultVersion = exports.MorphoVaultType = void 0;
|
|
4
4
|
var MorphoVaultType;
|
|
5
5
|
(function (MorphoVaultType) {
|
|
6
6
|
MorphoVaultType["MorphoVaultFlagshipEth"] = "morpho_vault_flagship_eth";
|
|
@@ -23,4 +23,12 @@ var MorphoVaultType;
|
|
|
23
23
|
MorphoVaultType["MorphoVaultSmokehouseUSDT"] = "morpho_vault_smokehouse_usdt";
|
|
24
24
|
MorphoVaultType["MorphoVaultSmokehouseUSDC"] = "morpho_vault_smokehouse_usdc";
|
|
25
25
|
MorphoVaultType["MorphoVaultSmokehouseDAI"] = "morpho_vault_smokehouse_dai";
|
|
26
|
+
// Vault V2
|
|
27
|
+
MorphoVaultType["MorphoVaultGauntletUSDGPremium"] = "morpho_vault_gauntlet_usdg_premium";
|
|
28
|
+
MorphoVaultType["MorphoVaultSteakhouseUSDGPro"] = "morpho_vault_steakhouse_usdg_pro";
|
|
26
29
|
})(MorphoVaultType || (exports.MorphoVaultType = MorphoVaultType = {}));
|
|
30
|
+
var MorphoVaultVersion;
|
|
31
|
+
(function (MorphoVaultVersion) {
|
|
32
|
+
MorphoVaultVersion[MorphoVaultVersion["V1"] = 1] = "V1";
|
|
33
|
+
MorphoVaultVersion[MorphoVaultVersion["V2"] = 2] = "V2";
|
|
34
|
+
})(MorphoVaultVersion || (exports.MorphoVaultVersion = MorphoVaultVersion = {}));
|
package/cjs/types/spark.d.ts
CHANGED
|
@@ -46,21 +46,6 @@ export interface SparkAssetData extends MMAssetData {
|
|
|
46
46
|
eModeCategory: number;
|
|
47
47
|
liquidationBonus: string;
|
|
48
48
|
liquidationRatio: string;
|
|
49
|
-
debtCeilingForIsolationMode?: string;
|
|
50
|
-
isSiloed?: boolean;
|
|
51
|
-
isolationModeTotalDebt?: string;
|
|
52
|
-
isolationModeBorrowingEnabled?: boolean;
|
|
53
|
-
assetId?: number;
|
|
54
|
-
borrowRateStable?: string;
|
|
55
|
-
supplyCap?: string;
|
|
56
|
-
isInactive?: boolean;
|
|
57
|
-
isFrozen?: boolean;
|
|
58
|
-
isPaused?: boolean;
|
|
59
|
-
canBeWithdrawn?: boolean;
|
|
60
|
-
canBePayBacked?: boolean;
|
|
61
|
-
disabledStableBorrowing?: boolean;
|
|
62
|
-
isFlashLoanEnabled?: boolean;
|
|
63
|
-
aTokenAddress?: EthAddress;
|
|
64
49
|
}
|
|
65
50
|
export interface SparkAssetsData {
|
|
66
51
|
[token: string]: SparkAssetData;
|
|
@@ -115,12 +100,7 @@ export interface SparkAggregatedPositionData {
|
|
|
115
100
|
minHealthRatio: string;
|
|
116
101
|
exposure: string;
|
|
117
102
|
}
|
|
118
|
-
|
|
119
|
-
* Fields sparkGetAggregatedPositionData adds to every Spark position at runtime, on top of those declared below.
|
|
120
|
-
* Optional, so code that builds a position by hand keeps compiling.
|
|
121
|
-
*/
|
|
122
|
-
export type SparkPositionAggregatedFields = Partial<Omit<SparkAggregatedPositionData, keyof MMPositionData | 'ratio' | 'collRatio' | 'suppliedUsd' | 'borrowedUsd' | 'borrowLimitUsd' | 'suppliedCollateralUsd' | 'incentiveUsd' | 'totalInterestUsd'>>;
|
|
123
|
-
export interface SparkPositionData extends MMPositionData, SparkPositionAggregatedFields {
|
|
103
|
+
export interface SparkPositionData extends MMPositionData {
|
|
124
104
|
ratio: string;
|
|
125
105
|
minRatio: string;
|
|
126
106
|
collRatio: string;
|