@kamino-finance/klend-sdk 5.10.9 → 5.10.11

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.
Files changed (55) hide show
  1. package/README.md +26 -2
  2. package/dist/classes/manager.d.ts +9 -3
  3. package/dist/classes/manager.d.ts.map +1 -1
  4. package/dist/classes/manager.js +10 -2
  5. package/dist/classes/manager.js.map +1 -1
  6. package/dist/classes/market.d.ts.map +1 -1
  7. package/dist/classes/market.js +4 -1
  8. package/dist/classes/market.js.map +1 -1
  9. package/dist/classes/types.d.ts +7 -0
  10. package/dist/classes/types.d.ts.map +1 -1
  11. package/dist/classes/vault.d.ts +23 -11
  12. package/dist/classes/vault.d.ts.map +1 -1
  13. package/dist/classes/vault.js +141 -29
  14. package/dist/classes/vault.js.map +1 -1
  15. package/dist/client_kamino_manager.d.ts.map +1 -1
  16. package/dist/client_kamino_manager.js +5 -5
  17. package/dist/client_kamino_manager.js.map +1 -1
  18. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +17 -1
  19. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
  20. package/dist/idl_codegen_kamino_vault/errors/custom.js +29 -1
  21. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  22. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +0 -1
  23. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -1
  24. package/dist/idl_codegen_kamino_vault/instructions/deposit.js +0 -5
  25. package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
  26. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +1 -1
  27. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
  28. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +5 -1
  29. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
  30. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +8 -5
  31. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -1
  32. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +9 -8
  33. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
  34. package/dist/utils/accountListing.d.ts +4 -0
  35. package/dist/utils/accountListing.d.ts.map +1 -0
  36. package/dist/utils/accountListing.js +37 -0
  37. package/dist/utils/accountListing.js.map +1 -0
  38. package/dist/utils/index.d.ts +1 -0
  39. package/dist/utils/index.d.ts.map +1 -1
  40. package/dist/utils/index.js +1 -0
  41. package/dist/utils/index.js.map +1 -1
  42. package/package.json +2 -1
  43. package/src/classes/manager.ts +12 -2
  44. package/src/classes/market.ts +7 -1
  45. package/src/classes/types.ts +9 -1
  46. package/src/classes/vault.ts +182 -32
  47. package/src/client.ts +11 -0
  48. package/src/client_kamino_manager.ts +12 -5
  49. package/src/idl_codegen_kamino_vault/errors/custom.ts +28 -0
  50. package/src/idl_codegen_kamino_vault/instructions/deposit.ts +0 -6
  51. package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +6 -2
  52. package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +17 -14
  53. package/src/idl_kamino_vault.json +17 -9
  54. package/src/utils/accountListing.ts +32 -0
  55. package/src/utils/index.ts +1 -0
@@ -92,17 +92,17 @@
92
92
  "isSigner": false
93
93
  },
94
94
  {
95
- "name": "systemProgram",
95
+ "name": "reserveCollateralTokenProgram",
96
96
  "isMut": false,
97
97
  "isSigner": false
98
98
  },
99
99
  {
100
- "name": "rent",
100
+ "name": "systemProgram",
101
101
  "isMut": false,
102
102
  "isSigner": false
103
103
  },
104
104
  {
105
- "name": "tokenProgram",
105
+ "name": "rent",
106
106
  "isMut": false,
107
107
  "isSigner": false
108
108
  }
@@ -175,11 +175,6 @@
175
175
  "name": "sharesTokenProgram",
176
176
  "isMut": false,
177
177
  "isSigner": false
178
- },
179
- {
180
- "name": "instructionSysvarAccount",
181
- "isMut": false,
182
- "isSigner": false
183
178
  }
184
179
  ],
185
180
  "args": [
@@ -1332,7 +1327,10 @@
1332
1327
  "type": "u8"
1333
1328
  },
1334
1329
  {
1335
- "name": "utilizationLimitBlockBorrowingAbove",
1330
+ "name": "utilizationLimitBlockBorrowingAbovePct",
1331
+ "docs": [
1332
+ "Utilization (in percentage) above which borrowing is blocked. 0 to disable."
1333
+ ],
1336
1334
  "type": "u8"
1337
1335
  },
1338
1336
  {
@@ -2152,6 +2150,16 @@
2152
2150
  "code": 7041,
2153
2151
  "name": "ManagementFeeGreaterThanMaxAllowed",
2154
2152
  "msg": "Management fee is greater than maximum allowed"
2153
+ },
2154
+ {
2155
+ "code": 7042,
2156
+ "name": "VaultAUMZero",
2157
+ "msg": "Vault assets under management are empty"
2158
+ },
2159
+ {
2160
+ "code": 7043,
2161
+ "name": "MissingReserveForBatchRefresh",
2162
+ "msg": "Missing reserve for batch refresh"
2155
2163
  }
2156
2164
  ]
2157
2165
  }
@@ -0,0 +1,32 @@
1
+ import { Connection } from '@solana/web3.js';
2
+ import { Obligation } from '../idl_codegen/accounts';
3
+ import { PROGRAM_ID } from '../idl_codegen/programId';
4
+ import bs58 from 'bs58';
5
+
6
+ export async function* getAllObligationAccounts(connection: Connection): AsyncGenerator<Obligation, void, unknown> {
7
+ // Poor-man's paging...
8
+ for (let i = 0; i < 256; i++) {
9
+ const obligations = await connection.getProgramAccounts(PROGRAM_ID, {
10
+ filters: [
11
+ {
12
+ dataSize: Obligation.layout.span + 8,
13
+ },
14
+ {
15
+ memcmp: {
16
+ offset: 0,
17
+ bytes: bs58.encode(Obligation.discriminator),
18
+ },
19
+ },
20
+ {
21
+ memcmp: {
22
+ offset: 64,
23
+ bytes: bs58.encode([i]), // ...via sharding by userId's first byte (just as a source of randomness)
24
+ },
25
+ },
26
+ ],
27
+ });
28
+ for (const obligation of obligations) {
29
+ yield Obligation.decode(obligation.account.data);
30
+ }
31
+ }
32
+ }
@@ -1,3 +1,4 @@
1
+ export * from './accountListing';
1
2
  export * from './api';
2
3
  export * from './ata';
3
4
  export * from './constants';