@defisaver/positions-sdk 0.0.5 → 0.0.7
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/aaveV2/index.d.ts +2 -2
- package/cjs/aaveV2/index.js +5 -3
- package/cjs/aaveV3/index.js +1 -1
- package/cjs/chickenBonds/index.js +2 -1
- package/cjs/compoundV3/index.d.ts +2 -2
- package/cjs/compoundV3/index.js +8 -5
- package/cjs/config/contracts.d.ts +144 -0
- package/cjs/config/contracts.js +18 -0
- package/cjs/contracts.d.ts +3 -0
- package/cjs/contracts.js +4 -1
- package/cjs/helpers/aaveHelpers/index.js +14 -2
- package/cjs/helpers/chickenBondsHelpers/index.d.ts +1 -0
- package/cjs/helpers/chickenBondsHelpers/index.js +14 -1
- package/cjs/helpers/compoundHelpers/index.d.ts +2 -2
- package/cjs/helpers/compoundHelpers/index.js +5 -4
- package/cjs/morphoAaveV2/index.d.ts +2 -2
- package/cjs/morphoAaveV2/index.js +5 -3
- package/cjs/services/priceService.d.ts +4 -0
- package/cjs/services/priceService.js +36 -0
- package/cjs/types/chickenBonds.d.ts +1 -0
- package/cjs/types/contracts/generated/COMPPriceFeed.d.ts +135 -0
- package/cjs/types/contracts/generated/COMPPriceFeed.js +5 -0
- package/cjs/types/contracts/generated/ETHPriceFeed.d.ts +135 -0
- package/cjs/types/contracts/generated/ETHPriceFeed.js +5 -0
- package/cjs/types/contracts/generated/USDCPriceFeed.d.ts +135 -0
- package/cjs/types/contracts/generated/USDCPriceFeed.js +5 -0
- package/cjs/types/contracts/generated/index.d.ts +3 -0
- package/esm/aaveV2/index.d.ts +2 -2
- package/esm/aaveV2/index.js +5 -3
- package/esm/aaveV3/index.js +1 -1
- package/esm/chickenBonds/index.js +3 -2
- package/esm/compoundV3/index.d.ts +2 -2
- package/esm/compoundV3/index.js +8 -5
- package/esm/config/contracts.d.ts +144 -0
- package/esm/config/contracts.js +18 -0
- package/esm/contracts.d.ts +3 -0
- package/esm/contracts.js +3 -0
- package/esm/helpers/aaveHelpers/index.js +14 -2
- package/esm/helpers/chickenBondsHelpers/index.d.ts +1 -0
- package/esm/helpers/chickenBondsHelpers/index.js +12 -0
- package/esm/helpers/compoundHelpers/index.d.ts +2 -2
- package/esm/helpers/compoundHelpers/index.js +5 -4
- package/esm/morphoAaveV2/index.d.ts +2 -2
- package/esm/morphoAaveV2/index.js +5 -3
- package/esm/services/priceService.d.ts +4 -0
- package/esm/services/priceService.js +27 -0
- package/esm/types/chickenBonds.d.ts +1 -0
- package/esm/types/contracts/generated/COMPPriceFeed.d.ts +135 -0
- package/esm/types/contracts/generated/COMPPriceFeed.js +4 -0
- package/esm/types/contracts/generated/ETHPriceFeed.d.ts +135 -0
- package/esm/types/contracts/generated/ETHPriceFeed.js +4 -0
- package/esm/types/contracts/generated/USDCPriceFeed.d.ts +135 -0
- package/esm/types/contracts/generated/USDCPriceFeed.js +4 -0
- package/esm/types/contracts/generated/index.d.ts +3 -0
- package/package.json +1 -1
- package/src/aaveV2/index.ts +5 -3
- package/src/aaveV3/index.ts +1 -0
- package/src/chickenBonds/index.ts +3 -2
- package/src/compoundV3/index.ts +8 -5
- package/src/config/contracts.js +18 -0
- package/src/contracts.ts +5 -1
- package/src/helpers/aaveHelpers/index.ts +16 -2
- package/src/helpers/chickenBondsHelpers/index.ts +11 -0
- package/src/helpers/compoundHelpers/index.ts +7 -4
- package/src/morphoAaveV2/index.ts +5 -3
- package/src/services/priceService.ts +22 -0
- package/src/types/chickenBonds.ts +1 -0
- package/src/types/contracts/generated/COMPPriceFeed.ts +202 -0
- package/src/types/contracts/generated/ETHPriceFeed.ts +202 -0
- package/src/types/contracts/generated/USDCPriceFeed.ts +202 -0
- package/src/types/contracts/generated/index.ts +3 -0
- package/yarn-error.log +64 -0
package/cjs/aaveV2/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import Web3 from 'web3';
|
|
2
2
|
import { Blockish, EthAddress, NetworkNumber, PositionBalances } from '../types/common';
|
|
3
3
|
import { AaveMarketInfo, AaveV2AssetsData, AaveV2PositionData } from '../types';
|
|
4
|
-
export declare const getAaveV2MarketsData: (web3: Web3, network: NetworkNumber, selectedMarket: AaveMarketInfo,
|
|
4
|
+
export declare const getAaveV2MarketsData: (web3: Web3, network: NetworkNumber, selectedMarket: AaveMarketInfo, mainnetWeb3: Web3) => Promise<{
|
|
5
5
|
assetsData: AaveV2AssetsData;
|
|
6
6
|
}>;
|
|
7
7
|
export declare const getAaveV2AccountBalances: (web3: Web3, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress) => Promise<PositionBalances>;
|
|
8
8
|
export declare const getAaveV2AccountData: (web3: Web3, network: NetworkNumber, address: string, assetsData: AaveV2AssetsData, market: AaveMarketInfo) => Promise<AaveV2PositionData>;
|
|
9
|
-
export declare const getAaveV2FullPositionData: (web3: Web3, network: NetworkNumber, address: string, market: AaveMarketInfo,
|
|
9
|
+
export declare const getAaveV2FullPositionData: (web3: Web3, network: NetworkNumber, address: string, market: AaveMarketInfo, mainnetWeb3: Web3) => Promise<AaveV2PositionData>;
|
package/cjs/aaveV2/index.js
CHANGED
|
@@ -22,7 +22,9 @@ const moneymarket_1 = require("../moneymarket");
|
|
|
22
22
|
const aaveV3_1 = require("../aaveV3");
|
|
23
23
|
const aave_1 = require("../markets/aave");
|
|
24
24
|
const aaveHelpers_1 = require("../helpers/aaveHelpers");
|
|
25
|
-
const
|
|
25
|
+
const priceService_1 = require("../services/priceService");
|
|
26
|
+
const getAaveV2MarketsData = (web3, network, selectedMarket, mainnetWeb3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
const ethPrice = yield (0, priceService_1.getEthPrice)(mainnetWeb3);
|
|
26
28
|
const _addresses = selectedMarket.assets.map(a => (0, tokens_1.getAssetInfo)((0, utils_1.ethToWeth)(a)).address);
|
|
27
29
|
const loanInfoContract = (0, contracts_1.AaveLoanInfoV2Contract)(web3, network);
|
|
28
30
|
const marketAddress = selectedMarket.providerAddress;
|
|
@@ -176,8 +178,8 @@ const getAaveV2AccountData = (web3, network, address, assetsData, market) => __a
|
|
|
176
178
|
return payload;
|
|
177
179
|
});
|
|
178
180
|
exports.getAaveV2AccountData = getAaveV2AccountData;
|
|
179
|
-
const getAaveV2FullPositionData = (web3, network, address, market,
|
|
180
|
-
const marketData = yield (0, exports.getAaveV2MarketsData)(web3, network, market,
|
|
181
|
+
const getAaveV2FullPositionData = (web3, network, address, market, mainnetWeb3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
182
|
+
const marketData = yield (0, exports.getAaveV2MarketsData)(web3, network, market, mainnetWeb3);
|
|
181
183
|
const positionData = yield (0, exports.getAaveV2AccountData)(web3, network, address, marketData.assetsData, market);
|
|
182
184
|
return positionData;
|
|
183
185
|
});
|
package/cjs/aaveV3/index.js
CHANGED
|
@@ -163,7 +163,7 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
|
|
|
163
163
|
liquidationRatio: new decimal_js_1.default(tokenMarket.liquidationThreshold).div(10000).toString(),
|
|
164
164
|
collateralFactor: new decimal_js_1.default(tokenMarket.ltv).div(10000).toString(),
|
|
165
165
|
priceSource: tokenMarket.priceSource,
|
|
166
|
-
} }));
|
|
166
|
+
}, aTokenAddress: tokenMarket.aTokenAddress }));
|
|
167
167
|
})));
|
|
168
168
|
yield Promise.all(assetsData.map((_market) => __awaiter(this, void 0, void 0, function* () {
|
|
169
169
|
/* eslint-disable no-param-reassign */
|
|
@@ -90,7 +90,7 @@ const fetchCBondsForUser = (web3, network, address) => __awaiter(void 0, void 0,
|
|
|
90
90
|
return bonds.map(({ bondID, accruedBLUSD, claimedBLUSD, endTime, lusdAmount, maxAmountBLUSD, startTime, status, tokenURI, }) => ({
|
|
91
91
|
bondId: bondID,
|
|
92
92
|
status,
|
|
93
|
-
|
|
93
|
+
tokenURI: (0, chickenBondsHelpers_1.decodeTokenURIToSvg)(tokenURI),
|
|
94
94
|
startTime: new Date(+startTime * 1000),
|
|
95
95
|
endTime: new Date(+endTime * 1000),
|
|
96
96
|
accruedBLUSD: (0, tokens_1.assetAmountInEth)(accruedBLUSD, 'bLUSD'),
|
|
@@ -112,6 +112,7 @@ const fetchCBondForId = (web3, network, bondId) => __awaiter(void 0, void 0, voi
|
|
|
112
112
|
claimedBLUSD: (0, tokens_1.assetAmountInEth)(bond.claimedBLUSD, 'bLUSD'),
|
|
113
113
|
lusdAmount: (0, tokens_1.assetAmountInEth)(bond.lusdAmount, 'LUSD'),
|
|
114
114
|
maxAmountBLUSD: (0, tokens_1.assetAmountInEth)(bond.maxAmountBLUSD, 'bLUSD'),
|
|
115
|
+
tokenURI: (0, chickenBondsHelpers_1.decodeTokenURIToSvg)(bond.tokenURI),
|
|
115
116
|
};
|
|
116
117
|
});
|
|
117
118
|
exports.fetchCBondForId = fetchCBondForId;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Web3 from 'web3';
|
|
2
2
|
import { CompoundMarketData, CompoundV3AssetsData, CompoundV3MarketsData, CompoundV3PositionData } from '../types/compound';
|
|
3
3
|
import { Blockish, EthAddress, NetworkNumber, PositionBalances } from '../types/common';
|
|
4
|
-
export declare const getCompoundV3MarketsData: (web3: Web3, network: NetworkNumber, selectedMarket: CompoundMarketData,
|
|
4
|
+
export declare const getCompoundV3MarketsData: (web3: Web3, network: NetworkNumber, selectedMarket: CompoundMarketData, defaultWeb3: Web3) => Promise<CompoundV3MarketsData>;
|
|
5
5
|
export declare const EMPTY_COMPOUND_V3_DATA: {
|
|
6
6
|
usedAssets: {};
|
|
7
7
|
suppliedUsd: string;
|
|
@@ -34,4 +34,4 @@ export declare const getCompoundV3AccountData: (web3: Web3, network: NetworkNumb
|
|
|
34
34
|
selectedMarket: CompoundMarketData;
|
|
35
35
|
assetsData: CompoundV3AssetsData;
|
|
36
36
|
})) => Promise<CompoundV3PositionData>;
|
|
37
|
-
export declare const getCompoundV3FullPositionData: (web3: Web3, network: NetworkNumber, address: string, proxyAddress: string, selectedMarket: CompoundMarketData,
|
|
37
|
+
export declare const getCompoundV3FullPositionData: (web3: Web3, network: NetworkNumber, address: string, proxyAddress: string, selectedMarket: CompoundMarketData, mainnetWeb3: Web3) => Promise<CompoundV3PositionData>;
|
package/cjs/compoundV3/index.js
CHANGED
|
@@ -24,7 +24,10 @@ const constants_1 = require("../constants");
|
|
|
24
24
|
const moneymarket_1 = require("../moneymarket");
|
|
25
25
|
const compoundHelpers_1 = require("../helpers/compoundHelpers");
|
|
26
26
|
const compound_2 = require("../markets/compound");
|
|
27
|
-
const
|
|
27
|
+
const priceService_1 = require("../services/priceService");
|
|
28
|
+
const getCompoundV3MarketsData = (web3, network, selectedMarket, defaultWeb3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
const baseAssetPrice = selectedMarket.baseAsset === 'ETH' ? yield (0, priceService_1.getEthPrice)(defaultWeb3) : yield (0, priceService_1.getUSDCPrice)(defaultWeb3);
|
|
30
|
+
const compPrice = yield (0, priceService_1.getCompPrice)(defaultWeb3);
|
|
28
31
|
const contract = (0, contracts_1.CompV3ViewContract)(web3, network);
|
|
29
32
|
const CompV3ViewAddress = contract.options.address;
|
|
30
33
|
const calls = [
|
|
@@ -40,7 +43,7 @@ const getCompoundV3MarketsData = (web3, network, selectedMarket, compPrice, defa
|
|
|
40
43
|
},
|
|
41
44
|
];
|
|
42
45
|
const data = yield (0, multicall_1.multicall)(calls, web3, network);
|
|
43
|
-
const colls = data[1].colls.map((coll) => (0, compoundHelpers_1.formatMarketData)(coll, network));
|
|
46
|
+
const colls = data[1].colls.map((coll) => (0, compoundHelpers_1.formatMarketData)(coll, network, baseAssetPrice));
|
|
44
47
|
if (selectedMarket.value === compound_1.CompoundVersions.CompoundV3ETH) {
|
|
45
48
|
for (const coll of colls) {
|
|
46
49
|
if (coll.symbol === 'wstETH') {
|
|
@@ -67,7 +70,7 @@ const getCompoundV3MarketsData = (web3, network, selectedMarket, compPrice, defa
|
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
|
-
const base = (0, compoundHelpers_1.formatBaseData)(data[0].baseToken, network);
|
|
73
|
+
const base = (0, compoundHelpers_1.formatBaseData)(data[0].baseToken, network, baseAssetPrice);
|
|
71
74
|
const payload = {};
|
|
72
75
|
const baseObj = Object.assign(Object.assign({}, base), (0, compoundHelpers_1.getIncentiveApys)(base, compPrice));
|
|
73
76
|
const allAssets = [baseObj, ...colls];
|
|
@@ -200,8 +203,8 @@ const getCompoundV3AccountData = (web3, network, address, proxyAddress, extracte
|
|
|
200
203
|
return payload;
|
|
201
204
|
});
|
|
202
205
|
exports.getCompoundV3AccountData = getCompoundV3AccountData;
|
|
203
|
-
const getCompoundV3FullPositionData = (web3, network, address, proxyAddress, selectedMarket,
|
|
204
|
-
const marketData = yield (0, exports.getCompoundV3MarketsData)(web3, network, selectedMarket,
|
|
206
|
+
const getCompoundV3FullPositionData = (web3, network, address, proxyAddress, selectedMarket, mainnetWeb3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
207
|
+
const marketData = yield (0, exports.getCompoundV3MarketsData)(web3, network, selectedMarket, mainnetWeb3);
|
|
205
208
|
const positionData = yield (0, exports.getCompoundV3AccountData)(web3, network, address, proxyAddress, { selectedMarket, assetsData: marketData.assetsData });
|
|
206
209
|
return positionData;
|
|
207
210
|
});
|
|
@@ -3060,3 +3060,147 @@ export namespace ChickenBondsManager {
|
|
|
3060
3060
|
};
|
|
3061
3061
|
export { networks_57 as networks };
|
|
3062
3062
|
}
|
|
3063
|
+
export namespace COMPPriceFeed {
|
|
3064
|
+
let abi_58: ({
|
|
3065
|
+
inputs: {
|
|
3066
|
+
internalType: string;
|
|
3067
|
+
name: string;
|
|
3068
|
+
type: string;
|
|
3069
|
+
}[];
|
|
3070
|
+
stateMutability: string;
|
|
3071
|
+
type: string;
|
|
3072
|
+
anonymous?: undefined;
|
|
3073
|
+
name?: undefined;
|
|
3074
|
+
outputs?: undefined;
|
|
3075
|
+
} | {
|
|
3076
|
+
anonymous: boolean;
|
|
3077
|
+
inputs: {
|
|
3078
|
+
indexed: boolean;
|
|
3079
|
+
internalType: string;
|
|
3080
|
+
name: string;
|
|
3081
|
+
type: string;
|
|
3082
|
+
}[];
|
|
3083
|
+
name: string;
|
|
3084
|
+
type: string;
|
|
3085
|
+
stateMutability?: undefined;
|
|
3086
|
+
outputs?: undefined;
|
|
3087
|
+
} | {
|
|
3088
|
+
inputs: {
|
|
3089
|
+
internalType: string;
|
|
3090
|
+
name: string;
|
|
3091
|
+
type: string;
|
|
3092
|
+
}[];
|
|
3093
|
+
name: string;
|
|
3094
|
+
outputs: {
|
|
3095
|
+
internalType: string;
|
|
3096
|
+
name: string;
|
|
3097
|
+
type: string;
|
|
3098
|
+
}[];
|
|
3099
|
+
stateMutability: string;
|
|
3100
|
+
type: string;
|
|
3101
|
+
anonymous?: undefined;
|
|
3102
|
+
})[];
|
|
3103
|
+
export { abi_58 as abi };
|
|
3104
|
+
let networks_58: {
|
|
3105
|
+
"1": {
|
|
3106
|
+
address: string;
|
|
3107
|
+
};
|
|
3108
|
+
};
|
|
3109
|
+
export { networks_58 as networks };
|
|
3110
|
+
}
|
|
3111
|
+
export namespace ETHPriceFeed {
|
|
3112
|
+
let abi_59: ({
|
|
3113
|
+
inputs: {
|
|
3114
|
+
internalType: string;
|
|
3115
|
+
name: string;
|
|
3116
|
+
type: string;
|
|
3117
|
+
}[];
|
|
3118
|
+
stateMutability: string;
|
|
3119
|
+
type: string;
|
|
3120
|
+
anonymous?: undefined;
|
|
3121
|
+
name?: undefined;
|
|
3122
|
+
outputs?: undefined;
|
|
3123
|
+
} | {
|
|
3124
|
+
anonymous: boolean;
|
|
3125
|
+
inputs: {
|
|
3126
|
+
indexed: boolean;
|
|
3127
|
+
internalType: string;
|
|
3128
|
+
name: string;
|
|
3129
|
+
type: string;
|
|
3130
|
+
}[];
|
|
3131
|
+
name: string;
|
|
3132
|
+
type: string;
|
|
3133
|
+
stateMutability?: undefined;
|
|
3134
|
+
outputs?: undefined;
|
|
3135
|
+
} | {
|
|
3136
|
+
inputs: {
|
|
3137
|
+
internalType: string;
|
|
3138
|
+
name: string;
|
|
3139
|
+
type: string;
|
|
3140
|
+
}[];
|
|
3141
|
+
name: string;
|
|
3142
|
+
outputs: {
|
|
3143
|
+
internalType: string;
|
|
3144
|
+
name: string;
|
|
3145
|
+
type: string;
|
|
3146
|
+
}[];
|
|
3147
|
+
stateMutability: string;
|
|
3148
|
+
type: string;
|
|
3149
|
+
anonymous?: undefined;
|
|
3150
|
+
})[];
|
|
3151
|
+
export { abi_59 as abi };
|
|
3152
|
+
let networks_59: {
|
|
3153
|
+
"1": {
|
|
3154
|
+
address: string;
|
|
3155
|
+
};
|
|
3156
|
+
};
|
|
3157
|
+
export { networks_59 as networks };
|
|
3158
|
+
}
|
|
3159
|
+
export namespace USDCPriceFeed {
|
|
3160
|
+
let abi_60: ({
|
|
3161
|
+
inputs: {
|
|
3162
|
+
internalType: string;
|
|
3163
|
+
name: string;
|
|
3164
|
+
type: string;
|
|
3165
|
+
}[];
|
|
3166
|
+
stateMutability: string;
|
|
3167
|
+
type: string;
|
|
3168
|
+
anonymous?: undefined;
|
|
3169
|
+
name?: undefined;
|
|
3170
|
+
outputs?: undefined;
|
|
3171
|
+
} | {
|
|
3172
|
+
anonymous: boolean;
|
|
3173
|
+
inputs: {
|
|
3174
|
+
indexed: boolean;
|
|
3175
|
+
internalType: string;
|
|
3176
|
+
name: string;
|
|
3177
|
+
type: string;
|
|
3178
|
+
}[];
|
|
3179
|
+
name: string;
|
|
3180
|
+
type: string;
|
|
3181
|
+
stateMutability?: undefined;
|
|
3182
|
+
outputs?: undefined;
|
|
3183
|
+
} | {
|
|
3184
|
+
inputs: {
|
|
3185
|
+
internalType: string;
|
|
3186
|
+
name: string;
|
|
3187
|
+
type: string;
|
|
3188
|
+
}[];
|
|
3189
|
+
name: string;
|
|
3190
|
+
outputs: {
|
|
3191
|
+
internalType: string;
|
|
3192
|
+
name: string;
|
|
3193
|
+
type: string;
|
|
3194
|
+
}[];
|
|
3195
|
+
stateMutability: string;
|
|
3196
|
+
type: string;
|
|
3197
|
+
anonymous?: undefined;
|
|
3198
|
+
})[];
|
|
3199
|
+
export { abi_60 as abi };
|
|
3200
|
+
let networks_60: {
|
|
3201
|
+
"1": {
|
|
3202
|
+
address: string;
|
|
3203
|
+
};
|
|
3204
|
+
};
|
|
3205
|
+
export { networks_60 as networks };
|
|
3206
|
+
}
|
package/cjs/config/contracts.js
CHANGED
|
@@ -598,5 +598,23 @@ module.exports = {
|
|
|
598
598
|
"networks": {
|
|
599
599
|
"1": { "address": "0x57619FE9C539f890b19c61812226F9703ce37137" }
|
|
600
600
|
}
|
|
601
|
+
},
|
|
602
|
+
"COMPPriceFeed": {
|
|
603
|
+
"abi": [{ "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }, { "internalType": "address", "name": "_accessController", "type": "address" }], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "int256", "name": "current", "type": "int256" }, { "indexed": true, "internalType": "uint256", "name": "roundId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "updatedAt", "type": "uint256" }], "name": "AnswerUpdated", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "uint256", "name": "roundId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "startedBy", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "startedAt", "type": "uint256" }], "name": "NewRound", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }], "name": "OwnershipTransferRequested", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "accessController", "outputs": [{ "internalType": "contract AccessControllerInterface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "aggregator", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }], "name": "confirmAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "description", "outputs": [{ "internalType": "string", "name": "", "type": "string" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "_roundId", "type": "uint256" }], "name": "getAnswer", "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint80", "name": "_roundId", "type": "uint80" }], "name": "getRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "_roundId", "type": "uint256" }], "name": "getTimestamp", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestAnswer", "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestRound", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestTimestamp", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [{ "internalType": "address payable", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], "name": "phaseAggregators", "outputs": [{ "internalType": "contract AggregatorV2V3Interface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "phaseId", "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }], "name": "proposeAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proposedAggregator", "outputs": [{ "internalType": "contract AggregatorV2V3Interface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint80", "name": "_roundId", "type": "uint80" }], "name": "proposedGetRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proposedLatestRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_accessController", "type": "address" }], "name": "setController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_to", "type": "address" }], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }],
|
|
604
|
+
"networks": {
|
|
605
|
+
"1": { "address": "0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5" }
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
"ETHPriceFeed": {
|
|
609
|
+
"abi": [{ "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }, { "internalType": "address", "name": "_accessController", "type": "address" }], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "int256", "name": "current", "type": "int256" }, { "indexed": true, "internalType": "uint256", "name": "roundId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "updatedAt", "type": "uint256" }], "name": "AnswerUpdated", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "uint256", "name": "roundId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "startedBy", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "startedAt", "type": "uint256" }], "name": "NewRound", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }], "name": "OwnershipTransferRequested", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "accessController", "outputs": [{ "internalType": "contract AccessControllerInterface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "aggregator", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }], "name": "confirmAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "description", "outputs": [{ "internalType": "string", "name": "", "type": "string" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "_roundId", "type": "uint256" }], "name": "getAnswer", "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint80", "name": "_roundId", "type": "uint80" }], "name": "getRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "_roundId", "type": "uint256" }], "name": "getTimestamp", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestAnswer", "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestRound", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestTimestamp", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [{ "internalType": "address payable", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], "name": "phaseAggregators", "outputs": [{ "internalType": "contract AggregatorV2V3Interface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "phaseId", "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }], "name": "proposeAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proposedAggregator", "outputs": [{ "internalType": "contract AggregatorV2V3Interface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint80", "name": "_roundId", "type": "uint80" }], "name": "proposedGetRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proposedLatestRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_accessController", "type": "address" }], "name": "setController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_to", "type": "address" }], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }],
|
|
610
|
+
"networks": {
|
|
611
|
+
"1": { "address": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" }
|
|
612
|
+
},
|
|
613
|
+
},
|
|
614
|
+
"USDCPriceFeed": {
|
|
615
|
+
"abi": [{ "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }, { "internalType": "address", "name": "_accessController", "type": "address" }], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "int256", "name": "current", "type": "int256" }, { "indexed": true, "internalType": "uint256", "name": "roundId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "updatedAt", "type": "uint256" }], "name": "AnswerUpdated", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "uint256", "name": "roundId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "startedBy", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "startedAt", "type": "uint256" }], "name": "NewRound", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }], "name": "OwnershipTransferRequested", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "accessController", "outputs": [{ "internalType": "contract AccessControllerInterface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "aggregator", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }], "name": "confirmAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "description", "outputs": [{ "internalType": "string", "name": "", "type": "string" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "_roundId", "type": "uint256" }], "name": "getAnswer", "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint80", "name": "_roundId", "type": "uint80" }], "name": "getRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "_roundId", "type": "uint256" }], "name": "getTimestamp", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestAnswer", "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestRound", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestTimestamp", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], "name": "phaseAggregators", "outputs": [{ "internalType": "contract AggregatorV2V3Interface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "phaseId", "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_aggregator", "type": "address" }], "name": "proposeAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proposedAggregator", "outputs": [{ "internalType": "contract AggregatorV2V3Interface", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint80", "name": "_roundId", "type": "uint80" }], "name": "proposedGetRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proposedLatestRoundData", "outputs": [{ "internalType": "uint80", "name": "roundId", "type": "uint80" }, { "internalType": "int256", "name": "answer", "type": "int256" }, { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_accessController", "type": "address" }], "name": "setController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "_to", "type": "address" }], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }],
|
|
616
|
+
"networks": {
|
|
617
|
+
"1": { "address": "0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6" }
|
|
618
|
+
}
|
|
601
619
|
}
|
|
602
620
|
};
|
package/cjs/contracts.d.ts
CHANGED
|
@@ -39,3 +39,6 @@ export declare const McdJugContract: (web3: Web3, network: NetworkNumber, block?
|
|
|
39
39
|
export declare const McdVatContract: (web3: Web3, network: NetworkNumber, block?: Blockish) => ContractTypes.McdVat;
|
|
40
40
|
export declare const ChickenBondsViewContract: (web3: Web3, network: NetworkNumber, block?: Blockish) => ContractTypes.ChickenBondsView;
|
|
41
41
|
export declare const ChickenBondsManagerContract: (web3: Web3, network: NetworkNumber, block?: Blockish) => ContractTypes.ChickenBondsManager;
|
|
42
|
+
export declare const ETHPriceFeedContract: (web3: Web3, network: NetworkNumber, block?: Blockish) => ContractTypes.ETHPriceFeed;
|
|
43
|
+
export declare const COMPPriceFeedContract: (web3: Web3, network: NetworkNumber, block?: Blockish) => ContractTypes.COMPPriceFeed;
|
|
44
|
+
export declare const USDCPriceFeedContract: (web3: Web3, network: NetworkNumber, block?: Blockish) => ContractTypes.USDCPriceFeed;
|
package/cjs/contracts.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ChickenBondsManagerContract = exports.ChickenBondsViewContract = exports.McdVatContract = exports.McdJugContract = exports.McdDogContract = exports.McdSpotterContract = exports.McdViewContract = exports.LiquityActivePoolContract = exports.LiquityPriceFeedContract = exports.LiquityTroveManagerContract = exports.LiquityCollSurplusPoolContract = exports.LiquityViewContract = exports.CrvUSDFactoryContract = exports.CrvUSDViewContract = exports.SparkViewContract = exports.SparkIncentiveDataProviderContract = exports.MorphoAaveV2ViewContract = exports.PotContract = exports.ComptrollerContract = exports.CompoundLoanInfoContract = exports.AaveLoanInfoV2Contract = exports.wstETHContract = exports.CompV3ViewContract = exports.BalanceScannerContract = exports.REthContract = exports.CbEthContract = exports.LidoContract = exports.GhoTokenContract = exports.AaveIncentiveDataProviderV3Contract = exports.AaveV3ViewContract = exports.UniMulticallContract = exports.createContractWrapper = exports.getErc20Contract = exports.getConfigContractAbi = exports.getConfigContractAddress = void 0;
|
|
6
|
+
exports.USDCPriceFeedContract = exports.COMPPriceFeedContract = exports.ETHPriceFeedContract = exports.ChickenBondsManagerContract = exports.ChickenBondsViewContract = exports.McdVatContract = exports.McdJugContract = exports.McdDogContract = exports.McdSpotterContract = exports.McdViewContract = exports.LiquityActivePoolContract = exports.LiquityPriceFeedContract = exports.LiquityTroveManagerContract = exports.LiquityCollSurplusPoolContract = exports.LiquityViewContract = exports.CrvUSDFactoryContract = exports.CrvUSDViewContract = exports.SparkViewContract = exports.SparkIncentiveDataProviderContract = exports.MorphoAaveV2ViewContract = exports.PotContract = exports.ComptrollerContract = exports.CompoundLoanInfoContract = exports.AaveLoanInfoV2Contract = exports.wstETHContract = exports.CompV3ViewContract = exports.BalanceScannerContract = exports.REthContract = exports.CbEthContract = exports.LidoContract = exports.GhoTokenContract = exports.AaveIncentiveDataProviderV3Contract = exports.AaveV3ViewContract = exports.UniMulticallContract = exports.createContractWrapper = exports.getErc20Contract = exports.getConfigContractAbi = exports.getConfigContractAddress = void 0;
|
|
7
7
|
const contracts_1 = __importDefault(require("./config/contracts"));
|
|
8
8
|
const contractConfig = contracts_1.default;
|
|
9
9
|
const getConfigContractAddress = (name, network, block) => {
|
|
@@ -64,3 +64,6 @@ exports.McdJugContract = createContractFromConfigFunc('McdJug');
|
|
|
64
64
|
exports.McdVatContract = createContractFromConfigFunc('McdVat');
|
|
65
65
|
exports.ChickenBondsViewContract = createContractFromConfigFunc('ChickenBondsView');
|
|
66
66
|
exports.ChickenBondsManagerContract = createContractFromConfigFunc('ChickenBondsManager');
|
|
67
|
+
exports.ETHPriceFeedContract = createContractFromConfigFunc('ETHPriceFeed');
|
|
68
|
+
exports.COMPPriceFeedContract = createContractFromConfigFunc('COMPPriceFeed');
|
|
69
|
+
exports.USDCPriceFeedContract = createContractFromConfigFunc('USDCPriceFeed');
|
|
@@ -77,8 +77,20 @@ const aaveAnyGetAggregatedPositionData = (_a) => {
|
|
|
77
77
|
const payload = {};
|
|
78
78
|
payload.suppliedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied }) => isSupplied, ({ suppliedUsd }) => suppliedUsd);
|
|
79
79
|
payload.suppliedCollateralUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ suppliedUsd }) => suppliedUsd);
|
|
80
|
-
payload.borrowLimitUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd }) =>
|
|
81
|
-
|
|
80
|
+
payload.borrowLimitUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd }) => {
|
|
81
|
+
const suppliedUsdAmount = (0, exports.isMorphoAaveV3)(data)
|
|
82
|
+
// Morpho has a slightly different method for calculating health ratio than underlying pool (To account for potential errors in rounding)
|
|
83
|
+
? new decimal_js_1.default(suppliedUsd).minus(new decimal_js_1.default(suppliedUsd).div(100).times(0.1)).toString()
|
|
84
|
+
: suppliedUsd;
|
|
85
|
+
return new decimal_js_1.default(suppliedUsdAmount).mul((0, exports.aaveAnyGetEmodeMutableProps)(data, symbol).collateralFactor);
|
|
86
|
+
});
|
|
87
|
+
payload.liquidationLimitUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd }) => {
|
|
88
|
+
const suppliedUsdAmount = (0, exports.isMorphoAaveV3)(data)
|
|
89
|
+
// Morpho has a slightly different method for calculating health ratio than underlying pool (To account for potential errors in rounding)
|
|
90
|
+
? new decimal_js_1.default(suppliedUsd).minus(new decimal_js_1.default(suppliedUsd).div(100).times(0.1)).toString()
|
|
91
|
+
: suppliedUsd;
|
|
92
|
+
return new decimal_js_1.default(suppliedUsdAmount).mul((0, exports.aaveAnyGetEmodeMutableProps)(data, symbol).liquidationRatio);
|
|
93
|
+
});
|
|
82
94
|
payload.borrowedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isBorrowed }) => isBorrowed, ({ borrowedUsd }) => borrowedUsd);
|
|
83
95
|
const leftToBorrowUsd = new decimal_js_1.default(payload.borrowLimitUsd).sub(payload.borrowedUsd);
|
|
84
96
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare const calcCBondsBLUSDFloorPrice: (bLUSDSupply: string, totalReserveLUSD: string) => string;
|
|
2
2
|
export declare const calcAverageBondAgeMs: (totalWeightedStartTimes: string, totalPendingLusd: string) => number;
|
|
3
|
+
export declare const decodeTokenURIToSvg: (tokenURI: string) => string;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.calcAverageBondAgeMs = exports.calcCBondsBLUSDFloorPrice = void 0;
|
|
6
|
+
exports.decodeTokenURIToSvg = exports.calcAverageBondAgeMs = exports.calcCBondsBLUSDFloorPrice = void 0;
|
|
7
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
8
8
|
const calcCBondsBLUSDFloorPrice = (bLUSDSupply, totalReserveLUSD) => {
|
|
9
9
|
if (new decimal_js_1.default(bLUSDSupply).eq(0))
|
|
@@ -17,3 +17,16 @@ const calcAverageBondAgeMs = (totalWeightedStartTimes, totalPendingLusd) => {
|
|
|
17
17
|
return Date.now() - averageStartTimeMs;
|
|
18
18
|
};
|
|
19
19
|
exports.calcAverageBondAgeMs = calcAverageBondAgeMs;
|
|
20
|
+
const decodeTokenURIToSvg = (tokenURI) => {
|
|
21
|
+
var _a;
|
|
22
|
+
try {
|
|
23
|
+
const dataStartIndex = tokenURI.indexOf('base64,') + 'base64,'.length;
|
|
24
|
+
const json = atob(tokenURI.slice(dataStartIndex));
|
|
25
|
+
return (_a = JSON.parse(json)) === null || _a === void 0 ? void 0 : _a.image;
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
console.error(e);
|
|
29
|
+
return 'Error parsing NFT image';
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.decodeTokenURIToSvg = decodeTokenURIToSvg;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseAdditionalAssetData, CompoundAggregatedPositionData, CompoundMarketData, CompoundV2AssetsData, CompoundV2UsedAssets, CompoundV3AssetData, CompoundV3AssetsData, CompoundV3UsedAssets } from '../../types';
|
|
2
2
|
import { NetworkNumber } from '../../types/common';
|
|
3
|
-
export declare const formatMarketData: (data: any, network: NetworkNumber) => CompoundV3AssetData;
|
|
4
|
-
export declare const formatBaseData: (data: any, network: NetworkNumber) => CompoundV3AssetData & BaseAdditionalAssetData;
|
|
3
|
+
export declare const formatMarketData: (data: any, network: NetworkNumber, baseAssetPrice: string) => CompoundV3AssetData;
|
|
4
|
+
export declare const formatBaseData: (data: any, network: NetworkNumber, baseAssetPrice: string) => CompoundV3AssetData & BaseAdditionalAssetData;
|
|
5
5
|
export declare const getIncentiveApys: (baseData: CompoundV3AssetData & BaseAdditionalAssetData, compPrice: string) => {
|
|
6
6
|
incentiveSupplyApy: string;
|
|
7
7
|
incentiveBorrowApy: string;
|
|
@@ -22,14 +22,15 @@ const utils_1 = require("../../services/utils");
|
|
|
22
22
|
const constants_1 = require("../../constants");
|
|
23
23
|
const moneymarket_1 = require("../../moneymarket");
|
|
24
24
|
const staking_1 = require("../../staking");
|
|
25
|
-
const formatMarketData = (data, network) => {
|
|
25
|
+
const formatMarketData = (data, network, baseAssetPrice) => {
|
|
26
26
|
const assetInfo = (0, tokens_1.getAssetInfoByAddress)(data.tokenAddr, network);
|
|
27
27
|
const isWETH = assetInfo.symbol === 'WETH';
|
|
28
|
-
|
|
28
|
+
const price = (0, utils_1.getEthAmountForDecimals)(data.price, 8);
|
|
29
|
+
return (Object.assign(Object.assign({}, data), { priceInBaseAsset: (0, utils_1.getEthAmountForDecimals)(data.price, 8), price: new decimal_js_1.default(price).mul(baseAssetPrice).toString(), collateralFactor: (0, utils_1.getEthAmountForDecimals)(data.borrowCollateralFactor, 18), liquidationRatio: (0, utils_1.getEthAmountForDecimals)(data.liquidateCollateralFactor, 18), supplyCap: (0, utils_1.getEthAmountForDecimals)(data.supplyCap, assetInfo.decimals), totalSupply: (0, utils_1.getEthAmountForDecimals)(data.totalSupply, assetInfo.decimals), symbol: isWETH ? 'ETH' : assetInfo.symbol, supplyRate: '0', borrowRate: '0', canBeBorrowed: false, canBeSupplied: true }));
|
|
29
30
|
};
|
|
30
31
|
exports.formatMarketData = formatMarketData;
|
|
31
32
|
// TODO: maybe not hardcode decimals
|
|
32
|
-
const formatBaseData = (data, network) => {
|
|
33
|
+
const formatBaseData = (data, network, baseAssetPrice) => {
|
|
33
34
|
const assetInfo = (0, tokens_1.getAssetInfoByAddress)(data.tokenAddr, network);
|
|
34
35
|
const totalSupply = (0, utils_1.getEthAmountForDecimals)(new decimal_js_1.default(data.totalSupply).mul(data.supplyIndex).toString(), 15 + assetInfo.decimals);
|
|
35
36
|
const totalBorrow = (0, utils_1.getEthAmountForDecimals)(new decimal_js_1.default(data.totalBorrow).mul(data.borrowIndex).toString(), 15 + assetInfo.decimals);
|
|
@@ -37,7 +38,7 @@ const formatBaseData = (data, network) => {
|
|
|
37
38
|
.toString()), borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(data.borrowRate).div(1e18).mul(constants_1.SECONDS_PER_YEAR).mul(100)
|
|
38
39
|
.toString()), utilization: (0, utils_1.getEthAmountForDecimals)(data.utilization, 16), // utilization is totalSupply/totalBorrow in 1e18, but we need % so when we mul with 100 it's 16 decimals
|
|
39
40
|
totalSupply,
|
|
40
|
-
totalBorrow, marketLiquidity: new decimal_js_1.default(totalSupply).minus(totalBorrow).toString(), symbol: (0, utils_1.wethToEth)(assetInfo.symbol),
|
|
41
|
+
totalBorrow, marketLiquidity: new decimal_js_1.default(totalSupply).minus(totalBorrow).toString(), symbol: (0, utils_1.wethToEth)(assetInfo.symbol), priceInBaseAsset: (0, utils_1.getEthAmountForDecimals)(data.price, 8), price: baseAssetPrice, collateralFactor: '0', liquidationRatio: '0', canBeBorrowed: true, canBeSupplied: true, supplyCap: '0', rewardSupplySpeed: (0, utils_1.getEthAmountForDecimals)(data.baseTrackingSupplyRewardsSpeed, 15), rewardBorrowSpeed: (0, utils_1.getEthAmountForDecimals)(data.baseTrackingBorrowRewardsSpeed, 15), minDebt: (0, utils_1.getEthAmountForDecimals)(data.baseBorrowMin, assetInfo.decimals), isBase: true }));
|
|
41
42
|
};
|
|
42
43
|
exports.formatBaseData = formatBaseData;
|
|
43
44
|
const getIncentiveApys = (baseData, compPrice) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Web3 from 'web3';
|
|
2
2
|
import { Blockish, EthAddress, NetworkNumber, PositionBalances } from '../types/common';
|
|
3
3
|
import { MorphoAaveV2AssetsData, MorphoAaveV2MarketData, MorphoAaveV2PositionData } from '../types';
|
|
4
|
-
export declare const getMorphoAaveV2MarketsData: (web3: Web3, network: NetworkNumber,
|
|
4
|
+
export declare const getMorphoAaveV2MarketsData: (web3: Web3, network: NetworkNumber, mainnetWeb3: Web3) => Promise<MorphoAaveV2MarketData>;
|
|
5
5
|
export declare const getMorphoAaveV2AccountBalances: (web3: Web3, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress) => Promise<PositionBalances>;
|
|
6
6
|
export declare const getMorphoAaveV2AccountData: (web3: Web3, network: NetworkNumber, address: string, assetsData: MorphoAaveV2AssetsData) => Promise<MorphoAaveV2PositionData>;
|
|
7
|
-
export declare const getMorphoAaveV2FullPositionData: (web3: Web3, network: NetworkNumber, address: string,
|
|
7
|
+
export declare const getMorphoAaveV2FullPositionData: (web3: Web3, network: NetworkNumber, address: string, mainnetWeb3: Web3) => Promise<MorphoAaveV2PositionData>;
|
|
@@ -22,7 +22,9 @@ const types_1 = require("../types");
|
|
|
22
22
|
const moneymarket_1 = require("../moneymarket");
|
|
23
23
|
const aaveV3_1 = require("../aaveV3");
|
|
24
24
|
const aaveHelpers_1 = require("../helpers/aaveHelpers");
|
|
25
|
-
const
|
|
25
|
+
const priceService_1 = require("../services/priceService");
|
|
26
|
+
const getMorphoAaveV2MarketsData = (web3, network, mainnetWeb3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
const ethPrice = yield (0, priceService_1.getEthPrice)(mainnetWeb3);
|
|
26
28
|
const morphoAaveV2ViewContract = (0, contracts_1.MorphoAaveV2ViewContract)(web3, network);
|
|
27
29
|
const [contractData, morphoRewardsRes] = yield Promise.allSettled([
|
|
28
30
|
morphoAaveV2ViewContract.methods.getAllMarketsInfo().call(),
|
|
@@ -201,8 +203,8 @@ const getMorphoAaveV2AccountData = (web3, network, address, assetsData) => __awa
|
|
|
201
203
|
return payload;
|
|
202
204
|
});
|
|
203
205
|
exports.getMorphoAaveV2AccountData = getMorphoAaveV2AccountData;
|
|
204
|
-
const getMorphoAaveV2FullPositionData = (web3, network, address,
|
|
205
|
-
const marketData = yield (0, exports.getMorphoAaveV2MarketsData)(web3, network,
|
|
206
|
+
const getMorphoAaveV2FullPositionData = (web3, network, address, mainnetWeb3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
207
|
+
const marketData = yield (0, exports.getMorphoAaveV2MarketsData)(web3, network, mainnetWeb3);
|
|
206
208
|
const positionData = yield (0, exports.getMorphoAaveV2AccountData)(web3, network, address, marketData.assetsData);
|
|
207
209
|
return positionData;
|
|
208
210
|
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.getCompPrice = exports.getUSDCPrice = exports.getEthPrice = void 0;
|
|
16
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
17
|
+
const contracts_1 = require("../contracts");
|
|
18
|
+
const common_1 = require("../types/common");
|
|
19
|
+
const getEthPrice = (web3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
const contract = (0, contracts_1.ETHPriceFeedContract)(web3, common_1.NetworkNumber.Eth);
|
|
21
|
+
const price = yield contract.methods.latestAnswer().call();
|
|
22
|
+
return new decimal_js_1.default(price).div(1e8).toString();
|
|
23
|
+
});
|
|
24
|
+
exports.getEthPrice = getEthPrice;
|
|
25
|
+
const getUSDCPrice = (web3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const contract = (0, contracts_1.USDCPriceFeedContract)(web3, common_1.NetworkNumber.Eth);
|
|
27
|
+
const price = yield contract.methods.latestAnswer().call();
|
|
28
|
+
return new decimal_js_1.default(price).div(1e8).toString();
|
|
29
|
+
});
|
|
30
|
+
exports.getUSDCPrice = getUSDCPrice;
|
|
31
|
+
const getCompPrice = (web3) => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
const contract = (0, contracts_1.COMPPriceFeedContract)(web3, common_1.NetworkNumber.Eth);
|
|
33
|
+
const price = yield contract.methods.latestAnswer().call();
|
|
34
|
+
return new decimal_js_1.default(price).div(1e8).toString();
|
|
35
|
+
});
|
|
36
|
+
exports.getCompPrice = getCompPrice;
|