@curvefi/llamalend-api 2.0.8 → 2.0.9

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.
@@ -8,10 +8,144 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { LoanBaseModule } from "../common/loanBase.js";
11
- import { _getAddress, formatUnits, parseUnits } from "../../../utils";
11
+ import { _getAddress, formatUnits, parseUnits, smartNumber, _mulBy1_3, DIGas, } from "../../../utils";
12
12
  export class LoanV1Module extends LoanBaseModule {
13
- repayHealth(debt_1) {
14
- return __awaiter(this, arguments, void 0, function* (debt, full = true, address = "") {
13
+ constructor() {
14
+ super(...arguments);
15
+ this._maxBorrowable = (collateralAmount, range) => __awaiter(this, void 0, void 0, function* () {
16
+ const { _collateral: _currentCollateral, _debt: _currentDebt, _N } = yield this.market.userPosition.userStateBigInt();
17
+ const _collateral = _currentCollateral + parseUnits(collateralAmount, this.market.collateral_token.decimals);
18
+ const N = range ? BigInt(range) : _N;
19
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
20
+ return ((yield contract.max_borrowable(_collateral, N, _currentDebt, this.llamalend.constantOptions)) - _currentDebt);
21
+ });
22
+ }
23
+ _getMaxBorrowableCall(_collateral, N) {
24
+ return this.llamalend.contracts[this.market.addresses.controller].multicallContract.max_borrowable(_collateral, N, 0);
25
+ }
26
+ _calcN1(_collateral, _debt, range) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ this._checkRange(range);
29
+ return yield this.llamalend.contracts[this.market.addresses.controller].contract.calculate_debt_n1(_collateral, _debt, range, this.llamalend.constantOptions);
30
+ });
31
+ }
32
+ _calcN1AllRanges(_collateral, _debt, maxN) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const calls = [];
35
+ for (let N = this.market.minBands; N <= maxN; N++) {
36
+ calls.push(this.llamalend.contracts[this.market.addresses.controller].multicallContract.calculate_debt_n1(_collateral, _debt, N));
37
+ }
38
+ return yield this.llamalend.multicallProvider.all(calls);
39
+ });
40
+ }
41
+ createLoanHealth(collateral_1, debt_1, range_1) {
42
+ return __awaiter(this, arguments, void 0, function* (collateral, debt, range, full = true) {
43
+ const _collateral = parseUnits(collateral, this.market.collateral_token.decimals);
44
+ const _debt = parseUnits(debt, this.market.borrowed_token.decimals);
45
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
46
+ const _health = yield contract.health_calculator(this.llamalend.constants.ZERO_ADDRESS, _collateral, _debt, full, range, this.llamalend.constantOptions);
47
+ return formatUnits(_health * BigInt(100));
48
+ });
49
+ }
50
+ borrowMoreHealth(collateral_1, debt_1) {
51
+ return __awaiter(this, arguments, void 0, function* (collateral, debt, full = true, address = "") {
52
+ address = _getAddress.call(this.llamalend, address);
53
+ const _collateral = parseUnits(collateral, this.market.collateral_token.decimals);
54
+ const _debt = parseUnits(debt, this.market.borrowed_token.decimals);
55
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
56
+ const _health = yield contract.health_calculator(address, _collateral, _debt, full, 0, this.llamalend.constantOptions);
57
+ return formatUnits(_health * BigInt(100));
58
+ });
59
+ }
60
+ addCollateralHealth(collateral_1) {
61
+ return __awaiter(this, arguments, void 0, function* (collateral, full = true, address = "") {
62
+ address = _getAddress.call(this.llamalend, address);
63
+ const _collateral = parseUnits(collateral, this.market.collateral_token.decimals);
64
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
65
+ const _health = yield contract.health_calculator(address, _collateral, 0, full, 0, this.llamalend.constantOptions);
66
+ return formatUnits(_health * BigInt(100));
67
+ });
68
+ }
69
+ removeCollateralHealth(collateral_1) {
70
+ return __awaiter(this, arguments, void 0, function* (collateral, full = true, address = "") {
71
+ address = _getAddress.call(this.llamalend, address);
72
+ const _collateral = parseUnits(collateral, this.market.collateral_token.decimals) * BigInt(-1);
73
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
74
+ const _health = yield contract.health_calculator(address, _collateral, 0, full, 0, this.llamalend.constantOptions);
75
+ return formatUnits(_health * BigInt(100));
76
+ });
77
+ }
78
+ _repayBands(_a) {
79
+ return __awaiter(this, arguments, void 0, function* ({ debt, address }) {
80
+ const { _collateral: _currentCollateral, _borrowed, _debt: _currentDebt, _N } = yield this.market.userPosition.userStateBigInt(address);
81
+ if (_currentDebt === BigInt(0))
82
+ throw Error(`Loan for ${address} does not exist`);
83
+ if (_borrowed > BigInt(0))
84
+ return yield this.market.userPosition.userBandsBigInt(address);
85
+ const _debt = _currentDebt - parseUnits(debt, this.market.borrowed_token.decimals);
86
+ const _n1 = yield this._calcN1(_currentCollateral, _debt, Number(_N));
87
+ const _n2 = _n1 + _N - BigInt(1);
88
+ return [_n2, _n1];
89
+ });
90
+ }
91
+ repayBands(_a) {
92
+ return __awaiter(this, arguments, void 0, function* ({ debt, address = "" }) {
93
+ const [_n2, _n1] = yield this._repayBands({ debt, address });
94
+ return [Number(_n2), Number(_n1)];
95
+ });
96
+ }
97
+ repayPrices(_a) {
98
+ return __awaiter(this, arguments, void 0, function* ({ debt, address = "" }) {
99
+ const [_n2, _n1] = yield this._repayBands({ debt, address });
100
+ return yield this.market.prices.getPrices(_n2, _n1);
101
+ });
102
+ }
103
+ _repayContractCall(_a) {
104
+ return __awaiter(this, arguments, void 0, function* ({ _debt, address, n, estimateGas }) {
105
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
106
+ const gas = yield contract.repay.estimateGas(_debt, address, n, this.llamalend.constantOptions);
107
+ if (estimateGas)
108
+ return smartNumber(gas);
109
+ yield this.llamalend.updateFeeData();
110
+ const gasLimit = _mulBy1_3(DIGas(gas));
111
+ return (yield contract.repay(_debt, address, n, Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
112
+ });
113
+ }
114
+ _createLoanContractCall(_collateral, _debt, range, estimateGas) {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
117
+ const gas = yield contract.create_loan.estimateGas(_collateral, _debt, range, Object.assign({}, this.llamalend.constantOptions));
118
+ if (estimateGas)
119
+ return smartNumber(gas);
120
+ yield this.llamalend.updateFeeData();
121
+ const gasLimit = _mulBy1_3(DIGas(gas));
122
+ return (yield contract.create_loan(_collateral, _debt, range, Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
123
+ });
124
+ }
125
+ _borrowMoreContractCall(_collateral, _debt, estimateGas) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
128
+ const gas = yield contract.borrow_more.estimateGas(_collateral, _debt, Object.assign({}, this.llamalend.constantOptions));
129
+ if (estimateGas)
130
+ return smartNumber(gas);
131
+ yield this.llamalend.updateFeeData();
132
+ const gasLimit = _mulBy1_3(DIGas(gas));
133
+ return (yield contract.borrow_more(_collateral, _debt, Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
134
+ });
135
+ }
136
+ _partialLiquidateContractCall(address, _minAmount, frac, estimateGas) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
139
+ const gas = (yield contract.liquidate_extended.estimateGas(address, _minAmount, frac, this.llamalend.constants.ZERO_ADDRESS, [], this.llamalend.constantOptions));
140
+ if (estimateGas)
141
+ return smartNumber(gas);
142
+ yield this.llamalend.updateFeeData();
143
+ const gasLimit = _mulBy1_3(DIGas(gas));
144
+ return (yield contract.liquidate_extended(address, _minAmount, frac, this.llamalend.constants.ZERO_ADDRESS, [], Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
145
+ });
146
+ }
147
+ repayHealth(_a) {
148
+ return __awaiter(this, arguments, void 0, function* ({ debt, full = true, address = "" }) {
15
149
  address = _getAddress.call(this.llamalend, address);
16
150
  const _debt = parseUnits(debt) * BigInt(-1);
17
151
  const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
@@ -1,9 +1,44 @@
1
1
  import { LoanBaseModule } from "../common/loanBase.js";
2
2
  import { ILoanV2 } from "../../interfaces/v2";
3
+ import { TGas, TAmount } from "../../../interfaces";
3
4
  export declare class LoanV2Module extends LoanBaseModule implements ILoanV2 {
4
5
  createLoanHealth(collateral: number | string, debt: number | string, range: number, full?: boolean): Promise<string>;
5
6
  addCollateralHealth(collateral: number | string, full?: boolean, address?: string): Promise<string>;
6
7
  removeCollateralHealth(collateral: number | string, full?: boolean, address?: string): Promise<string>;
7
8
  borrowMoreHealth(collateral: number | string, debt: number | string, full?: boolean, address?: string): Promise<string>;
8
- repayHealth(debt: number | string, shrink?: boolean, full?: boolean, address?: string): Promise<string>;
9
+ repayHealth({ debt, shrink, full, address }: {
10
+ debt: number | string;
11
+ shrink?: boolean;
12
+ full?: boolean;
13
+ address?: string;
14
+ }): Promise<string>;
15
+ protected _maxBorrowable: (collateralAmount: TAmount, range?: number) => Promise<bigint>;
16
+ protected _calcN1(_collateral: bigint, _debt: bigint, range: number): Promise<bigint>;
17
+ protected _calcN1AllRanges(_collateral: bigint, _debt: bigint, maxN: number): Promise<bigint[]>;
18
+ protected _getMaxBorrowableCall(_collateral: bigint, N: number): any;
19
+ protected _repayBands({ debt, address, shrink }: {
20
+ debt: number | string;
21
+ address: string;
22
+ shrink?: boolean;
23
+ }): Promise<[bigint, bigint]>;
24
+ repayBands({ debt, address, shrink }: {
25
+ debt: number | string;
26
+ address?: string;
27
+ shrink?: boolean;
28
+ }): Promise<[number, number]>;
29
+ repayPrices({ debt, address, shrink }: {
30
+ debt: number | string;
31
+ address?: string;
32
+ shrink?: boolean;
33
+ }): Promise<string[]>;
34
+ protected _createLoanContractCall(_collateral: bigint, _debt: bigint, range: number, estimateGas: boolean): Promise<string | TGas>;
35
+ protected _borrowMoreContractCall(_collateral: bigint, _debt: bigint, estimateGas: boolean): Promise<string | TGas>;
36
+ protected _repayContractCall({ _debt, address, n, estimateGas, shrink }: {
37
+ _debt: bigint;
38
+ address: string;
39
+ n: number | bigint;
40
+ estimateGas: boolean;
41
+ shrink?: boolean;
42
+ }): Promise<string | TGas>;
43
+ protected _partialLiquidateContractCall(address: string, _minAmount: bigint, frac: string, estimateGas: boolean): Promise<string | TGas>;
9
44
  }
@@ -8,8 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { LoanBaseModule } from "../common/loanBase.js";
11
- import { _getAddress, formatUnits, parseUnits } from "../../../utils";
11
+ import { _getAddress, formatUnits, parseUnits, smartNumber, _mulBy1_3, DIGas, } from "../../../utils";
12
12
  export class LoanV2Module extends LoanBaseModule {
13
+ constructor() {
14
+ super(...arguments);
15
+ this._maxBorrowable = (collateralAmount, range) => __awaiter(this, void 0, void 0, function* () {
16
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
17
+ const collateral = parseUnits(collateralAmount, this.market.collateral_token.decimals);
18
+ const address = _getAddress.call(this.llamalend, '');
19
+ const N = range ? BigInt(range) : null;
20
+ return contract.max_borrowable(collateral, N, address, this.llamalend.constantOptions);
21
+ });
22
+ }
13
23
  createLoanHealth(collateral_1, debt_1, range_1) {
14
24
  return __awaiter(this, arguments, void 0, function* (collateral, debt, range, full = true) {
15
25
  const _collateral = parseUnits(collateral, this.market.collateral_token.decimals);
@@ -48,8 +58,8 @@ export class LoanV2Module extends LoanBaseModule {
48
58
  return formatUnits(_health * BigInt(100));
49
59
  });
50
60
  }
51
- repayHealth(debt_1) {
52
- return __awaiter(this, arguments, void 0, function* (debt, shrink = false, full = true, address = "") {
61
+ repayHealth(_a) {
62
+ return __awaiter(this, arguments, void 0, function* ({ debt, shrink = false, full = true, address = "" }) {
53
63
  address = _getAddress.call(this.llamalend, address);
54
64
  const _debt = parseUnits(debt);
55
65
  const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
@@ -57,4 +67,108 @@ export class LoanV2Module extends LoanBaseModule {
57
67
  return formatUnits(_health * BigInt(100));
58
68
  });
59
69
  }
70
+ _calcN1(_collateral, _debt, range) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ this._checkRange(range);
73
+ const address = _getAddress.call(this.llamalend, '');
74
+ return yield this.llamalend.contracts[this.market.addresses.controller].contract.calculate_debt_n1(_collateral, _debt, range, address, this.llamalend.constantOptions);
75
+ });
76
+ }
77
+ _calcN1AllRanges(_collateral, _debt, maxN) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const calls = [];
80
+ const address = _getAddress.call(this.llamalend, '');
81
+ for (let N = this.market.minBands; N <= maxN; N++) {
82
+ calls.push(this.llamalend.contracts[this.market.addresses.controller].multicallContract.calculate_debt_n1(_collateral, _debt, N, address));
83
+ }
84
+ return yield this.llamalend.multicallProvider.all(calls);
85
+ });
86
+ }
87
+ _getMaxBorrowableCall(_collateral, N) {
88
+ const address = _getAddress.call(this.llamalend, '');
89
+ return this.llamalend.contracts[this.market.addresses.controller].multicallContract.max_borrowable(_collateral, N, address);
90
+ }
91
+ _repayBands(_a) {
92
+ return __awaiter(this, arguments, void 0, function* ({ debt, address, shrink = false }) {
93
+ const { _collateral: _currentCollateral, _borrowed, _debt: _currentDebt, _N } = yield this.market.userPosition.userStateBigInt(address);
94
+ if (_currentDebt === BigInt(0))
95
+ throw Error(`Loan for ${address} does not exist`);
96
+ if (_borrowed > BigInt(0) && !shrink) {
97
+ return yield this.market.userPosition.userBandsBigInt(address);
98
+ }
99
+ const _debtRepaid = parseUnits(debt, this.market.borrowed_token.decimals);
100
+ let newN = _N;
101
+ let _debt;
102
+ if (shrink) {
103
+ _debt = _currentDebt - _debtRepaid - _borrowed;
104
+ const [n2] = yield this.market.userPosition.userBandsBigInt(address);
105
+ const { activeBand } = yield this.market.stats.bandsInfo();
106
+ newN = n2 - BigInt(activeBand);
107
+ }
108
+ else {
109
+ _debt = _currentDebt - _debtRepaid;
110
+ }
111
+ const _n1 = yield this._calcN1(_currentCollateral, _debt, Number(newN));
112
+ const _n2 = _n1 + newN - BigInt(1);
113
+ return [_n2, _n1];
114
+ });
115
+ }
116
+ repayBands(_a) {
117
+ return __awaiter(this, arguments, void 0, function* ({ debt, address = "", shrink = false }) {
118
+ const [_n2, _n1] = yield this._repayBands({ debt, address, shrink });
119
+ return [Number(_n2), Number(_n1)];
120
+ });
121
+ }
122
+ repayPrices(_a) {
123
+ return __awaiter(this, arguments, void 0, function* ({ debt, address = "", shrink = false }) {
124
+ const [_n2, _n1] = yield this._repayBands({ debt, address, shrink });
125
+ return yield this.market.prices.getPrices(_n2, _n1);
126
+ });
127
+ }
128
+ _createLoanContractCall(_collateral, _debt, range, estimateGas) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
131
+ const _for = _getAddress.call(this.llamalend, '');
132
+ const gas = yield contract.create_loan.estimateGas(_collateral, _debt, range, _for, this.llamalend.constants.ZERO_ADDRESS, "0x", Object.assign({}, this.llamalend.constantOptions));
133
+ if (estimateGas)
134
+ return smartNumber(gas);
135
+ yield this.llamalend.updateFeeData();
136
+ const gasLimit = _mulBy1_3(DIGas(gas));
137
+ return (yield contract.create_loan(_collateral, _debt, range, _for, this.llamalend.constants.ZERO_ADDRESS, "0x", Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
138
+ });
139
+ }
140
+ _borrowMoreContractCall(_collateral, _debt, estimateGas) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
143
+ const _for = _getAddress.call(this.llamalend, '');
144
+ const gas = yield contract.borrow_more.estimateGas(_collateral, _debt, _for, this.llamalend.constants.ZERO_ADDRESS, "0x", Object.assign({}, this.llamalend.constantOptions));
145
+ if (estimateGas)
146
+ return smartNumber(gas);
147
+ yield this.llamalend.updateFeeData();
148
+ const gasLimit = _mulBy1_3(DIGas(gas));
149
+ return (yield contract.borrow_more(_collateral, _debt, _for, this.llamalend.constants.ZERO_ADDRESS, "0x", Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
150
+ });
151
+ }
152
+ _repayContractCall(_a) {
153
+ return __awaiter(this, arguments, void 0, function* ({ _debt, address, n, estimateGas, shrink = false }) {
154
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
155
+ const gas = yield contract.repay.estimateGas(_debt, address, n, this.llamalend.constants.ZERO_ADDRESS, "0x", shrink, Object.assign({}, this.llamalend.constantOptions));
156
+ if (estimateGas)
157
+ return smartNumber(gas);
158
+ yield this.llamalend.updateFeeData();
159
+ const gasLimit = _mulBy1_3(DIGas(gas));
160
+ return (yield contract.repay(_debt, address, n, this.llamalend.constants.ZERO_ADDRESS, "0x", shrink, Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
161
+ });
162
+ }
163
+ _partialLiquidateContractCall(address, _minAmount, frac, estimateGas) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ const contract = this.llamalend.contracts[this.market.addresses.controller].contract;
166
+ const gas = yield contract.liquidate.estimateGas(address, _minAmount, frac, this.llamalend.constants.ZERO_ADDRESS, "0x", this.llamalend.constantOptions);
167
+ if (estimateGas)
168
+ return smartNumber(gas);
169
+ yield this.llamalend.updateFeeData();
170
+ const gasLimit = _mulBy1_3(DIGas(gas));
171
+ return (yield contract.liquidate(address, _minAmount, frac, this.llamalend.constants.ZERO_ADDRESS, "0x", Object.assign(Object.assign({}, this.llamalend.options), { gasLimit }))).hash;
172
+ });
173
+ }
60
174
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/llamalend-api",
3
- "version": "2.0.8",
3
+ "version": "2.0.9",
4
4
  "description": "JavaScript library for Curve Lending",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",
@@ -839,31 +839,6 @@
839
839
  }
840
840
  ]
841
841
  },
842
- {
843
- "stateMutability": "view",
844
- "type": "function",
845
- "name": "calculate_debt_n1",
846
- "inputs": [
847
- {
848
- "name": "_collateral",
849
- "type": "uint256"
850
- },
851
- {
852
- "name": "_debt",
853
- "type": "uint256"
854
- },
855
- {
856
- "name": "_N",
857
- "type": "uint256"
858
- }
859
- ],
860
- "outputs": [
861
- {
862
- "name": "",
863
- "type": "int256"
864
- }
865
- ]
866
- },
867
842
  {
868
843
  "stateMutability": "view",
869
844
  "type": "function",
@@ -37,12 +37,12 @@ export interface ILoanV1 {
37
37
  removeCollateral: (collateral: TAmount) => Promise<string>;
38
38
  removeCollateralFutureLeverage: (collateral: TAmount, userAddress?: string) => Promise<string>;
39
39
 
40
- repayBands: (debt: TAmount, address?: string) => Promise<[number, number]>;
41
- repayPrices: (debt: TAmount, address?: string) => Promise<string[]>;
40
+ repayBands: (params: { debt: TAmount; address?: string }) => Promise<[number, number]>;
41
+ repayPrices: (params: { debt: TAmount; address?: string }) => Promise<string[]>;
42
42
  repayIsApproved: (debt: TAmount) => Promise<boolean>;
43
43
  repayApprove: (debt: TAmount) => Promise<string[]>;
44
- repayHealth: (debt: TAmount, full?: boolean, address?: string) => Promise<string>;
45
- repay: (debt: TAmount, address?: string) => Promise<string>;
44
+ repayHealth: (params: { debt: TAmount; full?: boolean; address?: string }) => Promise<string>;
45
+ repay: (params: { debt: TAmount; address?: string; shrink?: boolean }) => Promise<string>;
46
46
  repayFutureLeverage: (debt: TAmount, userAddress?: string) => Promise<string>;
47
47
 
48
48
  fullRepayIsApproved: (address?: string) => Promise<boolean>;
@@ -72,7 +72,7 @@ export interface ILoanV1 {
72
72
  addCollateral: (collateral: TAmount, address?: string) => Promise<TGas>;
73
73
  removeCollateral: (collateral: TAmount) => Promise<TGas>;
74
74
  repayApprove: (debt: TAmount) => Promise<TGas>;
75
- repay: (debt: TAmount, address?: string) => Promise<TGas>;
75
+ repay: (params: { debt: TAmount; address?: string; shrink?: boolean }) => Promise<TGas>;
76
76
  fullRepayApprove: (address?: string) => Promise<TGas>;
77
77
  fullRepay: (address?: string) => Promise<TGas>;
78
78
  liquidateApprove: (address?: string) => Promise<TGas>;
@@ -37,12 +37,12 @@ export interface ILoanV2 {
37
37
  removeCollateral: (collateral: TAmount) => Promise<string>;
38
38
  removeCollateralFutureLeverage: (collateral: TAmount, userAddress?: string) => Promise<string>;
39
39
 
40
- repayBands: (debt: TAmount, address?: string) => Promise<[number, number]>;
41
- repayPrices: (debt: TAmount, address?: string) => Promise<string[]>;
40
+ repayBands: (params: { debt: TAmount; address?: string; shrink?: boolean }) => Promise<[number, number]>;
41
+ repayPrices: (params: { debt: TAmount; address?: string; shrink?: boolean }) => Promise<string[]>;
42
42
  repayIsApproved: (debt: TAmount) => Promise<boolean>;
43
43
  repayApprove: (debt: TAmount) => Promise<string[]>;
44
- repayHealth: (debt: TAmount, shrink?: boolean, full?: boolean, address?: string) => Promise<string>;
45
- repay: (debt: TAmount, address?: string) => Promise<string>;
44
+ repayHealth: (params: { debt: TAmount; shrink?: boolean; full?: boolean; address?: string }) => Promise<string>;
45
+ repay: (params: { debt: TAmount; address?: string; shrink?: boolean }) => Promise<string>;
46
46
  repayFutureLeverage: (debt: TAmount, userAddress?: string) => Promise<string>;
47
47
 
48
48
  fullRepayIsApproved: (address?: string) => Promise<boolean>;
@@ -72,7 +72,7 @@ export interface ILoanV2 {
72
72
  addCollateral: (collateral: TAmount, address?: string) => Promise<TGas>;
73
73
  removeCollateral: (collateral: TAmount) => Promise<TGas>;
74
74
  repayApprove: (debt: TAmount) => Promise<TGas>;
75
- repay: (debt: TAmount, address?: string) => Promise<TGas>;
75
+ repay: (params: { debt: TAmount; address?: string; shrink?: boolean }) => Promise<TGas>;
76
76
  fullRepayApprove: (address?: string) => Promise<TGas>;
77
77
  fullRepay: (address?: string) => Promise<TGas>;
78
78
  liquidateApprove: (address?: string) => Promise<TGas>;
@@ -1,6 +1,6 @@
1
1
  export { UserPositionModule } from './userPosition.js';
2
- export { WalletModule } from './wallet.js'
3
- export { PricesModule} from './prices.js'
2
+ export { WalletModule } from './wallet.js';
3
+ export { PricesModule } from './prices.js';
4
4
  export { AmmModule } from './amm.js';
5
5
  export { VaultModule } from './vault.js';
6
6
  export { StatsBaseModule } from './statsBase.js';