@curvefi/llamalend-api 2.0.26 → 2.0.28
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/lib/lendMarkets/modules/common/loanBase.js +1 -1
- package/lib/lendMarkets/modules/v1/loanV1.js +1 -1
- package/lib/lendMarkets/modules/v2/loanV2.js +1 -1
- package/lib/mintMarkets/setupContracts.js +4 -3
- package/package.json +1 -1
- package/src/lendMarkets/modules/common/loanBase.ts +1 -1
- package/src/lendMarkets/modules/v1/loanV1.ts +1 -1
- package/src/lendMarkets/modules/v2/loanV2.ts +1 -1
- package/src/mintMarkets/setupContracts.ts +4 -3
|
@@ -428,7 +428,7 @@ export class LoanBaseModule {
|
|
|
428
428
|
const { debt: currentDebt } = yield this.market.userPosition.userState(address);
|
|
429
429
|
if (Number(currentDebt) === 0)
|
|
430
430
|
throw Error(`Loan for ${address} does not exist`);
|
|
431
|
-
const _debt = parseUnits(debt);
|
|
431
|
+
const _debt = parseUnits(debt, this.market.borrowed_token.decimals);
|
|
432
432
|
const [, n1] = yield this.market.userPosition.userBands(address);
|
|
433
433
|
const { borrowed } = yield this.market.userPosition.userState(address);
|
|
434
434
|
const n = (BN(borrowed).gt(0)) ? MAX_ACTIVE_BAND : n1 - 1;
|
|
@@ -147,7 +147,7 @@ export class LoanV1Module extends LoanBaseModule {
|
|
|
147
147
|
repayHealth(_a) {
|
|
148
148
|
return __awaiter(this, arguments, void 0, function* ({ debt, full = true, address = "" }) {
|
|
149
149
|
address = _getAddress.call(this.llamalend, address);
|
|
150
|
-
const _debt = parseUnits(debt) * BigInt(-1);
|
|
150
|
+
const _debt = parseUnits(debt, this.market.borrowed_token.decimals) * BigInt(-1);
|
|
151
151
|
const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
|
|
152
152
|
const _health = yield contract.health_calculator(address, 0, _debt, full, 0, this.llamalend.constantOptions);
|
|
153
153
|
return formatUnits(_health * BigInt(100));
|
|
@@ -69,7 +69,7 @@ export class LoanV2Module extends LoanBaseModule {
|
|
|
69
69
|
repayHealth(_a) {
|
|
70
70
|
return __awaiter(this, arguments, void 0, function* ({ debt, shrink = false, full = true, address = "" }) {
|
|
71
71
|
address = _getAddress.call(this.llamalend, address);
|
|
72
|
-
const _debt = parseUnits(debt);
|
|
72
|
+
const _debt = parseUnits(debt, this.market.borrowed_token.decimals);
|
|
73
73
|
const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
|
|
74
74
|
const _health = yield contract.repay_health_preview(0, _debt, address, shrink, full, this.llamalend.constantOptions);
|
|
75
75
|
return formatUnits(_health * BigInt(100));
|
|
@@ -5,12 +5,13 @@ import controllerV2ABI from "../constants/abis/crvUSD/controller_v2.json" with {
|
|
|
5
5
|
import LeverageZapCrvUSDABI from "../constants/abis/crvUSD/LeverageZap.json" with { type: "json" };
|
|
6
6
|
import DeleverageZapABI from "../constants/abis/crvUSD/DeleverageZap.json" with { type: "json" };
|
|
7
7
|
import HealthCalculatorZapABI from "../constants/abis/crvUSD/HealthCalculatorZap.json" with { type: "json" };
|
|
8
|
+
import LeverageZapABI from "../constants/abis/LeverageZap.json" with { type: "json" };
|
|
8
9
|
import { resolveMonetaryPolicyAbi } from "./monetaryPolicyAbi.js";
|
|
9
10
|
const NATIVE_ETH_PLACEHOLDER = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
10
11
|
export const setupMintMarketContracts = (llamalend, llammaData) => {
|
|
11
|
-
const
|
|
12
|
+
const isNewMarket = llammaData.is_deleverage_supported === true;
|
|
12
13
|
llamalend.setContract(llammaData.amm_address, llammaABI);
|
|
13
|
-
llamalend.setContract(llammaData.controller_address,
|
|
14
|
+
llamalend.setContract(llammaData.controller_address, isNewMarket ? controllerV2ABI : controllerABI);
|
|
14
15
|
llamalend.setContract(llammaData.monetary_policy_address, resolveMonetaryPolicyAbi(llammaData.monetary_policy_address));
|
|
15
16
|
if (llammaData.collateral_address === NATIVE_ETH_PLACEHOLDER) {
|
|
16
17
|
llamalend.setContract(llamalend.constants.WETH, ERC20ABI);
|
|
@@ -18,7 +19,7 @@ export const setupMintMarketContracts = (llamalend, llammaData) => {
|
|
|
18
19
|
else {
|
|
19
20
|
llamalend.setContract(llammaData.collateral_address, ERC20ABI);
|
|
20
21
|
}
|
|
21
|
-
llamalend.setContract(llammaData.leverage_zap, LeverageZapCrvUSDABI);
|
|
22
|
+
llamalend.setContract(llammaData.leverage_zap, isNewMarket ? LeverageZapABI : LeverageZapCrvUSDABI);
|
|
22
23
|
llamalend.setContract(llammaData.deleverage_zap, DeleverageZapABI);
|
|
23
24
|
if (llammaData.health_calculator_zap && llammaData.health_calculator_zap !== llamalend.constants.ZERO_ADDRESS) {
|
|
24
25
|
llamalend.setContract(llammaData.health_calculator_zap, HealthCalculatorZapABI);
|
package/package.json
CHANGED
|
@@ -431,7 +431,7 @@ export abstract class LoanBaseModule {
|
|
|
431
431
|
const { debt: currentDebt } = await this.market.userPosition.userState(address);
|
|
432
432
|
if (Number(currentDebt) === 0) throw Error(`Loan for ${address} does not exist`);
|
|
433
433
|
|
|
434
|
-
const _debt = parseUnits(debt);
|
|
434
|
+
const _debt = parseUnits(debt, this.market.borrowed_token.decimals);
|
|
435
435
|
const [, n1] = await this.market.userPosition.userBands(address);
|
|
436
436
|
const { borrowed } = await this.market.userPosition.userState(address);
|
|
437
437
|
const n = (BN(borrowed).gt(0)) ? MAX_ACTIVE_BAND : n1 - 1;
|
|
@@ -168,7 +168,7 @@ export class LoanV1Module extends LoanBaseModule implements ILoanV1 {
|
|
|
168
168
|
|
|
169
169
|
public async repayHealth({ debt, full = true, address = "" }: { debt: number | string; full?: boolean; address?: string }): Promise<string> {
|
|
170
170
|
address = _getAddress.call(this.llamalend, address);
|
|
171
|
-
const _debt = parseUnits(debt) * BigInt(-1);
|
|
171
|
+
const _debt = parseUnits(debt, this.market.borrowed_token.decimals) * BigInt(-1);
|
|
172
172
|
|
|
173
173
|
const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
|
|
174
174
|
const _health = await contract.health_calculator(address, 0, _debt, full, 0, this.llamalend.constantOptions) as bigint;
|
|
@@ -64,7 +64,7 @@ export class LoanV2Module extends LoanBaseModule implements ILoanV2 {
|
|
|
64
64
|
|
|
65
65
|
public async repayHealth({ debt, shrink = false, full = true, address = "" }: { debt: number | string; shrink?: boolean; full?: boolean; address?: string }): Promise<string> {
|
|
66
66
|
address = _getAddress.call(this.llamalend, address);
|
|
67
|
-
const _debt = parseUnits(debt);
|
|
67
|
+
const _debt = parseUnits(debt, this.market.borrowed_token.decimals);
|
|
68
68
|
|
|
69
69
|
const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
|
|
70
70
|
const _health = await contract.repay_health_preview(0, _debt, address, shrink, full, this.llamalend.constantOptions) as bigint;
|
|
@@ -8,15 +8,16 @@ import controllerV2ABI from "../constants/abis/crvUSD/controller_v2.json" with {
|
|
|
8
8
|
import LeverageZapCrvUSDABI from "../constants/abis/crvUSD/LeverageZap.json" with { type: "json" };
|
|
9
9
|
import DeleverageZapABI from "../constants/abis/crvUSD/DeleverageZap.json" with { type: "json" };
|
|
10
10
|
import HealthCalculatorZapABI from "../constants/abis/crvUSD/HealthCalculatorZap.json" with { type: "json" };
|
|
11
|
+
import LeverageZapABI from "../constants/abis/LeverageZap.json" with { type: "json" };
|
|
11
12
|
import { resolveMonetaryPolicyAbi } from "./monetaryPolicyAbi.js";
|
|
12
13
|
|
|
13
14
|
const NATIVE_ETH_PLACEHOLDER = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
14
15
|
|
|
15
16
|
export const setupMintMarketContracts = (llamalend: Llamalend, llammaData: ILlamma): void => {
|
|
16
|
-
const
|
|
17
|
+
const isNewMarket = llammaData.is_deleverage_supported === true;
|
|
17
18
|
|
|
18
19
|
llamalend.setContract(llammaData.amm_address, llammaABI);
|
|
19
|
-
llamalend.setContract(llammaData.controller_address,
|
|
20
|
+
llamalend.setContract(llammaData.controller_address, isNewMarket ? controllerV2ABI : controllerABI);
|
|
20
21
|
llamalend.setContract(llammaData.monetary_policy_address, resolveMonetaryPolicyAbi(llammaData.monetary_policy_address));
|
|
21
22
|
|
|
22
23
|
if (llammaData.collateral_address === NATIVE_ETH_PLACEHOLDER) {
|
|
@@ -25,7 +26,7 @@ export const setupMintMarketContracts = (llamalend: Llamalend, llammaData: ILlam
|
|
|
25
26
|
llamalend.setContract(llammaData.collateral_address, ERC20ABI);
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
llamalend.setContract(llammaData.leverage_zap, LeverageZapCrvUSDABI);
|
|
29
|
+
llamalend.setContract(llammaData.leverage_zap, isNewMarket ? LeverageZapABI : LeverageZapCrvUSDABI);
|
|
29
30
|
llamalend.setContract(llammaData.deleverage_zap, DeleverageZapABI);
|
|
30
31
|
if (llammaData.health_calculator_zap && llammaData.health_calculator_zap !== llamalend.constants.ZERO_ADDRESS) {
|
|
31
32
|
llamalend.setContract(llammaData.health_calculator_zap, HealthCalculatorZapABI);
|