@curvefi/llamalend-api 1.0.22-beta.2 → 1.0.22

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.
@@ -0,0 +1 @@
1
+ export { LeverageV2Module } from './leverageV2.js';
@@ -0,0 +1,131 @@
1
+ import memoize from "memoizee";
2
+ import type { TAmount, TGas, IDict, IQuoteOdos } from "../../interfaces.js";
3
+ import type { MintMarketTemplate } from "../MintMarketTemplate.js";
4
+ /**
5
+ * LeverageV2 module for MintMarketTemplate
6
+ */
7
+ export declare class LeverageV2Module {
8
+ private market;
9
+ private llamalend;
10
+ swapDataCache: IDict<IQuoteOdos>;
11
+ constructor(market: MintMarketTemplate);
12
+ private _getMarketId;
13
+ userLoanExists(address?: string): Promise<boolean>;
14
+ hasLeverage: () => boolean;
15
+ _checkLeverageZap(): void;
16
+ _get_k_effective_BN(N: number): Promise<BigNumber>;
17
+ maxLeverage(N: number): Promise<string>;
18
+ leverageCreateLoanMaxRecv(userCollateral: TAmount, userBorrowed: TAmount, range: number): Promise<{
19
+ maxDebt: string;
20
+ maxTotalCollateral: string;
21
+ userCollateral: string;
22
+ collateralFromUserBorrowed: string;
23
+ collateralFromMaxDebt: string;
24
+ maxLeverage: string;
25
+ avgPrice: string;
26
+ }>;
27
+ leverageCreateLoanMaxRecvAllRanges: ((userCollateral: TAmount, userBorrowed: TAmount) => Promise<IDict<{
28
+ maxDebt: string;
29
+ maxTotalCollateral: string;
30
+ userCollateral: string;
31
+ collateralFromUserBorrowed: string;
32
+ collateralFromMaxDebt: string;
33
+ maxLeverage: string;
34
+ avgPrice: string;
35
+ }>>) & memoize.Memoized<(userCollateral: TAmount, userBorrowed: TAmount) => Promise<IDict<{
36
+ maxDebt: string;
37
+ maxTotalCollateral: string;
38
+ userCollateral: string;
39
+ collateralFromUserBorrowed: string;
40
+ collateralFromMaxDebt: string;
41
+ maxLeverage: string;
42
+ avgPrice: string;
43
+ }>>>;
44
+ _setSwapDataToCache: (inputCoinAddress: string, outputCoinAddress: string, _amount: bigint, slippage: number) => Promise<void>;
45
+ _getSwapDataFromCache: (inputCoinAddress: string, _amount: bigint) => IQuoteOdos;
46
+ _leverageExpectedCollateral: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, user?: string) => Promise<{
47
+ _futureStateCollateral: bigint;
48
+ _totalCollateral: bigint;
49
+ _userCollateral: bigint;
50
+ _collateralFromUserBorrowed: bigint;
51
+ _collateralFromDebt: bigint;
52
+ avgPrice: string;
53
+ }>;
54
+ leverageCreateLoanExpectedCollateral(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, slippage?: number): Promise<{
55
+ totalCollateral: string;
56
+ userCollateral: string;
57
+ collateralFromUserBorrowed: string;
58
+ collateralFromDebt: string;
59
+ leverage: string;
60
+ avgPrice: string;
61
+ }>;
62
+ leverageCreateLoanPriceImpact(userBorrowed: TAmount, debt: TAmount): Promise<string>;
63
+ leverageCreateLoanMaxRange(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount): Promise<number>;
64
+ _leverageCalcN1: ((userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, user?: string) => Promise<bigint>) & memoize.Memoized<(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, user?: string) => Promise<bigint>>;
65
+ _leverageCalcN1AllRanges: ((userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, maxN: number) => Promise<bigint[]>) & memoize.Memoized<(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, maxN: number) => Promise<bigint[]>>;
66
+ _leverageBands(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, user?: string): Promise<[bigint, bigint]>;
67
+ _leverageCreateLoanBandsAllRanges(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount): Promise<IDict<[bigint, bigint]>>;
68
+ leverageCreateLoanBands(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number): Promise<[number, number]>;
69
+ leverageCreateLoanBandsAllRanges(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount): Promise<IDict<[number, number] | null>>;
70
+ leverageCreateLoanPrices(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number): Promise<string[]>;
71
+ leverageCreateLoanPricesAllRanges(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount): Promise<IDict<[string, string] | null>>;
72
+ _leverageHealth(userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, range: number, full: boolean, user?: string): Promise<string>;
73
+ leverageCreateLoanHealth(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, full?: boolean): Promise<string>;
74
+ leverageCreateLoanIsApproved(userCollateral: TAmount, userBorrowed: TAmount): Promise<boolean>;
75
+ leverageCreateLoanApproveEstimateGas(userCollateral: TAmount, userBorrowed: TAmount): Promise<TGas>;
76
+ leverageCreateLoanApprove(userCollateral: TAmount, userBorrowed: TAmount): Promise<string[]>;
77
+ leverageCreateLoanRouteImage(userBorrowed: TAmount, debt: TAmount): Promise<string>;
78
+ _leverageCreateLoan(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, slippage: number, estimateGas: boolean): Promise<string | TGas>;
79
+ leverageCreateLoanEstimateGas(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, slippage?: number): Promise<number>;
80
+ leverageCreateLoan(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, slippage?: number): Promise<string>;
81
+ leverageBorrowMoreMaxRecv(userCollateral: TAmount, userBorrowed: TAmount, address?: string): Promise<{
82
+ maxDebt: string;
83
+ maxTotalCollateral: string;
84
+ userCollateral: string;
85
+ collateralFromUserBorrowed: string;
86
+ collateralFromMaxDebt: string;
87
+ avgPrice: string;
88
+ }>;
89
+ leverageBorrowMoreExpectedCollateral(userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, slippage?: number, address?: string): Promise<{
90
+ totalCollateral: string;
91
+ userCollateral: string;
92
+ collateralFromUserBorrowed: string;
93
+ collateralFromDebt: string;
94
+ avgPrice: string;
95
+ }>;
96
+ leverageBorrowMorePriceImpact(userBorrowed: TAmount, dDebt: TAmount): Promise<string>;
97
+ leverageBorrowMoreBands(userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, address?: string): Promise<[number, number]>;
98
+ leverageBorrowMorePrices(userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, address?: string): Promise<string[]>;
99
+ leverageBorrowMoreHealth(userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, full?: boolean, address?: string): Promise<string>;
100
+ leverageBorrowMoreRouteImage(userBorrowed: TAmount, debt: TAmount): Promise<string>;
101
+ _leverageBorrowMore(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, slippage: number, estimateGas: boolean): Promise<string | TGas>;
102
+ leverageBorrowMoreEstimateGas(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, slippage?: number): Promise<number>;
103
+ leverageBorrowMore(userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, slippage?: number): Promise<string>;
104
+ _leverageRepayExpectedBorrowed: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount) => {
105
+ _totalBorrowed: bigint;
106
+ _borrowedFromStateCollateral: bigint;
107
+ _borrowedFromUserCollateral: bigint;
108
+ avgPrice: string;
109
+ };
110
+ leverageRepayExpectedBorrowed: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, slippage?: number) => Promise<{
111
+ totalBorrowed: string;
112
+ borrowedFromStateCollateral: string;
113
+ borrowedFromUserCollateral: string;
114
+ userBorrowed: string;
115
+ avgPrice: string;
116
+ }>;
117
+ leverageRepayPriceImpact(stateCollateral: TAmount, userCollateral: TAmount): Promise<string>;
118
+ leverageRepayIsFull(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string): Promise<boolean>;
119
+ leverageRepayIsAvailable(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string): Promise<boolean>;
120
+ _leverageRepayBands: ((stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address: string) => Promise<[bigint, bigint]>) & memoize.Memoized<(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address: string) => Promise<[bigint, bigint]>>;
121
+ leverageRepayBands(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string): Promise<[number, number]>;
122
+ leverageRepayPrices(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string): Promise<string[]>;
123
+ leverageRepayHealth(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, full?: boolean, address?: string): Promise<string>;
124
+ leverageRepayIsApproved(userCollateral: TAmount, userBorrowed: TAmount): Promise<boolean>;
125
+ leverageRepayApproveEstimateGas(userCollateral: TAmount, userBorrowed: TAmount): Promise<TGas>;
126
+ leverageRepayApprove(userCollateral: TAmount, userBorrowed: TAmount): Promise<string[]>;
127
+ leverageRepayRouteImage(stateCollateral: TAmount, userCollateral: TAmount): Promise<string>;
128
+ _leverageRepay(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, slippage: number, estimateGas: boolean): Promise<string | TGas>;
129
+ leverageRepayEstimateGas(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, slippage?: number): Promise<number>;
130
+ leverageRepay(stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, slippage?: number): Promise<string>;
131
+ }