@gearbox-protocol/sdk 3.0.0-vfour.21 → 3.0.0-vfour.211
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/README.md +0 -1
- package/dist/cjs/dev/index.cjs +942 -65
- package/dist/cjs/dev/index.d.ts +347 -4
- package/dist/cjs/sdk/index.cjs +67414 -9725
- package/dist/cjs/sdk/index.d.ts +91280 -9877
- package/dist/esm/dev/index.d.mts +347 -4
- package/dist/esm/dev/index.mjs +939 -67
- package/dist/esm/sdk/index.d.mts +91280 -9877
- package/dist/esm/sdk/index.mjs +67088 -9787
- package/package.json +29 -15
package/dist/cjs/dev/index.d.ts
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
|
-
import { Address,
|
|
2
|
-
import {
|
|
1
|
+
import { Address, TestRpcSchema, Hex, Block, Prettify, Client, Transport, Chain, TestActions, PublicClient, WalletClient } from 'viem';
|
|
2
|
+
import { SDKConstruct, CreditAccountsService, CreditAccountData, GearboxSDK, ILogger, Unarray, AddressMap, PriceFeedTreeNode, CreditManagerState } from '../sdk';
|
|
3
|
+
import { AbiParametersToPrimitiveTypes, ExtractAbiFunction } from 'abitype';
|
|
4
|
+
|
|
5
|
+
interface AccountOpenerOptions {
|
|
6
|
+
faucet?: Address;
|
|
7
|
+
}
|
|
8
|
+
interface TargetAccount {
|
|
9
|
+
creditManager: Address;
|
|
10
|
+
collateral: Address;
|
|
11
|
+
leverage?: number;
|
|
12
|
+
slippage?: number;
|
|
13
|
+
}
|
|
14
|
+
declare class AccountOpener extends SDKConstruct {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(service: CreditAccountsService, options?: AccountOpenerOptions);
|
|
17
|
+
get borrower(): Address;
|
|
18
|
+
/**
|
|
19
|
+
* Tries to open account with underlying only in each CM
|
|
20
|
+
*/
|
|
21
|
+
openCreditAccounts(targets: TargetAccount[]): Promise<CreditAccountData[]>;
|
|
22
|
+
getOpenedAccounts(): Promise<CreditAccountData[]>;
|
|
23
|
+
}
|
|
3
24
|
|
|
4
25
|
/**
|
|
5
26
|
* Given credit accounts, calculates new liquidation thresholds that needs to be set to drop account health factor a bit to make it eligible for partial liquidation
|
|
@@ -39,6 +60,7 @@ type AnvilRPCSchema = [
|
|
|
39
60
|
}
|
|
40
61
|
];
|
|
41
62
|
type AnvilActions = {
|
|
63
|
+
anvilNodeInfo: () => Promise<AnvilNodeInfo>;
|
|
42
64
|
isAnvil: () => Promise<boolean>;
|
|
43
65
|
evmMineDetailed: (
|
|
44
66
|
/**
|
|
@@ -60,6 +82,12 @@ declare function createAnvilClient({ chain, transport, }: AnvilClientConfig): An
|
|
|
60
82
|
* @returns
|
|
61
83
|
*/
|
|
62
84
|
declare function isAnvil(client: Client<any, any, any, AnvilRPCSchema, any>): Promise<boolean>;
|
|
85
|
+
/**
|
|
86
|
+
* Anvil node info
|
|
87
|
+
* @param client
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
90
|
+
declare function anvilNodeInfo(client: Client<any, any, any, AnvilRPCSchema, any>): Promise<AnvilNodeInfo>;
|
|
63
91
|
/**
|
|
64
92
|
* Safely tries to mine block with given timestamp
|
|
65
93
|
* @param client
|
|
@@ -68,12 +96,327 @@ declare function isAnvil(client: Client<any, any, any, AnvilRPCSchema, any>): Pr
|
|
|
68
96
|
*/
|
|
69
97
|
declare function evmMineDetailed(client: Client<any, any, any, AnvilRPCSchema, any>, timestamp: bigint | number): Promise<Block<Hex> | undefined>;
|
|
70
98
|
|
|
99
|
+
declare const iPriceFeedStoreAbi: readonly [{
|
|
100
|
+
readonly type: "function";
|
|
101
|
+
readonly name: "addPriceFeed";
|
|
102
|
+
readonly inputs: readonly [{
|
|
103
|
+
readonly name: "priceFeed";
|
|
104
|
+
readonly type: "address";
|
|
105
|
+
readonly internalType: "address";
|
|
106
|
+
}, {
|
|
107
|
+
readonly name: "stalenessPeriod";
|
|
108
|
+
readonly type: "uint32";
|
|
109
|
+
readonly internalType: "uint32";
|
|
110
|
+
}];
|
|
111
|
+
readonly outputs: readonly [];
|
|
112
|
+
readonly stateMutability: "nonpayable";
|
|
113
|
+
}, {
|
|
114
|
+
readonly type: "function";
|
|
115
|
+
readonly name: "allowPriceFeed";
|
|
116
|
+
readonly inputs: readonly [{
|
|
117
|
+
readonly name: "token";
|
|
118
|
+
readonly type: "address";
|
|
119
|
+
readonly internalType: "address";
|
|
120
|
+
}, {
|
|
121
|
+
readonly name: "priceFeed";
|
|
122
|
+
readonly type: "address";
|
|
123
|
+
readonly internalType: "address";
|
|
124
|
+
}];
|
|
125
|
+
readonly outputs: readonly [];
|
|
126
|
+
readonly stateMutability: "nonpayable";
|
|
127
|
+
}, {
|
|
128
|
+
readonly type: "function";
|
|
129
|
+
readonly name: "contractType";
|
|
130
|
+
readonly inputs: readonly [];
|
|
131
|
+
readonly outputs: readonly [{
|
|
132
|
+
readonly name: "";
|
|
133
|
+
readonly type: "bytes32";
|
|
134
|
+
readonly internalType: "bytes32";
|
|
135
|
+
}];
|
|
136
|
+
readonly stateMutability: "view";
|
|
137
|
+
}, {
|
|
138
|
+
readonly type: "function";
|
|
139
|
+
readonly name: "forbidPriceFeed";
|
|
140
|
+
readonly inputs: readonly [{
|
|
141
|
+
readonly name: "token";
|
|
142
|
+
readonly type: "address";
|
|
143
|
+
readonly internalType: "address";
|
|
144
|
+
}, {
|
|
145
|
+
readonly name: "priceFeed";
|
|
146
|
+
readonly type: "address";
|
|
147
|
+
readonly internalType: "address";
|
|
148
|
+
}];
|
|
149
|
+
readonly outputs: readonly [];
|
|
150
|
+
readonly stateMutability: "nonpayable";
|
|
151
|
+
}, {
|
|
152
|
+
readonly type: "function";
|
|
153
|
+
readonly name: "getAllowanceTimestamp";
|
|
154
|
+
readonly inputs: readonly [{
|
|
155
|
+
readonly name: "token";
|
|
156
|
+
readonly type: "address";
|
|
157
|
+
readonly internalType: "address";
|
|
158
|
+
}, {
|
|
159
|
+
readonly name: "priceFeed";
|
|
160
|
+
readonly type: "address";
|
|
161
|
+
readonly internalType: "address";
|
|
162
|
+
}];
|
|
163
|
+
readonly outputs: readonly [{
|
|
164
|
+
readonly name: "";
|
|
165
|
+
readonly type: "uint256";
|
|
166
|
+
readonly internalType: "uint256";
|
|
167
|
+
}];
|
|
168
|
+
readonly stateMutability: "view";
|
|
169
|
+
}, {
|
|
170
|
+
readonly type: "function";
|
|
171
|
+
readonly name: "getKnownPriceFeeds";
|
|
172
|
+
readonly inputs: readonly [];
|
|
173
|
+
readonly outputs: readonly [{
|
|
174
|
+
readonly name: "";
|
|
175
|
+
readonly type: "address[]";
|
|
176
|
+
readonly internalType: "address[]";
|
|
177
|
+
}];
|
|
178
|
+
readonly stateMutability: "view";
|
|
179
|
+
}, {
|
|
180
|
+
readonly type: "function";
|
|
181
|
+
readonly name: "getKnownTokens";
|
|
182
|
+
readonly inputs: readonly [];
|
|
183
|
+
readonly outputs: readonly [{
|
|
184
|
+
readonly name: "";
|
|
185
|
+
readonly type: "address[]";
|
|
186
|
+
readonly internalType: "address[]";
|
|
187
|
+
}];
|
|
188
|
+
readonly stateMutability: "view";
|
|
189
|
+
}, {
|
|
190
|
+
readonly type: "function";
|
|
191
|
+
readonly name: "getPriceFeeds";
|
|
192
|
+
readonly inputs: readonly [{
|
|
193
|
+
readonly name: "token";
|
|
194
|
+
readonly type: "address";
|
|
195
|
+
readonly internalType: "address";
|
|
196
|
+
}];
|
|
197
|
+
readonly outputs: readonly [{
|
|
198
|
+
readonly name: "";
|
|
199
|
+
readonly type: "address[]";
|
|
200
|
+
readonly internalType: "address[]";
|
|
201
|
+
}];
|
|
202
|
+
readonly stateMutability: "view";
|
|
203
|
+
}, {
|
|
204
|
+
readonly type: "function";
|
|
205
|
+
readonly name: "getStalenessPeriod";
|
|
206
|
+
readonly inputs: readonly [{
|
|
207
|
+
readonly name: "priceFeed";
|
|
208
|
+
readonly type: "address";
|
|
209
|
+
readonly internalType: "address";
|
|
210
|
+
}];
|
|
211
|
+
readonly outputs: readonly [{
|
|
212
|
+
readonly name: "";
|
|
213
|
+
readonly type: "uint32";
|
|
214
|
+
readonly internalType: "uint32";
|
|
215
|
+
}];
|
|
216
|
+
readonly stateMutability: "view";
|
|
217
|
+
}, {
|
|
218
|
+
readonly type: "function";
|
|
219
|
+
readonly name: "getTokenPriceFeedsMap";
|
|
220
|
+
readonly inputs: readonly [];
|
|
221
|
+
readonly outputs: readonly [{
|
|
222
|
+
readonly name: "";
|
|
223
|
+
readonly type: "tuple[]";
|
|
224
|
+
readonly internalType: "struct ConnectedPriceFeed[]";
|
|
225
|
+
readonly components: readonly [{
|
|
226
|
+
readonly name: "token";
|
|
227
|
+
readonly type: "address";
|
|
228
|
+
readonly internalType: "address";
|
|
229
|
+
}, {
|
|
230
|
+
readonly name: "priceFeeds";
|
|
231
|
+
readonly type: "address[]";
|
|
232
|
+
readonly internalType: "address[]";
|
|
233
|
+
}];
|
|
234
|
+
}];
|
|
235
|
+
readonly stateMutability: "view";
|
|
236
|
+
}, {
|
|
237
|
+
readonly type: "function";
|
|
238
|
+
readonly name: "isAllowedPriceFeed";
|
|
239
|
+
readonly inputs: readonly [{
|
|
240
|
+
readonly name: "token";
|
|
241
|
+
readonly type: "address";
|
|
242
|
+
readonly internalType: "address";
|
|
243
|
+
}, {
|
|
244
|
+
readonly name: "priceFeed";
|
|
245
|
+
readonly type: "address";
|
|
246
|
+
readonly internalType: "address";
|
|
247
|
+
}];
|
|
248
|
+
readonly outputs: readonly [{
|
|
249
|
+
readonly name: "";
|
|
250
|
+
readonly type: "bool";
|
|
251
|
+
readonly internalType: "bool";
|
|
252
|
+
}];
|
|
253
|
+
readonly stateMutability: "view";
|
|
254
|
+
}, {
|
|
255
|
+
readonly type: "function";
|
|
256
|
+
readonly name: "owner";
|
|
257
|
+
readonly inputs: readonly [];
|
|
258
|
+
readonly outputs: readonly [{
|
|
259
|
+
readonly name: "";
|
|
260
|
+
readonly type: "address";
|
|
261
|
+
readonly internalType: "address";
|
|
262
|
+
}];
|
|
263
|
+
readonly stateMutability: "view";
|
|
264
|
+
}, {
|
|
265
|
+
readonly type: "function";
|
|
266
|
+
readonly name: "setStalenessPeriod";
|
|
267
|
+
readonly inputs: readonly [{
|
|
268
|
+
readonly name: "priceFeed";
|
|
269
|
+
readonly type: "address";
|
|
270
|
+
readonly internalType: "address";
|
|
271
|
+
}, {
|
|
272
|
+
readonly name: "stalenessPeriod";
|
|
273
|
+
readonly type: "uint32";
|
|
274
|
+
readonly internalType: "uint32";
|
|
275
|
+
}];
|
|
276
|
+
readonly outputs: readonly [];
|
|
277
|
+
readonly stateMutability: "nonpayable";
|
|
278
|
+
}, {
|
|
279
|
+
readonly type: "function";
|
|
280
|
+
readonly name: "version";
|
|
281
|
+
readonly inputs: readonly [];
|
|
282
|
+
readonly outputs: readonly [{
|
|
283
|
+
readonly name: "";
|
|
284
|
+
readonly type: "uint256";
|
|
285
|
+
readonly internalType: "uint256";
|
|
286
|
+
}];
|
|
287
|
+
readonly stateMutability: "view";
|
|
288
|
+
}, {
|
|
289
|
+
readonly type: "event";
|
|
290
|
+
readonly name: "AddPriceFeed";
|
|
291
|
+
readonly inputs: readonly [{
|
|
292
|
+
readonly name: "priceFeed";
|
|
293
|
+
readonly type: "address";
|
|
294
|
+
readonly indexed: false;
|
|
295
|
+
readonly internalType: "address";
|
|
296
|
+
}, {
|
|
297
|
+
readonly name: "stalenessPeriod";
|
|
298
|
+
readonly type: "uint32";
|
|
299
|
+
readonly indexed: false;
|
|
300
|
+
readonly internalType: "uint32";
|
|
301
|
+
}];
|
|
302
|
+
readonly anonymous: false;
|
|
303
|
+
}, {
|
|
304
|
+
readonly type: "event";
|
|
305
|
+
readonly name: "AllowPriceFeed";
|
|
306
|
+
readonly inputs: readonly [{
|
|
307
|
+
readonly name: "token";
|
|
308
|
+
readonly type: "address";
|
|
309
|
+
readonly indexed: false;
|
|
310
|
+
readonly internalType: "address";
|
|
311
|
+
}, {
|
|
312
|
+
readonly name: "priceFeed";
|
|
313
|
+
readonly type: "address";
|
|
314
|
+
readonly indexed: false;
|
|
315
|
+
readonly internalType: "address";
|
|
316
|
+
}];
|
|
317
|
+
readonly anonymous: false;
|
|
318
|
+
}, {
|
|
319
|
+
readonly type: "event";
|
|
320
|
+
readonly name: "ForbidPriceFeed";
|
|
321
|
+
readonly inputs: readonly [{
|
|
322
|
+
readonly name: "token";
|
|
323
|
+
readonly type: "address";
|
|
324
|
+
readonly indexed: false;
|
|
325
|
+
readonly internalType: "address";
|
|
326
|
+
}, {
|
|
327
|
+
readonly name: "priceFeed";
|
|
328
|
+
readonly type: "address";
|
|
329
|
+
readonly indexed: false;
|
|
330
|
+
readonly internalType: "address";
|
|
331
|
+
}];
|
|
332
|
+
readonly anonymous: false;
|
|
333
|
+
}, {
|
|
334
|
+
readonly type: "event";
|
|
335
|
+
readonly name: "SetStalenessPeriod";
|
|
336
|
+
readonly inputs: readonly [{
|
|
337
|
+
readonly name: "priceFeed";
|
|
338
|
+
readonly type: "address";
|
|
339
|
+
readonly indexed: false;
|
|
340
|
+
readonly internalType: "address";
|
|
341
|
+
}, {
|
|
342
|
+
readonly name: "stalenessPeriod";
|
|
343
|
+
readonly type: "uint32";
|
|
344
|
+
readonly indexed: false;
|
|
345
|
+
readonly internalType: "uint32";
|
|
346
|
+
}];
|
|
347
|
+
readonly anonymous: false;
|
|
348
|
+
}, {
|
|
349
|
+
readonly type: "error";
|
|
350
|
+
readonly name: "CallerIsNotOwnerException";
|
|
351
|
+
readonly inputs: readonly [{
|
|
352
|
+
readonly name: "caller";
|
|
353
|
+
readonly type: "address";
|
|
354
|
+
readonly internalType: "address";
|
|
355
|
+
}];
|
|
356
|
+
}, {
|
|
357
|
+
readonly type: "error";
|
|
358
|
+
readonly name: "PriceFeedAlreadyAddedException";
|
|
359
|
+
readonly inputs: readonly [{
|
|
360
|
+
readonly name: "priceFeed";
|
|
361
|
+
readonly type: "address";
|
|
362
|
+
readonly internalType: "address";
|
|
363
|
+
}];
|
|
364
|
+
}, {
|
|
365
|
+
readonly type: "error";
|
|
366
|
+
readonly name: "PriceFeedIsNotAllowedException";
|
|
367
|
+
readonly inputs: readonly [{
|
|
368
|
+
readonly name: "token";
|
|
369
|
+
readonly type: "address";
|
|
370
|
+
readonly internalType: "address";
|
|
371
|
+
}, {
|
|
372
|
+
readonly name: "priceFeed";
|
|
373
|
+
readonly type: "address";
|
|
374
|
+
readonly internalType: "address";
|
|
375
|
+
}];
|
|
376
|
+
}, {
|
|
377
|
+
readonly type: "error";
|
|
378
|
+
readonly name: "PriceFeedNotKnownException";
|
|
379
|
+
readonly inputs: readonly [{
|
|
380
|
+
readonly name: "priceFeed";
|
|
381
|
+
readonly type: "address";
|
|
382
|
+
readonly internalType: "address";
|
|
383
|
+
}];
|
|
384
|
+
}];
|
|
385
|
+
|
|
386
|
+
type ConnectedPriceFeed = Unarray<AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof iPriceFeedStoreAbi, "getTokenPriceFeedsMap">["outputs"]>[0]>;
|
|
387
|
+
declare class PriceFeedStore extends SDKConstruct {
|
|
388
|
+
#private;
|
|
389
|
+
constructor(sdk: GearboxSDK);
|
|
390
|
+
load(update?: boolean): Promise<AddressMap<PriceFeedTreeNode[]>>;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
interface SDKExampleOptions {
|
|
394
|
+
addressProvider?: string;
|
|
395
|
+
addressProviderJson?: string;
|
|
396
|
+
marketConfigurators: Address[];
|
|
397
|
+
anvilUrl?: string;
|
|
398
|
+
outFile?: string;
|
|
399
|
+
}
|
|
400
|
+
declare class SDKExample {
|
|
401
|
+
#private;
|
|
402
|
+
constructor(logger?: ILogger);
|
|
403
|
+
run(opts: SDKExampleOptions): Promise<void>;
|
|
404
|
+
get sdk(): GearboxSDK;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
interface SetLTsCMSlice {
|
|
408
|
+
creditConfigurator: Address;
|
|
409
|
+
address: Address;
|
|
410
|
+
}
|
|
71
411
|
/**
|
|
72
412
|
* Helper function to set liquidation thresholds on credit manager via anvil impersonation
|
|
73
413
|
* @param sdk
|
|
74
414
|
* @param cm
|
|
75
415
|
* @param newLTs
|
|
76
416
|
*/
|
|
77
|
-
declare function setLTs(
|
|
417
|
+
declare function setLTs(anvil: AnvilClient, cm: SetLTsCMSlice, newLTs: Record<Address, number>, logger?: ILogger): Promise<void>;
|
|
418
|
+
|
|
419
|
+
type ZeroLTCMSlice = Pick<CreditManagerState, "creditConfigurator" | "feeInterest" | "liquidationDiscount" | "feeLiquidationExpired" | "liquidationDiscountExpired" | "feeLiquidation" | "name" | "underlying" | "baseParams">;
|
|
420
|
+
declare function setLTZero(anvil: AnvilClient, cm: ZeroLTCMSlice, logger?: ILogger): Promise<void>;
|
|
78
421
|
|
|
79
|
-
export { type AnvilActions, type AnvilClient, type AnvilClientConfig, calcLiquidatableLTs, createAnvilClient, evmMineDetailed, isAnvil, setLTs };
|
|
422
|
+
export { AccountOpener, type AccountOpenerOptions, type AnvilActions, type AnvilClient, type AnvilClientConfig, type AnvilNodeInfo, type AnvilRPCSchema, type ConnectedPriceFeed, PriceFeedStore, SDKExample, type SDKExampleOptions, type SetLTsCMSlice, type TargetAccount, anvilNodeInfo, calcLiquidatableLTs, createAnvilClient, evmMineDetailed, isAnvil, setLTZero, setLTs };
|