@kamino-finance/klend-sdk 7.1.0 → 7.1.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.
Files changed (154) hide show
  1. package/dist/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateralV2.js +1 -1
  2. package/dist/@codegen/unstaking_pool/accounts/PoolState.d.ts +53 -0
  3. package/dist/@codegen/unstaking_pool/accounts/PoolState.d.ts.map +1 -0
  4. package/dist/@codegen/unstaking_pool/accounts/PoolState.js +167 -0
  5. package/dist/@codegen/unstaking_pool/accounts/PoolState.js.map +1 -0
  6. package/dist/@codegen/unstaking_pool/accounts/UnstakeTicket.d.ts +41 -0
  7. package/dist/@codegen/unstaking_pool/accounts/UnstakeTicket.d.ts.map +1 -0
  8. package/dist/@codegen/unstaking_pool/accounts/UnstakeTicket.js +143 -0
  9. package/dist/@codegen/unstaking_pool/accounts/UnstakeTicket.js.map +1 -0
  10. package/dist/@codegen/unstaking_pool/accounts/index.d.ts +5 -0
  11. package/dist/@codegen/unstaking_pool/accounts/index.d.ts.map +1 -0
  12. package/dist/@codegen/unstaking_pool/accounts/index.js +8 -0
  13. package/dist/@codegen/unstaking_pool/accounts/index.js.map +1 -0
  14. package/dist/@codegen/unstaking_pool/errors/anchor.d.ts +435 -0
  15. package/dist/@codegen/unstaking_pool/errors/anchor.d.ts.map +1 -0
  16. package/dist/@codegen/unstaking_pool/errors/anchor.js +767 -0
  17. package/dist/@codegen/unstaking_pool/errors/anchor.js.map +1 -0
  18. package/dist/@codegen/unstaking_pool/errors/custom.d.ts +259 -0
  19. package/dist/@codegen/unstaking_pool/errors/custom.d.ts.map +1 -0
  20. package/dist/@codegen/unstaking_pool/errors/custom.js +458 -0
  21. package/dist/@codegen/unstaking_pool/errors/custom.js.map +1 -0
  22. package/dist/@codegen/unstaking_pool/errors/index.d.ts +6 -0
  23. package/dist/@codegen/unstaking_pool/errors/index.d.ts.map +1 -0
  24. package/dist/@codegen/unstaking_pool/errors/index.js +86 -0
  25. package/dist/@codegen/unstaking_pool/errors/index.js.map +1 -0
  26. package/dist/@codegen/unstaking_pool/instructions/burn.d.ts +21 -0
  27. package/dist/@codegen/unstaking_pool/instructions/burn.d.ts.map +1 -0
  28. package/dist/@codegen/unstaking_pool/instructions/burn.js +67 -0
  29. package/dist/@codegen/unstaking_pool/instructions/burn.js.map +1 -0
  30. package/dist/@codegen/unstaking_pool/instructions/changeTicketAuthority.d.ts +8 -0
  31. package/dist/@codegen/unstaking_pool/instructions/changeTicketAuthority.d.ts.map +1 -0
  32. package/dist/@codegen/unstaking_pool/instructions/changeTicketAuthority.js +16 -0
  33. package/dist/@codegen/unstaking_pool/instructions/changeTicketAuthority.js.map +1 -0
  34. package/dist/@codegen/unstaking_pool/instructions/collect.d.ts +16 -0
  35. package/dist/@codegen/unstaking_pool/instructions/collect.d.ts.map +1 -0
  36. package/dist/@codegen/unstaking_pool/instructions/collect.js +24 -0
  37. package/dist/@codegen/unstaking_pool/instructions/collect.js.map +1 -0
  38. package/dist/@codegen/unstaking_pool/instructions/index.d.ts +17 -0
  39. package/dist/@codegen/unstaking_pool/instructions/index.d.ts.map +1 -0
  40. package/dist/@codegen/unstaking_pool/instructions/index.js +20 -0
  41. package/dist/@codegen/unstaking_pool/instructions/index.js.map +1 -0
  42. package/dist/@codegen/unstaking_pool/instructions/initializePool.d.ts +14 -0
  43. package/dist/@codegen/unstaking_pool/instructions/initializePool.d.ts.map +1 -0
  44. package/dist/@codegen/unstaking_pool/instructions/initializePool.js +22 -0
  45. package/dist/@codegen/unstaking_pool/instructions/initializePool.js.map +1 -0
  46. package/dist/@codegen/unstaking_pool/instructions/mint.d.ts +24 -0
  47. package/dist/@codegen/unstaking_pool/instructions/mint.d.ts.map +1 -0
  48. package/dist/@codegen/unstaking_pool/instructions/mint.js +74 -0
  49. package/dist/@codegen/unstaking_pool/instructions/mint.js.map +1 -0
  50. package/dist/@codegen/unstaking_pool/instructions/splitTicket.d.ts +15 -0
  51. package/dist/@codegen/unstaking_pool/instructions/splitTicket.d.ts.map +1 -0
  52. package/dist/@codegen/unstaking_pool/instructions/splitTicket.js +62 -0
  53. package/dist/@codegen/unstaking_pool/instructions/splitTicket.js.map +1 -0
  54. package/dist/@codegen/unstaking_pool/instructions/updateAdmin.d.ts +7 -0
  55. package/dist/@codegen/unstaking_pool/instructions/updateAdmin.d.ts.map +1 -0
  56. package/dist/@codegen/unstaking_pool/instructions/updateAdmin.js +19 -0
  57. package/dist/@codegen/unstaking_pool/instructions/updateAdmin.js.map +1 -0
  58. package/dist/@codegen/unstaking_pool/instructions/updatePoolConfig.d.ts +13 -0
  59. package/dist/@codegen/unstaking_pool/instructions/updatePoolConfig.d.ts.map +1 -0
  60. package/dist/@codegen/unstaking_pool/instructions/updatePoolConfig.js +60 -0
  61. package/dist/@codegen/unstaking_pool/instructions/updatePoolConfig.js.map +1 -0
  62. package/dist/@codegen/unstaking_pool/programId.d.ts +4 -0
  63. package/dist/@codegen/unstaking_pool/programId.d.ts.map +1 -0
  64. package/dist/@codegen/unstaking_pool/programId.js +9 -0
  65. package/dist/@codegen/unstaking_pool/programId.js.map +1 -0
  66. package/dist/@codegen/unstaking_pool/types/PoolConfigField.d.ts +45 -0
  67. package/dist/@codegen/unstaking_pool/types/PoolConfigField.d.ts.map +1 -0
  68. package/dist/@codegen/unstaking_pool/types/PoolConfigField.js +132 -0
  69. package/dist/@codegen/unstaking_pool/types/PoolConfigField.js.map +1 -0
  70. package/dist/@codegen/unstaking_pool/types/index.d.ts +5 -0
  71. package/dist/@codegen/unstaking_pool/types/index.d.ts.map +1 -0
  72. package/dist/@codegen/unstaking_pool/types/index.js +39 -0
  73. package/dist/@codegen/unstaking_pool/types/index.js.map +1 -0
  74. package/dist/@codegen/unstaking_pool/utils/borshAddress.d.ts +4 -0
  75. package/dist/@codegen/unstaking_pool/utils/borshAddress.d.ts.map +1 -0
  76. package/dist/@codegen/unstaking_pool/utils/borshAddress.js +30 -0
  77. package/dist/@codegen/unstaking_pool/utils/borshAddress.js.map +1 -0
  78. package/dist/@codegen/unstaking_pool/utils/index.d.ts +2 -0
  79. package/dist/@codegen/unstaking_pool/utils/index.d.ts.map +1 -0
  80. package/dist/@codegen/unstaking_pool/utils/index.js +18 -0
  81. package/dist/@codegen/unstaking_pool/utils/index.js.map +1 -0
  82. package/dist/classes/action.d.ts.map +1 -1
  83. package/dist/classes/action.js +5 -5
  84. package/dist/classes/action.js.map +1 -1
  85. package/dist/classes/index.d.ts +5 -0
  86. package/dist/classes/index.d.ts.map +1 -1
  87. package/dist/classes/index.js +5 -0
  88. package/dist/classes/index.js.map +1 -1
  89. package/dist/classes/manager.d.ts.map +1 -1
  90. package/dist/classes/manager.js +2 -3
  91. package/dist/classes/manager.js.map +1 -1
  92. package/dist/classes/stakePool.d.ts +8 -0
  93. package/dist/classes/stakePool.d.ts.map +1 -0
  94. package/dist/classes/stakePool.js +18 -0
  95. package/dist/classes/stakePool.js.map +1 -0
  96. package/dist/classes/standardStakePool.d.ts +76 -0
  97. package/dist/classes/standardStakePool.d.ts.map +1 -0
  98. package/dist/classes/standardStakePool.js +400 -0
  99. package/dist/classes/standardStakePool.js.map +1 -0
  100. package/dist/classes/unstakingPool.d.ts +115 -0
  101. package/dist/classes/unstakingPool.d.ts.map +1 -0
  102. package/dist/classes/unstakingPool.js +372 -0
  103. package/dist/classes/unstakingPool.js.map +1 -0
  104. package/dist/classes/unstakingPoolTypes.d.ts +10 -0
  105. package/dist/classes/unstakingPoolTypes.d.ts.map +1 -0
  106. package/dist/classes/unstakingPoolTypes.js +3 -0
  107. package/dist/classes/unstakingPoolTypes.js.map +1 -0
  108. package/dist/classes/vault.d.ts +0 -9
  109. package/dist/classes/vault.d.ts.map +1 -1
  110. package/dist/classes/vault.js +6 -41
  111. package/dist/classes/vault.js.map +1 -1
  112. package/dist/idl/klend.json +1 -1
  113. package/dist/lib.d.ts +1 -0
  114. package/dist/lib.d.ts.map +1 -1
  115. package/dist/lib.js +3 -1
  116. package/dist/lib.js.map +1 -1
  117. package/dist/utils/lookupTable.d.ts +9 -0
  118. package/dist/utils/lookupTable.d.ts.map +1 -1
  119. package/dist/utils/lookupTable.js +37 -0
  120. package/dist/utils/lookupTable.js.map +1 -1
  121. package/package.json +3 -1
  122. package/src/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateralV2.ts +1 -1
  123. package/src/@codegen/unstaking_pool/accounts/PoolState.ts +188 -0
  124. package/src/@codegen/unstaking_pool/accounts/UnstakeTicket.ts +156 -0
  125. package/src/@codegen/unstaking_pool/accounts/index.ts +4 -0
  126. package/src/@codegen/unstaking_pool/errors/anchor.ts +773 -0
  127. package/src/@codegen/unstaking_pool/errors/custom.ts +477 -0
  128. package/src/@codegen/unstaking_pool/errors/index.ts +68 -0
  129. package/src/@codegen/unstaking_pool/instructions/burn.ts +70 -0
  130. package/src/@codegen/unstaking_pool/instructions/changeTicketAuthority.ts +37 -0
  131. package/src/@codegen/unstaking_pool/instructions/collect.ts +53 -0
  132. package/src/@codegen/unstaking_pool/instructions/index.ts +19 -0
  133. package/src/@codegen/unstaking_pool/instructions/initializePool.ts +49 -0
  134. package/src/@codegen/unstaking_pool/instructions/mint.ts +80 -0
  135. package/src/@codegen/unstaking_pool/instructions/splitTicket.ts +59 -0
  136. package/src/@codegen/unstaking_pool/instructions/updateAdmin.ts +39 -0
  137. package/src/@codegen/unstaking_pool/instructions/updatePoolConfig.ts +58 -0
  138. package/src/@codegen/unstaking_pool/programId.ts +9 -0
  139. package/src/@codegen/unstaking_pool/types/PoolConfigField.ts +121 -0
  140. package/src/@codegen/unstaking_pool/types/index.ts +12 -0
  141. package/src/@codegen/unstaking_pool/utils/borshAddress.ts +43 -0
  142. package/src/@codegen/unstaking_pool/utils/index.ts +1 -0
  143. package/src/classes/action.ts +10 -5
  144. package/src/classes/index.ts +5 -0
  145. package/src/classes/manager.ts +3 -4
  146. package/src/classes/stakePool.ts +21 -0
  147. package/src/classes/standardStakePool.ts +487 -0
  148. package/src/classes/unstakingPool.ts +504 -0
  149. package/src/classes/unstakingPoolTypes.ts +12 -0
  150. package/src/classes/vault.ts +43 -56
  151. package/src/idl/klend.json +2 -2
  152. package/src/idl/unstaking_pool.json +662 -0
  153. package/src/lib.ts +1 -0
  154. package/src/utils/lookupTable.ts +48 -0
@@ -7,6 +7,8 @@ import {
7
7
  getDeactivateLookupTableInstruction,
8
8
  getExtendLookupTableInstruction,
9
9
  } from '@solana-program/address-lookup-table';
10
+ import { DEFAULT_PUBLIC_KEY } from './pubkey';
11
+ import { SYSTEM_PROGRAM_ADDRESS } from '@solana-program/system';
10
12
 
11
13
  export async function printAddressLookupTable(rpc: Rpc<GetAccountInfoApi>, lookupTablePk: Address): Promise<void> {
12
14
  const lookupTableAccount = (await fetchAddressLookupTable(rpc, lookupTablePk)).data;
@@ -114,3 +116,49 @@ export async function getAccountsInLut(rpc: Rpc<GetAccountInfoApi>, lookupTable:
114
116
  const lutState = await fetchAddressLookupTable(rpc, lookupTable);
115
117
  return lutState.data.addresses;
116
118
  }
119
+ /**
120
+ * This method inserts the missing keys from the provided keys into an existent lookup table
121
+ * @param authority - payer wallet pubkey
122
+ * @param lookupTable - lookup table to insert the keys into
123
+ * @param keys - keys to insert into the lookup table
124
+ * @param [accountsInLut] - the existent accounts in the lookup table. Optional. If provided, the function will not fetch the accounts in the lookup table
125
+ * @returns - an array of instructions to insert the missing keys into the lookup table
126
+ */
127
+ export async function insertIntoLookupTableIxs(
128
+ rpc: Rpc<GetAccountInfoApi>,
129
+ authority: TransactionSigner,
130
+ lookupTable: Address,
131
+ keys: Address[],
132
+ accountsInLut?: Address[]
133
+ ): Promise<Instruction[]> {
134
+ let lutContentsList = accountsInLut;
135
+ if (!accountsInLut) {
136
+ lutContentsList = await getAccountsInLut(rpc, lookupTable);
137
+ } else {
138
+ lutContentsList = accountsInLut;
139
+ }
140
+
141
+ const lutContents = new Set<Address>(lutContentsList);
142
+
143
+ const missingAccounts = keys.filter((key) => !lutContents.has(key) && key !== DEFAULT_PUBLIC_KEY);
144
+ // deduplicate missing accounts and remove default accounts and convert it back to an array
145
+ const missingAccountsList = [...new Set<Address>(missingAccounts)];
146
+
147
+ const chunkSize = 20;
148
+ const ixs: Instruction[] = [];
149
+
150
+ for (let i = 0; i < missingAccountsList.length; i += chunkSize) {
151
+ const chunk = missingAccountsList.slice(i, i + chunkSize);
152
+ ixs.push(
153
+ getExtendLookupTableInstruction({
154
+ payer: authority,
155
+ authority,
156
+ address: lookupTable,
157
+ systemProgram: SYSTEM_PROGRAM_ADDRESS,
158
+ addresses: chunk,
159
+ })
160
+ );
161
+ }
162
+
163
+ return ixs;
164
+ }