@kamino-finance/klend-sdk 7.3.1 → 7.3.3
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/dist/classes/manager.d.ts +0 -2
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +6 -8
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +16 -6
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/reserve.d.ts +2 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +11 -5
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/shared.d.ts +1 -0
- package/dist/classes/shared.d.ts.map +1 -1
- package/dist/classes/shared.js.map +1 -1
- package/dist/classes/vault.d.ts +0 -4
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +8 -264
- package/dist/classes/vault.js.map +1 -1
- package/dist/utils/readCdnData.d.ts +25 -0
- package/dist/utils/readCdnData.d.ts.map +1 -0
- package/dist/utils/readCdnData.js +29 -0
- package/dist/utils/readCdnData.js.map +1 -0
- package/package.json +1 -1
- package/src/classes/manager.ts +7 -23
- package/src/classes/market.ts +24 -6
- package/src/classes/reserve.ts +13 -5
- package/src/classes/shared.ts +1 -0
- package/src/classes/vault.ts +9 -393
- package/src/utils/readCdnData.ts +50 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { CDN_ENDPOINT } from './constants';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* CDN data structure containing Kamino resources for different networks
|
|
5
|
+
*/
|
|
6
|
+
export interface AllKaminoCdnData {
|
|
7
|
+
'mainnet-beta': KaminoCdnData;
|
|
8
|
+
devnet: KaminoCdnData;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Kamino CDN data structure
|
|
13
|
+
* This type can be extended with additional fields as needed
|
|
14
|
+
*/
|
|
15
|
+
export interface KaminoCdnData {
|
|
16
|
+
/**
|
|
17
|
+
* List of deprecated reserve addresses (pubkeys as strings)
|
|
18
|
+
* Note: This field is named 'deprecatedAssets' in the CDN but represents deprecated reserves
|
|
19
|
+
*/
|
|
20
|
+
deprecatedAssets: string[];
|
|
21
|
+
// Additional fields can be added here as they become relevant
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Fetches Kamino CDN data from the resources endpoint
|
|
27
|
+
* @returns Promise resolving to the CDN data for the specified cluster or undefined if fetching/parsing fails
|
|
28
|
+
*/
|
|
29
|
+
export async function fetchKaminoCdnData(): Promise<KaminoCdnData | undefined> {
|
|
30
|
+
const url = `${CDN_ENDPOINT}/resources.json`;
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
const response = await fetch(url);
|
|
34
|
+
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const text = await response.text();
|
|
40
|
+
|
|
41
|
+
try {
|
|
42
|
+
const data: AllKaminoCdnData = JSON.parse(text);
|
|
43
|
+
return data['mainnet-beta'];
|
|
44
|
+
} catch (parseError) {
|
|
45
|
+
throw new Error('Invalid JSON in response');
|
|
46
|
+
}
|
|
47
|
+
} catch (error) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|