@defisaver/positions-sdk 0.0.14 → 0.0.16
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/aaveV3/index.d.ts +1 -1
- package/cjs/aaveV3/index.js +17 -14
- package/cjs/config/contracts.d.ts +184 -72
- package/cjs/config/contracts.js +16 -0
- package/cjs/markets/curveUsd/index.d.ts +2 -0
- package/cjs/markets/curveUsd/index.js +14 -1
- package/cjs/morphoAaveV3/index.d.ts +1 -1
- package/cjs/morphoAaveV3/index.js +3 -2
- package/cjs/types/contracts/generated/CrvUSDsfrxETHAmm.d.ts +139 -0
- package/cjs/types/contracts/generated/CrvUSDsfrxETHAmm.js +5 -0
- package/cjs/types/contracts/generated/CrvUSDsfrxETHController.d.ts +205 -0
- package/cjs/types/contracts/generated/CrvUSDsfrxETHController.js +5 -0
- package/cjs/types/contracts/generated/index.d.ts +2 -0
- package/cjs/types/curveUsd.d.ts +2 -1
- package/cjs/types/curveUsd.js +1 -0
- package/esm/aaveV3/index.d.ts +1 -1
- package/esm/aaveV3/index.js +18 -15
- package/esm/config/contracts.d.ts +184 -72
- package/esm/config/contracts.js +16 -0
- package/esm/markets/curveUsd/index.d.ts +2 -0
- package/esm/markets/curveUsd/index.js +12 -0
- package/esm/morphoAaveV3/index.d.ts +1 -1
- package/esm/morphoAaveV3/index.js +3 -2
- package/esm/types/contracts/generated/CrvUSDsfrxETHAmm.d.ts +139 -0
- package/esm/types/contracts/generated/CrvUSDsfrxETHAmm.js +4 -0
- package/esm/types/contracts/generated/CrvUSDsfrxETHController.d.ts +205 -0
- package/esm/types/contracts/generated/CrvUSDsfrxETHController.js +4 -0
- package/esm/types/contracts/generated/index.d.ts +2 -0
- package/esm/types/curveUsd.d.ts +2 -1
- package/esm/types/curveUsd.js +1 -0
- package/package.json +2 -2
- package/src/aaveV3/index.ts +21 -15
- package/src/config/contracts.js +16 -0
- package/src/markets/curveUsd/index.ts +13 -0
- package/src/morphoAaveV3/index.ts +4 -1
- package/src/types/contracts/generated/CrvUSDsfrxETHAmm.ts +286 -0
- package/src/types/contracts/generated/CrvUSDsfrxETHController.ts +403 -0
- package/src/types/contracts/generated/index.ts +2 -0
- package/src/types/curveUsd.ts +1 -0
- package/yarn-error.log +64 -0
|
@@ -56,6 +56,8 @@ export type { CrvUSDFactory } from "./CrvUSDFactory";
|
|
|
56
56
|
export type { CrvUSDView } from "./CrvUSDView";
|
|
57
57
|
export type { CrvUSDWBTCAmm } from "./CrvUSDWBTCAmm";
|
|
58
58
|
export type { CrvUSDWBTCController } from "./CrvUSDWBTCController";
|
|
59
|
+
export type { CrvUSDsfrxETHAmm } from "./CrvUSDsfrxETHAmm";
|
|
60
|
+
export type { CrvUSDsfrxETHController } from "./CrvUSDsfrxETHController";
|
|
59
61
|
export type { CrvUSDtBTCAmm } from "./CrvUSDtBTCAmm";
|
|
60
62
|
export type { CrvUSDtBTCController } from "./CrvUSDtBTCController";
|
|
61
63
|
export type { CrvUSDwstETHAmm } from "./CrvUSDwstETHAmm";
|
package/esm/types/curveUsd.d.ts
CHANGED
package/esm/types/curveUsd.js
CHANGED
|
@@ -4,6 +4,7 @@ export var CrvUSDVersions;
|
|
|
4
4
|
CrvUSDVersions["WBTC"] = "WBTC";
|
|
5
5
|
CrvUSDVersions["ETH"] = "ETH";
|
|
6
6
|
CrvUSDVersions["tBTC"] = "tBTC";
|
|
7
|
+
CrvUSDVersions["sfrxETH"] = "sfrxETH";
|
|
7
8
|
})(CrvUSDVersions || (CrvUSDVersions = {}));
|
|
8
9
|
export var CrvUSDStatus;
|
|
9
10
|
(function (CrvUSDStatus) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defisaver/positions-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"author": "",
|
|
20
20
|
"license": "ISC",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@defisaver/tokens": "^1.5.
|
|
22
|
+
"@defisaver/tokens": "^1.5.3",
|
|
23
23
|
"decimal.js": "^10.4.3",
|
|
24
24
|
"@morpho-org/morpho-aave-v3-sdk": "^1.5.3",
|
|
25
25
|
"@ethersproject/bignumber": "^5.7.0"
|
package/src/aaveV3/index.ts
CHANGED
|
@@ -178,7 +178,10 @@ export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, ma
|
|
|
178
178
|
let discountRateOnBorrow = '0';
|
|
179
179
|
|
|
180
180
|
if (nativeAsset && facilitatorsList && discountRate && minDiscountTokenBalance && minGhoBalanceForDiscount && ghoDiscountedPerDiscountToken) {
|
|
181
|
-
|
|
181
|
+
const facilitatorBucket = await ghoContract.methods.getFacilitatorBucket(facilitatorsList[0]).call();
|
|
182
|
+
const availableFacilitatorCap = assetAmountInEth(new Dec(facilitatorBucket[0]).sub(facilitatorBucket[1]).toString(), 'GHO');
|
|
183
|
+
|
|
184
|
+
borrowCap = Dec.min(borrowCap, availableFacilitatorCap).toString();
|
|
182
185
|
|
|
183
186
|
discountRateOnBorrow = aaveV3CalculateDiscountRate(
|
|
184
187
|
tokenMarket.totalBorrow.toString(),
|
|
@@ -190,6 +193,18 @@ export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, ma
|
|
|
190
193
|
);
|
|
191
194
|
}
|
|
192
195
|
|
|
196
|
+
let marketLiquidity = nativeAsset
|
|
197
|
+
? assetAmountInEth(new Dec(assetAmountInWei(borrowCap.toString(), 'GHO'))
|
|
198
|
+
.sub(tokenMarket.totalBorrow.toString())
|
|
199
|
+
.toString(), symbol)
|
|
200
|
+
: assetAmountInEth(new Dec(tokenMarket.totalSupply.toString())
|
|
201
|
+
.sub(tokenMarket.totalBorrow.toString())
|
|
202
|
+
.toString(), symbol);
|
|
203
|
+
|
|
204
|
+
if (new Dec(marketLiquidity).lt(0)) {
|
|
205
|
+
marketLiquidity = '0';
|
|
206
|
+
}
|
|
207
|
+
|
|
193
208
|
return ({
|
|
194
209
|
nativeAsset,
|
|
195
210
|
...addToObjectIf(nativeAsset, {
|
|
@@ -214,13 +229,7 @@ export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, ma
|
|
|
214
229
|
borrowRateStable: new Dec(tokenMarket.borrowRateStable.toString()).div(1e25).toString(),
|
|
215
230
|
collateralFactor: new Dec(tokenMarket.collateralFactor.toString()).div(10000).toString(),
|
|
216
231
|
liquidationRatio: new Dec(tokenMarket.liquidationRatio.toString()).div(10000).toString(),
|
|
217
|
-
marketLiquidity
|
|
218
|
-
? assetAmountInEth(new Dec(assetAmountInWei(borrowCap.toString(), 'GHO'))
|
|
219
|
-
.sub(tokenMarket.totalBorrow.toString())
|
|
220
|
-
.toString(), symbol)
|
|
221
|
-
: assetAmountInEth(new Dec(tokenMarket.totalSupply.toString())
|
|
222
|
-
.sub(tokenMarket.totalBorrow.toString())
|
|
223
|
-
.toString(), symbol),
|
|
232
|
+
marketLiquidity,
|
|
224
233
|
utilization: new Dec(tokenMarket.totalBorrow.toString())
|
|
225
234
|
.div(new Dec(tokenMarket.totalSupply.toString()))
|
|
226
235
|
.times(100)
|
|
@@ -389,7 +398,7 @@ export const getAaveV3AccountBalances = async (web3: Web3, network: NetworkNumbe
|
|
|
389
398
|
return balances;
|
|
390
399
|
};
|
|
391
400
|
|
|
392
|
-
export const getAaveV3AccountData = async (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any): Promise<AaveV3PositionData> => {
|
|
401
|
+
export const getAaveV3AccountData = async (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any, customGetAggregatedDataFunction?: Function): Promise<AaveV3PositionData> => {
|
|
393
402
|
const {
|
|
394
403
|
selectedMarket: market, assetsData,
|
|
395
404
|
} = extractedState;
|
|
@@ -500,11 +509,13 @@ export const getAaveV3AccountData = async (web3: Web3, network: NetworkNumber, a
|
|
|
500
509
|
};
|
|
501
510
|
});
|
|
502
511
|
|
|
512
|
+
const aggregateFunction = customGetAggregatedDataFunction || aaveAnyGetAggregatedPositionData;
|
|
513
|
+
|
|
503
514
|
payload.eModeCategory = +multicallRes[0][0];
|
|
504
515
|
payload = {
|
|
505
516
|
...payload,
|
|
506
517
|
usedAssets,
|
|
507
|
-
...
|
|
518
|
+
...aggregateFunction({
|
|
508
519
|
...extractedState, usedAssets, eModeCategory: payload.eModeCategory,
|
|
509
520
|
}),
|
|
510
521
|
};
|
|
@@ -532,11 +543,6 @@ export const getAaveV3AccountData = async (web3: Web3, network: NetworkNumber, a
|
|
|
532
543
|
}
|
|
533
544
|
});
|
|
534
545
|
|
|
535
|
-
const { netApy, incentiveUsd, totalInterestUsd } = calculateNetApy(usedAssets, assetsData);
|
|
536
|
-
payload.netApy = netApy;
|
|
537
|
-
payload.incentiveUsd = incentiveUsd;
|
|
538
|
-
payload.totalInterestUsd = totalInterestUsd;
|
|
539
|
-
|
|
540
546
|
payload.isSubscribedToAutomation = false;
|
|
541
547
|
payload.automationResubscribeRequired = false;
|
|
542
548
|
|
package/src/config/contracts.js
CHANGED
|
@@ -456,6 +456,14 @@ module.exports = {
|
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
458
|
},
|
|
459
|
+
"crvUSDsfrxETHController": {
|
|
460
|
+
"abi": [{"name":"UserState","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral","type":"uint256","indexed":false},{"name":"debt","type":"uint256","indexed":false},{"name":"n1","type":"int256","indexed":false},{"name":"n2","type":"int256","indexed":false},{"name":"liquidation_discount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Borrow","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral_increase","type":"uint256","indexed":false},{"name":"loan_increase","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Repay","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral_decrease","type":"uint256","indexed":false},{"name":"loan_decrease","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"RemoveCollateral","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral_decrease","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Liquidate","inputs":[{"name":"liquidator","type":"address","indexed":true},{"name":"user","type":"address","indexed":true},{"name":"collateral_received","type":"uint256","indexed":false},{"name":"stablecoin_received","type":"uint256","indexed":false},{"name":"debt","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetMonetaryPolicy","inputs":[{"name":"monetary_policy","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetBorrowingDiscounts","inputs":[{"name":"loan_discount","type":"uint256","indexed":false},{"name":"liquidation_discount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"CollectFees","inputs":[{"name":"amount","type":"uint256","indexed":false},{"name":"new_supply","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"collateral_token","type":"address"},{"name":"monetary_policy","type":"address"},{"name":"loan_discount","type":"uint256"},{"name":"liquidation_discount","type":"uint256"},{"name":"amm","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"view","type":"function","name":"factory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"amm","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"collateral_token","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"debt","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"loan_exists","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"total_debt","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"max_borrowable","inputs":[{"name":"collateral","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"max_borrowable","inputs":[{"name":"collateral","type":"uint256"},{"name":"N","type":"uint256"},{"name":"current_debt","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"min_collateral","inputs":[{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"calculate_debt_n1","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"payable","type":"function","name":"create_loan","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"create_loan_extended","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"},{"name":"callbacker","type":"address"},{"name":"callback_args","type":"uint256[]"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"add_collateral","inputs":[{"name":"collateral","type":"uint256"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"add_collateral","inputs":[{"name":"collateral","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_collateral","inputs":[{"name":"collateral","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_collateral","inputs":[{"name":"collateral","type":"uint256"},{"name":"use_eth","type":"bool"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"borrow_more","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"},{"name":"_for","type":"address"},{"name":"max_active_band","type":"int256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"},{"name":"_for","type":"address"},{"name":"max_active_band","type":"int256"},{"name":"use_eth","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay_extended","inputs":[{"name":"callbacker","type":"address"},{"name":"callback_args","type":"uint256[]"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"health_calculator","inputs":[{"name":"user","type":"address"},{"name":"d_collateral","type":"int256"},{"name":"d_debt","type":"int256"},{"name":"full","type":"bool"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"health_calculator","inputs":[{"name":"user","type":"address"},{"name":"d_collateral","type":"int256"},{"name":"d_debt","type":"int256"},{"name":"full","type":"bool"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"nonpayable","type":"function","name":"liquidate","inputs":[{"name":"user","type":"address"},{"name":"min_x","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"liquidate","inputs":[{"name":"user","type":"address"},{"name":"min_x","type":"uint256"},{"name":"use_eth","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"liquidate_extended","inputs":[{"name":"user","type":"address"},{"name":"min_x","type":"uint256"},{"name":"frac","type":"uint256"},{"name":"use_eth","type":"bool"},{"name":"callbacker","type":"address"},{"name":"callback_args","type":"uint256[]"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"tokens_to_liquidate","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"tokens_to_liquidate","inputs":[{"name":"user","type":"address"},{"name":"frac","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"health","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"health","inputs":[{"name":"user","type":"address"},{"name":"full","type":"bool"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"users_to_liquidate","inputs":[],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"user","type":"address"},{"name":"x","type":"uint256"},{"name":"y","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"health","type":"int256"}]}]},{"stateMutability":"view","type":"function","name":"users_to_liquidate","inputs":[{"name":"_from","type":"uint256"}],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"user","type":"address"},{"name":"x","type":"uint256"},{"name":"y","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"health","type":"int256"}]}]},{"stateMutability":"view","type":"function","name":"users_to_liquidate","inputs":[{"name":"_from","type":"uint256"},{"name":"_limit","type":"uint256"}],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"user","type":"address"},{"name":"x","type":"uint256"},{"name":"y","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"health","type":"int256"}]}]},{"stateMutability":"view","type":"function","name":"amm_price","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"user_prices","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"user_state","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[4]"}]},{"stateMutability":"nonpayable","type":"function","name":"set_amm_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_amm_admin_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_monetary_policy","inputs":[{"name":"monetary_policy","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_borrowing_discounts","inputs":[{"name":"loan_discount","type":"uint256"},{"name":"liquidation_discount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_callback","inputs":[{"name":"cb","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"admin_fees","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"collect_fees","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"liquidation_discounts","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"loans","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"loan_ix","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"n_loans","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minted","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"redeemed","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"monetary_policy","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"liquidation_discount","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"loan_discount","inputs":[],"outputs":[{"name":"","type":"uint256"}]}],
|
|
461
|
+
"networks": {
|
|
462
|
+
"1": {
|
|
463
|
+
"address": "0xEC0820EfafC41D8943EE8dE495fC9Ba8495B15cf"
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
},
|
|
459
467
|
"crvUSDwstETHAmm": {
|
|
460
468
|
"abi": [{"name":"TokenExchange","inputs":[{"name":"buyer","type":"address","indexed":true},{"name":"sold_id","type":"uint256","indexed":false},{"name":"tokens_sold","type":"uint256","indexed":false},{"name":"bought_id","type":"uint256","indexed":false},{"name":"tokens_bought","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Deposit","inputs":[{"name":"provider","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false},{"name":"n1","type":"int256","indexed":false},{"name":"n2","type":"int256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Withdraw","inputs":[{"name":"provider","type":"address","indexed":true},{"name":"amount_borrowed","type":"uint256","indexed":false},{"name":"amount_collateral","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetRate","inputs":[{"name":"rate","type":"uint256","indexed":false},{"name":"rate_mul","type":"uint256","indexed":false},{"name":"time","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetFee","inputs":[{"name":"fee","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetAdminFee","inputs":[{"name":"fee","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_borrowed_token","type":"address"},{"name":"_borrowed_precision","type":"uint256"},{"name":"_collateral_token","type":"address"},{"name":"_collateral_precision","type":"uint256"},{"name":"_A","type":"uint256"},{"name":"_sqrt_band_ratio","type":"uint256"},{"name":"_log_A_ratio","type":"int256"},{"name":"_base_price","type":"uint256"},{"name":"fee","type":"uint256"},{"name":"admin_fee","type":"uint256"},{"name":"_price_oracle_contract","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_admin","inputs":[{"name":"_admin","type":"address"}],"outputs":[]},{"stateMutability":"pure","type":"function","name":"coins","inputs":[{"name":"i","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"price_oracle","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"dynamic_fee","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_rate_mul","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_base_price","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_current_up","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_current_down","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_oracle_up","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_oracle_down","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_p","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"read_user_tick_numbers","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"int256[2]"}]},{"stateMutability":"view","type":"function","name":"can_skip_bands","inputs":[{"name":"n_end","type":"int256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"active_band_with_skip","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"has_liquidity","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"deposit_range","inputs":[{"name":"user","type":"address"},{"name":"amount","type":"uint256"},{"name":"n1","type":"int256"},{"name":"n2","type":"int256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"withdraw","inputs":[{"name":"user","type":"address"},{"name":"frac","type":"uint256"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"get_dy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dxdy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dx","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dydx","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"},{"name":"min_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"},{"name":"min_amount","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange_dy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"},{"name":"max_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange_dy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"},{"name":"max_amount","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"get_y_up","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_x_down","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_sum_xy","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"get_xy","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[][2]"}]},{"stateMutability":"view","type":"function","name":"get_amount_for_price","inputs":[{"name":"p","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_rate","inputs":[{"name":"rate","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"set_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_admin_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"reset_admin_fees","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_callback","inputs":[{"name":"liquidity_mining_callback","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"A","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"fee","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"admin_fee","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"rate","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"active_band","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"min_band","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"max_band","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"admin_fees_x","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"admin_fees_y","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"price_oracle_contract","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"bands_x","inputs":[{"name":"arg0","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"bands_y","inputs":[{"name":"arg0","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"liquidity_mining_callback","inputs":[],"outputs":[{"name":"","type":"address"}]}],
|
|
461
469
|
"networks": {
|
|
@@ -488,6 +496,14 @@ module.exports = {
|
|
|
488
496
|
}
|
|
489
497
|
}
|
|
490
498
|
},
|
|
499
|
+
"crvUSDsfrxETHAmm": {
|
|
500
|
+
"abi": [{"name":"TokenExchange","inputs":[{"name":"buyer","type":"address","indexed":true},{"name":"sold_id","type":"uint256","indexed":false},{"name":"tokens_sold","type":"uint256","indexed":false},{"name":"bought_id","type":"uint256","indexed":false},{"name":"tokens_bought","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Deposit","inputs":[{"name":"provider","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false},{"name":"n1","type":"int256","indexed":false},{"name":"n2","type":"int256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Withdraw","inputs":[{"name":"provider","type":"address","indexed":true},{"name":"amount_borrowed","type":"uint256","indexed":false},{"name":"amount_collateral","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetRate","inputs":[{"name":"rate","type":"uint256","indexed":false},{"name":"rate_mul","type":"uint256","indexed":false},{"name":"time","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetFee","inputs":[{"name":"fee","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetAdminFee","inputs":[{"name":"fee","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_borrowed_token","type":"address"},{"name":"_borrowed_precision","type":"uint256"},{"name":"_collateral_token","type":"address"},{"name":"_collateral_precision","type":"uint256"},{"name":"_A","type":"uint256"},{"name":"_sqrt_band_ratio","type":"uint256"},{"name":"_log_A_ratio","type":"int256"},{"name":"_base_price","type":"uint256"},{"name":"fee","type":"uint256"},{"name":"admin_fee","type":"uint256"},{"name":"_price_oracle_contract","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_admin","inputs":[{"name":"_admin","type":"address"}],"outputs":[]},{"stateMutability":"pure","type":"function","name":"coins","inputs":[{"name":"i","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"price_oracle","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"dynamic_fee","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_rate_mul","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_base_price","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_current_up","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_current_down","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_oracle_up","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"p_oracle_down","inputs":[{"name":"n","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_p","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"read_user_tick_numbers","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"int256[2]"}]},{"stateMutability":"view","type":"function","name":"can_skip_bands","inputs":[{"name":"n_end","type":"int256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"active_band_with_skip","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"has_liquidity","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"deposit_range","inputs":[{"name":"user","type":"address"},{"name":"amount","type":"uint256"},{"name":"n1","type":"int256"},{"name":"n2","type":"int256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"withdraw","inputs":[{"name":"user","type":"address"},{"name":"frac","type":"uint256"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"get_dy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dxdy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dx","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dydx","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"},{"name":"min_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"},{"name":"min_amount","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange_dy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"},{"name":"max_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"nonpayable","type":"function","name":"exchange_dy","inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"out_amount","type":"uint256"},{"name":"max_amount","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"get_y_up","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_x_down","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_sum_xy","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"get_xy","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[][2]"}]},{"stateMutability":"view","type":"function","name":"get_amount_for_price","inputs":[{"name":"p","type":"uint256"}],"outputs":[{"name":"","type":"uint256"},{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_rate","inputs":[{"name":"rate","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"set_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_admin_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"reset_admin_fees","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_callback","inputs":[{"name":"liquidity_mining_callback","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"A","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"fee","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"admin_fee","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"rate","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"active_band","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"min_band","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"max_band","inputs":[],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"admin_fees_x","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"admin_fees_y","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"price_oracle_contract","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"bands_x","inputs":[{"name":"arg0","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"bands_y","inputs":[{"name":"arg0","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"liquidity_mining_callback","inputs":[],"outputs":[{"name":"","type":"address"}]}],
|
|
501
|
+
"networks": {
|
|
502
|
+
"1": {
|
|
503
|
+
"address": "0xfA96ad0a9E64261dB86950e2dA362f5572c5c6fd"
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
},
|
|
491
507
|
"crvUSDView": {
|
|
492
508
|
"abi": [{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"N","type":"uint256"}],"name":"createLoanData","outputs":[{"components":[{"internalType":"int256","name":"health","type":"int256"},{"internalType":"uint256","name":"minColl","type":"uint256"},{"internalType":"uint256","name":"maxBorrow","type":"uint256"},{"components":[{"internalType":"int256","name":"id","type":"int256"},{"internalType":"uint256","name":"lowPrice","type":"uint256"},{"internalType":"uint256","name":"highPrice","type":"uint256"},{"internalType":"uint256","name":"collAmount","type":"uint256"},{"internalType":"uint256","name":"debtAmount","type":"uint256"}],"internalType":"struct CurveUsdView.Band[]","name":"bands","type":"tuple[]"}],"internalType":"struct CurveUsdView.CreateLoanData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"int256","name":"n","type":"int256"}],"name":"getBandData","outputs":[{"components":[{"internalType":"int256","name":"id","type":"int256"},{"internalType":"uint256","name":"lowPrice","type":"uint256"},{"internalType":"uint256","name":"highPrice","type":"uint256"},{"internalType":"uint256","name":"collAmount","type":"uint256"},{"internalType":"uint256","name":"debtAmount","type":"uint256"}],"internalType":"struct CurveUsdView.Band","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"N","type":"uint256"}],"name":"getBandsData","outputs":[{"components":[{"internalType":"int256","name":"id","type":"int256"},{"internalType":"uint256","name":"lowPrice","type":"uint256"},{"internalType":"uint256","name":"highPrice","type":"uint256"},{"internalType":"uint256","name":"collAmount","type":"uint256"},{"internalType":"uint256","name":"debtAmount","type":"uint256"}],"internalType":"struct CurveUsdView.Band[]","name":"bands","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"int256","name":"from","type":"int256"},{"internalType":"int256","name":"to","type":"int256"}],"name":"getBandsData","outputs":[{"components":[{"internalType":"int256","name":"id","type":"int256"},{"internalType":"uint256","name":"lowPrice","type":"uint256"},{"internalType":"uint256","name":"highPrice","type":"uint256"},{"internalType":"uint256","name":"collAmount","type":"uint256"},{"internalType":"uint256","name":"debtAmount","type":"uint256"}],"internalType":"struct CurveUsdView.Band[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"}],"name":"globalData","outputs":[{"components":[{"internalType":"address","name":"collateral","type":"address"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"int256","name":"activeBand","type":"int256"},{"internalType":"uint256","name":"A","type":"uint256"},{"internalType":"uint256","name":"totalDebt","type":"uint256"},{"internalType":"uint256","name":"ammPrice","type":"uint256"},{"internalType":"uint256","name":"basePrice","type":"uint256"},{"internalType":"uint256","name":"oraclePrice","type":"uint256"},{"internalType":"uint256","name":"minted","type":"uint256"},{"internalType":"uint256","name":"redeemed","type":"uint256"},{"internalType":"uint256","name":"monetaryPolicyRate","type":"uint256"},{"internalType":"uint256","name":"ammRate","type":"uint256"},{"internalType":"int256","name":"minBand","type":"int256"},{"internalType":"int256","name":"maxBand","type":"int256"}],"internalType":"struct CurveUsdView.GlobalData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"int256","name":"collChange","type":"int256"},{"internalType":"int256","name":"debtChange","type":"int256"},{"internalType":"bool","name":"isFull","type":"bool"},{"internalType":"uint256","name":"numBands","type":"uint256"}],"name":"healthCalculator","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"collateral","type":"uint256"},{"internalType":"uint256","name":"N","type":"uint256"}],"name":"maxBorrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"N","type":"uint256"}],"name":"minCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"market","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"userData","outputs":[{"components":[{"internalType":"bool","name":"loanExists","type":"bool"},{"internalType":"uint256","name":"collateralPrice","type":"uint256"},{"internalType":"uint256","name":"marketCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"curveUsdCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"debtAmount","type":"uint256"},{"internalType":"uint256","name":"N","type":"uint256"},{"internalType":"uint256","name":"priceLow","type":"uint256"},{"internalType":"uint256","name":"priceHigh","type":"uint256"},{"internalType":"uint256","name":"liquidationDiscount","type":"uint256"},{"internalType":"int256","name":"health","type":"int256"},{"internalType":"int256[2]","name":"bandRange","type":"int256[2]"},{"internalType":"uint256[][2]","name":"usersBands","type":"uint256[][2]"}],"internalType":"struct CurveUsdView.UserData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"}],
|
|
493
509
|
"networks": {
|
|
@@ -48,10 +48,23 @@ export const CRVUSD_TBTC_MARKET = (networkId: NetworkNumber): CrvUSDMarketData =
|
|
|
48
48
|
createCollAssets: ['tBTC'],
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
+
export const CRVUSD_SFRXETH_MARKET = (networkId: NetworkNumber): CrvUSDMarketData => ({
|
|
52
|
+
chainIds: [1],
|
|
53
|
+
label: 'sfrxETH',
|
|
54
|
+
shortLabel: 'sfrxETH',
|
|
55
|
+
value: CrvUSDVersions.sfrxETH,
|
|
56
|
+
collAsset: 'sfrxETH',
|
|
57
|
+
baseAsset: 'crvUSD',
|
|
58
|
+
controllerAddress: getConfigContractAddress('crvUSDsfrxETHController', networkId),
|
|
59
|
+
ammAddress: getConfigContractAddress('crvUSDsfrxETHAmm', networkId),
|
|
60
|
+
createCollAssets: ['sfrxETH'],
|
|
61
|
+
});
|
|
62
|
+
|
|
51
63
|
|
|
52
64
|
export const CrvUsdMarkets = (networkId: NetworkNumber) => ({
|
|
53
65
|
[CrvUSDVersions.wstETH]: CRVUSD_WSTETH_MARKET(networkId),
|
|
54
66
|
[CrvUSDVersions.ETH]: CRVUSD_ETH_MARKET(networkId),
|
|
55
67
|
[CrvUSDVersions.WBTC]: CRVUSD_WBTC_MARKET(networkId),
|
|
56
68
|
[CrvUSDVersions.tBTC]: CRVUSD_TBTC_MARKET(networkId),
|
|
69
|
+
[CrvUSDVersions.sfrxETH]: CRVUSD_SFRXETH_MARKET(networkId),
|
|
57
70
|
}) as const;
|
|
@@ -447,6 +447,7 @@ export const getMorphoAaveV3AccountData = async (
|
|
|
447
447
|
assetsData: MorphoAaveV3AssetsData,
|
|
448
448
|
delegator: string,
|
|
449
449
|
selectedMarket: MorphoAaveV3MarketInfo,
|
|
450
|
+
customGetAggregatedDataFunction?: Function,
|
|
450
451
|
): Promise<MorphoAaveV3PositionData> => {
|
|
451
452
|
if (!address) {
|
|
452
453
|
throw new Error('No address provided.');
|
|
@@ -590,9 +591,11 @@ export const getMorphoAaveV3AccountData = async (
|
|
|
590
591
|
}
|
|
591
592
|
});
|
|
592
593
|
|
|
594
|
+
const aggregateFunction = customGetAggregatedDataFunction || aaveAnyGetAggregatedPositionData;
|
|
595
|
+
|
|
593
596
|
payload = {
|
|
594
597
|
...payload,
|
|
595
|
-
...
|
|
598
|
+
...aggregateFunction({
|
|
596
599
|
usedAssets: payload.usedAssets, assetsData, eModeCategory, selectedMarket,
|
|
597
600
|
}),
|
|
598
601
|
};
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type BN from "bn.js";
|
|
6
|
+
import type { ContractOptions } from "web3-eth-contract";
|
|
7
|
+
import type { EventLog } from "web3-core";
|
|
8
|
+
import type { EventEmitter } from "events";
|
|
9
|
+
import type {
|
|
10
|
+
Callback,
|
|
11
|
+
PayableTransactionObject,
|
|
12
|
+
NonPayableTransactionObject,
|
|
13
|
+
BlockType,
|
|
14
|
+
ContractEventLog,
|
|
15
|
+
BaseContract,
|
|
16
|
+
} from "./types";
|
|
17
|
+
|
|
18
|
+
export interface EventOptions {
|
|
19
|
+
filter?: object;
|
|
20
|
+
fromBlock?: BlockType;
|
|
21
|
+
topics?: string[];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type TokenExchange = ContractEventLog<{
|
|
25
|
+
buyer: string;
|
|
26
|
+
sold_id: string;
|
|
27
|
+
tokens_sold: string;
|
|
28
|
+
bought_id: string;
|
|
29
|
+
tokens_bought: string;
|
|
30
|
+
0: string;
|
|
31
|
+
1: string;
|
|
32
|
+
2: string;
|
|
33
|
+
3: string;
|
|
34
|
+
4: string;
|
|
35
|
+
}>;
|
|
36
|
+
export type Deposit = ContractEventLog<{
|
|
37
|
+
provider: string;
|
|
38
|
+
amount: string;
|
|
39
|
+
n1: string;
|
|
40
|
+
n2: string;
|
|
41
|
+
0: string;
|
|
42
|
+
1: string;
|
|
43
|
+
2: string;
|
|
44
|
+
3: string;
|
|
45
|
+
}>;
|
|
46
|
+
export type Withdraw = ContractEventLog<{
|
|
47
|
+
provider: string;
|
|
48
|
+
amount_borrowed: string;
|
|
49
|
+
amount_collateral: string;
|
|
50
|
+
0: string;
|
|
51
|
+
1: string;
|
|
52
|
+
2: string;
|
|
53
|
+
}>;
|
|
54
|
+
export type SetRate = ContractEventLog<{
|
|
55
|
+
rate: string;
|
|
56
|
+
rate_mul: string;
|
|
57
|
+
time: string;
|
|
58
|
+
0: string;
|
|
59
|
+
1: string;
|
|
60
|
+
2: string;
|
|
61
|
+
}>;
|
|
62
|
+
export type SetFee = ContractEventLog<{
|
|
63
|
+
fee: string;
|
|
64
|
+
0: string;
|
|
65
|
+
}>;
|
|
66
|
+
export type SetAdminFee = ContractEventLog<{
|
|
67
|
+
fee: string;
|
|
68
|
+
0: string;
|
|
69
|
+
}>;
|
|
70
|
+
|
|
71
|
+
export interface CrvUSDsfrxETHAmm extends BaseContract {
|
|
72
|
+
constructor(
|
|
73
|
+
jsonInterface: any[],
|
|
74
|
+
address?: string,
|
|
75
|
+
options?: ContractOptions
|
|
76
|
+
): CrvUSDsfrxETHAmm;
|
|
77
|
+
clone(): CrvUSDsfrxETHAmm;
|
|
78
|
+
methods: {
|
|
79
|
+
set_admin(_admin: string): NonPayableTransactionObject<void>;
|
|
80
|
+
|
|
81
|
+
coins(i: number | string | BN): NonPayableTransactionObject<string>;
|
|
82
|
+
|
|
83
|
+
price_oracle(): NonPayableTransactionObject<string>;
|
|
84
|
+
|
|
85
|
+
dynamic_fee(): NonPayableTransactionObject<string>;
|
|
86
|
+
|
|
87
|
+
get_rate_mul(): NonPayableTransactionObject<string>;
|
|
88
|
+
|
|
89
|
+
get_base_price(): NonPayableTransactionObject<string>;
|
|
90
|
+
|
|
91
|
+
p_current_up(n: number | string | BN): NonPayableTransactionObject<string>;
|
|
92
|
+
|
|
93
|
+
p_current_down(
|
|
94
|
+
n: number | string | BN
|
|
95
|
+
): NonPayableTransactionObject<string>;
|
|
96
|
+
|
|
97
|
+
p_oracle_up(n: number | string | BN): NonPayableTransactionObject<string>;
|
|
98
|
+
|
|
99
|
+
p_oracle_down(n: number | string | BN): NonPayableTransactionObject<string>;
|
|
100
|
+
|
|
101
|
+
get_p(): NonPayableTransactionObject<string>;
|
|
102
|
+
|
|
103
|
+
read_user_tick_numbers(
|
|
104
|
+
user: string
|
|
105
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
106
|
+
|
|
107
|
+
can_skip_bands(
|
|
108
|
+
n_end: number | string | BN
|
|
109
|
+
): NonPayableTransactionObject<boolean>;
|
|
110
|
+
|
|
111
|
+
active_band_with_skip(): NonPayableTransactionObject<string>;
|
|
112
|
+
|
|
113
|
+
has_liquidity(user: string): NonPayableTransactionObject<boolean>;
|
|
114
|
+
|
|
115
|
+
deposit_range(
|
|
116
|
+
user: string,
|
|
117
|
+
amount: number | string | BN,
|
|
118
|
+
n1: number | string | BN,
|
|
119
|
+
n2: number | string | BN
|
|
120
|
+
): NonPayableTransactionObject<void>;
|
|
121
|
+
|
|
122
|
+
withdraw(
|
|
123
|
+
user: string,
|
|
124
|
+
frac: number | string | BN
|
|
125
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
126
|
+
|
|
127
|
+
get_dy(
|
|
128
|
+
i: number | string | BN,
|
|
129
|
+
j: number | string | BN,
|
|
130
|
+
in_amount: number | string | BN
|
|
131
|
+
): NonPayableTransactionObject<string>;
|
|
132
|
+
|
|
133
|
+
get_dxdy(
|
|
134
|
+
i: number | string | BN,
|
|
135
|
+
j: number | string | BN,
|
|
136
|
+
in_amount: number | string | BN
|
|
137
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
138
|
+
|
|
139
|
+
get_dx(
|
|
140
|
+
i: number | string | BN,
|
|
141
|
+
j: number | string | BN,
|
|
142
|
+
out_amount: number | string | BN
|
|
143
|
+
): NonPayableTransactionObject<string>;
|
|
144
|
+
|
|
145
|
+
get_dydx(
|
|
146
|
+
i: number | string | BN,
|
|
147
|
+
j: number | string | BN,
|
|
148
|
+
out_amount: number | string | BN
|
|
149
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
150
|
+
|
|
151
|
+
"exchange(uint256,uint256,uint256,uint256)"(
|
|
152
|
+
i: number | string | BN,
|
|
153
|
+
j: number | string | BN,
|
|
154
|
+
in_amount: number | string | BN,
|
|
155
|
+
min_amount: number | string | BN
|
|
156
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
157
|
+
|
|
158
|
+
"exchange(uint256,uint256,uint256,uint256,address)"(
|
|
159
|
+
i: number | string | BN,
|
|
160
|
+
j: number | string | BN,
|
|
161
|
+
in_amount: number | string | BN,
|
|
162
|
+
min_amount: number | string | BN,
|
|
163
|
+
_for: string
|
|
164
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
165
|
+
|
|
166
|
+
"exchange_dy(uint256,uint256,uint256,uint256)"(
|
|
167
|
+
i: number | string | BN,
|
|
168
|
+
j: number | string | BN,
|
|
169
|
+
out_amount: number | string | BN,
|
|
170
|
+
max_amount: number | string | BN
|
|
171
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
172
|
+
|
|
173
|
+
"exchange_dy(uint256,uint256,uint256,uint256,address)"(
|
|
174
|
+
i: number | string | BN,
|
|
175
|
+
j: number | string | BN,
|
|
176
|
+
out_amount: number | string | BN,
|
|
177
|
+
max_amount: number | string | BN,
|
|
178
|
+
_for: string
|
|
179
|
+
): NonPayableTransactionObject<[string, string]>;
|
|
180
|
+
|
|
181
|
+
get_y_up(user: string): NonPayableTransactionObject<string>;
|
|
182
|
+
|
|
183
|
+
get_x_down(user: string): NonPayableTransactionObject<string>;
|
|
184
|
+
|
|
185
|
+
get_sum_xy(user: string): NonPayableTransactionObject<[string, string]>;
|
|
186
|
+
|
|
187
|
+
get_xy(user: string): NonPayableTransactionObject<[string[], string[]]>;
|
|
188
|
+
|
|
189
|
+
get_amount_for_price(
|
|
190
|
+
p: number | string | BN
|
|
191
|
+
): NonPayableTransactionObject<[string, boolean]>;
|
|
192
|
+
|
|
193
|
+
set_rate(rate: number | string | BN): NonPayableTransactionObject<string>;
|
|
194
|
+
|
|
195
|
+
set_fee(fee: number | string | BN): NonPayableTransactionObject<void>;
|
|
196
|
+
|
|
197
|
+
set_admin_fee(fee: number | string | BN): NonPayableTransactionObject<void>;
|
|
198
|
+
|
|
199
|
+
reset_admin_fees(): NonPayableTransactionObject<void>;
|
|
200
|
+
|
|
201
|
+
set_callback(
|
|
202
|
+
liquidity_mining_callback: string
|
|
203
|
+
): NonPayableTransactionObject<void>;
|
|
204
|
+
|
|
205
|
+
admin(): NonPayableTransactionObject<string>;
|
|
206
|
+
|
|
207
|
+
A(): NonPayableTransactionObject<string>;
|
|
208
|
+
|
|
209
|
+
fee(): NonPayableTransactionObject<string>;
|
|
210
|
+
|
|
211
|
+
admin_fee(): NonPayableTransactionObject<string>;
|
|
212
|
+
|
|
213
|
+
rate(): NonPayableTransactionObject<string>;
|
|
214
|
+
|
|
215
|
+
active_band(): NonPayableTransactionObject<string>;
|
|
216
|
+
|
|
217
|
+
min_band(): NonPayableTransactionObject<string>;
|
|
218
|
+
|
|
219
|
+
max_band(): NonPayableTransactionObject<string>;
|
|
220
|
+
|
|
221
|
+
admin_fees_x(): NonPayableTransactionObject<string>;
|
|
222
|
+
|
|
223
|
+
admin_fees_y(): NonPayableTransactionObject<string>;
|
|
224
|
+
|
|
225
|
+
price_oracle_contract(): NonPayableTransactionObject<string>;
|
|
226
|
+
|
|
227
|
+
bands_x(arg0: number | string | BN): NonPayableTransactionObject<string>;
|
|
228
|
+
|
|
229
|
+
bands_y(arg0: number | string | BN): NonPayableTransactionObject<string>;
|
|
230
|
+
|
|
231
|
+
liquidity_mining_callback(): NonPayableTransactionObject<string>;
|
|
232
|
+
};
|
|
233
|
+
events: {
|
|
234
|
+
TokenExchange(cb?: Callback<TokenExchange>): EventEmitter;
|
|
235
|
+
TokenExchange(
|
|
236
|
+
options?: EventOptions,
|
|
237
|
+
cb?: Callback<TokenExchange>
|
|
238
|
+
): EventEmitter;
|
|
239
|
+
|
|
240
|
+
Deposit(cb?: Callback<Deposit>): EventEmitter;
|
|
241
|
+
Deposit(options?: EventOptions, cb?: Callback<Deposit>): EventEmitter;
|
|
242
|
+
|
|
243
|
+
Withdraw(cb?: Callback<Withdraw>): EventEmitter;
|
|
244
|
+
Withdraw(options?: EventOptions, cb?: Callback<Withdraw>): EventEmitter;
|
|
245
|
+
|
|
246
|
+
SetRate(cb?: Callback<SetRate>): EventEmitter;
|
|
247
|
+
SetRate(options?: EventOptions, cb?: Callback<SetRate>): EventEmitter;
|
|
248
|
+
|
|
249
|
+
SetFee(cb?: Callback<SetFee>): EventEmitter;
|
|
250
|
+
SetFee(options?: EventOptions, cb?: Callback<SetFee>): EventEmitter;
|
|
251
|
+
|
|
252
|
+
SetAdminFee(cb?: Callback<SetAdminFee>): EventEmitter;
|
|
253
|
+
SetAdminFee(
|
|
254
|
+
options?: EventOptions,
|
|
255
|
+
cb?: Callback<SetAdminFee>
|
|
256
|
+
): EventEmitter;
|
|
257
|
+
|
|
258
|
+
allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
once(event: "TokenExchange", cb: Callback<TokenExchange>): void;
|
|
262
|
+
once(
|
|
263
|
+
event: "TokenExchange",
|
|
264
|
+
options: EventOptions,
|
|
265
|
+
cb: Callback<TokenExchange>
|
|
266
|
+
): void;
|
|
267
|
+
|
|
268
|
+
once(event: "Deposit", cb: Callback<Deposit>): void;
|
|
269
|
+
once(event: "Deposit", options: EventOptions, cb: Callback<Deposit>): void;
|
|
270
|
+
|
|
271
|
+
once(event: "Withdraw", cb: Callback<Withdraw>): void;
|
|
272
|
+
once(event: "Withdraw", options: EventOptions, cb: Callback<Withdraw>): void;
|
|
273
|
+
|
|
274
|
+
once(event: "SetRate", cb: Callback<SetRate>): void;
|
|
275
|
+
once(event: "SetRate", options: EventOptions, cb: Callback<SetRate>): void;
|
|
276
|
+
|
|
277
|
+
once(event: "SetFee", cb: Callback<SetFee>): void;
|
|
278
|
+
once(event: "SetFee", options: EventOptions, cb: Callback<SetFee>): void;
|
|
279
|
+
|
|
280
|
+
once(event: "SetAdminFee", cb: Callback<SetAdminFee>): void;
|
|
281
|
+
once(
|
|
282
|
+
event: "SetAdminFee",
|
|
283
|
+
options: EventOptions,
|
|
284
|
+
cb: Callback<SetAdminFee>
|
|
285
|
+
): void;
|
|
286
|
+
}
|