@metamask-previews/earn-controller 0.14.0-preview-de21a3fe → 0.14.0-preview-4ef4efd7
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/CHANGELOG.md +25 -0
- package/dist/EarnController.cjs +438 -91
- package/dist/EarnController.cjs.map +1 -1
- package/dist/EarnController.d.cts +224 -25
- package/dist/EarnController.d.cts.map +1 -1
- package/dist/EarnController.d.mts +224 -25
- package/dist/EarnController.d.mts.map +1 -1
- package/dist/EarnController.mjs +439 -92
- package/dist/EarnController.mjs.map +1 -1
- package/dist/index.cjs +29 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/selectors.cjs +106 -0
- package/dist/selectors.cjs.map +1 -0
- package/dist/selectors.d.cts +1484 -0
- package/dist/selectors.d.cts.map +1 -0
- package/dist/selectors.d.mts +1484 -0
- package/dist/selectors.d.mts.map +1 -0
- package/dist/selectors.mjs +97 -0
- package/dist/selectors.mjs.map +1 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +8 -0
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +8 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +6 -4
@@ -2,36 +2,64 @@ import type { AccountsControllerGetSelectedAccountAction, AccountsControllerSele
|
|
2
2
|
import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
|
3
3
|
import { BaseController } from "@metamask/base-controller";
|
4
4
|
import type { NetworkControllerGetNetworkClientByIdAction, NetworkControllerGetStateAction, NetworkControllerStateChangeEvent } from "@metamask/network-controller";
|
5
|
-
import { type PooledStake, type VaultData, type VaultDailyApy, type VaultApyAverages } from "@metamask/stake-sdk";
|
6
|
-
import { type TransactionControllerTransactionConfirmedEvent } from "@metamask/transaction-controller";
|
7
|
-
import type { RefreshPooledStakesOptions, RefreshPooledStakingDataOptions, RefreshStakingEligibilityOptions } from "./types.mjs";
|
5
|
+
import { type LendingMarket, type PooledStake, type VaultData, type VaultDailyApy, type VaultApyAverages, type LendingPosition, type GasLimitParams, type HistoricLendingMarketApys, EarnEnvironments } from "@metamask/stake-sdk";
|
6
|
+
import { type TransactionController, type TransactionControllerTransactionConfirmedEvent } from "@metamask/transaction-controller";
|
7
|
+
import type { RefreshLendingEligibilityOptions, RefreshLendingPositionsOptions, RefreshPooledStakesOptions, RefreshPooledStakingDataOptions, RefreshStakingEligibilityOptions } from "./types.mjs";
|
8
8
|
export declare const controllerName = "EarnController";
|
9
9
|
export type PooledStakingState = {
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
[chainId: number]: {
|
11
|
+
pooledStakes: PooledStake;
|
12
|
+
exchangeRate: string;
|
13
|
+
vaultMetadata: VaultData;
|
14
|
+
vaultDailyApys: VaultDailyApy[];
|
15
|
+
vaultApyAverages: VaultApyAverages;
|
16
|
+
};
|
15
17
|
isEligible: boolean;
|
16
18
|
};
|
17
|
-
export type
|
18
|
-
|
19
|
+
export type LendingPositionWithMarket = LendingPosition & {
|
20
|
+
marketId: string;
|
21
|
+
marketAddress: string;
|
22
|
+
protocol: string;
|
19
23
|
};
|
20
|
-
export type
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
export type LendingPositionWithMarketReference = Omit<LendingPosition, 'market'> & {
|
25
|
+
marketId: string;
|
26
|
+
marketAddress: string;
|
27
|
+
protocol: string;
|
28
|
+
};
|
29
|
+
export type LendingMarketWithPosition = LendingMarket & {
|
30
|
+
position: LendingPositionWithMarketReference;
|
31
|
+
};
|
32
|
+
export type LendingState = {
|
33
|
+
markets: LendingMarket[];
|
34
|
+
positions: LendingPositionWithMarketReference[];
|
35
|
+
isEligible: boolean;
|
29
36
|
};
|
30
37
|
export type EarnControllerState = {
|
31
38
|
pooled_staking: PooledStakingState;
|
32
|
-
|
39
|
+
lending: LendingState;
|
33
40
|
lastUpdated: number;
|
34
41
|
};
|
42
|
+
export declare const DEFAULT_LENDING_MARKET: LendingMarket;
|
43
|
+
export declare const DEFAULT_LENDING_POSITION: LendingPositionWithMarketReference;
|
44
|
+
export declare const DEFAULT_POOLED_STAKING_VAULT_APY_AVERAGES: VaultApyAverages;
|
45
|
+
export declare const DEFAULT_POOLED_STAKING_CHAIN_STATE: {
|
46
|
+
pooledStakes: {
|
47
|
+
account: string;
|
48
|
+
lifetimeRewards: string;
|
49
|
+
assets: string;
|
50
|
+
exitRequests: never[];
|
51
|
+
};
|
52
|
+
exchangeRate: string;
|
53
|
+
vaultMetadata: {
|
54
|
+
apy: string;
|
55
|
+
capacity: string;
|
56
|
+
feePercent: number;
|
57
|
+
totalAssets: string;
|
58
|
+
vaultAddress: string;
|
59
|
+
};
|
60
|
+
vaultDailyApys: never[];
|
61
|
+
vaultApyAverages: VaultApyAverages;
|
62
|
+
};
|
35
63
|
/**
|
36
64
|
* Gets the default state for the EarnController.
|
37
65
|
*
|
@@ -72,9 +100,11 @@ export type EarnControllerMessenger = RestrictedMessenger<typeof controllerName,
|
|
72
100
|
*/
|
73
101
|
export declare class EarnController extends BaseController<typeof controllerName, EarnControllerState, EarnControllerMessenger> {
|
74
102
|
#private;
|
75
|
-
constructor({ messenger, state, }: {
|
103
|
+
constructor({ messenger, state, addTransactionFn, env, }: {
|
76
104
|
messenger: EarnControllerMessenger;
|
77
105
|
state?: Partial<EarnControllerState>;
|
106
|
+
addTransactionFn: typeof TransactionController.prototype.addTransaction;
|
107
|
+
env?: EarnEnvironments;
|
78
108
|
});
|
79
109
|
/**
|
80
110
|
* Refreshes the pooled stakes data for the current account.
|
@@ -84,9 +114,10 @@ export declare class EarnController extends BaseController<typeof controllerName
|
|
84
114
|
* @param options - Optional arguments
|
85
115
|
* @param [options.resetCache] - Control whether the BE cache should be invalidated (optional).
|
86
116
|
* @param [options.address] - The address to refresh pooled stakes for (optional).
|
117
|
+
* @param [options.chainId] - The chain id to refresh pooled stakes for (optional).
|
87
118
|
* @returns A promise that resolves when the stakes data has been updated
|
88
119
|
*/
|
89
|
-
refreshPooledStakes({ resetCache, address, }?: RefreshPooledStakesOptions): Promise<void>;
|
120
|
+
refreshPooledStakes({ resetCache, address, chainId, }?: RefreshPooledStakesOptions): Promise<void>;
|
90
121
|
/**
|
91
122
|
* Refreshes the staking eligibility status for the current account.
|
92
123
|
* Updates the eligibility status in the controller state based on the location and address blocklist for compliance.
|
@@ -101,25 +132,28 @@ export declare class EarnController extends BaseController<typeof controllerName
|
|
101
132
|
* Updates the vault metadata in the controller state including APY, capacity,
|
102
133
|
* fee percentage, total assets, and vault address.
|
103
134
|
*
|
135
|
+
* @param chainId - The chain id to refresh pooled staking vault metadata for (optional).
|
104
136
|
* @returns A promise that resolves when the vault metadata has been updated
|
105
137
|
*/
|
106
|
-
refreshPooledStakingVaultMetadata(): Promise<void>;
|
138
|
+
refreshPooledStakingVaultMetadata(chainId?: number): Promise<void>;
|
107
139
|
/**
|
108
140
|
* Refreshes pooled staking vault daily apys for the current chain.
|
109
141
|
* Updates the pooled staking vault daily apys controller state.
|
110
142
|
*
|
143
|
+
* @param chainId - The chain id to refresh pooled staking vault daily apys for (optional).
|
111
144
|
* @param days - The number of days to fetch pooled staking vault daily apys for (defaults to 365).
|
112
145
|
* @param order - The order in which to fetch pooled staking vault daily apys. Descending order fetches the latest N days (latest working backwards). Ascending order fetches the oldest N days (oldest working forwards) (defaults to 'desc').
|
113
146
|
* @returns A promise that resolves when the pooled staking vault daily apys have been updated.
|
114
147
|
*/
|
115
|
-
refreshPooledStakingVaultDailyApys(days?: number, order?: 'asc' | 'desc'): Promise<void>;
|
148
|
+
refreshPooledStakingVaultDailyApys(chainId?: number, days?: number, order?: 'asc' | 'desc'): Promise<void>;
|
116
149
|
/**
|
117
150
|
* Refreshes pooled staking vault apy averages for the current chain.
|
118
151
|
* Updates the pooled staking vault apy averages controller state.
|
119
152
|
*
|
153
|
+
* @param chainId - The chain id to refresh pooled staking vault apy averages for (optional).
|
120
154
|
* @returns A promise that resolves when the pooled staking vault apy averages have been updated.
|
121
155
|
*/
|
122
|
-
refreshPooledStakingVaultApyAverages(): Promise<void>;
|
156
|
+
refreshPooledStakingVaultApyAverages(chainId?: number): Promise<void>;
|
123
157
|
/**
|
124
158
|
* Refreshes all pooled staking related data including stakes, eligibility, and vault data.
|
125
159
|
* This method allows partial success, meaning some data may update while other requests fail.
|
@@ -132,5 +166,170 @@ export declare class EarnController extends BaseController<typeof controllerName
|
|
132
166
|
* @throws {Error} If any of the refresh operations fail, with concatenated error messages
|
133
167
|
*/
|
134
168
|
refreshPooledStakingData({ resetCache, address, }?: RefreshPooledStakingDataOptions): Promise<void>;
|
169
|
+
/**
|
170
|
+
* Refreshes the lending markets data for all chains.
|
171
|
+
* Updates the lending markets in the controller state.
|
172
|
+
*
|
173
|
+
* @returns A promise that resolves when the lending markets have been updated
|
174
|
+
*/
|
175
|
+
refreshLendingMarkets(): Promise<void>;
|
176
|
+
/**
|
177
|
+
* Refreshes the lending positions for the current account.
|
178
|
+
* Updates the lending positions in the controller state.
|
179
|
+
*
|
180
|
+
* @param options - Optional arguments
|
181
|
+
* @param [options.address] - The address to refresh lending positions for (optional).
|
182
|
+
* @returns A promise that resolves when the lending positions have been updated
|
183
|
+
*/
|
184
|
+
refreshLendingPositions({ address, }?: RefreshLendingPositionsOptions): Promise<void>;
|
185
|
+
/**
|
186
|
+
* Refreshes the lending eligibility status for the current account.
|
187
|
+
* Updates the eligibility status in the controller state based on the location and address blocklist for compliance.
|
188
|
+
*
|
189
|
+
* @param options - Optional arguments
|
190
|
+
* @param [options.address] - The address to refresh lending eligibility for (optional).
|
191
|
+
* @returns A promise that resolves when the eligibility status has been updated
|
192
|
+
*/
|
193
|
+
refreshLendingEligibility({ address, }?: RefreshLendingEligibilityOptions): Promise<void>;
|
194
|
+
/**
|
195
|
+
* Refreshes all lending related data including markets, positions, and eligibility.
|
196
|
+
* This method allows partial success, meaning some data may update while other requests fail.
|
197
|
+
* All errors are collected and thrown as a single error message.
|
198
|
+
*
|
199
|
+
* @returns A promise that resolves when all possible data has been updated
|
200
|
+
* @throws {Error} If any of the refresh operations fail, with concatenated error messages
|
201
|
+
*/
|
202
|
+
refreshLendingData(): Promise<void>;
|
203
|
+
/**
|
204
|
+
* Gets the lending position history for the current account.
|
205
|
+
*
|
206
|
+
* @param options - Optional arguments
|
207
|
+
* @param [options.address] - The address to get lending position history for (optional).
|
208
|
+
* @param [options.chainId] - The chain id to get lending position history for (optional).
|
209
|
+
* @param [options.positionId] - The position id to get lending position history for.
|
210
|
+
* @param [options.marketId] - The market id to get lending position history for.
|
211
|
+
* @param [options.marketAddress] - The market address to get lending position history for.
|
212
|
+
* @param [options.protocol] - The protocol to get lending position history for.
|
213
|
+
* @param [options.days] - The number of days to get lending position history for (optional).
|
214
|
+
* @returns A promise that resolves when the lending position history has been updated
|
215
|
+
*/
|
216
|
+
getLendingPositionHistory({ address, chainId, positionId, marketId, marketAddress, protocol, days, }: {
|
217
|
+
address?: string;
|
218
|
+
chainId?: number;
|
219
|
+
positionId: string;
|
220
|
+
marketId: string;
|
221
|
+
marketAddress: string;
|
222
|
+
protocol: string;
|
223
|
+
days?: number;
|
224
|
+
}): never[] | Promise<import("@metamask/stake-sdk").LendingPositionHistory[]>;
|
225
|
+
/**
|
226
|
+
* Gets the lending market daily apys and averages for the current chain.
|
227
|
+
*
|
228
|
+
* @param options - Optional arguments
|
229
|
+
* @param [options.chainId] - The chain id to get lending market daily apys and averages for (optional).
|
230
|
+
* @param [options.protocol] - The protocol to get lending market daily apys and averages for.
|
231
|
+
* @param [options.marketId] - The market id to get lending market daily apys and averages for.
|
232
|
+
* @param [options.days] - The number of days to get lending market daily apys and averages for (optional).
|
233
|
+
* @returns A promise that resolves when the lending market daily apys and averages have been updated
|
234
|
+
*/
|
235
|
+
getLendingMarketDailyApysAndAverages({ chainId, protocol, marketId, days, }: {
|
236
|
+
chainId?: number;
|
237
|
+
protocol: string;
|
238
|
+
marketId: string;
|
239
|
+
days?: number;
|
240
|
+
}): Promise<HistoricLendingMarketApys> | undefined;
|
241
|
+
/**
|
242
|
+
* Executes a lending deposit transaction.
|
243
|
+
*
|
244
|
+
* @param options - The options for the lending deposit transaction.
|
245
|
+
* @param options.amount - The amount to deposit.
|
246
|
+
* @param options.protocol - The protocol of the lending market.
|
247
|
+
* @param options.underlyingTokenAddress - The address of the underlying token.
|
248
|
+
* @param options.gasOptions - The gas options for the transaction.
|
249
|
+
* @param options.gasOptions.gasLimit - The gas limit for the transaction.
|
250
|
+
* @param options.gasOptions.gasBufferPct - The gas buffer percentage for the transaction.
|
251
|
+
* @param options.txOptions - The transaction options for the transaction.
|
252
|
+
* @returns A promise that resolves to the transaction hash.
|
253
|
+
*/
|
254
|
+
executeLendingDeposit({ amount, protocol, underlyingTokenAddress, gasOptions, txOptions, }: {
|
255
|
+
amount: string;
|
256
|
+
protocol: LendingMarket['protocol'];
|
257
|
+
underlyingTokenAddress: string;
|
258
|
+
gasOptions: {
|
259
|
+
gasLimit?: GasLimitParams;
|
260
|
+
gasBufferPct?: number;
|
261
|
+
};
|
262
|
+
txOptions: Parameters<typeof TransactionController.prototype.addTransaction>[1];
|
263
|
+
}): Promise<import("@metamask/transaction-controller").Result>;
|
264
|
+
/**
|
265
|
+
* Executes a lending withdraw transaction.
|
266
|
+
*
|
267
|
+
* @param options - The options for the lending withdraw transaction.
|
268
|
+
* @param options.amount - The amount to withdraw.
|
269
|
+
* @param options.protocol - The protocol of the lending market.
|
270
|
+
* @param options.underlyingTokenAddress - The address of the underlying token.
|
271
|
+
* @param options.gasOptions - The gas options for the transaction.
|
272
|
+
* @param options.gasOptions.gasLimit - The gas limit for the transaction.
|
273
|
+
* @param options.gasOptions.gasBufferPct - The gas buffer percentage for the transaction.
|
274
|
+
* @param options.txOptions - The transaction options for the transaction.
|
275
|
+
* @returns A promise that resolves to the transaction hash.
|
276
|
+
*/
|
277
|
+
executeLendingWithdraw({ amount, protocol, underlyingTokenAddress, gasOptions, txOptions, }: {
|
278
|
+
amount: string;
|
279
|
+
protocol: LendingMarket['protocol'];
|
280
|
+
underlyingTokenAddress: string;
|
281
|
+
gasOptions: {
|
282
|
+
gasLimit?: GasLimitParams;
|
283
|
+
gasBufferPct?: number;
|
284
|
+
};
|
285
|
+
txOptions: Parameters<typeof TransactionController.prototype.addTransaction>[1];
|
286
|
+
}): Promise<import("@metamask/transaction-controller").Result>;
|
287
|
+
/**
|
288
|
+
* Executes a lending token approve transaction.
|
289
|
+
*
|
290
|
+
* @param options - The options for the lending token approve transaction.
|
291
|
+
* @param options.amount - The amount to approve.
|
292
|
+
* @param options.protocol - The protocol of the lending market.
|
293
|
+
* @param options.underlyingTokenAddress - The address of the underlying token.
|
294
|
+
* @param options.gasOptions - The gas options for the transaction.
|
295
|
+
* @param options.gasOptions.gasLimit - The gas limit for the transaction.
|
296
|
+
* @param options.gasOptions.gasBufferPct - The gas buffer percentage for the transaction.
|
297
|
+
* @param options.txOptions - The transaction options for the transaction.
|
298
|
+
* @returns A promise that resolves to the transaction hash.
|
299
|
+
*/
|
300
|
+
executeLendingTokenApprove({ protocol, amount, underlyingTokenAddress, gasOptions, txOptions, }: {
|
301
|
+
protocol: LendingMarket['protocol'];
|
302
|
+
amount: string;
|
303
|
+
underlyingTokenAddress: string;
|
304
|
+
gasOptions: {
|
305
|
+
gasLimit?: GasLimitParams;
|
306
|
+
gasBufferPct?: number;
|
307
|
+
};
|
308
|
+
txOptions: Parameters<typeof TransactionController.prototype.addTransaction>[1];
|
309
|
+
}): Promise<import("@metamask/transaction-controller").Result>;
|
310
|
+
/**
|
311
|
+
* Gets the allowance for a lending token.
|
312
|
+
*
|
313
|
+
* @param protocol - The protocol of the lending market.
|
314
|
+
* @param underlyingTokenAddress - The address of the underlying token.
|
315
|
+
* @returns A promise that resolves to the allowance.
|
316
|
+
*/
|
317
|
+
getLendingTokenAllowance(protocol: LendingMarket['protocol'], underlyingTokenAddress: string): Promise<import("@ethersproject/bignumber").BigNumber | undefined>;
|
318
|
+
/**
|
319
|
+
* Gets the maximum withdraw amount for a lending token's output token or shares if no output token.
|
320
|
+
*
|
321
|
+
* @param protocol - The protocol of the lending market.
|
322
|
+
* @param underlyingTokenAddress - The address of the underlying token.
|
323
|
+
* @returns A promise that resolves to the maximum withdraw amount.
|
324
|
+
*/
|
325
|
+
getLendingTokenMaxWithdraw(protocol: LendingMarket['protocol'], underlyingTokenAddress: string): Promise<import("@ethersproject/bignumber").BigNumber | undefined>;
|
326
|
+
/**
|
327
|
+
* Gets the maximum deposit amount for a lending token.
|
328
|
+
*
|
329
|
+
* @param protocol - The protocol of the lending market.
|
330
|
+
* @param underlyingTokenAddress - The address of the underlying token.
|
331
|
+
* @returns A promise that resolves to the maximum deposit amount.
|
332
|
+
*/
|
333
|
+
getLendingTokenMaxDeposit(protocol: LendingMarket['protocol'], underlyingTokenAddress: string): Promise<import("@ethersproject/bignumber").BigNumber | undefined>;
|
135
334
|
}
|
136
335
|
//# sourceMappingURL=EarnController.d.mts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EarnController.d.mts","sourceRoot":"","sources":["../src/EarnController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0CAA0C,EAC1C,4CAA4C,EAC7C,sCAAsC;AACvC,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EAEpB,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAE3D,OAAO,KAAK,EACV,2CAA2C,EAC3C,+BAA+B,EAC/B,iCAAiC,EAClC,qCAAqC;AACtC,OAAO,
|
1
|
+
{"version":3,"file":"EarnController.d.mts","sourceRoot":"","sources":["../src/EarnController.ts"],"names":[],"mappings":"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"}
|