@exponent-labs/exponent-vaults-fetcher 0.9.0 → 0.9.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/build/fetcher.d.ts +15 -397
- package/build/fetcher.js +43 -22
- package/build/fetcher.js.map +1 -1
- package/build/types.d.ts +23 -0
- package/build/types.js.map +1 -1
- package/package.json +3 -3
- package/src/fetcher.ts +51 -25
- package/src/types.ts +17 -0
package/build/fetcher.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/// <reference types="bn.js" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
1
|
import { Program, web3 } from "@coral-xyz/anchor";
|
|
5
2
|
import { ExponentVaults } from "@exponent-labs/exponent-vaults-idl";
|
|
6
3
|
import { ActionProposal, ExponentPrices, ExponentVault, WithdrawalAccount } from "./types";
|
|
@@ -8,369 +5,19 @@ export declare class ExponentVaultsFetcher {
|
|
|
8
5
|
readonly program: Program<ExponentVaults>;
|
|
9
6
|
readonly programId: web3.PublicKey;
|
|
10
7
|
constructor(connection: web3.Connection, programId?: web3.PublicKey | string);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
simple?: never;
|
|
25
|
-
} & {
|
|
26
|
-
multiply: {
|
|
27
|
-
priceIds: import("bn.js")[];
|
|
28
|
-
};
|
|
29
|
-
});
|
|
30
|
-
tokenSquadsAccount: web3.PublicKey;
|
|
31
|
-
tokenAccountVault: web3.PublicKey;
|
|
32
|
-
forceDeallocatePolicyIds: import("bn.js")[];
|
|
33
|
-
}[];
|
|
34
|
-
underlyingMint: web3.PublicKey;
|
|
35
|
-
mintLp: web3.PublicKey;
|
|
36
|
-
tokenLpEscrow: web3.PublicKey;
|
|
37
|
-
normalWithdrawalCutBp: number;
|
|
38
|
-
feeTreasury: web3.PublicKey;
|
|
39
|
-
selfAddress: web3.PublicKey;
|
|
40
|
-
signerBump: number[];
|
|
41
|
-
statusFlags: number;
|
|
42
|
-
financials: {
|
|
43
|
-
lpBalance: import("bn.js");
|
|
44
|
-
aumInBase: import("bn.js");
|
|
45
|
-
aumInBaseInPositions: import("bn.js");
|
|
46
|
-
lpLockedForWithdrawal: import("bn.js");
|
|
47
|
-
pendingManagementFeeLp: import("bn.js");
|
|
48
|
-
lastManagementFeeAccruedAt: import("bn.js");
|
|
49
|
-
pendingWithdrawalBacklogDueAt: number;
|
|
50
|
-
instantWithdrawalWindowEnd: number;
|
|
51
|
-
instantWithdrawalWindowCapAum: import("bn.js");
|
|
52
|
-
instantWithdrawnAumInWindow: import("bn.js");
|
|
53
|
-
reserved1: number[];
|
|
54
|
-
totalLpStakedInVotes: import("bn.js");
|
|
55
|
-
totalLpPendingWithdrawals: import("bn.js");
|
|
56
|
-
};
|
|
57
|
-
strategyPositions: (({
|
|
58
|
-
orderbook?: never;
|
|
59
|
-
tokenAccount?: never;
|
|
60
|
-
yieldPosition?: never;
|
|
61
|
-
clmmPosition?: never;
|
|
62
|
-
loopscaleLoan?: never;
|
|
63
|
-
loopscaleStrategy?: never;
|
|
64
|
-
} & {
|
|
65
|
-
obligation: {
|
|
66
|
-
0: {} & {
|
|
67
|
-
kaminoObligation: {
|
|
68
|
-
0: {
|
|
69
|
-
obligation: web3.PublicKey;
|
|
70
|
-
lendingProgramId: web3.PublicKey;
|
|
71
|
-
quotePriceId: ({
|
|
72
|
-
multiply?: never;
|
|
73
|
-
} & {
|
|
74
|
-
simple: {
|
|
75
|
-
priceId: import("bn.js");
|
|
76
|
-
};
|
|
77
|
-
}) | ({
|
|
78
|
-
simple?: never;
|
|
79
|
-
} & {
|
|
80
|
-
multiply: {
|
|
81
|
-
priceIds: import("bn.js")[];
|
|
82
|
-
};
|
|
83
|
-
});
|
|
84
|
-
reservePriceMappings: {
|
|
85
|
-
reserve: web3.PublicKey;
|
|
86
|
-
reservePriceId: unknown;
|
|
87
|
-
}[];
|
|
88
|
-
remainingAccountsAmount: import("bn.js");
|
|
89
|
-
minPriceStatusFlags: number;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
}) | ({
|
|
95
|
-
obligation?: never;
|
|
96
|
-
tokenAccount?: never;
|
|
97
|
-
yieldPosition?: never;
|
|
98
|
-
clmmPosition?: never;
|
|
99
|
-
loopscaleLoan?: never;
|
|
100
|
-
loopscaleStrategy?: never;
|
|
101
|
-
} & {
|
|
102
|
-
orderbook: {
|
|
103
|
-
0: {
|
|
104
|
-
orderbook: web3.PublicKey;
|
|
105
|
-
userEscrowIdx: number;
|
|
106
|
-
mint: web3.PublicKey;
|
|
107
|
-
offerIdxVec: number[];
|
|
108
|
-
priceIdPt: ({
|
|
109
|
-
multiply?: never;
|
|
110
|
-
} & {
|
|
111
|
-
simple: {
|
|
112
|
-
priceId: import("bn.js");
|
|
113
|
-
};
|
|
114
|
-
}) | ({
|
|
115
|
-
simple?: never;
|
|
116
|
-
} & {
|
|
117
|
-
multiply: {
|
|
118
|
-
priceIds: import("bn.js")[];
|
|
119
|
-
};
|
|
120
|
-
});
|
|
121
|
-
baseMint: web3.PublicKey;
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
}) | ({
|
|
125
|
-
obligation?: never;
|
|
126
|
-
orderbook?: never;
|
|
127
|
-
yieldPosition?: never;
|
|
128
|
-
clmmPosition?: never;
|
|
129
|
-
loopscaleLoan?: never;
|
|
130
|
-
loopscaleStrategy?: never;
|
|
131
|
-
} & {
|
|
132
|
-
tokenAccount: {
|
|
133
|
-
0: {
|
|
134
|
-
tokenMint: web3.PublicKey;
|
|
135
|
-
balances: {
|
|
136
|
-
tokenAccount: web3.PublicKey;
|
|
137
|
-
mint: web3.PublicKey;
|
|
138
|
-
priceId: ({
|
|
139
|
-
multiply?: never;
|
|
140
|
-
} & {
|
|
141
|
-
simple: {
|
|
142
|
-
priceId: import("bn.js");
|
|
143
|
-
};
|
|
144
|
-
}) | ({
|
|
145
|
-
simple?: never;
|
|
146
|
-
} & {
|
|
147
|
-
multiply: {
|
|
148
|
-
priceIds: import("bn.js")[];
|
|
149
|
-
};
|
|
150
|
-
});
|
|
151
|
-
}[];
|
|
152
|
-
};
|
|
153
|
-
};
|
|
154
|
-
}) | ({
|
|
155
|
-
obligation?: never;
|
|
156
|
-
orderbook?: never;
|
|
157
|
-
tokenAccount?: never;
|
|
158
|
-
clmmPosition?: never;
|
|
159
|
-
loopscaleLoan?: never;
|
|
160
|
-
loopscaleStrategy?: never;
|
|
161
|
-
} & {
|
|
162
|
-
yieldPosition: {
|
|
163
|
-
0: {
|
|
164
|
-
yieldPosition: web3.PublicKey;
|
|
165
|
-
vault: web3.PublicKey;
|
|
166
|
-
priceIdPt: ({
|
|
167
|
-
multiply?: never;
|
|
168
|
-
} & {
|
|
169
|
-
simple: {
|
|
170
|
-
priceId: import("bn.js");
|
|
171
|
-
};
|
|
172
|
-
}) | ({
|
|
173
|
-
simple?: never;
|
|
174
|
-
} & {
|
|
175
|
-
multiply: {
|
|
176
|
-
priceIds: import("bn.js")[];
|
|
177
|
-
};
|
|
178
|
-
});
|
|
179
|
-
};
|
|
180
|
-
};
|
|
181
|
-
}) | ({
|
|
182
|
-
obligation?: never;
|
|
183
|
-
orderbook?: never;
|
|
184
|
-
tokenAccount?: never;
|
|
185
|
-
yieldPosition?: never;
|
|
186
|
-
loopscaleLoan?: never;
|
|
187
|
-
loopscaleStrategy?: never;
|
|
188
|
-
} & {
|
|
189
|
-
clmmPosition: {
|
|
190
|
-
0: {
|
|
191
|
-
lpPosition: web3.PublicKey;
|
|
192
|
-
market: web3.PublicKey;
|
|
193
|
-
priceIdPt: ({
|
|
194
|
-
multiply?: never;
|
|
195
|
-
} & {
|
|
196
|
-
simple: {
|
|
197
|
-
priceId: import("bn.js");
|
|
198
|
-
};
|
|
199
|
-
}) | ({
|
|
200
|
-
simple?: never;
|
|
201
|
-
} & {
|
|
202
|
-
multiply: {
|
|
203
|
-
priceIds: import("bn.js")[];
|
|
204
|
-
};
|
|
205
|
-
});
|
|
206
|
-
priceIdSy: ({
|
|
207
|
-
multiply?: never;
|
|
208
|
-
} & {
|
|
209
|
-
simple: {
|
|
210
|
-
priceId: import("bn.js");
|
|
211
|
-
};
|
|
212
|
-
}) | ({
|
|
213
|
-
simple?: never;
|
|
214
|
-
} & {
|
|
215
|
-
multiply: {
|
|
216
|
-
priceIds: import("bn.js")[];
|
|
217
|
-
};
|
|
218
|
-
});
|
|
219
|
-
};
|
|
220
|
-
};
|
|
221
|
-
}) | ({
|
|
222
|
-
obligation?: never;
|
|
223
|
-
orderbook?: never;
|
|
224
|
-
tokenAccount?: never;
|
|
225
|
-
yieldPosition?: never;
|
|
226
|
-
clmmPosition?: never;
|
|
227
|
-
loopscaleStrategy?: never;
|
|
228
|
-
} & {
|
|
229
|
-
loopscaleLoan: {
|
|
230
|
-
0: {
|
|
231
|
-
loan: web3.PublicKey;
|
|
232
|
-
};
|
|
233
|
-
};
|
|
234
|
-
}) | ({
|
|
235
|
-
obligation?: never;
|
|
236
|
-
orderbook?: never;
|
|
237
|
-
tokenAccount?: never;
|
|
238
|
-
yieldPosition?: never;
|
|
239
|
-
clmmPosition?: never;
|
|
240
|
-
loopscaleLoan?: never;
|
|
241
|
-
} & {
|
|
242
|
-
loopscaleStrategy: {
|
|
243
|
-
0: {
|
|
244
|
-
strategy: web3.PublicKey;
|
|
245
|
-
};
|
|
246
|
-
};
|
|
247
|
-
}))[];
|
|
248
|
-
maxAumSupply: import("bn.js");
|
|
249
|
-
seedId: number[];
|
|
250
|
-
roles: {
|
|
251
|
-
manager: web3.PublicKey[];
|
|
252
|
-
curator: web3.PublicKey[];
|
|
253
|
-
allocator: web3.PublicKey[];
|
|
254
|
-
sentinel: web3.PublicKey[];
|
|
255
|
-
};
|
|
256
|
-
proposalVoteConfig: {
|
|
257
|
-
minVotingPeriodSeconds: number;
|
|
258
|
-
maxVotingPeriodSeconds: number;
|
|
259
|
-
defaultVotingPeriodSeconds: number;
|
|
260
|
-
defaultTimelockSeconds: number;
|
|
261
|
-
rejectionThresholdBps: import("bn.js");
|
|
262
|
-
nextProposalId: import("bn.js");
|
|
263
|
-
votingEnabled: boolean;
|
|
264
|
-
liveProposalsCount: number;
|
|
265
|
-
maxConcurrentLiveProposals: number;
|
|
266
|
-
reserved: number[];
|
|
267
|
-
};
|
|
268
|
-
reservesConfig: {
|
|
269
|
-
reservesShareBp: number;
|
|
270
|
-
withdrawalPeriod: ({
|
|
271
|
-
weeklySchedule?: never;
|
|
272
|
-
} & {
|
|
273
|
-
interval: {
|
|
274
|
-
lockTimeSeconds: number;
|
|
275
|
-
};
|
|
276
|
-
}) | ({
|
|
277
|
-
interval?: never;
|
|
278
|
-
} & {
|
|
279
|
-
weeklySchedule: {
|
|
280
|
-
daysOfWeek: number;
|
|
281
|
-
weekInterval: number;
|
|
282
|
-
referenceTimestamp: number;
|
|
283
|
-
};
|
|
284
|
-
});
|
|
285
|
-
fastWithdrawalCutBp: number;
|
|
286
|
-
instantWithdrawalWindowLimitBp: number;
|
|
287
|
-
managementFeeBps: import("bn.js");
|
|
288
|
-
withdrawalCancelCooldownSeconds: number;
|
|
289
|
-
padding: number[];
|
|
290
|
-
padding1: number[];
|
|
291
|
-
padding2: number[];
|
|
292
|
-
padding3: number[];
|
|
293
|
-
};
|
|
294
|
-
}>;
|
|
295
|
-
fetchWithdrawalAccount(address: web3.PublicKey): Promise<{
|
|
296
|
-
vault: web3.PublicKey;
|
|
297
|
-
owner: web3.PublicKey;
|
|
298
|
-
lpAmountRequested: import("bn.js");
|
|
299
|
-
lpAmountRemaining: import("bn.js");
|
|
300
|
-
fills: {
|
|
301
|
-
mint: web3.PublicKey;
|
|
302
|
-
sourceTokenAccount: web3.PublicKey;
|
|
303
|
-
tokenAmount: import("bn.js");
|
|
304
|
-
}[];
|
|
305
|
-
createdAt: number;
|
|
306
|
-
updatedAt: number;
|
|
307
|
-
reserved: number[];
|
|
308
|
-
}>;
|
|
309
|
-
fetchActionProposal(address: web3.PublicKey): Promise<{
|
|
310
|
-
vault: web3.PublicKey;
|
|
311
|
-
proposalId: import("bn.js");
|
|
312
|
-
proposer: web3.PublicKey;
|
|
313
|
-
actionData: Buffer;
|
|
314
|
-
createdAt: import("bn.js");
|
|
315
|
-
votingEndsAt: import("bn.js");
|
|
316
|
-
timelockSeconds: number;
|
|
317
|
-
executableAt: import("bn.js");
|
|
318
|
-
status: ({
|
|
319
|
-
approved?: never;
|
|
320
|
-
rejected?: never;
|
|
321
|
-
executed?: never;
|
|
322
|
-
cancelled?: never;
|
|
323
|
-
draft?: never;
|
|
324
|
-
} & {
|
|
325
|
-
active: Record<string, never>;
|
|
326
|
-
}) | ({
|
|
327
|
-
active?: never;
|
|
328
|
-
rejected?: never;
|
|
329
|
-
executed?: never;
|
|
330
|
-
cancelled?: never;
|
|
331
|
-
draft?: never;
|
|
332
|
-
} & {
|
|
333
|
-
approved: Record<string, never>;
|
|
334
|
-
}) | ({
|
|
335
|
-
active?: never;
|
|
336
|
-
approved?: never;
|
|
337
|
-
executed?: never;
|
|
338
|
-
cancelled?: never;
|
|
339
|
-
draft?: never;
|
|
340
|
-
} & {
|
|
341
|
-
rejected: Record<string, never>;
|
|
342
|
-
}) | ({
|
|
343
|
-
active?: never;
|
|
344
|
-
approved?: never;
|
|
345
|
-
rejected?: never;
|
|
346
|
-
cancelled?: never;
|
|
347
|
-
draft?: never;
|
|
348
|
-
} & {
|
|
349
|
-
executed: Record<string, never>;
|
|
350
|
-
}) | ({
|
|
351
|
-
active?: never;
|
|
352
|
-
approved?: never;
|
|
353
|
-
rejected?: never;
|
|
354
|
-
executed?: never;
|
|
355
|
-
draft?: never;
|
|
356
|
-
} & {
|
|
357
|
-
cancelled: Record<string, never>;
|
|
358
|
-
}) | ({
|
|
359
|
-
active?: never;
|
|
360
|
-
approved?: never;
|
|
361
|
-
rejected?: never;
|
|
362
|
-
executed?: never;
|
|
363
|
-
cancelled?: never;
|
|
364
|
-
} & {
|
|
365
|
-
draft: Record<string, never>;
|
|
366
|
-
});
|
|
367
|
-
rejectVotes: import("bn.js");
|
|
368
|
-
optOutVotes: import("bn.js");
|
|
369
|
-
bump: number;
|
|
370
|
-
lpSupplySnapshot: import("bn.js");
|
|
371
|
-
rejectionRequiredSnapshot: import("bn.js");
|
|
372
|
-
reserved: number[];
|
|
373
|
-
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Generated account namespaces can differ across IDL shapes:
|
|
10
|
+
* - classic Anchor JSON IDLs expose PascalCase account clients
|
|
11
|
+
* - camelCase TS IDLs expose camelCase account clients
|
|
12
|
+
*
|
|
13
|
+
* Resolve both so the fetcher stays compatible with either generated form.
|
|
14
|
+
*/
|
|
15
|
+
private get vaultAccountClient();
|
|
16
|
+
private get withdrawalAccountClient();
|
|
17
|
+
private get actionProposalAccountClient();
|
|
18
|
+
fetchVault(address: web3.PublicKey): any;
|
|
19
|
+
fetchWithdrawalAccount(address: web3.PublicKey): any;
|
|
20
|
+
fetchActionProposal(address: web3.PublicKey): any;
|
|
374
21
|
fetchAllVaults(filters?: web3.GetProgramAccountsFilter[]): Promise<{
|
|
375
22
|
publicKey: web3.PublicKey;
|
|
376
23
|
account: any;
|
|
@@ -379,20 +26,7 @@ export declare class ExponentVaultsFetcher {
|
|
|
379
26
|
publicKey: web3.PublicKey;
|
|
380
27
|
account: any;
|
|
381
28
|
}[]>;
|
|
382
|
-
fetchAllWithdrawalAccounts(filters?: web3.GetProgramAccountsFilter[]):
|
|
383
|
-
vault: web3.PublicKey;
|
|
384
|
-
owner: web3.PublicKey;
|
|
385
|
-
lpAmountRequested: import("bn.js");
|
|
386
|
-
lpAmountRemaining: import("bn.js");
|
|
387
|
-
fills: {
|
|
388
|
-
mint: web3.PublicKey;
|
|
389
|
-
sourceTokenAccount: web3.PublicKey;
|
|
390
|
-
tokenAmount: import("bn.js");
|
|
391
|
-
}[];
|
|
392
|
-
createdAt: number;
|
|
393
|
-
updatedAt: number;
|
|
394
|
-
reserved: number[];
|
|
395
|
-
}>[]>;
|
|
29
|
+
fetchAllWithdrawalAccounts(filters?: web3.GetProgramAccountsFilter[]): any;
|
|
396
30
|
fetchAllActionProposalsForVault(vaultAddress: web3.PublicKey, filters?: web3.GetProgramAccountsFilter[]): Promise<{
|
|
397
31
|
publicKey: web3.PublicKey;
|
|
398
32
|
account: any;
|
|
@@ -412,23 +46,7 @@ export declare class ExponentVaultsFetcher {
|
|
|
412
46
|
publicKey: web3.PublicKey;
|
|
413
47
|
account: ActionProposal;
|
|
414
48
|
}[]>;
|
|
415
|
-
fetchAllWithdrawalAccountsDeserialized(filters?: web3.GetProgramAccountsFilter[]): Promise<
|
|
416
|
-
publicKey: web3.PublicKey;
|
|
417
|
-
account: {
|
|
418
|
-
vault: web3.PublicKey;
|
|
419
|
-
owner: web3.PublicKey;
|
|
420
|
-
lpAmountRequested: bigint;
|
|
421
|
-
lpAmountRemaining: bigint;
|
|
422
|
-
fills: {
|
|
423
|
-
mint: web3.PublicKey;
|
|
424
|
-
sourceTokenAccount: web3.PublicKey;
|
|
425
|
-
tokenAmount: bigint;
|
|
426
|
-
}[];
|
|
427
|
-
createdAt: number;
|
|
428
|
-
updatedAt: number;
|
|
429
|
-
reserved: number[];
|
|
430
|
-
};
|
|
431
|
-
}[]>;
|
|
49
|
+
fetchAllWithdrawalAccountsDeserialized(filters?: web3.GetProgramAccountsFilter[]): Promise<any>;
|
|
432
50
|
/**
|
|
433
51
|
* Fetch the singleton ExponentPrices account.
|
|
434
52
|
*/
|
package/build/fetcher.js
CHANGED
|
@@ -56,17 +56,33 @@ class ExponentVaultsFetcher {
|
|
|
56
56
|
};
|
|
57
57
|
this.program = new anchor_1.Program(programIdl, provider);
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Generated account namespaces can differ across IDL shapes:
|
|
61
|
+
* - classic Anchor JSON IDLs expose PascalCase account clients
|
|
62
|
+
* - camelCase TS IDLs expose camelCase account clients
|
|
63
|
+
*
|
|
64
|
+
* Resolve both so the fetcher stays compatible with either generated form.
|
|
65
|
+
*/
|
|
66
|
+
get vaultAccountClient() {
|
|
67
|
+
return this.program.account.ExponentStrategyVault ?? this.program.account.exponentStrategyVault;
|
|
68
|
+
}
|
|
69
|
+
get withdrawalAccountClient() {
|
|
70
|
+
return this.program.account.WithdrawalAccount ?? this.program.account.withdrawalAccount;
|
|
71
|
+
}
|
|
72
|
+
get actionProposalAccountClient() {
|
|
73
|
+
return this.program.account.ActionProposal ?? this.program.account.actionProposal;
|
|
74
|
+
}
|
|
59
75
|
fetchVault(address) {
|
|
60
|
-
return this.
|
|
76
|
+
return this.vaultAccountClient.fetch(address);
|
|
61
77
|
}
|
|
62
78
|
fetchWithdrawalAccount(address) {
|
|
63
|
-
return this.
|
|
79
|
+
return this.withdrawalAccountClient.fetch(address);
|
|
64
80
|
}
|
|
65
81
|
fetchActionProposal(address) {
|
|
66
|
-
return this.
|
|
82
|
+
return this.actionProposalAccountClient.fetch(address);
|
|
67
83
|
}
|
|
68
84
|
async fetchAllVaults(filters) {
|
|
69
|
-
const discriminator = this.
|
|
85
|
+
const discriminator = this.vaultAccountClient.coder.accounts.memcmp("ExponentStrategyVault");
|
|
70
86
|
const baseFilters = discriminator
|
|
71
87
|
? [{ memcmp: { offset: discriminator.offset, bytes: discriminator.bytes } }]
|
|
72
88
|
: [];
|
|
@@ -89,7 +105,7 @@ class ExponentVaultsFetcher {
|
|
|
89
105
|
if (tokenEntriesLen > 64)
|
|
90
106
|
continue;
|
|
91
107
|
try {
|
|
92
|
-
const data = this.
|
|
108
|
+
const data = this.vaultAccountClient.coder.accounts.decode("ExponentStrategyVault", account.data);
|
|
93
109
|
decoded.push({ publicKey: pubkey, account: data });
|
|
94
110
|
}
|
|
95
111
|
catch {
|
|
@@ -99,7 +115,7 @@ class ExponentVaultsFetcher {
|
|
|
99
115
|
return decoded;
|
|
100
116
|
}
|
|
101
117
|
async fetchAllActionProposals(filters) {
|
|
102
|
-
const discriminator = this.
|
|
118
|
+
const discriminator = this.actionProposalAccountClient.coder.accounts.memcmp("ActionProposal");
|
|
103
119
|
const baseFilters = discriminator
|
|
104
120
|
? [{ memcmp: { offset: discriminator.offset, bytes: discriminator.bytes } }]
|
|
105
121
|
: [];
|
|
@@ -110,7 +126,7 @@ class ExponentVaultsFetcher {
|
|
|
110
126
|
const decoded = [];
|
|
111
127
|
for (const { pubkey, account } of rawAccounts) {
|
|
112
128
|
try {
|
|
113
|
-
const data = this.
|
|
129
|
+
const data = this.actionProposalAccountClient.coder.accounts.decode("ActionProposal", account.data);
|
|
114
130
|
decoded.push({ publicKey: pubkey, account: data });
|
|
115
131
|
}
|
|
116
132
|
catch {
|
|
@@ -120,7 +136,7 @@ class ExponentVaultsFetcher {
|
|
|
120
136
|
return decoded;
|
|
121
137
|
}
|
|
122
138
|
fetchAllWithdrawalAccounts(filters) {
|
|
123
|
-
return this.
|
|
139
|
+
return this.withdrawalAccountClient.all(filters);
|
|
124
140
|
}
|
|
125
141
|
async fetchAllActionProposalsForVault(vaultAddress, filters) {
|
|
126
142
|
const vaultFilter = {
|
|
@@ -249,7 +265,7 @@ class ExponentVaultsFetcher {
|
|
|
249
265
|
const lastUpdatedAt = data.readBigUInt64LE(valueOffset + 104);
|
|
250
266
|
const lastUpdatedSlot = data.readBigUInt64LE(valueOffset + 112);
|
|
251
267
|
const priceType = data.readUInt8(valueOffset + 120);
|
|
252
|
-
const impliedApyBps = priceType === 3 ? data.readUInt32LE(valueOffset + 121) : null;
|
|
268
|
+
const impliedApyBps = priceType === 3 || priceType === 16 ? data.readUInt32LE(valueOffset + 121) : null;
|
|
253
269
|
const priceInterfaceAccounts = new anchor_1.web3.PublicKey(data.subarray(valueOffset + 128, valueOffset + 128 + PUBKEY_BYTES));
|
|
254
270
|
return {
|
|
255
271
|
active,
|
|
@@ -287,8 +303,7 @@ class ExponentVaultsFetcher {
|
|
|
287
303
|
...new Map(activePriceEntries.map((entry) => [entry.priceInterfaceAccounts.toBase58(), entry.priceInterfaceAccounts])).values(),
|
|
288
304
|
].filter((pubkey) => !pubkey.equals(ZERO_PUBKEY));
|
|
289
305
|
if (uniqueInterfaceAccounts.length > 0) {
|
|
290
|
-
const infos = await this.program.provider.connection.
|
|
291
|
-
const decodedInterfaceAccounts = new Map();
|
|
306
|
+
const infos = await Promise.all(uniqueInterfaceAccounts.map((pubkey) => this.program.provider.connection.getAccountInfo(pubkey)));
|
|
292
307
|
for (let i = 0; i < uniqueInterfaceAccounts.length; i++) {
|
|
293
308
|
const key = uniqueInterfaceAccounts[i];
|
|
294
309
|
const info = infos[i];
|
|
@@ -298,13 +313,18 @@ class ExponentVaultsFetcher {
|
|
|
298
313
|
if (!info.owner.equals(this.programId)) {
|
|
299
314
|
throw new Error(`PriceInterfaceAccounts owner mismatch: expected ${this.programId.toBase58()}, got ${info.owner.toBase58()}`);
|
|
300
315
|
}
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
316
|
+
const decoded = decodePriceInterfaceAccounts(info.data);
|
|
317
|
+
for (const entry of activePriceEntries) {
|
|
318
|
+
if (entry.priceInterfaceAccounts.equals(key)) {
|
|
319
|
+
entry.interfaceAccounts = decoded;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
305
322
|
}
|
|
306
323
|
}
|
|
307
|
-
return {
|
|
324
|
+
return {
|
|
325
|
+
managers,
|
|
326
|
+
prices,
|
|
327
|
+
};
|
|
308
328
|
}
|
|
309
329
|
/**
|
|
310
330
|
* Get all unique price IDs required by a vault's token account positions.
|
|
@@ -332,18 +352,19 @@ class ExponentVaultsFetcher {
|
|
|
332
352
|
}
|
|
333
353
|
exports.ExponentVaultsFetcher = ExponentVaultsFetcher;
|
|
334
354
|
function decodePriceInterfaceAccounts(data) {
|
|
335
|
-
|
|
336
|
-
|
|
355
|
+
const buffer = Buffer.from(data);
|
|
356
|
+
if (buffer.length < 12) {
|
|
357
|
+
throw new Error(`PriceInterfaceAccounts account too small: ${buffer.length} bytes`);
|
|
337
358
|
}
|
|
338
|
-
const len =
|
|
359
|
+
const len = buffer.readUInt32LE(8);
|
|
339
360
|
const expectedSize = 8 + 4 + len * PUBKEY_BYTES;
|
|
340
|
-
if (
|
|
341
|
-
throw new Error(`PriceInterfaceAccounts account truncated: expected ${expectedSize} bytes, got ${
|
|
361
|
+
if (buffer.length < expectedSize) {
|
|
362
|
+
throw new Error(`PriceInterfaceAccounts account truncated: expected ${expectedSize} bytes, got ${buffer.length}`);
|
|
342
363
|
}
|
|
343
364
|
const interfaceAccounts = [];
|
|
344
365
|
let offset = 12;
|
|
345
366
|
for (let i = 0; i < len; i++) {
|
|
346
|
-
interfaceAccounts.push(new anchor_1.web3.PublicKey(
|
|
367
|
+
interfaceAccounts.push(new anchor_1.web3.PublicKey(buffer.subarray(offset, offset + PUBKEY_BYTES)));
|
|
347
368
|
offset += PUBKEY_BYTES;
|
|
348
369
|
}
|
|
349
370
|
return interfaceAccounts;
|
package/build/fetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export type TokenAccountEntry = {
|
|
|
28
28
|
tokenMint: web3.PublicKey;
|
|
29
29
|
balances: {
|
|
30
30
|
tokenAccount: web3.PublicKey;
|
|
31
|
+
mint: web3.PublicKey;
|
|
31
32
|
priceId: PriceId;
|
|
32
33
|
}[];
|
|
33
34
|
};
|
|
@@ -63,6 +64,16 @@ export type ClmmPositionEntry = {
|
|
|
63
64
|
priceIdPt: PriceId;
|
|
64
65
|
priceIdSy: PriceId;
|
|
65
66
|
};
|
|
67
|
+
export type LoopscaleLoanEntry = {
|
|
68
|
+
loan: web3.PublicKey;
|
|
69
|
+
};
|
|
70
|
+
export type LoopscaleStrategyEntry = {
|
|
71
|
+
strategy: web3.PublicKey;
|
|
72
|
+
};
|
|
73
|
+
export type KaminoFarmEntry = {
|
|
74
|
+
farmState: web3.PublicKey;
|
|
75
|
+
userState: web3.PublicKey;
|
|
76
|
+
};
|
|
66
77
|
export type StrategyPosition = {
|
|
67
78
|
orderbook: {
|
|
68
79
|
0: OrderbookEntry;
|
|
@@ -83,6 +94,18 @@ export type StrategyPosition = {
|
|
|
83
94
|
clmmPosition: {
|
|
84
95
|
0: ClmmPositionEntry;
|
|
85
96
|
};
|
|
97
|
+
} | {
|
|
98
|
+
loopscaleLoan: {
|
|
99
|
+
0: LoopscaleLoanEntry;
|
|
100
|
+
};
|
|
101
|
+
} | {
|
|
102
|
+
loopscaleStrategy: {
|
|
103
|
+
0: LoopscaleStrategyEntry;
|
|
104
|
+
};
|
|
105
|
+
} | {
|
|
106
|
+
kaminoFarm: {
|
|
107
|
+
0: KaminoFarmEntry;
|
|
108
|
+
};
|
|
86
109
|
};
|
|
87
110
|
export type ExponentVault = {
|
|
88
111
|
addressLookupTable: web3.PublicKey;
|
package/build/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AA+KA,oCAAoC;AACpC,iCAAiC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exponent-labs/exponent-vaults-fetcher",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@coral-xyz/anchor": "0.30.1",
|
|
12
|
-
"@exponent-labs/exponent-vaults-idl": "0.9.
|
|
13
|
-
"@exponent-labs/exponent-vaults-pda": "0.9.
|
|
12
|
+
"@exponent-labs/exponent-vaults-idl": "0.9.2",
|
|
13
|
+
"@exponent-labs/exponent-vaults-pda": "0.9.2"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@types/bn.js": "^5.1.0",
|
package/src/fetcher.ts
CHANGED
|
@@ -64,20 +64,39 @@ export class ExponentVaultsFetcher {
|
|
|
64
64
|
this.program = new Program<ExponentVaults>(programIdl, provider)
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Generated account namespaces can differ across IDL shapes:
|
|
69
|
+
* - classic Anchor JSON IDLs expose PascalCase account clients
|
|
70
|
+
* - camelCase TS IDLs expose camelCase account clients
|
|
71
|
+
*
|
|
72
|
+
* Resolve both so the fetcher stays compatible with either generated form.
|
|
73
|
+
*/
|
|
74
|
+
private get vaultAccountClient() {
|
|
75
|
+
return (this.program.account as any).ExponentStrategyVault ?? (this.program.account as any).exponentStrategyVault
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
private get withdrawalAccountClient() {
|
|
79
|
+
return (this.program.account as any).WithdrawalAccount ?? (this.program.account as any).withdrawalAccount
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
private get actionProposalAccountClient() {
|
|
83
|
+
return (this.program.account as any).ActionProposal ?? (this.program.account as any).actionProposal
|
|
84
|
+
}
|
|
85
|
+
|
|
67
86
|
fetchVault(address: web3.PublicKey) {
|
|
68
|
-
return this.
|
|
87
|
+
return this.vaultAccountClient.fetch(address)
|
|
69
88
|
}
|
|
70
89
|
|
|
71
90
|
fetchWithdrawalAccount(address: web3.PublicKey) {
|
|
72
|
-
return this.
|
|
91
|
+
return this.withdrawalAccountClient.fetch(address)
|
|
73
92
|
}
|
|
74
93
|
|
|
75
94
|
fetchActionProposal(address: web3.PublicKey) {
|
|
76
|
-
return this.
|
|
95
|
+
return this.actionProposalAccountClient.fetch(address)
|
|
77
96
|
}
|
|
78
97
|
|
|
79
98
|
async fetchAllVaults(filters?: web3.GetProgramAccountsFilter[]) {
|
|
80
|
-
const discriminator = this.
|
|
99
|
+
const discriminator = this.vaultAccountClient.coder.accounts.memcmp("ExponentStrategyVault")
|
|
81
100
|
const baseFilters: web3.GetProgramAccountsFilter[] = discriminator
|
|
82
101
|
? [{ memcmp: { offset: discriminator.offset, bytes: discriminator.bytes } }]
|
|
83
102
|
: []
|
|
@@ -99,8 +118,8 @@ export class ExponentVaultsFetcher {
|
|
|
99
118
|
const tokenEntriesLen = account.data.readUInt32LE(TOKEN_ENTRIES_VEC_OFFSET)
|
|
100
119
|
if (tokenEntriesLen > 64) continue
|
|
101
120
|
try {
|
|
102
|
-
const data = this.
|
|
103
|
-
"
|
|
121
|
+
const data = this.vaultAccountClient.coder.accounts.decode(
|
|
122
|
+
"ExponentStrategyVault",
|
|
104
123
|
account.data,
|
|
105
124
|
)
|
|
106
125
|
decoded.push({ publicKey: pubkey, account: data })
|
|
@@ -112,7 +131,7 @@ export class ExponentVaultsFetcher {
|
|
|
112
131
|
}
|
|
113
132
|
|
|
114
133
|
async fetchAllActionProposals(filters?: web3.GetProgramAccountsFilter[]) {
|
|
115
|
-
const discriminator = this.
|
|
134
|
+
const discriminator = this.actionProposalAccountClient.coder.accounts.memcmp("ActionProposal")
|
|
116
135
|
const baseFilters: web3.GetProgramAccountsFilter[] = discriminator
|
|
117
136
|
? [{ memcmp: { offset: discriminator.offset, bytes: discriminator.bytes } }]
|
|
118
137
|
: []
|
|
@@ -125,7 +144,7 @@ export class ExponentVaultsFetcher {
|
|
|
125
144
|
const decoded: { publicKey: web3.PublicKey; account: any }[] = []
|
|
126
145
|
for (const { pubkey, account } of rawAccounts) {
|
|
127
146
|
try {
|
|
128
|
-
const data = this.
|
|
147
|
+
const data = this.actionProposalAccountClient.coder.accounts.decode("ActionProposal", account.data)
|
|
129
148
|
decoded.push({ publicKey: pubkey, account: data })
|
|
130
149
|
} catch {
|
|
131
150
|
// skip accounts that fail to deserialize
|
|
@@ -136,7 +155,7 @@ export class ExponentVaultsFetcher {
|
|
|
136
155
|
}
|
|
137
156
|
|
|
138
157
|
fetchAllWithdrawalAccounts(filters?: web3.GetProgramAccountsFilter[]) {
|
|
139
|
-
return this.
|
|
158
|
+
return this.withdrawalAccountClient.all(filters)
|
|
140
159
|
}
|
|
141
160
|
|
|
142
161
|
async fetchAllActionProposalsForVault(vaultAddress: web3.PublicKey, filters?: web3.GetProgramAccountsFilter[]) {
|
|
@@ -155,7 +174,7 @@ export class ExponentVaultsFetcher {
|
|
|
155
174
|
throw new Error(`Vault ${address.toBase58()} is in the ignore list and cannot be fetched`)
|
|
156
175
|
}
|
|
157
176
|
const vault = await this.fetchVault(address)
|
|
158
|
-
return transformAnchorData(vault) as ExponentVault
|
|
177
|
+
return transformAnchorData(vault) as unknown as ExponentVault
|
|
159
178
|
}
|
|
160
179
|
|
|
161
180
|
async fetchActionProposalDeserialized(address: web3.PublicKey): Promise<ActionProposal> {
|
|
@@ -312,7 +331,7 @@ export class ExponentVaultsFetcher {
|
|
|
312
331
|
const lastUpdatedAt = data.readBigUInt64LE(valueOffset + 104)
|
|
313
332
|
const lastUpdatedSlot = data.readBigUInt64LE(valueOffset + 112)
|
|
314
333
|
const priceType = data.readUInt8(valueOffset + 120)
|
|
315
|
-
const impliedApyBps = priceType === 3 ? data.readUInt32LE(valueOffset + 121) : null
|
|
334
|
+
const impliedApyBps = priceType === 3 || priceType === 16 ? data.readUInt32LE(valueOffset + 121) : null
|
|
316
335
|
const priceInterfaceAccounts = new web3.PublicKey(
|
|
317
336
|
data.subarray(valueOffset + 128, valueOffset + 128 + PUBKEY_BYTES),
|
|
318
337
|
)
|
|
@@ -363,8 +382,9 @@ export class ExponentVaultsFetcher {
|
|
|
363
382
|
].filter((pubkey) => !pubkey.equals(ZERO_PUBKEY))
|
|
364
383
|
|
|
365
384
|
if (uniqueInterfaceAccounts.length > 0) {
|
|
366
|
-
const infos = await
|
|
367
|
-
|
|
385
|
+
const infos = await Promise.all(
|
|
386
|
+
uniqueInterfaceAccounts.map((pubkey) => this.program.provider.connection.getAccountInfo(pubkey)),
|
|
387
|
+
)
|
|
368
388
|
|
|
369
389
|
for (let i = 0; i < uniqueInterfaceAccounts.length; i++) {
|
|
370
390
|
const key = uniqueInterfaceAccounts[i]
|
|
@@ -377,15 +397,20 @@ export class ExponentVaultsFetcher {
|
|
|
377
397
|
`PriceInterfaceAccounts owner mismatch: expected ${this.programId.toBase58()}, got ${info.owner.toBase58()}`,
|
|
378
398
|
)
|
|
379
399
|
}
|
|
380
|
-
decodedInterfaceAccounts.set(key.toBase58(), decodePriceInterfaceAccounts(info.data))
|
|
381
|
-
}
|
|
382
400
|
|
|
383
|
-
|
|
384
|
-
entry
|
|
401
|
+
const decoded = decodePriceInterfaceAccounts(info.data)
|
|
402
|
+
for (const entry of activePriceEntries) {
|
|
403
|
+
if (entry.priceInterfaceAccounts.equals(key)) {
|
|
404
|
+
entry.interfaceAccounts = decoded
|
|
405
|
+
}
|
|
406
|
+
}
|
|
385
407
|
}
|
|
386
408
|
}
|
|
387
409
|
|
|
388
|
-
return {
|
|
410
|
+
return {
|
|
411
|
+
managers,
|
|
412
|
+
prices,
|
|
413
|
+
}
|
|
389
414
|
}
|
|
390
415
|
|
|
391
416
|
/**
|
|
@@ -414,21 +439,22 @@ export class ExponentVaultsFetcher {
|
|
|
414
439
|
}
|
|
415
440
|
}
|
|
416
441
|
|
|
417
|
-
function decodePriceInterfaceAccounts(data: Buffer): web3.PublicKey[] {
|
|
418
|
-
|
|
419
|
-
|
|
442
|
+
function decodePriceInterfaceAccounts(data: Buffer | Uint8Array): web3.PublicKey[] {
|
|
443
|
+
const buffer = Buffer.from(data)
|
|
444
|
+
if (buffer.length < 12) {
|
|
445
|
+
throw new Error(`PriceInterfaceAccounts account too small: ${buffer.length} bytes`)
|
|
420
446
|
}
|
|
421
447
|
|
|
422
|
-
const len =
|
|
448
|
+
const len = buffer.readUInt32LE(8)
|
|
423
449
|
const expectedSize = 8 + 4 + len * PUBKEY_BYTES
|
|
424
|
-
if (
|
|
425
|
-
throw new Error(`PriceInterfaceAccounts account truncated: expected ${expectedSize} bytes, got ${
|
|
450
|
+
if (buffer.length < expectedSize) {
|
|
451
|
+
throw new Error(`PriceInterfaceAccounts account truncated: expected ${expectedSize} bytes, got ${buffer.length}`)
|
|
426
452
|
}
|
|
427
453
|
|
|
428
454
|
const interfaceAccounts: web3.PublicKey[] = []
|
|
429
455
|
let offset = 12
|
|
430
456
|
for (let i = 0; i < len; i++) {
|
|
431
|
-
interfaceAccounts.push(new web3.PublicKey(
|
|
457
|
+
interfaceAccounts.push(new web3.PublicKey(buffer.subarray(offset, offset + PUBKEY_BYTES)))
|
|
432
458
|
offset += PUBKEY_BYTES
|
|
433
459
|
}
|
|
434
460
|
|
package/src/types.ts
CHANGED
|
@@ -40,6 +40,7 @@ export type TokenAccountEntry = {
|
|
|
40
40
|
tokenMint: web3.PublicKey
|
|
41
41
|
balances: {
|
|
42
42
|
tokenAccount: web3.PublicKey
|
|
43
|
+
mint: web3.PublicKey
|
|
43
44
|
priceId: PriceId
|
|
44
45
|
}[]
|
|
45
46
|
}
|
|
@@ -80,12 +81,28 @@ export type ClmmPositionEntry = {
|
|
|
80
81
|
priceIdSy: PriceId
|
|
81
82
|
}
|
|
82
83
|
|
|
84
|
+
export type LoopscaleLoanEntry = {
|
|
85
|
+
loan: web3.PublicKey
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export type LoopscaleStrategyEntry = {
|
|
89
|
+
strategy: web3.PublicKey
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export type KaminoFarmEntry = {
|
|
93
|
+
farmState: web3.PublicKey
|
|
94
|
+
userState: web3.PublicKey
|
|
95
|
+
}
|
|
96
|
+
|
|
83
97
|
export type StrategyPosition =
|
|
84
98
|
| { orderbook: { 0: OrderbookEntry } }
|
|
85
99
|
| { tokenAccount: { 0: TokenAccountEntry } }
|
|
86
100
|
| { obligation: { 0: unknown } } //TODO define obligation type when it's implemented on the program
|
|
87
101
|
| { yieldPosition: { 0: YieldPositionEntry } }
|
|
88
102
|
| { clmmPosition: { 0: ClmmPositionEntry } }
|
|
103
|
+
| { loopscaleLoan: { 0: LoopscaleLoanEntry } }
|
|
104
|
+
| { loopscaleStrategy: { 0: LoopscaleStrategyEntry } }
|
|
105
|
+
| { kaminoFarm: { 0: KaminoFarmEntry } }
|
|
89
106
|
|
|
90
107
|
export type ExponentVault = {
|
|
91
108
|
addressLookupTable: web3.PublicKey
|