@curvefi/llamalend-api 1.0.2
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/.eslintrc.json +40 -0
- package/.github/workflows/lint.yml +15 -0
- package/.github/workflows/publish.yml +55 -0
- package/LICENSE +21 -0
- package/README.md +1976 -0
- package/lib/cache/index.d.ts +14 -0
- package/lib/cache/index.js +31 -0
- package/lib/constants/L2Networks.d.ts +1 -0
- package/lib/constants/L2Networks.js +1 -0
- package/lib/constants/abis/Controller.json +1027 -0
- package/lib/constants/abis/ERC20.json +222 -0
- package/lib/constants/abis/ERC4626.json +1674 -0
- package/lib/constants/abis/GaugeController.json +794 -0
- package/lib/constants/abis/GaugeFactoryMainnet.json +1 -0
- package/lib/constants/abis/GaugeFactorySidechain.json +475 -0
- package/lib/constants/abis/GaugeV5.json +958 -0
- package/lib/constants/abis/LeverageZap.json +35 -0
- package/lib/constants/abis/Llamma.json +984 -0
- package/lib/constants/abis/Minter.json +1 -0
- package/lib/constants/abis/MonetaryPolicy.json +221 -0
- package/lib/constants/abis/OneWayLendingFactoryABI.json +899 -0
- package/lib/constants/abis/SidechainGauge.json +939 -0
- package/lib/constants/abis/Vault.json +721 -0
- package/lib/constants/abis/crvUSD/DeleverageZap.json +248 -0
- package/lib/constants/abis/crvUSD/Factory.json +514 -0
- package/lib/constants/abis/crvUSD/HealthCalculatorZap.json +54 -0
- package/lib/constants/abis/crvUSD/LeverageZap.json +312 -0
- package/lib/constants/abis/crvUSD/MonetaryPolicy.json +294 -0
- package/lib/constants/abis/crvUSD/MonetaryPolicy2.json +299 -0
- package/lib/constants/abis/crvUSD/PegKeeper.json +411 -0
- package/lib/constants/abis/crvUSD/controller.json +991 -0
- package/lib/constants/abis/crvUSD/llamma.json +984 -0
- package/lib/constants/abis/gas_oracle_optimism.json +149 -0
- package/lib/constants/abis/gas_oracle_optimism_blob.json +203 -0
- package/lib/constants/aliases.d.ts +16 -0
- package/lib/constants/aliases.js +124 -0
- package/lib/constants/coins.d.ts +16 -0
- package/lib/constants/coins.js +24 -0
- package/lib/constants/llammas.d.ts +2 -0
- package/lib/constants/llammas.js +96 -0
- package/lib/constants/utils.d.ts +4 -0
- package/lib/constants/utils.js +27 -0
- package/lib/external-api.d.ts +13 -0
- package/lib/external-api.js +436 -0
- package/lib/index.d.ts +104 -0
- package/lib/index.js +123 -0
- package/lib/interfaces.d.ts +228 -0
- package/lib/interfaces.js +1 -0
- package/lib/lendMarkets/LendMarketTemplate.d.ts +510 -0
- package/lib/lendMarkets/LendMarketTemplate.js +4682 -0
- package/lib/lendMarkets/index.d.ts +3 -0
- package/lib/lendMarkets/index.js +3 -0
- package/lib/lendMarkets/lendMarketConstructor.d.ts +2 -0
- package/lib/lendMarkets/lendMarketConstructor.js +6 -0
- package/lib/llamalend.d.ts +80 -0
- package/lib/llamalend.js +878 -0
- package/lib/mintMarkets/MintMarketTemplate.d.ts +308 -0
- package/lib/mintMarkets/MintMarketTemplate.js +2998 -0
- package/lib/mintMarkets/index.d.ts +3 -0
- package/lib/mintMarkets/index.js +3 -0
- package/lib/mintMarkets/mintMarketConstructor.d.ts +2 -0
- package/lib/mintMarkets/mintMarketConstructor.js +4 -0
- package/lib/st-crvUSD.d.ts +35 -0
- package/lib/st-crvUSD.js +505 -0
- package/lib/utils.d.ts +58 -0
- package/lib/utils.js +661 -0
- package/package.json +42 -0
- package/src/cache/index.ts +41 -0
- package/src/constants/L2Networks.ts +1 -0
- package/src/constants/abis/Controller.json +1027 -0
- package/src/constants/abis/ERC20.json +222 -0
- package/src/constants/abis/ERC4626.json +1674 -0
- package/src/constants/abis/GaugeController.json +794 -0
- package/src/constants/abis/GaugeFactoryMainnet.json +1 -0
- package/src/constants/abis/GaugeFactorySidechain.json +475 -0
- package/src/constants/abis/GaugeV5.json +958 -0
- package/src/constants/abis/LeverageZap.json +35 -0
- package/src/constants/abis/Llamma.json +984 -0
- package/src/constants/abis/Minter.json +1 -0
- package/src/constants/abis/MonetaryPolicy.json +221 -0
- package/src/constants/abis/OneWayLendingFactoryABI.json +899 -0
- package/src/constants/abis/SidechainGauge.json +939 -0
- package/src/constants/abis/Vault.json +721 -0
- package/src/constants/abis/crvUSD/DeleverageZap.json +248 -0
- package/src/constants/abis/crvUSD/ERC20.json +222 -0
- package/src/constants/abis/crvUSD/Factory.json +514 -0
- package/src/constants/abis/crvUSD/HealthCalculatorZap.json +54 -0
- package/src/constants/abis/crvUSD/LeverageZap.json +312 -0
- package/src/constants/abis/crvUSD/MonetaryPolicy.json +294 -0
- package/src/constants/abis/crvUSD/MonetaryPolicy2.json +299 -0
- package/src/constants/abis/crvUSD/PegKeeper.json +411 -0
- package/src/constants/abis/crvUSD/controller.json +991 -0
- package/src/constants/abis/crvUSD/llamma.json +984 -0
- package/src/constants/abis/gas_oracle_optimism.json +149 -0
- package/src/constants/abis/gas_oracle_optimism_blob.json +203 -0
- package/src/constants/aliases.ts +141 -0
- package/src/constants/coins.ts +41 -0
- package/src/constants/llammas.ts +99 -0
- package/src/constants/utils.ts +33 -0
- package/src/external-api.ts +325 -0
- package/src/index.ts +128 -0
- package/src/interfaces.ts +237 -0
- package/src/lendMarkets/LendMarketTemplate.ts +3022 -0
- package/src/lendMarkets/index.ts +7 -0
- package/src/lendMarkets/lendMarketConstructor.ts +7 -0
- package/src/llamalend.ts +785 -0
- package/src/mintMarkets/MintMarketTemplate.ts +1781 -0
- package/src/mintMarkets/index.ts +7 -0
- package/src/mintMarkets/mintMarketConstructor.ts +5 -0
- package/src/st-crvUSD.ts +244 -0
- package/src/utils.ts +497 -0
- package/test/fetch.test.ts +152 -0
- package/test/general.test.ts +216 -0
- package/test/leverageBorrowMore.test.ts +245 -0
- package/test/leverageCreateLoan.test.ts +236 -0
- package/test/leverageRepay.test.ts +240 -0
- package/test/readme.test.ts +475 -0
- package/test/selfLiquidate.test.ts +57 -0
- package/test/selfLiquidateCrvUSD.test.ts +54 -0
- package/test/st_crvUSD.test.ts +68 -0
- package/test/swap.test.ts +62 -0
- package/test/swapCrvUSD.test.ts +56 -0
- package/test/vault.test.ts +112 -0
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +72 -0
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
import memoize from "memoizee";
|
|
2
|
+
import { IDict, TGas, TAmount, IReward, IQuoteOdos, IOneWayMarket } from "../interfaces.js";
|
|
3
|
+
export declare class LendMarketTemplate {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
addresses: {
|
|
7
|
+
amm: string;
|
|
8
|
+
controller: string;
|
|
9
|
+
borrowed_token: string;
|
|
10
|
+
collateral_token: string;
|
|
11
|
+
monetary_policy: string;
|
|
12
|
+
vault: string;
|
|
13
|
+
gauge: string;
|
|
14
|
+
};
|
|
15
|
+
borrowed_token: {
|
|
16
|
+
address: string;
|
|
17
|
+
name: string;
|
|
18
|
+
symbol: string;
|
|
19
|
+
decimals: number;
|
|
20
|
+
};
|
|
21
|
+
collateral_token: {
|
|
22
|
+
address: string;
|
|
23
|
+
name: string;
|
|
24
|
+
symbol: string;
|
|
25
|
+
decimals: number;
|
|
26
|
+
};
|
|
27
|
+
coinAddresses: [string, string];
|
|
28
|
+
coinDecimals: [number, number];
|
|
29
|
+
defaultBands: number;
|
|
30
|
+
minBands: number;
|
|
31
|
+
maxBands: number;
|
|
32
|
+
swapDataCache: IDict<IQuoteOdos>;
|
|
33
|
+
estimateGas: {
|
|
34
|
+
createLoanApprove: (collateral: number | string) => Promise<TGas>;
|
|
35
|
+
createLoan: (collateral: number | string, debt: number | string, range: number) => Promise<TGas>;
|
|
36
|
+
borrowMoreApprove: (collateral: number | string) => Promise<TGas>;
|
|
37
|
+
borrowMore: (collateral: number | string, debt: number | string) => Promise<TGas>;
|
|
38
|
+
addCollateralApprove: (collateral: number | string) => Promise<TGas>;
|
|
39
|
+
addCollateral: (collateral: number | string, address?: string) => Promise<TGas>;
|
|
40
|
+
removeCollateral: (collateral: number | string) => Promise<TGas>;
|
|
41
|
+
repayApprove: (debt: number | string) => Promise<TGas>;
|
|
42
|
+
repay: (debt: number | string, address?: string) => Promise<TGas>;
|
|
43
|
+
fullRepayApprove: (address?: string) => Promise<TGas>;
|
|
44
|
+
fullRepay: (address?: string) => Promise<TGas>;
|
|
45
|
+
swapApprove: (i: number, amount: number | string) => Promise<TGas>;
|
|
46
|
+
swap: (i: number, j: number, amount: number | string, slippage?: number) => Promise<TGas>;
|
|
47
|
+
liquidateApprove: (address: string) => Promise<TGas>;
|
|
48
|
+
liquidate: (address: string, slippage?: number) => Promise<TGas>;
|
|
49
|
+
selfLiquidateApprove: () => Promise<TGas>;
|
|
50
|
+
selfLiquidate: (slippage?: number) => Promise<TGas>;
|
|
51
|
+
};
|
|
52
|
+
stats: {
|
|
53
|
+
parameters: () => Promise<{
|
|
54
|
+
fee: string;
|
|
55
|
+
admin_fee: string;
|
|
56
|
+
liquidation_discount: string;
|
|
57
|
+
loan_discount: string;
|
|
58
|
+
base_price: string;
|
|
59
|
+
A: string;
|
|
60
|
+
}>;
|
|
61
|
+
rates: (isGetter?: boolean, useAPI?: boolean) => Promise<{
|
|
62
|
+
borrowApr: string;
|
|
63
|
+
lendApr: string;
|
|
64
|
+
borrowApy: string;
|
|
65
|
+
lendApy: string;
|
|
66
|
+
}>;
|
|
67
|
+
futureRates: (dReserves: TAmount, dDebt: TAmount) => Promise<{
|
|
68
|
+
borrowApr: string;
|
|
69
|
+
lendApr: string;
|
|
70
|
+
borrowApy: string;
|
|
71
|
+
lendApy: string;
|
|
72
|
+
}>;
|
|
73
|
+
balances: () => Promise<[string, string]>;
|
|
74
|
+
bandsInfo: () => Promise<{
|
|
75
|
+
activeBand: number;
|
|
76
|
+
maxBand: number;
|
|
77
|
+
minBand: number;
|
|
78
|
+
liquidationBand: number | null;
|
|
79
|
+
}>;
|
|
80
|
+
bandBalances: (n: number) => Promise<{
|
|
81
|
+
borrowed: string;
|
|
82
|
+
collateral: string;
|
|
83
|
+
}>;
|
|
84
|
+
bandsBalances: () => Promise<{
|
|
85
|
+
[index: number]: {
|
|
86
|
+
borrowed: string;
|
|
87
|
+
collateral: string;
|
|
88
|
+
};
|
|
89
|
+
}>;
|
|
90
|
+
totalDebt: (isGetter?: boolean, useAPI?: boolean) => Promise<string>;
|
|
91
|
+
ammBalances: (isGetter?: boolean, useAPI?: boolean) => Promise<{
|
|
92
|
+
borrowed: string;
|
|
93
|
+
collateral: string;
|
|
94
|
+
}>;
|
|
95
|
+
capAndAvailable: (isGetter?: boolean, useAPI?: boolean) => Promise<{
|
|
96
|
+
cap: string;
|
|
97
|
+
available: string;
|
|
98
|
+
}>;
|
|
99
|
+
};
|
|
100
|
+
wallet: {
|
|
101
|
+
balances: (address?: string) => Promise<{
|
|
102
|
+
collateral: string;
|
|
103
|
+
borrowed: string;
|
|
104
|
+
vaultShares: string;
|
|
105
|
+
gauge: string;
|
|
106
|
+
}>;
|
|
107
|
+
};
|
|
108
|
+
vault: {
|
|
109
|
+
maxDeposit: (address?: string) => Promise<string>;
|
|
110
|
+
previewDeposit: (amount: TAmount) => Promise<string>;
|
|
111
|
+
depositIsApproved: (borrowed: TAmount) => Promise<boolean>;
|
|
112
|
+
depositApprove: (borrowed: TAmount) => Promise<string[]>;
|
|
113
|
+
deposit: (amount: TAmount) => Promise<string>;
|
|
114
|
+
maxMint: (address?: string) => Promise<string>;
|
|
115
|
+
previewMint: (amount: TAmount) => Promise<string>;
|
|
116
|
+
mintIsApproved: (borrowed: TAmount) => Promise<boolean>;
|
|
117
|
+
mintApprove: (borrowed: TAmount) => Promise<string[]>;
|
|
118
|
+
mint: (amount: TAmount) => Promise<string>;
|
|
119
|
+
maxWithdraw: (address?: string) => Promise<string>;
|
|
120
|
+
previewWithdraw: (amount: TAmount) => Promise<string>;
|
|
121
|
+
withdraw: (amount: TAmount) => Promise<string>;
|
|
122
|
+
maxRedeem: (address?: string) => Promise<string>;
|
|
123
|
+
previewRedeem: (amount: TAmount) => Promise<string>;
|
|
124
|
+
redeem: (amount: TAmount) => Promise<string>;
|
|
125
|
+
convertToShares: (assets: TAmount) => Promise<string>;
|
|
126
|
+
convertToAssets: (shares: TAmount) => Promise<string>;
|
|
127
|
+
stakeIsApproved: (vaultShares: number | string) => Promise<boolean>;
|
|
128
|
+
stakeApprove: (vaultShares: number | string) => Promise<string[]>;
|
|
129
|
+
stake: (vaultShares: number | string) => Promise<string>;
|
|
130
|
+
unstake: (vaultShares: number | string) => Promise<string>;
|
|
131
|
+
rewardsOnly: () => boolean;
|
|
132
|
+
totalLiquidity: () => Promise<string>;
|
|
133
|
+
crvApr: (useApi?: boolean) => Promise<[baseApy: number, boostedApy: number]>;
|
|
134
|
+
claimableCrv: (address?: string) => Promise<string>;
|
|
135
|
+
claimCrv: () => Promise<string>;
|
|
136
|
+
rewardTokens: (useApi?: boolean) => Promise<{
|
|
137
|
+
token: string;
|
|
138
|
+
symbol: string;
|
|
139
|
+
decimals: number;
|
|
140
|
+
}[]>;
|
|
141
|
+
rewardsApr: (useApi?: boolean) => Promise<IReward[]>;
|
|
142
|
+
claimableRewards: (address?: string) => Promise<{
|
|
143
|
+
token: string;
|
|
144
|
+
symbol: string;
|
|
145
|
+
amount: string;
|
|
146
|
+
}[]>;
|
|
147
|
+
claimRewards: () => Promise<string>;
|
|
148
|
+
estimateGas: {
|
|
149
|
+
depositApprove: (amount: TAmount) => Promise<TGas>;
|
|
150
|
+
deposit: (amount: TAmount) => Promise<TGas>;
|
|
151
|
+
mintApprove: (amount: TAmount) => Promise<TGas>;
|
|
152
|
+
mint: (amount: TAmount) => Promise<TGas>;
|
|
153
|
+
withdraw: (amount: TAmount) => Promise<TGas>;
|
|
154
|
+
redeem: (amount: TAmount) => Promise<TGas>;
|
|
155
|
+
stakeApprove: (vaultShares: number | string) => Promise<TGas>;
|
|
156
|
+
stake: (vaultShares: number | string) => Promise<TGas>;
|
|
157
|
+
unstake: (vaultShares: number | string) => Promise<TGas>;
|
|
158
|
+
claimCrv: () => Promise<TGas>;
|
|
159
|
+
claimRewards: () => Promise<TGas>;
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
leverage: {
|
|
163
|
+
hasLeverage: () => boolean;
|
|
164
|
+
maxLeverage: (N: number) => Promise<string>;
|
|
165
|
+
createLoanMaxRecv: (userCollateral: TAmount, userBorrowed: TAmount, range: number) => Promise<{
|
|
166
|
+
maxDebt: string;
|
|
167
|
+
maxTotalCollateral: string;
|
|
168
|
+
userCollateral: string;
|
|
169
|
+
collateralFromUserBorrowed: string;
|
|
170
|
+
collateralFromMaxDebt: string;
|
|
171
|
+
maxLeverage: string;
|
|
172
|
+
avgPrice: string;
|
|
173
|
+
}>;
|
|
174
|
+
createLoanMaxRecvAllRanges: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<IDict<{
|
|
175
|
+
maxDebt: string;
|
|
176
|
+
maxTotalCollateral: string;
|
|
177
|
+
userCollateral: string;
|
|
178
|
+
collateralFromUserBorrowed: string;
|
|
179
|
+
collateralFromMaxDebt: string;
|
|
180
|
+
maxLeverage: string;
|
|
181
|
+
avgPrice: string;
|
|
182
|
+
}>>;
|
|
183
|
+
createLoanExpectedCollateral: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, slippage?: number) => Promise<{
|
|
184
|
+
totalCollateral: string;
|
|
185
|
+
userCollateral: string;
|
|
186
|
+
collateralFromUserBorrowed: string;
|
|
187
|
+
collateralFromDebt: string;
|
|
188
|
+
leverage: string;
|
|
189
|
+
avgPrice: string;
|
|
190
|
+
}>;
|
|
191
|
+
createLoanPriceImpact: (userBorrowed: TAmount, debt: TAmount) => Promise<string>;
|
|
192
|
+
createLoanMaxRange: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount) => Promise<number>;
|
|
193
|
+
createLoanBands: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number) => Promise<[number, number]>;
|
|
194
|
+
createLoanBandsAllRanges: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount) => Promise<IDict<[number, number] | null>>;
|
|
195
|
+
createLoanPrices: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number) => Promise<string[]>;
|
|
196
|
+
createLoanPricesAllRanges: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount) => Promise<IDict<[string, string] | null>>;
|
|
197
|
+
createLoanHealth: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, full?: boolean) => Promise<string>;
|
|
198
|
+
createLoanIsApproved: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<boolean>;
|
|
199
|
+
createLoanApprove: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<string[]>;
|
|
200
|
+
createLoanRouteImage: (userBorrowed: TAmount, debt: TAmount) => Promise<string>;
|
|
201
|
+
createLoan: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, slippage?: number) => Promise<string>;
|
|
202
|
+
borrowMoreMaxRecv: (userCollateral: TAmount, userBorrowed: TAmount, address?: string) => Promise<{
|
|
203
|
+
maxDebt: string;
|
|
204
|
+
maxTotalCollateral: string;
|
|
205
|
+
userCollateral: string;
|
|
206
|
+
collateralFromUserBorrowed: string;
|
|
207
|
+
collateralFromMaxDebt: string;
|
|
208
|
+
avgPrice: string;
|
|
209
|
+
}>;
|
|
210
|
+
borrowMoreExpectedCollateral: (userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, slippage?: number, address?: string) => Promise<{
|
|
211
|
+
totalCollateral: string;
|
|
212
|
+
userCollateral: string;
|
|
213
|
+
collateralFromUserBorrowed: string;
|
|
214
|
+
collateralFromDebt: string;
|
|
215
|
+
avgPrice: string;
|
|
216
|
+
}>;
|
|
217
|
+
borrowMorePriceImpact: (userBorrowed: TAmount, dDebt: TAmount, address?: string) => Promise<string>;
|
|
218
|
+
borrowMoreBands: (userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, address?: string) => Promise<[number, number]>;
|
|
219
|
+
borrowMorePrices: (userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, address?: string) => Promise<string[]>;
|
|
220
|
+
borrowMoreHealth: (userCollateral: TAmount, userBorrowed: TAmount, dDebt: TAmount, full?: boolean, address?: string) => Promise<string>;
|
|
221
|
+
borrowMoreIsApproved: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<boolean>;
|
|
222
|
+
borrowMoreApprove: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<string[]>;
|
|
223
|
+
borrowMoreRouteImage: (userBorrowed: TAmount, debt: TAmount) => Promise<string>;
|
|
224
|
+
borrowMore: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, slippage?: number) => Promise<string>;
|
|
225
|
+
repayExpectedBorrowed: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, slippage?: number) => Promise<{
|
|
226
|
+
totalBorrowed: string;
|
|
227
|
+
borrowedFromStateCollateral: string;
|
|
228
|
+
borrowedFromUserCollateral: string;
|
|
229
|
+
userBorrowed: string;
|
|
230
|
+
avgPrice: string;
|
|
231
|
+
}>;
|
|
232
|
+
repayPriceImpact: (stateCollateral: TAmount, userCollateral: TAmount) => Promise<string>;
|
|
233
|
+
repayIsFull: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string) => Promise<boolean>;
|
|
234
|
+
repayIsAvailable: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string) => Promise<boolean>;
|
|
235
|
+
repayBands: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string) => Promise<[number, number]>;
|
|
236
|
+
repayPrices: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, address?: string) => Promise<string[]>;
|
|
237
|
+
repayHealth: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, full?: boolean, address?: string) => Promise<string>;
|
|
238
|
+
repayIsApproved: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<boolean>;
|
|
239
|
+
repayApprove: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<string[]>;
|
|
240
|
+
repayRouteImage: (stateCollateral: TAmount, userCollateral: TAmount) => Promise<string>;
|
|
241
|
+
repay: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, slippage?: number) => Promise<string>;
|
|
242
|
+
estimateGas: {
|
|
243
|
+
createLoanApprove: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<TGas>;
|
|
244
|
+
createLoan: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, range: number, slippage?: number) => Promise<number>;
|
|
245
|
+
borrowMoreApprove: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<TGas>;
|
|
246
|
+
borrowMore: (userCollateral: TAmount, userBorrowed: TAmount, debt: TAmount, slippage?: number) => Promise<number>;
|
|
247
|
+
repayApprove: (userCollateral: TAmount, userBorrowed: TAmount) => Promise<TGas>;
|
|
248
|
+
repay: (stateCollateral: TAmount, userCollateral: TAmount, userBorrowed: TAmount, slippage?: number) => Promise<number>;
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
constructor(id: string, marketData: IOneWayMarket);
|
|
252
|
+
private _getMarketId;
|
|
253
|
+
private vaultMaxDeposit;
|
|
254
|
+
private vaultPreviewDeposit;
|
|
255
|
+
private vaultDepositIsApproved;
|
|
256
|
+
private vaultDepositApproveEstimateGas;
|
|
257
|
+
private vaultDepositApprove;
|
|
258
|
+
private _vaultDeposit;
|
|
259
|
+
private vaultDepositEstimateGas;
|
|
260
|
+
private vaultDeposit;
|
|
261
|
+
private vaultMaxMint;
|
|
262
|
+
private vaultPreviewMint;
|
|
263
|
+
private vaultMintIsApproved;
|
|
264
|
+
private vaultMintApproveEstimateGas;
|
|
265
|
+
private vaultMintApprove;
|
|
266
|
+
private _vaultMint;
|
|
267
|
+
private vaultMintEstimateGas;
|
|
268
|
+
private vaultMint;
|
|
269
|
+
private vaultMaxWithdraw;
|
|
270
|
+
private vaultPreviewWithdraw;
|
|
271
|
+
private _vaultWithdraw;
|
|
272
|
+
private vaultWithdrawEstimateGas;
|
|
273
|
+
private vaultWithdraw;
|
|
274
|
+
private vaultMaxRedeem;
|
|
275
|
+
private vaultPreviewRedeem;
|
|
276
|
+
private _vaultRedeem;
|
|
277
|
+
private vaultRedeemEstimateGas;
|
|
278
|
+
private vaultRedeem;
|
|
279
|
+
private vaultConvertToShares;
|
|
280
|
+
private vaultConvertToAssets;
|
|
281
|
+
private vaultStakeIsApproved;
|
|
282
|
+
private vaultStakeApproveEstimateGas;
|
|
283
|
+
private vaultStakeApprove;
|
|
284
|
+
private vaultStakeEstimateGas;
|
|
285
|
+
private vaultStake;
|
|
286
|
+
private vaultUnstakeEstimateGas;
|
|
287
|
+
private vaultUnstake;
|
|
288
|
+
private vaultRewardsOnly;
|
|
289
|
+
private vaultTotalLiquidity;
|
|
290
|
+
private _calcCrvApr;
|
|
291
|
+
private vaultCrvApr;
|
|
292
|
+
private vaultClaimableCrv;
|
|
293
|
+
private _vaultClaimCrv;
|
|
294
|
+
private vaultClaimCrvEstimateGas;
|
|
295
|
+
private vaultClaimCrv;
|
|
296
|
+
private vaultRewardTokens;
|
|
297
|
+
private vaultRewardsApr;
|
|
298
|
+
private vaultClaimableRewards;
|
|
299
|
+
private _vaultClaimRewards;
|
|
300
|
+
private vaultClaimRewardsEstimateGas;
|
|
301
|
+
private vaultClaimRewards;
|
|
302
|
+
private statsParameters;
|
|
303
|
+
private _getRate;
|
|
304
|
+
private _getFutureRate;
|
|
305
|
+
private statsRates;
|
|
306
|
+
private statsFutureRates;
|
|
307
|
+
private statsBalances;
|
|
308
|
+
private statsBandsInfo;
|
|
309
|
+
private statsBandBalances;
|
|
310
|
+
private statsBandsBalances;
|
|
311
|
+
private statsTotalDebt;
|
|
312
|
+
private statsAmmBalances;
|
|
313
|
+
private statsCapAndAvailable;
|
|
314
|
+
A: (() => Promise<string>) & memoize.Memoized<() => Promise<string>>;
|
|
315
|
+
basePrice: (() => Promise<string>) & memoize.Memoized<() => Promise<string>>;
|
|
316
|
+
oraclePrice: (() => Promise<string>) & memoize.Memoized<() => Promise<string>>;
|
|
317
|
+
oraclePriceBand(): Promise<number>;
|
|
318
|
+
price(): Promise<string>;
|
|
319
|
+
calcTickPrice(n: number): Promise<string>;
|
|
320
|
+
calcBandPrices(n: number): Promise<[string, string]>;
|
|
321
|
+
calcRangePct(range: number): Promise<string>;
|
|
322
|
+
private walletBalances;
|
|
323
|
+
userLoanExists(address?: string): Promise<boolean>;
|
|
324
|
+
_userState: ((address?: any) => Promise<{
|
|
325
|
+
_collateral: bigint;
|
|
326
|
+
_borrowed: bigint;
|
|
327
|
+
_debt: bigint;
|
|
328
|
+
_N: bigint;
|
|
329
|
+
}>) & memoize.Memoized<(address?: any) => Promise<{
|
|
330
|
+
_collateral: bigint;
|
|
331
|
+
_borrowed: bigint;
|
|
332
|
+
_debt: bigint;
|
|
333
|
+
_N: bigint;
|
|
334
|
+
}>>;
|
|
335
|
+
userState(address?: string): Promise<{
|
|
336
|
+
collateral: string;
|
|
337
|
+
borrowed: string;
|
|
338
|
+
debt: string;
|
|
339
|
+
N: string;
|
|
340
|
+
}>;
|
|
341
|
+
userHealth(full?: boolean, address?: string): Promise<string>;
|
|
342
|
+
private _userBands;
|
|
343
|
+
userBands(address?: string): Promise<number[]>;
|
|
344
|
+
userRange(address?: string): Promise<number>;
|
|
345
|
+
userPrices(address?: string): Promise<string[]>;
|
|
346
|
+
userLoss(userAddress?: string): Promise<{
|
|
347
|
+
deposited_collateral: string;
|
|
348
|
+
current_collateral_estimation: string;
|
|
349
|
+
loss: string;
|
|
350
|
+
loss_pct: string;
|
|
351
|
+
}>;
|
|
352
|
+
userBandsBalances(address?: string): Promise<IDict<{
|
|
353
|
+
collateral: string;
|
|
354
|
+
borrowed: string;
|
|
355
|
+
}>>;
|
|
356
|
+
private _checkRange;
|
|
357
|
+
createLoanMaxRecv(collateral: number | string, range: number): Promise<string>;
|
|
358
|
+
createLoanMaxRecvAllRanges: ((collateral: number | string) => Promise<{
|
|
359
|
+
[index: number]: string;
|
|
360
|
+
}>) & memoize.Memoized<(collateral: number | string) => Promise<{
|
|
361
|
+
[index: number]: string;
|
|
362
|
+
}>>;
|
|
363
|
+
getMaxRange(collateral: number | string, debt: number | string): Promise<number>;
|
|
364
|
+
private _calcN1;
|
|
365
|
+
private _calcN1AllRanges;
|
|
366
|
+
private _getPrices;
|
|
367
|
+
private _calcPrices;
|
|
368
|
+
private _createLoanBands;
|
|
369
|
+
private _createLoanBandsAllRanges;
|
|
370
|
+
createLoanBands(collateral: number | string, debt: number | string, range: number): Promise<[number, number]>;
|
|
371
|
+
createLoanBandsAllRanges(collateral: number | string, debt: number | string): Promise<{
|
|
372
|
+
[index: number]: [number, number] | null;
|
|
373
|
+
}>;
|
|
374
|
+
createLoanPrices(collateral: number | string, debt: number | string, range: number): Promise<string[]>;
|
|
375
|
+
createLoanPricesAllRanges(collateral: number | string, debt: number | string): Promise<{
|
|
376
|
+
[index: number]: [string, string] | null;
|
|
377
|
+
}>;
|
|
378
|
+
createLoanHealth(collateral: number | string, debt: number | string, range: number, full?: boolean): Promise<string>;
|
|
379
|
+
createLoanIsApproved(collateral: number | string): Promise<boolean>;
|
|
380
|
+
private createLoanApproveEstimateGas;
|
|
381
|
+
createLoanApprove(collateral: number | string): Promise<string[]>;
|
|
382
|
+
private _createLoan;
|
|
383
|
+
createLoanEstimateGas(collateral: number | string, debt: number | string, range: number): Promise<TGas>;
|
|
384
|
+
createLoan(collateral: number | string, debt: number | string, range: number): Promise<string>;
|
|
385
|
+
borrowMoreMaxRecv(collateralAmount: number | string): Promise<string>;
|
|
386
|
+
private _borrowMoreBands;
|
|
387
|
+
borrowMoreBands(collateral: number | string, debt: number | string): Promise<[number, number]>;
|
|
388
|
+
borrowMorePrices(collateral: number | string, debt: number | string): Promise<string[]>;
|
|
389
|
+
borrowMoreHealth(collateral: number | string, debt: number | string, full?: boolean, address?: string): Promise<string>;
|
|
390
|
+
borrowMoreIsApproved(collateral: number | string): Promise<boolean>;
|
|
391
|
+
private borrowMoreApproveEstimateGas;
|
|
392
|
+
borrowMoreApprove(collateral: number | string): Promise<string[]>;
|
|
393
|
+
private _borrowMore;
|
|
394
|
+
borrowMoreEstimateGas(collateral: number | string, debt: number | string): Promise<TGas>;
|
|
395
|
+
borrowMore(collateral: number | string, debt: number | string): Promise<string>;
|
|
396
|
+
private _addCollateralBands;
|
|
397
|
+
addCollateralBands(collateral: number | string, address?: string): Promise<[number, number]>;
|
|
398
|
+
addCollateralPrices(collateral: number | string, address?: string): Promise<string[]>;
|
|
399
|
+
addCollateralHealth(collateral: number | string, full?: boolean, address?: string): Promise<string>;
|
|
400
|
+
addCollateralIsApproved(collateral: number | string): Promise<boolean>;
|
|
401
|
+
private addCollateralApproveEstimateGas;
|
|
402
|
+
addCollateralApprove(collateral: number | string): Promise<string[]>;
|
|
403
|
+
private _addCollateral;
|
|
404
|
+
addCollateralEstimateGas(collateral: number | string, address?: string): Promise<TGas>;
|
|
405
|
+
addCollateral(collateral: number | string, address?: string): Promise<string>;
|
|
406
|
+
maxRemovable(): Promise<string>;
|
|
407
|
+
private _removeCollateralBands;
|
|
408
|
+
removeCollateralBands(collateral: number | string): Promise<[number, number]>;
|
|
409
|
+
removeCollateralPrices(collateral: number | string): Promise<string[]>;
|
|
410
|
+
removeCollateralHealth(collateral: number | string, full?: boolean, address?: string): Promise<string>;
|
|
411
|
+
private _removeCollateral;
|
|
412
|
+
removeCollateralEstimateGas(collateral: number | string): Promise<TGas>;
|
|
413
|
+
removeCollateral(collateral: number | string): Promise<string>;
|
|
414
|
+
private _repayBands;
|
|
415
|
+
repayBands(debt: number | string, address?: string): Promise<[number, number]>;
|
|
416
|
+
repayPrices(debt: number | string, address?: string): Promise<string[]>;
|
|
417
|
+
repayIsApproved(debt: number | string): Promise<boolean>;
|
|
418
|
+
private repayApproveEstimateGas;
|
|
419
|
+
repayApprove(debt: number | string): Promise<string[]>;
|
|
420
|
+
repayHealth(debt: number | string, full?: boolean, address?: string): Promise<string>;
|
|
421
|
+
private _repay;
|
|
422
|
+
repayEstimateGas(debt: number | string, address?: string): Promise<TGas>;
|
|
423
|
+
repay(debt: number | string, address?: string): Promise<string>;
|
|
424
|
+
private _fullRepayAmount;
|
|
425
|
+
fullRepayIsApproved(address?: string): Promise<boolean>;
|
|
426
|
+
private fullRepayApproveEstimateGas;
|
|
427
|
+
fullRepayApprove(address?: string): Promise<string[]>;
|
|
428
|
+
fullRepayEstimateGas(address?: string): Promise<TGas>;
|
|
429
|
+
fullRepay(address?: string): Promise<string>;
|
|
430
|
+
maxSwappable(i: number, j: number): Promise<string>;
|
|
431
|
+
private _swapExpected;
|
|
432
|
+
swapExpected(i: number, j: number, amount: number | string): Promise<string>;
|
|
433
|
+
swapRequired(i: number, j: number, outAmount: number | string): Promise<string>;
|
|
434
|
+
swapPriceImpact(i: number, j: number, amount: number | string): Promise<string>;
|
|
435
|
+
swapIsApproved(i: number, amount: number | string): Promise<boolean>;
|
|
436
|
+
private swapApproveEstimateGas;
|
|
437
|
+
swapApprove(i: number, amount: number | string): Promise<string[]>;
|
|
438
|
+
private _swap;
|
|
439
|
+
swapEstimateGas(i: number, j: number, amount: number | string, slippage?: number): Promise<TGas>;
|
|
440
|
+
swap(i: number, j: number, amount: number | string, slippage?: number): Promise<string>;
|
|
441
|
+
tokensToLiquidate(address?: string): Promise<string>;
|
|
442
|
+
liquidateIsApproved(address?: string): Promise<boolean>;
|
|
443
|
+
private liquidateApproveEstimateGas;
|
|
444
|
+
liquidateApprove(address?: string): Promise<string[]>;
|
|
445
|
+
private _liquidate;
|
|
446
|
+
liquidateEstimateGas(address: string, slippage?: number): Promise<TGas>;
|
|
447
|
+
liquidate(address: string, slippage?: number): Promise<string>;
|
|
448
|
+
selfLiquidateIsApproved(): Promise<boolean>;
|
|
449
|
+
private selfLiquidateApproveEstimateGas;
|
|
450
|
+
selfLiquidateApprove(): Promise<string[]>;
|
|
451
|
+
selfLiquidateEstimateGas(slippage?: number): Promise<TGas>;
|
|
452
|
+
selfLiquidate(slippage?: number): Promise<string>;
|
|
453
|
+
private hasLeverage;
|
|
454
|
+
private _checkLeverageZap;
|
|
455
|
+
private _get_k_effective_BN;
|
|
456
|
+
private maxLeverage;
|
|
457
|
+
private leverageCreateLoanMaxRecv;
|
|
458
|
+
private leverageCreateLoanMaxRecvAllRanges;
|
|
459
|
+
private _setSwapDataToCache;
|
|
460
|
+
private _getSwapDataFromCache;
|
|
461
|
+
private _leverageExpectedCollateral;
|
|
462
|
+
private leverageCreateLoanExpectedCollateral;
|
|
463
|
+
private leverageCreateLoanPriceImpact;
|
|
464
|
+
private leverageCreateLoanMaxRange;
|
|
465
|
+
private _leverageCalcN1;
|
|
466
|
+
private _leverageCalcN1AllRanges;
|
|
467
|
+
private _leverageBands;
|
|
468
|
+
private _leverageCreateLoanBandsAllRanges;
|
|
469
|
+
private leverageCreateLoanBands;
|
|
470
|
+
private leverageCreateLoanBandsAllRanges;
|
|
471
|
+
private leverageCreateLoanPrices;
|
|
472
|
+
private leverageCreateLoanPricesAllRanges;
|
|
473
|
+
private _leverageHealth;
|
|
474
|
+
private leverageCreateLoanHealth;
|
|
475
|
+
private leverageCreateLoanIsApproved;
|
|
476
|
+
private leverageCreateLoanApproveEstimateGas;
|
|
477
|
+
private leverageCreateLoanApprove;
|
|
478
|
+
private leverageCreateLoanRouteImage;
|
|
479
|
+
private _leverageCreateLoan;
|
|
480
|
+
private leverageCreateLoanEstimateGas;
|
|
481
|
+
private leverageCreateLoan;
|
|
482
|
+
private leverageBorrowMoreMaxRecv;
|
|
483
|
+
private leverageBorrowMoreExpectedCollateral;
|
|
484
|
+
private leverageBorrowMorePriceImpact;
|
|
485
|
+
private leverageBorrowMoreBands;
|
|
486
|
+
private leverageBorrowMorePrices;
|
|
487
|
+
private leverageBorrowMoreHealth;
|
|
488
|
+
private leverageBorrowMoreRouteImage;
|
|
489
|
+
private _leverageBorrowMore;
|
|
490
|
+
private leverageBorrowMoreEstimateGas;
|
|
491
|
+
private leverageBorrowMore;
|
|
492
|
+
private _leverageRepayExpectedBorrowed;
|
|
493
|
+
private leverageRepayExpectedBorrowed;
|
|
494
|
+
private leverageRepayPriceImpact;
|
|
495
|
+
private leverageRepayIsFull;
|
|
496
|
+
private leverageRepayIsAvailable;
|
|
497
|
+
private _leverageRepayBands;
|
|
498
|
+
private leverageRepayBands;
|
|
499
|
+
private leverageRepayPrices;
|
|
500
|
+
private leverageRepayHealth;
|
|
501
|
+
private leverageRepayIsApproved;
|
|
502
|
+
private leverageRepayApproveEstimateGas;
|
|
503
|
+
private leverageRepayApprove;
|
|
504
|
+
private leverageRepayRouteImage;
|
|
505
|
+
private _leverageRepay;
|
|
506
|
+
private leverageRepayEstimateGas;
|
|
507
|
+
private leverageRepay;
|
|
508
|
+
currentLeverage(userAddress?: string): Promise<string>;
|
|
509
|
+
currentPnL(userAddress?: string): Promise<Record<string, string>>;
|
|
510
|
+
}
|