@defisaver/positions-sdk 0.0.165 → 0.0.166-dev2
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/config/contracts.d.ts +72 -0
- package/cjs/config/contracts.js +6 -0
- package/cjs/contracts.d.ts +1 -0
- package/cjs/contracts.js +2 -1
- package/cjs/eulerV2/index.d.ts +40 -0
- package/cjs/eulerV2/index.js +207 -0
- package/cjs/helpers/eulerHelpers/index.d.ts +27 -0
- package/cjs/helpers/eulerHelpers/index.js +232 -0
- package/cjs/helpers/index.d.ts +1 -0
- package/cjs/helpers/index.js +2 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +3 -1
- package/cjs/markets/euler/index.d.ts +10 -0
- package/cjs/markets/euler/index.js +41 -0
- package/cjs/markets/index.d.ts +1 -0
- package/cjs/markets/index.js +3 -1
- package/cjs/services/utils.d.ts +2 -0
- package/cjs/services/utils.js +4 -1
- package/cjs/staking/staking.d.ts +1 -0
- package/cjs/staking/staking.js +10 -2
- package/cjs/types/contracts/generated/EulerV2View.d.ts +333 -0
- package/cjs/types/contracts/generated/EulerV2View.js +5 -0
- package/cjs/types/contracts/generated/index.d.ts +1 -0
- package/cjs/types/euler.d.ts +148 -0
- package/cjs/types/euler.js +15 -0
- package/cjs/types/index.d.ts +1 -0
- package/cjs/types/index.js +1 -0
- package/esm/config/contracts.d.ts +72 -0
- package/esm/config/contracts.js +6 -0
- package/esm/contracts.d.ts +1 -0
- package/esm/contracts.js +1 -0
- package/esm/eulerV2/index.d.ts +40 -0
- package/esm/eulerV2/index.js +199 -0
- package/esm/helpers/eulerHelpers/index.d.ts +27 -0
- package/esm/helpers/eulerHelpers/index.js +219 -0
- package/esm/helpers/index.d.ts +1 -0
- package/esm/helpers/index.js +1 -0
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -1
- package/esm/markets/euler/index.d.ts +10 -0
- package/esm/markets/euler/index.js +34 -0
- package/esm/markets/index.d.ts +1 -0
- package/esm/markets/index.js +1 -0
- package/esm/services/utils.d.ts +2 -0
- package/esm/services/utils.js +2 -0
- package/esm/staking/staking.d.ts +1 -0
- package/esm/staking/staking.js +8 -1
- package/esm/types/contracts/generated/EulerV2View.d.ts +333 -0
- package/esm/types/contracts/generated/EulerV2View.js +4 -0
- package/esm/types/contracts/generated/index.d.ts +1 -0
- package/esm/types/euler.d.ts +148 -0
- package/esm/types/euler.js +12 -0
- package/esm/types/index.d.ts +1 -0
- package/esm/types/index.js +1 -0
- package/package.json +2 -1
- package/src/config/contracts.js +6 -0
- package/src/contracts.ts +2 -0
- package/src/eulerV2/index.ts +286 -0
- package/src/helpers/eulerHelpers/index.ts +231 -0
- package/src/helpers/index.ts +2 -1
- package/src/index.ts +2 -0
- package/src/markets/euler/index.ts +38 -0
- package/src/markets/index.ts +3 -1
- package/src/services/utils.ts +3 -0
- package/src/staking/staking.ts +8 -1
- package/src/types/contracts/generated/EulerV2View.ts +434 -0
- package/src/types/contracts/generated/index.ts +1 -0
- package/src/types/euler.ts +171 -0
- package/src/types/index.ts +2 -1
package/src/index.ts
CHANGED
|
@@ -20,6 +20,7 @@ import * as chickenBonds from './chickenBonds';
|
|
|
20
20
|
import * as exchange from './exchange';
|
|
21
21
|
import * as morphoBlue from './morphoBlue';
|
|
22
22
|
import * as llamaLend from './llamaLend';
|
|
23
|
+
import * as eulerV2 from './eulerV2';
|
|
23
24
|
|
|
24
25
|
export * from './types';
|
|
25
26
|
|
|
@@ -43,4 +44,5 @@ export {
|
|
|
43
44
|
helpers,
|
|
44
45
|
morphoBlue,
|
|
45
46
|
llamaLend,
|
|
47
|
+
eulerV2,
|
|
46
48
|
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NetworkNumber } from '../../types/common';
|
|
2
|
+
import { EulerV2Market, EulerV2Versions } from '../../types';
|
|
3
|
+
|
|
4
|
+
export const eUSDC2 = (networkId: NetworkNumber): EulerV2Market => ({
|
|
5
|
+
chainIds: [NetworkNumber.Eth],
|
|
6
|
+
label: 'Euler Prime USDC',
|
|
7
|
+
shortLabel: 'eUSDC-2',
|
|
8
|
+
value: EulerV2Versions.eUSDC2,
|
|
9
|
+
asset: 'USDC',
|
|
10
|
+
secondLabel: 'Market',
|
|
11
|
+
marketAddress: '0x797DD80692c3b2dAdabCe8e30C07fDE5307D48a9',
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const eUSDC8 = (networkId: NetworkNumber): EulerV2Market => ({
|
|
15
|
+
chainIds: [NetworkNumber.Eth],
|
|
16
|
+
label: 'Stablecoin Maxi USDC',
|
|
17
|
+
shortLabel: 'eUSDC-8',
|
|
18
|
+
value: EulerV2Versions.eUSDC8,
|
|
19
|
+
asset: 'USDC',
|
|
20
|
+
secondLabel: 'Market',
|
|
21
|
+
marketAddress: '0xce45EF0414dE3516cAF1BCf937bF7F2Cf67873De',
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export const eWETH2 = (networkId: NetworkNumber): EulerV2Market => ({
|
|
25
|
+
chainIds: [NetworkNumber.Eth],
|
|
26
|
+
label: 'Euler Prime WETH',
|
|
27
|
+
shortLabel: 'eWETH-2',
|
|
28
|
+
value: EulerV2Versions.eWETH2,
|
|
29
|
+
asset: 'WETH',
|
|
30
|
+
secondLabel: 'Market',
|
|
31
|
+
marketAddress: '0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2',
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export const EulerV2Markets = (networkId: NetworkNumber) => ({
|
|
35
|
+
[EulerV2Versions.eUSDC2]: eUSDC2(networkId),
|
|
36
|
+
[EulerV2Versions.eUSDC8]: eUSDC8(networkId),
|
|
37
|
+
[EulerV2Versions.eWETH2]: eWETH2(networkId),
|
|
38
|
+
}) as const;
|
package/src/markets/index.ts
CHANGED
|
@@ -19,4 +19,6 @@ export {
|
|
|
19
19
|
export { SparkMarkets } from './spark';
|
|
20
20
|
export { CrvUsdMarkets } from './curveUsd';
|
|
21
21
|
export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
|
|
22
|
-
export { LlamaLendMarkets } from './llamaLend';
|
|
22
|
+
export { LlamaLendMarkets } from './llamaLend';
|
|
23
|
+
|
|
24
|
+
export { EulerV2Markets } from './euler';
|
package/src/services/utils.ts
CHANGED
|
@@ -52,3 +52,6 @@ export const mapRange = (input: number | string, minInput: number | string, maxI
|
|
|
52
52
|
// eslint-disable-next-line no-bitwise
|
|
53
53
|
export const isEnabledOnBitmap = (bitmap: number, assetId: number) => (BigInt(bitmap) >> BigInt(assetId)) & BigInt(1);
|
|
54
54
|
|
|
55
|
+
export const MAXUINT:string = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
|
|
56
|
+
|
|
57
|
+
export const isMaxuint = (amount: string) => compareAddresses(MAXUINT, amount);
|
package/src/staking/staking.ts
CHANGED
|
@@ -77,6 +77,12 @@ export const getDsrApy = async (web3: Web3, blockNumber: 'latest' | number = 'la
|
|
|
77
77
|
.toString();
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
+
export const getSsrApy = async () => {
|
|
81
|
+
const res = await fetch('https://app.defisaver.com/api/sky/data');
|
|
82
|
+
const data = await res.json();
|
|
83
|
+
return new Dec(data.data.skyData[0].sky_savings_rate_apy).mul(100).toString();
|
|
84
|
+
};
|
|
85
|
+
|
|
80
86
|
const getSuperOETHApy = async () => {
|
|
81
87
|
console.log('getSuperOETHApy');
|
|
82
88
|
const res = await fetch('https://origin.squids.live/origin-squid/graphql', {
|
|
@@ -103,7 +109,7 @@ const getApyFromDfsApi = async (asset: string) => {
|
|
|
103
109
|
return data.apy;
|
|
104
110
|
};
|
|
105
111
|
|
|
106
|
-
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb'];
|
|
112
|
+
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb', 'sUSDS'];
|
|
107
113
|
|
|
108
114
|
export const getStakingApy = (asset: string, web3: Web3, blockNumber: 'latest' | number = 'latest', fromBlock: number | undefined = undefined) => {
|
|
109
115
|
console.log('getStakingApy', asset, blockNumber, fromBlock);
|
|
@@ -120,6 +126,7 @@ export const getStakingApy = (asset: string, web3: Web3, blockNumber: 'latest' |
|
|
|
120
126
|
if (asset === 'rsETH' || asset === 'wrsETH') return getApyFromDfsApi('rsETH');
|
|
121
127
|
if (asset === 'pufETH') return getApyFromDfsApi('pufETH');
|
|
122
128
|
if (asset === 'wsuperOETHb') return getSuperOETHApy();
|
|
129
|
+
if (asset === 'sUSDS') return getSsrApy();
|
|
123
130
|
} catch (e) {
|
|
124
131
|
console.error(`Failed to fetch APY for ${asset}`);
|
|
125
132
|
return '0';
|
|
@@ -0,0 +1,434 @@
|
|
|
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 declare namespace EulerV2View {
|
|
25
|
+
export type LiquidityChangeParamsStruct =
|
|
26
|
+
| [string, boolean, number | string | BN, number | string | BN]
|
|
27
|
+
| {
|
|
28
|
+
vault: string;
|
|
29
|
+
isBorrowOperation: boolean;
|
|
30
|
+
liquidityAdded: number | string | BN;
|
|
31
|
+
liquidityRemoved: number | string | BN;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export type LiquidityChangeParamsStructOutputArray = [
|
|
35
|
+
string,
|
|
36
|
+
boolean,
|
|
37
|
+
string,
|
|
38
|
+
string
|
|
39
|
+
];
|
|
40
|
+
export type LiquidityChangeParamsStructOutputStruct = {
|
|
41
|
+
vault: string;
|
|
42
|
+
isBorrowOperation: boolean;
|
|
43
|
+
liquidityAdded: string;
|
|
44
|
+
liquidityRemoved: string;
|
|
45
|
+
};
|
|
46
|
+
export type LiquidityChangeParamsStructOutput =
|
|
47
|
+
LiquidityChangeParamsStructOutputArray &
|
|
48
|
+
LiquidityChangeParamsStructOutputStruct;
|
|
49
|
+
|
|
50
|
+
export type UserCollateralInfoStruct =
|
|
51
|
+
| [
|
|
52
|
+
string,
|
|
53
|
+
boolean,
|
|
54
|
+
number | string | BN,
|
|
55
|
+
number | string | BN,
|
|
56
|
+
number | string | BN
|
|
57
|
+
]
|
|
58
|
+
| {
|
|
59
|
+
collateralVault: string;
|
|
60
|
+
usedInBorrow: boolean;
|
|
61
|
+
collateralAmountInUnit: number | string | BN;
|
|
62
|
+
collateralAmountInAsset: number | string | BN;
|
|
63
|
+
collateralAmountInUSD: number | string | BN;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export type UserCollateralInfoStructOutputArray = [
|
|
67
|
+
string,
|
|
68
|
+
boolean,
|
|
69
|
+
string,
|
|
70
|
+
string,
|
|
71
|
+
string
|
|
72
|
+
];
|
|
73
|
+
export type UserCollateralInfoStructOutputStruct = {
|
|
74
|
+
collateralVault: string;
|
|
75
|
+
usedInBorrow: boolean;
|
|
76
|
+
collateralAmountInUnit: string;
|
|
77
|
+
collateralAmountInAsset: string;
|
|
78
|
+
collateralAmountInUSD: string;
|
|
79
|
+
};
|
|
80
|
+
export type UserCollateralInfoStructOutput =
|
|
81
|
+
UserCollateralInfoStructOutputArray & UserCollateralInfoStructOutputStruct;
|
|
82
|
+
|
|
83
|
+
export type UserDataStruct =
|
|
84
|
+
| [
|
|
85
|
+
string,
|
|
86
|
+
string,
|
|
87
|
+
boolean,
|
|
88
|
+
boolean,
|
|
89
|
+
string,
|
|
90
|
+
number | string | BN,
|
|
91
|
+
number | string | BN,
|
|
92
|
+
EulerV2View.UserCollateralInfoStruct[]
|
|
93
|
+
]
|
|
94
|
+
| {
|
|
95
|
+
user: string;
|
|
96
|
+
owner: string;
|
|
97
|
+
inLockDownMode: boolean;
|
|
98
|
+
inPermitDisabledMode: boolean;
|
|
99
|
+
borrowVault: string;
|
|
100
|
+
borrowAmountInUnit: number | string | BN;
|
|
101
|
+
borrowAmountInAsset: number | string | BN;
|
|
102
|
+
collaterals: EulerV2View.UserCollateralInfoStruct[];
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export type UserDataStructOutputArray = [
|
|
106
|
+
string,
|
|
107
|
+
string,
|
|
108
|
+
boolean,
|
|
109
|
+
boolean,
|
|
110
|
+
string,
|
|
111
|
+
string,
|
|
112
|
+
string,
|
|
113
|
+
EulerV2View.UserCollateralInfoStructOutput[]
|
|
114
|
+
];
|
|
115
|
+
export type UserDataStructOutputStruct = {
|
|
116
|
+
user: string;
|
|
117
|
+
owner: string;
|
|
118
|
+
inLockDownMode: boolean;
|
|
119
|
+
inPermitDisabledMode: boolean;
|
|
120
|
+
borrowVault: string;
|
|
121
|
+
borrowAmountInUnit: string;
|
|
122
|
+
borrowAmountInAsset: string;
|
|
123
|
+
collaterals: EulerV2View.UserCollateralInfoStructOutput[];
|
|
124
|
+
};
|
|
125
|
+
export type UserDataStructOutput = UserDataStructOutputArray &
|
|
126
|
+
UserDataStructOutputStruct;
|
|
127
|
+
|
|
128
|
+
export type CollateralInfoStruct =
|
|
129
|
+
| [
|
|
130
|
+
string,
|
|
131
|
+
string,
|
|
132
|
+
string,
|
|
133
|
+
number | string | BN,
|
|
134
|
+
number | string | BN,
|
|
135
|
+
number | string | BN,
|
|
136
|
+
number | string | BN,
|
|
137
|
+
number | string | BN,
|
|
138
|
+
number | string | BN,
|
|
139
|
+
number | string | BN,
|
|
140
|
+
number | string | BN,
|
|
141
|
+
number | string | BN,
|
|
142
|
+
number | string | BN,
|
|
143
|
+
number | string | BN,
|
|
144
|
+
number | string | BN,
|
|
145
|
+
number | string | BN
|
|
146
|
+
]
|
|
147
|
+
| {
|
|
148
|
+
vaultAddr: string;
|
|
149
|
+
assetAddr: string;
|
|
150
|
+
vaultSymbol: string;
|
|
151
|
+
decimals: number | string | BN;
|
|
152
|
+
sharePriceInUnit: number | string | BN;
|
|
153
|
+
assetPriceInUnit: number | string | BN;
|
|
154
|
+
cash: number | string | BN;
|
|
155
|
+
totalBorrows: number | string | BN;
|
|
156
|
+
supplyCap: number | string | BN;
|
|
157
|
+
borrowLTV: number | string | BN;
|
|
158
|
+
liquidationLTV: number | string | BN;
|
|
159
|
+
initialLiquidationLTV: number | string | BN;
|
|
160
|
+
targetTimestamp: number | string | BN;
|
|
161
|
+
rampDuration: number | string | BN;
|
|
162
|
+
interestFee: number | string | BN;
|
|
163
|
+
interestRate: number | string | BN;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export type CollateralInfoStructOutputArray = [
|
|
167
|
+
string,
|
|
168
|
+
string,
|
|
169
|
+
string,
|
|
170
|
+
string,
|
|
171
|
+
string,
|
|
172
|
+
string,
|
|
173
|
+
string,
|
|
174
|
+
string,
|
|
175
|
+
string,
|
|
176
|
+
string,
|
|
177
|
+
string,
|
|
178
|
+
string,
|
|
179
|
+
string,
|
|
180
|
+
string,
|
|
181
|
+
string,
|
|
182
|
+
string
|
|
183
|
+
];
|
|
184
|
+
export type CollateralInfoStructOutputStruct = {
|
|
185
|
+
vaultAddr: string;
|
|
186
|
+
assetAddr: string;
|
|
187
|
+
vaultSymbol: string;
|
|
188
|
+
decimals: string;
|
|
189
|
+
sharePriceInUnit: string;
|
|
190
|
+
assetPriceInUnit: string;
|
|
191
|
+
cash: string;
|
|
192
|
+
totalBorrows: string;
|
|
193
|
+
supplyCap: string;
|
|
194
|
+
borrowLTV: string;
|
|
195
|
+
liquidationLTV: string;
|
|
196
|
+
initialLiquidationLTV: string;
|
|
197
|
+
targetTimestamp: string;
|
|
198
|
+
rampDuration: string;
|
|
199
|
+
interestFee: string;
|
|
200
|
+
interestRate: string;
|
|
201
|
+
};
|
|
202
|
+
export type CollateralInfoStructOutput = CollateralInfoStructOutputArray &
|
|
203
|
+
CollateralInfoStructOutputStruct;
|
|
204
|
+
|
|
205
|
+
export type VaultInfoFullStruct =
|
|
206
|
+
| [
|
|
207
|
+
string,
|
|
208
|
+
string,
|
|
209
|
+
string,
|
|
210
|
+
string,
|
|
211
|
+
number | string | BN,
|
|
212
|
+
number | string | BN,
|
|
213
|
+
number | string | BN,
|
|
214
|
+
number | string | BN,
|
|
215
|
+
number | string | BN,
|
|
216
|
+
number | string | BN,
|
|
217
|
+
number | string | BN,
|
|
218
|
+
EulerV2View.CollateralInfoStruct[],
|
|
219
|
+
number | string | BN,
|
|
220
|
+
number | string | BN,
|
|
221
|
+
boolean,
|
|
222
|
+
string,
|
|
223
|
+
number | string | BN,
|
|
224
|
+
string,
|
|
225
|
+
number | string | BN,
|
|
226
|
+
number | string | BN,
|
|
227
|
+
number | string | BN,
|
|
228
|
+
string,
|
|
229
|
+
string,
|
|
230
|
+
string,
|
|
231
|
+
string,
|
|
232
|
+
number | string | BN
|
|
233
|
+
]
|
|
234
|
+
| {
|
|
235
|
+
vaultAddr: string;
|
|
236
|
+
assetAddr: string;
|
|
237
|
+
name: string;
|
|
238
|
+
symbol: string;
|
|
239
|
+
decimals: number | string | BN;
|
|
240
|
+
totalSupplyShares: number | string | BN;
|
|
241
|
+
cash: number | string | BN;
|
|
242
|
+
totalBorrows: number | string | BN;
|
|
243
|
+
totalAssets: number | string | BN;
|
|
244
|
+
supplyCap: number | string | BN;
|
|
245
|
+
borrowCap: number | string | BN;
|
|
246
|
+
collaterals: EulerV2View.CollateralInfoStruct[];
|
|
247
|
+
maxLiquidationDiscount: number | string | BN;
|
|
248
|
+
liquidationCoolOffTime: number | string | BN;
|
|
249
|
+
badDebtSocializationEnabled: boolean;
|
|
250
|
+
unitOfAccount: string;
|
|
251
|
+
unitOfAccountInUsd: number | string | BN;
|
|
252
|
+
oracle: string;
|
|
253
|
+
assetPriceInUnit: number | string | BN;
|
|
254
|
+
sharePriceInUnit: number | string | BN;
|
|
255
|
+
interestRate: number | string | BN;
|
|
256
|
+
irm: string;
|
|
257
|
+
balanceTrackerAddress: string;
|
|
258
|
+
creator: string;
|
|
259
|
+
governorAdmin: string;
|
|
260
|
+
interestFee: number | string | BN;
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
export type VaultInfoFullStructOutputArray = [
|
|
264
|
+
string,
|
|
265
|
+
string,
|
|
266
|
+
string,
|
|
267
|
+
string,
|
|
268
|
+
string,
|
|
269
|
+
string,
|
|
270
|
+
string,
|
|
271
|
+
string,
|
|
272
|
+
string,
|
|
273
|
+
string,
|
|
274
|
+
string,
|
|
275
|
+
EulerV2View.CollateralInfoStructOutput[],
|
|
276
|
+
string,
|
|
277
|
+
string,
|
|
278
|
+
boolean,
|
|
279
|
+
string,
|
|
280
|
+
string,
|
|
281
|
+
string,
|
|
282
|
+
string,
|
|
283
|
+
string,
|
|
284
|
+
string,
|
|
285
|
+
string,
|
|
286
|
+
string,
|
|
287
|
+
string,
|
|
288
|
+
string,
|
|
289
|
+
string
|
|
290
|
+
];
|
|
291
|
+
export type VaultInfoFullStructOutputStruct = {
|
|
292
|
+
vaultAddr: string;
|
|
293
|
+
assetAddr: string;
|
|
294
|
+
name: string;
|
|
295
|
+
symbol: string;
|
|
296
|
+
decimals: string;
|
|
297
|
+
totalSupplyShares: string;
|
|
298
|
+
cash: string;
|
|
299
|
+
totalBorrows: string;
|
|
300
|
+
totalAssets: string;
|
|
301
|
+
supplyCap: string;
|
|
302
|
+
borrowCap: string;
|
|
303
|
+
collaterals: EulerV2View.CollateralInfoStructOutput[];
|
|
304
|
+
maxLiquidationDiscount: string;
|
|
305
|
+
liquidationCoolOffTime: string;
|
|
306
|
+
badDebtSocializationEnabled: boolean;
|
|
307
|
+
unitOfAccount: string;
|
|
308
|
+
unitOfAccountInUsd: string;
|
|
309
|
+
oracle: string;
|
|
310
|
+
assetPriceInUnit: string;
|
|
311
|
+
sharePriceInUnit: string;
|
|
312
|
+
interestRate: string;
|
|
313
|
+
irm: string;
|
|
314
|
+
balanceTrackerAddress: string;
|
|
315
|
+
creator: string;
|
|
316
|
+
governorAdmin: string;
|
|
317
|
+
interestFee: string;
|
|
318
|
+
};
|
|
319
|
+
export type VaultInfoFullStructOutput = VaultInfoFullStructOutputArray &
|
|
320
|
+
VaultInfoFullStructOutputStruct;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
export interface EulerV2View extends BaseContract {
|
|
324
|
+
constructor(
|
|
325
|
+
jsonInterface: any[],
|
|
326
|
+
address?: string,
|
|
327
|
+
options?: ContractOptions
|
|
328
|
+
): EulerV2View;
|
|
329
|
+
clone(): EulerV2View;
|
|
330
|
+
methods: {
|
|
331
|
+
USD(): NonPayableTransactionObject<string>;
|
|
332
|
+
|
|
333
|
+
feedRegistry(): NonPayableTransactionObject<string>;
|
|
334
|
+
|
|
335
|
+
fetchUsedAccounts(
|
|
336
|
+
_account: string,
|
|
337
|
+
_page: number | string | BN,
|
|
338
|
+
_perPage: number | string | BN
|
|
339
|
+
): NonPayableTransactionObject<
|
|
340
|
+
[string, string[]] & { owner: string; accounts: string[] }
|
|
341
|
+
>;
|
|
342
|
+
|
|
343
|
+
getAaveTokenPriceInETH(
|
|
344
|
+
_tokenAddr: string
|
|
345
|
+
): NonPayableTransactionObject<string>;
|
|
346
|
+
|
|
347
|
+
getAaveTokenPriceInUSD(
|
|
348
|
+
_tokenAddr: string
|
|
349
|
+
): NonPayableTransactionObject<string>;
|
|
350
|
+
|
|
351
|
+
getAaveV3TokenPriceInETH(
|
|
352
|
+
_tokenAddr: string
|
|
353
|
+
): NonPayableTransactionObject<string>;
|
|
354
|
+
|
|
355
|
+
getAaveV3TokenPriceInUSD(
|
|
356
|
+
_tokenAddr: string
|
|
357
|
+
): NonPayableTransactionObject<string>;
|
|
358
|
+
|
|
359
|
+
getAddrForChainlinkOracle(
|
|
360
|
+
_inputTokenAddr: string
|
|
361
|
+
): NonPayableTransactionObject<string>;
|
|
362
|
+
|
|
363
|
+
getApyAfterValuesEstimation(
|
|
364
|
+
params: EulerV2View.LiquidityChangeParamsStruct[]
|
|
365
|
+
): NonPayableTransactionObject<string[]>;
|
|
366
|
+
|
|
367
|
+
getChainlinkPriceInETH(
|
|
368
|
+
_inputTokenAddr: string
|
|
369
|
+
): NonPayableTransactionObject<string>;
|
|
370
|
+
|
|
371
|
+
getChainlinkPriceInUSD(
|
|
372
|
+
_inputTokenAddr: string,
|
|
373
|
+
_useFallback: boolean
|
|
374
|
+
): NonPayableTransactionObject<string>;
|
|
375
|
+
|
|
376
|
+
getPriceInETH(_inputTokenAddr: string): NonPayableTransactionObject<string>;
|
|
377
|
+
|
|
378
|
+
getPriceInUSD(_inputTokenAddr: string): NonPayableTransactionObject<string>;
|
|
379
|
+
|
|
380
|
+
"getRoundInfo(address,uint80,address)"(
|
|
381
|
+
_inputTokenAddr: string,
|
|
382
|
+
_roundId: number | string | BN,
|
|
383
|
+
aggregator: string
|
|
384
|
+
): NonPayableTransactionObject<
|
|
385
|
+
[string, string] & { updateTimestamp: string }
|
|
386
|
+
>;
|
|
387
|
+
|
|
388
|
+
"getRoundInfo(address,uint80)"(
|
|
389
|
+
_inputTokenAddr: string,
|
|
390
|
+
_roundId: number | string | BN
|
|
391
|
+
): NonPayableTransactionObject<
|
|
392
|
+
[string, string] & { updateTimestamp: string }
|
|
393
|
+
>;
|
|
394
|
+
|
|
395
|
+
getSparkTokenPriceInETH(
|
|
396
|
+
_tokenAddr: string
|
|
397
|
+
): NonPayableTransactionObject<string>;
|
|
398
|
+
|
|
399
|
+
getSparkTokenPriceInUSD(
|
|
400
|
+
_tokenAddr: string
|
|
401
|
+
): NonPayableTransactionObject<string>;
|
|
402
|
+
|
|
403
|
+
getUserData(
|
|
404
|
+
_user: string
|
|
405
|
+
): NonPayableTransactionObject<EulerV2View.UserDataStructOutput>;
|
|
406
|
+
|
|
407
|
+
getUsersData(
|
|
408
|
+
_users: string[]
|
|
409
|
+
): NonPayableTransactionObject<EulerV2View.UserDataStructOutput[]>;
|
|
410
|
+
|
|
411
|
+
getVaultCollaterals(
|
|
412
|
+
_vault: string
|
|
413
|
+
): NonPayableTransactionObject<EulerV2View.CollateralInfoStructOutput[]>;
|
|
414
|
+
|
|
415
|
+
getVaultInfoFull(
|
|
416
|
+
_vault: string
|
|
417
|
+
): NonPayableTransactionObject<EulerV2View.VaultInfoFullStructOutput>;
|
|
418
|
+
|
|
419
|
+
getVaultsInfosFull(
|
|
420
|
+
_vaults: string[]
|
|
421
|
+
): NonPayableTransactionObject<EulerV2View.VaultInfoFullStructOutput[]>;
|
|
422
|
+
|
|
423
|
+
getWBtcPrice(
|
|
424
|
+
_btcPrice: number | string | BN
|
|
425
|
+
): NonPayableTransactionObject<string>;
|
|
426
|
+
|
|
427
|
+
getWStEthPrice(
|
|
428
|
+
_stEthPrice: number | string | BN
|
|
429
|
+
): NonPayableTransactionObject<string>;
|
|
430
|
+
};
|
|
431
|
+
events: {
|
|
432
|
+
allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
|
|
433
|
+
};
|
|
434
|
+
}
|
|
@@ -29,6 +29,7 @@ export type { CompoundLoanInfo } from "./CompoundLoanInfo";
|
|
|
29
29
|
export type { Comptroller } from "./Comptroller";
|
|
30
30
|
export type { ETHPriceFeed } from "./ETHPriceFeed";
|
|
31
31
|
export type { Erc20 } from "./Erc20";
|
|
32
|
+
export type { EulerV2View } from "./EulerV2View";
|
|
32
33
|
export type { FeedRegistry } from "./FeedRegistry";
|
|
33
34
|
export type { GHO } from "./GHO";
|
|
34
35
|
export type { GhoDiscountRateStrategy } from "./GhoDiscountRateStrategy";
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MMPositionData, NetworkNumber,
|
|
3
|
+
} from './common';
|
|
4
|
+
|
|
5
|
+
export enum EulerV2Versions {
|
|
6
|
+
eUSDC2 = 'eUSDC-2',
|
|
7
|
+
eUSDC8 = 'eUSDC-8',
|
|
8
|
+
eWETH2 = 'eWETH-2',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export enum EulerV2VaultType {
|
|
12
|
+
Escrow = 'Escrow',
|
|
13
|
+
Governed = 'Governed',
|
|
14
|
+
Ungoverned = 'Ungoverned',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface EulerV2Market {
|
|
18
|
+
chainIds: NetworkNumber[],
|
|
19
|
+
label: string,
|
|
20
|
+
shortLabel: string,
|
|
21
|
+
asset: string,
|
|
22
|
+
value: EulerV2Versions,
|
|
23
|
+
secondLabel: string,
|
|
24
|
+
marketAddress: string,
|
|
25
|
+
// icon: Function,
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface EulerV2PositionData extends MMPositionData {
|
|
29
|
+
ratio: string,
|
|
30
|
+
minRatio: string,
|
|
31
|
+
borrowedUsd: string,
|
|
32
|
+
borrowLimitUsd: string,
|
|
33
|
+
incentiveUsd: string,
|
|
34
|
+
totalInterestUsd: string,
|
|
35
|
+
isSubscribedToAutomation?: boolean,
|
|
36
|
+
automationResubscribeRequired?: boolean,
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface EulerV2AssetData {
|
|
40
|
+
vaultAddress: string,
|
|
41
|
+
vaultSymbol: string
|
|
42
|
+
sortIndex?: number
|
|
43
|
+
liquidationRatio: string
|
|
44
|
+
cash: string
|
|
45
|
+
supplyCap: string
|
|
46
|
+
assetAddress: string
|
|
47
|
+
decimals: string
|
|
48
|
+
symbol: string
|
|
49
|
+
price: string
|
|
50
|
+
borrowCap: string
|
|
51
|
+
canBeBorrowed: boolean
|
|
52
|
+
canBeSupplied: boolean
|
|
53
|
+
incentiveSupplyApy?: string
|
|
54
|
+
incentiveSupplyToken?: string
|
|
55
|
+
totalBorrow: string
|
|
56
|
+
collateralFactor: string
|
|
57
|
+
borrowRate: string
|
|
58
|
+
supplyRate: string
|
|
59
|
+
utilization: string
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface EulerV2UsedAsset {
|
|
63
|
+
isSupplied: boolean
|
|
64
|
+
isBorrowed: boolean
|
|
65
|
+
supplied: string
|
|
66
|
+
suppliedUsd: string
|
|
67
|
+
borrowed: string
|
|
68
|
+
borrowedUsd: string
|
|
69
|
+
symbol: string
|
|
70
|
+
collateral: boolean
|
|
71
|
+
vaultAddress: string
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface EulerV2MarketInfoData {
|
|
75
|
+
name: string,
|
|
76
|
+
symbol: string,
|
|
77
|
+
decimals: string,
|
|
78
|
+
vaultAddress: string,
|
|
79
|
+
irm: string,
|
|
80
|
+
creator: string,
|
|
81
|
+
governorAdmin: string,
|
|
82
|
+
unitOfAccount: string,
|
|
83
|
+
unitOfAccountUsdPrice: string,
|
|
84
|
+
isInUSD: boolean,
|
|
85
|
+
oracle: string,
|
|
86
|
+
collaterals: string[],
|
|
87
|
+
isEscrow: boolean,
|
|
88
|
+
isGoverned: boolean,
|
|
89
|
+
vaultType: EulerV2VaultType,
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export type EulerV2AssetsData = { [key: string]: EulerV2AssetData };
|
|
93
|
+
export type EulerV2UsedAssets = { [key: string]: EulerV2UsedAsset };
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
export interface EulerV2CollateralInfo {
|
|
97
|
+
lltv: string
|
|
98
|
+
borrowLtv: string
|
|
99
|
+
totalBorrows: string
|
|
100
|
+
cash: string
|
|
101
|
+
supplyCap: string
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface EulerV2MarketData {
|
|
105
|
+
name: string
|
|
106
|
+
symbol: string
|
|
107
|
+
decimals: number
|
|
108
|
+
|
|
109
|
+
totalSupplyShares: string
|
|
110
|
+
cash: string
|
|
111
|
+
totalBorrows: string
|
|
112
|
+
totalAssets: string
|
|
113
|
+
supplyCap: string
|
|
114
|
+
borrowCap: string
|
|
115
|
+
|
|
116
|
+
collaterals: string[]
|
|
117
|
+
|
|
118
|
+
badDebtSocializationEnabled: boolean
|
|
119
|
+
|
|
120
|
+
unitOfAccount: string
|
|
121
|
+
oracle: string
|
|
122
|
+
assetPrice: string
|
|
123
|
+
|
|
124
|
+
interestRate: string
|
|
125
|
+
irm: string
|
|
126
|
+
|
|
127
|
+
creator: string
|
|
128
|
+
|
|
129
|
+
governorAdmin: string
|
|
130
|
+
|
|
131
|
+
interestFee: string
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface EulerV2FullMarketData {
|
|
135
|
+
marketData: EulerV2MarketInfoData
|
|
136
|
+
assetsData: EulerV2AssetsData
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export interface EulerV2AccountData {
|
|
140
|
+
owner: string
|
|
141
|
+
inLockDownMode: boolean
|
|
142
|
+
inPermitDisabledMode: boolean
|
|
143
|
+
|
|
144
|
+
borrowVault: string
|
|
145
|
+
borrowAmountInUnit: string
|
|
146
|
+
|
|
147
|
+
collaterals: string[] // all collaterals user has enabled on main evc contract (globally - not only collaterals for his borrow market)
|
|
148
|
+
collateralAmountsInUnit: string[] // only amounts used as collateral for his debt (empty array if no debt)
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface EulerV2AggregatedPositionData {
|
|
152
|
+
suppliedUsd: string,
|
|
153
|
+
suppliedCollateralUsd: string,
|
|
154
|
+
borrowedUsd: string,
|
|
155
|
+
borrowLimitUsd: string,
|
|
156
|
+
liquidationLimitUsd: string,
|
|
157
|
+
leftToBorrowUsd: string,
|
|
158
|
+
ratio: string,
|
|
159
|
+
collRatio: string,
|
|
160
|
+
netApy: string,
|
|
161
|
+
incentiveUsd: string,
|
|
162
|
+
totalInterestUsd: string,
|
|
163
|
+
liqRatio: string,
|
|
164
|
+
liqPercent: string,
|
|
165
|
+
leveragedType: string,
|
|
166
|
+
leveragedAsset?: string,
|
|
167
|
+
leveragedLsdAssetRatio?: string,
|
|
168
|
+
liquidationPrice?: string,
|
|
169
|
+
minRatio: string,
|
|
170
|
+
minDebt: string,
|
|
171
|
+
}
|