@wuwei-labs/srsly 3.0.0-beta.9 → 4.0.0-beta.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 (819) hide show
  1. package/README.md +38 -0
  2. package/dist/cjs/accounts/borrower.js +55 -0
  3. package/dist/cjs/accounts/borrower.js.map +1 -1
  4. package/dist/cjs/accounts/config.js +50 -2
  5. package/dist/cjs/accounts/config.js.map +1 -1
  6. package/dist/cjs/accounts/contract.js +58 -0
  7. package/dist/cjs/accounts/contract.js.map +1 -1
  8. package/dist/cjs/accounts/fleet.js +6 -37
  9. package/dist/cjs/accounts/fleet.js.map +1 -1
  10. package/dist/cjs/accounts/index.js +24 -0
  11. package/dist/cjs/accounts/index.js.map +1 -0
  12. package/dist/cjs/accounts/member.js +16 -0
  13. package/dist/cjs/accounts/member.js.map +1 -0
  14. package/dist/cjs/accounts/rental.js +55 -0
  15. package/dist/cjs/accounts/rental.js.map +1 -1
  16. package/dist/cjs/accounts/thread.js +37 -0
  17. package/dist/cjs/accounts/thread.js.map +1 -0
  18. package/dist/cjs/demos.js +426 -65
  19. package/dist/cjs/demos.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/borrowerState.js +23 -26
  21. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/configState.js +53 -55
  23. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  24. package/dist/cjs/generated/codama/accounts/contractState.js +52 -56
  25. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/fleet.js +39 -36
  27. package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/index.js +0 -2
  29. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  30. package/dist/cjs/generated/codama/accounts/rentalState.js +43 -38
  31. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  32. package/dist/cjs/generated/codama/accounts/thread.js +41 -50
  33. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  34. package/dist/cjs/generated/codama/errors/srsly.js +70 -49
  35. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/acceptRental.js +77 -153
  37. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  38. package/dist/cjs/generated/codama/instructions/activateRental.js +166 -31
  39. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/cancelRental.js +68 -51
  41. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  42. package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
  43. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  44. package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +41 -69
  45. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  46. package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
  47. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
  49. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  50. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  51. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  52. package/dist/cjs/generated/codama/instructions/closeRental.js +9 -124
  53. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  54. package/dist/cjs/generated/codama/instructions/createBorrower.js +197 -0
  55. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  56. package/dist/cjs/generated/codama/instructions/createConfig.js +21 -21
  57. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  58. package/dist/cjs/generated/codama/instructions/createContract.js +59 -29
  59. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  60. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  61. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  62. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
  63. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  64. package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
  65. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  66. package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
  67. package/dist/cjs/generated/codama/instructions/deleteRental.js +5 -5
  68. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  69. package/dist/cjs/generated/codama/instructions/index.js +6 -6
  70. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  71. package/dist/cjs/generated/codama/instructions/invalidateRental.js +5 -5
  72. package/dist/cjs/generated/codama/instructions/processContract.js +224 -0
  73. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  74. package/dist/cjs/generated/codama/instructions/releaseRental.js +5 -5
  75. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  76. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  77. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  78. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  79. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  80. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  81. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  82. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -25
  83. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  84. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  85. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  86. package/dist/cjs/generated/codama/programs/srsly.js +41 -49
  87. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  88. package/dist/cjs/generated/codama/shared/index.js +8 -8
  89. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  90. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  91. package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
  92. package/dist/cjs/generated/codama/types/combatStats.js +49 -0
  93. package/dist/cjs/generated/codama/types/combatStats.js.map +1 -0
  94. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  95. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  96. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  97. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  98. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  99. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  100. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  101. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  102. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  103. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  104. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  105. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  106. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  107. package/dist/cjs/generated/codama/types/contractUpdated.js +8 -8
  108. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  109. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  110. package/dist/cjs/generated/codama/types/fieldUpdate.js +4 -4
  111. package/dist/cjs/generated/codama/types/fleet.js +74 -0
  112. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  113. package/dist/cjs/generated/codama/types/index.js +11 -6
  114. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  115. package/dist/cjs/generated/codama/types/miscStats.js +22 -22
  116. package/dist/cjs/generated/codama/types/movementStats.js +14 -14
  117. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
  118. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  119. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  120. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  121. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  122. package/dist/cjs/generated/codama/types/rentalActivated.js +8 -6
  123. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
  124. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  125. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  126. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  127. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  128. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  129. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  130. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  131. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  132. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  133. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  134. package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
  135. package/dist/cjs/generated/codama/types/shipStats.js +8 -6
  136. package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
  137. package/dist/cjs/generated/codama/types/signal.js +26 -12
  138. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  139. package/dist/cjs/generated/codama/types/thread.js +62 -0
  140. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  141. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  142. package/dist/cjs/index.js +4 -185
  143. package/dist/cjs/index.js.map +1 -1
  144. package/dist/cjs/instructions/acceptRental.js +87 -82
  145. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  146. package/dist/cjs/instructions/activateRental.js +98 -0
  147. package/dist/cjs/instructions/activateRental.js.map +1 -0
  148. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  149. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  150. package/dist/cjs/instructions/cancelRental.js +32 -23
  151. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  152. package/dist/cjs/instructions/claimBorrower.js +47 -21
  153. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  154. package/dist/cjs/instructions/claimContract.js +56 -0
  155. package/dist/cjs/instructions/claimContract.js.map +1 -0
  156. package/dist/cjs/instructions/closeBorrower.js +21 -23
  157. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  158. package/dist/cjs/instructions/closeContract.js +94 -21
  159. package/dist/cjs/instructions/closeContract.js.map +1 -1
  160. package/dist/cjs/instructions/closeContractThread.js +64 -0
  161. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  162. package/dist/cjs/instructions/closeRental.js +35 -46
  163. package/dist/cjs/instructions/closeRental.js.map +1 -1
  164. package/dist/cjs/instructions/createAffiliate.js +73 -0
  165. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  166. package/dist/cjs/instructions/createBorrower.js +46 -0
  167. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  168. package/dist/cjs/instructions/createContract.js +45 -39
  169. package/dist/cjs/instructions/createContract.js.map +1 -1
  170. package/dist/cjs/instructions/createContractThread.js +102 -0
  171. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  172. package/dist/cjs/instructions/deleteBorrower.js +13 -13
  173. package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
  174. package/dist/cjs/instructions/deleteConfig.js +16 -5
  175. package/dist/cjs/instructions/deleteConfig.js.map +1 -1
  176. package/dist/cjs/instructions/deleteRental.js +1 -4
  177. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  178. package/dist/cjs/instructions/index.js +49 -0
  179. package/dist/cjs/instructions/index.js.map +1 -0
  180. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  181. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  182. package/dist/cjs/instructions/reserveRental.js +95 -71
  183. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  184. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  185. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  186. package/dist/cjs/instructions/updateBorrower.js +44 -38
  187. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  188. package/dist/cjs/instructions/updateConfig.js +0 -4
  189. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  190. package/dist/cjs/instructions/updateContract.js +20 -36
  191. package/dist/cjs/instructions/updateContract.js.map +1 -1
  192. package/dist/cjs/instructions/updateContractThread.js +60 -0
  193. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  194. package/dist/cjs/kit/index.js +68 -0
  195. package/dist/cjs/kit/index.js.map +1 -0
  196. package/dist/cjs/legacy/index.js +125 -0
  197. package/dist/cjs/legacy/index.js.map +1 -0
  198. package/dist/cjs/package.json +5 -3
  199. package/dist/cjs/params/amount.js +4 -4
  200. package/dist/cjs/params/index.js +21 -0
  201. package/dist/cjs/params/index.js.map +1 -0
  202. package/dist/cjs/params/sol.js +71 -0
  203. package/dist/cjs/params/sol.js.map +1 -0
  204. package/dist/cjs/pda/constants.js +7 -2
  205. package/dist/cjs/pda/constants.js.map +1 -1
  206. package/dist/cjs/pda/index.js +10 -22
  207. package/dist/cjs/pda/index.js.map +1 -1
  208. package/dist/cjs/pda/lookupTable.js +3 -2
  209. package/dist/cjs/pda/lookupTable.js.map +1 -1
  210. package/dist/cjs/pda/sage.js +11 -10
  211. package/dist/cjs/pda/sage.js.map +1 -1
  212. package/dist/cjs/pda/slyvault.js +5 -49
  213. package/dist/cjs/pda/slyvault.js.map +1 -1
  214. package/dist/cjs/pda/srsly.js +39 -19
  215. package/dist/cjs/pda/srsly.js.map +1 -1
  216. package/dist/cjs/pda/thread.js +41 -31
  217. package/dist/cjs/pda/thread.js.map +1 -1
  218. package/dist/cjs/pda/token.js +5 -4
  219. package/dist/cjs/pda/token.js.map +1 -1
  220. package/dist/cjs/utils/addresses.js +3 -2
  221. package/dist/cjs/utils/addresses.js.map +1 -1
  222. package/dist/cjs/utils/config.js +20 -2
  223. package/dist/cjs/utils/config.js.map +1 -1
  224. package/dist/cjs/utils/discountAuth.js +161 -0
  225. package/dist/cjs/utils/discountAuth.js.map +1 -0
  226. package/dist/cjs/utils/index.js +16 -1
  227. package/dist/cjs/utils/index.js.map +1 -1
  228. package/dist/cjs/utils/instructionResult.js +76 -0
  229. package/dist/cjs/utils/instructionResult.js.map +1 -0
  230. package/dist/cjs/utils/instructions.js +12 -17
  231. package/dist/cjs/utils/instructions.js.map +1 -1
  232. package/dist/cjs/utils/rental.js +49 -0
  233. package/dist/cjs/utils/rental.js.map +1 -0
  234. package/dist/cjs/utils/signer.js +16 -9
  235. package/dist/cjs/utils/signer.js.map +1 -1
  236. package/dist/cjs/version.js +1 -1
  237. package/dist/esm/accounts/borrower.js +55 -1
  238. package/dist/esm/accounts/borrower.js.map +1 -1
  239. package/dist/esm/accounts/config.js +48 -1
  240. package/dist/esm/accounts/config.js.map +1 -1
  241. package/dist/esm/accounts/contract.js +58 -1
  242. package/dist/esm/accounts/contract.js.map +1 -1
  243. package/dist/esm/accounts/fleet.js +7 -38
  244. package/dist/esm/accounts/fleet.js.map +1 -1
  245. package/dist/esm/accounts/index.js +8 -0
  246. package/dist/esm/accounts/index.js.map +1 -0
  247. package/dist/esm/accounts/member.js +9 -0
  248. package/dist/esm/accounts/member.js.map +1 -0
  249. package/dist/esm/accounts/rental.js +55 -1
  250. package/dist/esm/accounts/rental.js.map +1 -1
  251. package/dist/esm/accounts/thread.js +34 -0
  252. package/dist/esm/accounts/thread.js.map +1 -0
  253. package/dist/esm/demos.js +425 -64
  254. package/dist/esm/demos.js.map +1 -1
  255. package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
  256. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  257. package/dist/esm/generated/codama/accounts/configState.js +53 -56
  258. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  259. package/dist/esm/generated/codama/accounts/contractState.js +53 -57
  260. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  261. package/dist/esm/generated/codama/accounts/fleet.js +41 -38
  262. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
  263. package/dist/esm/generated/codama/accounts/index.js +4 -6
  264. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  265. package/dist/esm/generated/codama/accounts/rentalState.js +45 -40
  266. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  267. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  268. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  269. package/dist/esm/generated/codama/errors/index.js +1 -1
  270. package/dist/esm/generated/codama/errors/srsly.js +70 -49
  271. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  272. package/dist/esm/generated/codama/index.js +5 -5
  273. package/dist/esm/generated/codama/instructions/acceptRental.js +81 -157
  274. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  275. package/dist/esm/generated/codama/instructions/activateRental.js +169 -34
  276. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  277. package/dist/esm/generated/codama/instructions/cancelRental.js +71 -54
  278. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  279. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  280. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  281. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  282. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  283. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  284. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  285. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  286. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  287. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  288. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  289. package/dist/esm/generated/codama/instructions/closeRental.js +12 -127
  290. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  291. package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
  292. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  293. package/dist/esm/generated/codama/instructions/createConfig.js +24 -24
  294. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  295. package/dist/esm/generated/codama/instructions/createContract.js +62 -32
  296. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  297. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  298. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  299. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  300. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  301. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  302. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  303. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  304. package/dist/esm/generated/codama/instructions/deleteRental.js +8 -8
  305. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  306. package/dist/esm/generated/codama/instructions/index.js +25 -25
  307. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  308. package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
  309. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  310. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  311. package/dist/esm/generated/codama/instructions/releaseRental.js +8 -8
  312. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  313. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  314. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  315. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  316. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  317. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  318. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  319. package/dist/esm/generated/codama/instructions/updateContract.js +20 -28
  320. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  321. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  322. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  323. package/dist/esm/generated/codama/programs/index.js +1 -1
  324. package/dist/esm/generated/codama/programs/srsly.js +42 -50
  325. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  326. package/dist/esm/generated/codama/shared/index.js +9 -9
  327. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  328. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  329. package/dist/esm/generated/codama/types/cargoStats.js +19 -19
  330. package/dist/esm/generated/codama/types/combatStats.js +44 -0
  331. package/dist/esm/generated/codama/types/combatStats.js.map +1 -0
  332. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  333. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  334. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  335. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  336. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  337. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  338. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  339. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  340. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  341. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  342. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  343. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  344. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  345. package/dist/esm/generated/codama/types/contractUpdated.js +10 -10
  346. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  347. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  348. package/dist/esm/generated/codama/types/fieldUpdate.js +5 -5
  349. package/dist/esm/generated/codama/types/fleet.js +69 -0
  350. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  351. package/dist/esm/generated/codama/types/index.js +34 -29
  352. package/dist/esm/generated/codama/types/index.js.map +1 -1
  353. package/dist/esm/generated/codama/types/miscStats.js +23 -23
  354. package/dist/esm/generated/codama/types/movementStats.js +15 -15
  355. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
  356. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  357. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  358. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  359. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  360. package/dist/esm/generated/codama/types/rentalActivated.js +9 -7
  361. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
  362. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  363. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  364. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  365. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  366. package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
  367. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  368. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  369. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  370. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  371. package/dist/esm/generated/codama/types/schedule.js +15 -15
  372. package/dist/esm/generated/codama/types/shipCounts.js +21 -21
  373. package/dist/esm/generated/codama/types/shipStats.js +10 -8
  374. package/dist/esm/generated/codama/types/shipStats.js.map +1 -1
  375. package/dist/esm/generated/codama/types/signal.js +28 -14
  376. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  377. package/dist/esm/generated/codama/types/thread.js +57 -0
  378. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  379. package/dist/esm/generated/codama/types/trigger.js +37 -37
  380. package/dist/esm/index.js +1 -84
  381. package/dist/esm/index.js.map +1 -1
  382. package/dist/esm/instructions/acceptRental.js +91 -86
  383. package/dist/esm/instructions/acceptRental.js.map +1 -1
  384. package/dist/esm/instructions/activateRental.js +95 -0
  385. package/dist/esm/instructions/activateRental.js.map +1 -0
  386. package/dist/esm/instructions/approveAffiliate.js +7 -0
  387. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  388. package/dist/esm/instructions/cancelRental.js +33 -24
  389. package/dist/esm/instructions/cancelRental.js.map +1 -1
  390. package/dist/esm/instructions/claimBorrower.js +49 -23
  391. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  392. package/dist/esm/instructions/claimContract.js +53 -0
  393. package/dist/esm/instructions/claimContract.js.map +1 -0
  394. package/dist/esm/instructions/closeBorrower.js +22 -24
  395. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  396. package/dist/esm/instructions/closeContract.js +63 -23
  397. package/dist/esm/instructions/closeContract.js.map +1 -1
  398. package/dist/esm/instructions/closeContractThread.js +61 -0
  399. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  400. package/dist/esm/instructions/closeRental.js +36 -47
  401. package/dist/esm/instructions/closeRental.js.map +1 -1
  402. package/dist/esm/instructions/createAffiliate.js +70 -0
  403. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  404. package/dist/esm/instructions/createBorrower.js +43 -0
  405. package/dist/esm/instructions/createBorrower.js.map +1 -0
  406. package/dist/esm/instructions/createContract.js +47 -41
  407. package/dist/esm/instructions/createContract.js.map +1 -1
  408. package/dist/esm/instructions/createContractThread.js +99 -0
  409. package/dist/esm/instructions/createContractThread.js.map +1 -0
  410. package/dist/esm/instructions/deleteBorrower.js +13 -13
  411. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  412. package/dist/esm/instructions/deleteConfig.js +17 -6
  413. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  414. package/dist/esm/instructions/deleteRental.js +1 -4
  415. package/dist/esm/instructions/deleteRental.js.map +1 -1
  416. package/dist/esm/instructions/index.js +33 -0
  417. package/dist/esm/instructions/index.js.map +1 -0
  418. package/dist/esm/instructions/removeAffiliate.js +7 -0
  419. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  420. package/dist/esm/instructions/reserveRental.js +97 -73
  421. package/dist/esm/instructions/reserveRental.js.map +1 -1
  422. package/dist/esm/instructions/updateAffiliate.js +54 -0
  423. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  424. package/dist/esm/instructions/updateBorrower.js +45 -39
  425. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  426. package/dist/esm/instructions/updateConfig.js +0 -4
  427. package/dist/esm/instructions/updateConfig.js.map +1 -1
  428. package/dist/esm/instructions/updateContract.js +20 -36
  429. package/dist/esm/instructions/updateContract.js.map +1 -1
  430. package/dist/esm/instructions/updateContractThread.js +57 -0
  431. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  432. package/dist/esm/kit/index.js +26 -0
  433. package/dist/esm/kit/index.js.map +1 -0
  434. package/dist/esm/legacy/index.js +84 -0
  435. package/dist/esm/legacy/index.js.map +1 -0
  436. package/dist/esm/package.json +5 -3
  437. package/dist/esm/params/amount.js +4 -4
  438. package/dist/esm/params/index.js +5 -0
  439. package/dist/esm/params/index.js.map +1 -0
  440. package/dist/esm/params/sol.js +68 -0
  441. package/dist/esm/params/sol.js.map +1 -0
  442. package/dist/esm/pda/constants.js +6 -1
  443. package/dist/esm/pda/constants.js.map +1 -1
  444. package/dist/esm/pda/index.js +4 -22
  445. package/dist/esm/pda/index.js.map +1 -1
  446. package/dist/esm/pda/lookupTable.js +3 -2
  447. package/dist/esm/pda/lookupTable.js.map +1 -1
  448. package/dist/esm/pda/sage.js +11 -10
  449. package/dist/esm/pda/sage.js.map +1 -1
  450. package/dist/esm/pda/slyvault.js +2 -47
  451. package/dist/esm/pda/slyvault.js.map +1 -1
  452. package/dist/esm/pda/srsly.js +38 -19
  453. package/dist/esm/pda/srsly.js.map +1 -1
  454. package/dist/esm/pda/thread.js +40 -31
  455. package/dist/esm/pda/thread.js.map +1 -1
  456. package/dist/esm/pda/token.js +5 -4
  457. package/dist/esm/pda/token.js.map +1 -1
  458. package/dist/esm/utils/addresses.js +3 -2
  459. package/dist/esm/utils/addresses.js.map +1 -1
  460. package/dist/esm/utils/config.js +19 -2
  461. package/dist/esm/utils/config.js.map +1 -1
  462. package/dist/esm/utils/discountAuth.js +155 -0
  463. package/dist/esm/utils/discountAuth.js.map +1 -0
  464. package/dist/esm/utils/index.js +7 -1
  465. package/dist/esm/utils/index.js.map +1 -1
  466. package/dist/esm/utils/instructionResult.js +72 -0
  467. package/dist/esm/utils/instructionResult.js.map +1 -0
  468. package/dist/esm/utils/instructions.js +12 -17
  469. package/dist/esm/utils/instructions.js.map +1 -1
  470. package/dist/esm/utils/rental.js +45 -0
  471. package/dist/esm/utils/rental.js.map +1 -0
  472. package/dist/esm/utils/signer.js +16 -9
  473. package/dist/esm/utils/signer.js.map +1 -1
  474. package/dist/esm/version.js +1 -1
  475. package/dist/idl/srsly.json +2518 -3336
  476. package/dist/types/accounts/borrower.d.ts +19 -0
  477. package/dist/types/accounts/borrower.d.ts.map +1 -1
  478. package/dist/types/accounts/config.d.ts +19 -0
  479. package/dist/types/accounts/config.d.ts.map +1 -1
  480. package/dist/types/accounts/contract.d.ts +19 -0
  481. package/dist/types/accounts/contract.d.ts.map +1 -1
  482. package/dist/types/accounts/fleet.d.ts +5 -30
  483. package/dist/types/accounts/fleet.d.ts.map +1 -1
  484. package/dist/types/accounts/index.d.ts +8 -0
  485. package/dist/types/accounts/index.d.ts.map +1 -0
  486. package/dist/types/accounts/member.d.ts +9 -0
  487. package/dist/types/accounts/member.d.ts.map +1 -0
  488. package/dist/types/accounts/rental.d.ts +19 -0
  489. package/dist/types/accounts/rental.d.ts.map +1 -1
  490. package/dist/types/accounts/thread.d.ts +21 -0
  491. package/dist/types/accounts/thread.d.ts.map +1 -0
  492. package/dist/types/demos.d.ts +55 -4
  493. package/dist/types/demos.d.ts.map +1 -1
  494. package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
  495. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  496. package/dist/types/generated/codama/accounts/configState.d.ts +8 -21
  497. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  498. package/dist/types/generated/codama/accounts/contractState.d.ts +59 -79
  499. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  500. package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
  501. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
  502. package/dist/types/generated/codama/accounts/index.d.ts +4 -6
  503. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  504. package/dist/types/generated/codama/accounts/rentalState.d.ts +49 -42
  505. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  506. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  507. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  508. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  509. package/dist/types/generated/codama/errors/srsly.d.ts +55 -41
  510. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  511. package/dist/types/generated/codama/index.d.ts +5 -5
  512. package/dist/types/generated/codama/instructions/acceptRental.d.ts +61 -77
  513. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  514. package/dist/types/generated/codama/instructions/activateRental.d.ts +78 -34
  515. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  516. package/dist/types/generated/codama/instructions/cancelRental.d.ts +39 -24
  517. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  518. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  519. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  520. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  521. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  522. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  523. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  524. package/dist/types/generated/codama/instructions/closeContract.d.ts +65 -25
  525. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  526. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  527. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  528. package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -62
  529. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  530. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  531. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  532. package/dist/types/generated/codama/instructions/createConfig.d.ts +5 -5
  533. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  534. package/dist/types/generated/codama/instructions/createContract.d.ts +40 -40
  535. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  536. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  537. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  538. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  539. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  540. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  541. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  542. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  543. package/dist/types/generated/codama/instructions/deleteRental.d.ts +5 -2
  544. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  545. package/dist/types/generated/codama/instructions/index.d.ts +25 -25
  546. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  547. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
  548. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  549. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  550. package/dist/types/generated/codama/instructions/releaseRental.d.ts +2 -2
  551. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  552. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  553. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  554. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  555. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  556. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  557. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  558. package/dist/types/generated/codama/instructions/updateContract.d.ts +22 -28
  559. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  560. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  561. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  562. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  563. package/dist/types/generated/codama/programs/srsly.d.ts +37 -39
  564. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  565. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  566. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  567. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  568. package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
  569. package/dist/types/generated/codama/types/combatStats.d.ts +28 -0
  570. package/dist/types/generated/codama/types/combatStats.d.ts.map +1 -0
  571. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  572. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  573. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  574. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  575. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  576. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  577. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  578. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  579. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  580. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  581. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  582. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  583. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  584. package/dist/types/generated/codama/types/contractUpdated.d.ts +2 -2
  585. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  586. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  587. package/dist/types/generated/codama/types/fieldUpdate.d.ts +1 -1
  588. package/dist/types/generated/codama/types/fleet.d.ts +66 -0
  589. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  590. package/dist/types/generated/codama/types/index.d.ts +34 -29
  591. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  592. package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
  593. package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
  594. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +1 -1
  595. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  596. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  597. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  598. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  599. package/dist/types/generated/codama/types/rentalActivated.d.ts +8 -2
  600. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
  601. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  602. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  603. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  604. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  605. package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
  606. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  607. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  608. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  609. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  610. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  611. package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
  612. package/dist/types/generated/codama/types/shipStats.d.ts +4 -2
  613. package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
  614. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  615. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  616. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  617. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  618. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  619. package/dist/types/index.d.ts +1 -37
  620. package/dist/types/index.d.ts.map +1 -1
  621. package/dist/types/instructions/acceptRental.d.ts +33 -33
  622. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  623. package/dist/types/instructions/activateRental.d.ts +46 -0
  624. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  625. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  626. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  627. package/dist/types/instructions/cancelRental.d.ts +10 -15
  628. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  629. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  630. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  631. package/dist/types/instructions/claimContract.d.ts +40 -0
  632. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  633. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  634. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  635. package/dist/types/instructions/closeContract.d.ts +8 -15
  636. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  637. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  638. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  639. package/dist/types/instructions/closeRental.d.ts +11 -12
  640. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  641. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  642. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  643. package/dist/types/instructions/createBorrower.d.ts +36 -0
  644. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  645. package/dist/types/instructions/createContract.d.ts +27 -43
  646. package/dist/types/instructions/createContract.d.ts.map +1 -1
  647. package/dist/types/instructions/createContractThread.d.ts +52 -0
  648. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  649. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  650. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  651. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  652. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  653. package/dist/types/instructions/deleteRental.d.ts +3 -2
  654. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  655. package/dist/types/instructions/index.d.ts +33 -0
  656. package/dist/types/instructions/index.d.ts.map +1 -0
  657. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  658. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  659. package/dist/types/instructions/reserveRental.d.ts +43 -29
  660. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  661. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  662. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  663. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  664. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  665. package/dist/types/instructions/updateConfig.d.ts +0 -13
  666. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  667. package/dist/types/instructions/updateContract.d.ts +22 -35
  668. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  669. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  670. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  671. package/dist/types/kit/index.d.ts +25 -0
  672. package/dist/types/kit/index.d.ts.map +1 -0
  673. package/dist/types/legacy/index.d.ts +63 -0
  674. package/dist/types/legacy/index.d.ts.map +1 -0
  675. package/dist/types/params/amount.d.ts +3 -3
  676. package/dist/types/params/index.d.ts +5 -0
  677. package/dist/types/params/index.d.ts.map +1 -0
  678. package/dist/types/params/sol.d.ts +34 -0
  679. package/dist/types/params/sol.d.ts.map +1 -0
  680. package/dist/types/pda/constants.d.ts +6 -1
  681. package/dist/types/pda/constants.d.ts.map +1 -1
  682. package/dist/types/pda/index.d.ts +5 -22
  683. package/dist/types/pda/index.d.ts.map +1 -1
  684. package/dist/types/pda/lookupTable.d.ts +2 -1
  685. package/dist/types/pda/lookupTable.d.ts.map +1 -1
  686. package/dist/types/pda/sage.d.ts +6 -5
  687. package/dist/types/pda/sage.d.ts.map +1 -1
  688. package/dist/types/pda/slyvault.d.ts +2 -23
  689. package/dist/types/pda/slyvault.d.ts.map +1 -1
  690. package/dist/types/pda/srsly.d.ts +21 -8
  691. package/dist/types/pda/srsly.d.ts.map +1 -1
  692. package/dist/types/pda/thread.d.ts +18 -18
  693. package/dist/types/pda/thread.d.ts.map +1 -1
  694. package/dist/types/pda/token.d.ts +2 -1
  695. package/dist/types/pda/token.d.ts.map +1 -1
  696. package/dist/types/utils/addresses.d.ts +5 -1
  697. package/dist/types/utils/addresses.d.ts.map +1 -1
  698. package/dist/types/utils/config.d.ts +48 -0
  699. package/dist/types/utils/config.d.ts.map +1 -1
  700. package/dist/types/utils/discountAuth.d.ts +94 -0
  701. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  702. package/dist/types/utils/index.d.ts +4 -1
  703. package/dist/types/utils/index.d.ts.map +1 -1
  704. package/dist/types/utils/instructionResult.d.ts +57 -0
  705. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  706. package/dist/types/utils/instructions.d.ts +16 -18
  707. package/dist/types/utils/instructions.d.ts.map +1 -1
  708. package/dist/types/utils/rental.d.ts +22 -0
  709. package/dist/types/utils/rental.d.ts.map +1 -0
  710. package/dist/types/utils/signer.d.ts +5 -2
  711. package/dist/types/utils/signer.d.ts.map +1 -1
  712. package/dist/types/version.d.ts +1 -1
  713. package/package.json +38 -21
  714. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  715. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  716. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  717. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  718. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  719. package/dist/cjs/generated/codama/instructions/claimRental.js +0 -361
  720. package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
  721. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  722. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  723. package/dist/cjs/generated/codama/instructions/payRental.js +0 -290
  724. package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
  725. package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -252
  726. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
  727. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  728. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  729. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  730. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  731. package/dist/cjs/generated/codama/types/memberType.js +0 -57
  732. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  733. package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
  734. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
  735. package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
  736. package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
  737. package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
  738. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
  739. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
  740. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  741. package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
  742. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
  743. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  744. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  745. package/dist/cjs/instructions/claimRental.js +0 -155
  746. package/dist/cjs/instructions/claimRental.js.map +0 -1
  747. package/dist/cjs/instructions/discountBorrower.js +0 -75
  748. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  749. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  750. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  751. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  752. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  753. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  754. package/dist/esm/generated/codama/instructions/claimRental.js +0 -351
  755. package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
  756. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  757. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  758. package/dist/esm/generated/codama/instructions/payRental.js +0 -280
  759. package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
  760. package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -242
  761. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
  762. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  763. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  764. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  765. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  766. package/dist/esm/generated/codama/types/memberType.js +0 -50
  767. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  768. package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
  769. package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
  770. package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
  771. package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
  772. package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
  773. package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
  774. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
  775. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  776. package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
  777. package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
  778. package/dist/esm/instructions/claimContractPayments.js +0 -76
  779. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  780. package/dist/esm/instructions/claimRental.js +0 -152
  781. package/dist/esm/instructions/claimRental.js.map +0 -1
  782. package/dist/esm/instructions/discountBorrower.js +0 -72
  783. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  784. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  785. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  786. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  787. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  788. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  789. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  790. package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -136
  791. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
  792. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  793. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  794. package/dist/types/generated/codama/instructions/payRental.d.ts +0 -140
  795. package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
  796. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -102
  797. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
  798. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  799. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  800. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  801. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  802. package/dist/types/generated/codama/types/memberType.d.ts +0 -57
  803. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  804. package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
  805. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
  806. package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
  807. package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
  808. package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
  809. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
  810. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
  811. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
  812. package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
  813. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
  814. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  815. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  816. package/dist/types/instructions/claimRental.d.ts +0 -88
  817. package/dist/types/instructions/claimRental.d.ts.map +0 -1
  818. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  819. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -2,13 +2,16 @@
2
2
  * @purpose Simplified claimBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated claimBorrower instruction.
5
- * Allows borrowers to claim accumulated ATLAS from their managed token account.
5
+ * Allows claiming accumulated ATLAS from a borrower's managed token account.
6
+ * When close is true, bundles a closeBorrower instruction to also close the
7
+ * managed ATA and BorrowerState in a single transaction.
6
8
  */
7
9
  import { address } from '@solana/kit';
8
- import { getClaimBorrowerInstructionAsync } from '../generated/codama/instructions';
10
+ import { getClaimBorrowerInstructionAsync, getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
9
11
  import { mergeConfig, getAddresses } from '../utils/config';
10
- import { toTransactionSigner } from '../utils/signer';
12
+ import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
13
  import { prepareInstructions } from '../utils/instructions';
14
+ import { fetchConfig } from '../accounts/config';
12
15
  /**
13
16
  * Claim borrower ATLAS refunds
14
17
  *
@@ -17,45 +20,68 @@ import { prepareInstructions } from '../utils/instructions';
17
20
  * account (an ATA with the borrower_state as authority). This instruction
18
21
  * transfers those funds to the borrower's personal wallet.
19
22
  *
23
+ * The payer and borrower can be different accounts, allowing a third party
24
+ * to pay for the claim transaction on behalf of the borrower.
25
+ *
26
+ * When close is true, a closeBorrower instruction is bundled to also close
27
+ * the managed ATA and BorrowerState PDA in the same transaction.
28
+ *
20
29
  * @param params - Borrower claim parameters
21
30
  * @param config - Optional SDK configuration overrides
22
31
  * @returns Kit instruction (or web3.js if PublicKey in config)
23
32
  *
24
33
  * @example
25
34
  * ```typescript
26
- * // Claim accumulated ATLAS refunds
35
+ * // Self-claim: payer is the borrower
27
36
  * const ix = await claimBorrower({
28
- * borrower: borrowerWallet
37
+ * payer: borrowerWallet,
29
38
  * });
30
39
  *
31
- * // With web3.js
32
- * import { PublicKey } from '@solana/web3.js';
33
- * setSdkConfig({ network: 'mainnet-beta', PublicKey });
34
- * const web3Ix = await claimBorrower({
35
- * borrower: keypair
40
+ * // Third-party claim: someone else pays
41
+ * const ix2 = await claimBorrower({
42
+ * payer: relayerWallet,
43
+ * borrower: "BORROWER_ADDRESS"
44
+ * });
45
+ *
46
+ * // Claim and close the BorrowerState account
47
+ * const ix3 = await claimBorrower({
48
+ * payer: borrowerWallet,
49
+ * close: true
36
50
  * });
37
51
  * ```
38
52
  */
39
53
  export async function claimBorrower(params, config) {
40
- // Merge config
41
54
  const finalConfig = mergeConfig(config);
42
- // Validate required params
43
- if (!params.borrower) {
44
- throw new Error('borrower is required');
55
+ if (!params.payer) {
56
+ throw new Error('payer is required');
45
57
  }
46
- // Convert borrower to transaction signer
47
- const borrowerSigner = toTransactionSigner(params.borrower);
48
- // Get network-specific addresses
58
+ const payerSigner = toTransactionSigner(params.payer);
59
+ const borrowerAddress = params.borrower
60
+ ? address(params.borrower)
61
+ : getSignerAddress(payerSigner);
62
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
63
+ const atlasMint = configAccount.data.atlasMint;
49
64
  const addresses = getAddresses(config);
50
- const atlasMint = address(addresses.atlasMint);
51
65
  const programAddress = address(addresses.srsly);
52
- // Call Codama-generated instruction
53
- // Most accounts are auto-derived (config, borrowerState, managed account, destination)
54
- const kitInstruction = await getClaimBorrowerInstructionAsync({
55
- borrower: borrowerSigner,
66
+ // Build claim instruction
67
+ const claimIx = await getClaimBorrowerInstructionAsync({
68
+ payer: payerSigner,
69
+ borrower: borrowerAddress,
56
70
  mint: atlasMint,
57
71
  }, { programAddress });
58
- return prepareInstructions(kitInstruction, {
72
+ // If close requested, bundle a closeBorrower instruction after the claim
73
+ if (params.close) {
74
+ const closeIx = await getCloseBorrowerInstructionAsync({
75
+ payer: payerSigner,
76
+ borrower: borrowerAddress,
77
+ mint: atlasMint,
78
+ }, { programAddress });
79
+ return prepareInstructions([claimIx, closeIx], {
80
+ computeUnits: params.computeUnits,
81
+ PublicKey: finalConfig.PublicKey
82
+ });
83
+ }
84
+ return prepareInstructions(claimIx, {
59
85
  computeUnits: params.computeUnits,
60
86
  PublicKey: finalConfig.PublicKey
61
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAmB5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,oCAAoC;IACpC,uFAAuF;IACvF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,yEAAyE;IACzE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;YACE,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,SAAS;SAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,OAAO,mBAAmB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YAC7C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,EAAE;QAClC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @purpose Simplified claimContract instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated claimContract instruction.
5
+ * Permissionless — anyone can trigger, but tokens always go to the owner's ATA.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { getClaimContractInstructionAsync } from '../generated/codama/instructions';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
+ import { toTransactionSigner } from '../utils/signer';
11
+ import { prepareInstructions } from '../utils/instructions';
12
+ import { fetchConfig } from '../accounts/config';
13
+ import { fetchContract } from '../accounts/contract';
14
+ /**
15
+ * Claim contract ATLAS earnings
16
+ *
17
+ * Permissionless — anyone can trigger, but tokens always go to the
18
+ * contract owner's ATA (derived from contract state).
19
+ *
20
+ * @param params - Contract claim parameters
21
+ * @param config - Optional SDK configuration overrides
22
+ * @returns Kit instruction (or web3.js if PublicKey in config)
23
+ */
24
+ export async function claimContract(params, config) {
25
+ const finalConfig = mergeConfig(config);
26
+ if (!params.payer) {
27
+ throw new Error('payer is required');
28
+ }
29
+ if (!params.contract) {
30
+ throw new Error('contract is required');
31
+ }
32
+ const payerSigner = toTransactionSigner(params.payer);
33
+ // Get atlasMint from on-chain config
34
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
35
+ const atlasMint = configAccount.data.atlasMint;
36
+ const addresses = getAddresses(config);
37
+ const programAddress = address(addresses.srsly);
38
+ // Fetch contract to get owner and contractTokenAccount
39
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
40
+ const contractAddress = address(params.contract);
41
+ const kitInstruction = await getClaimContractInstructionAsync({
42
+ payer: payerSigner,
43
+ owner: contractAccount.data.owner,
44
+ mint: atlasMint,
45
+ contract: contractAddress,
46
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
47
+ }, { programAddress });
48
+ return prepareInstructions(kitInstruction, {
49
+ computeUnits: params.computeUnits,
50
+ PublicKey: finalConfig.PublicKey
51
+ });
52
+ }
53
+ //# sourceMappingURL=claimContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimContract.js","sourceRoot":"","sources":["../../../src/instructions/claimContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuBrD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,uDAAuD;IACvD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK;QACjC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,oBAAoB,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB;KAC/D,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -2,20 +2,23 @@
2
2
  * @purpose Simplified closeBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated closeBorrower instruction.
5
- * Closes the borrower account and reclaims rent.
5
+ * Closes a borrower's managed token account and BorrowerState.
6
+ * Requires no active rentals and zero managed ATA balance (claim first).
6
7
  */
7
8
  import { address } from '@solana/kit';
8
- import { getCloseBorrowerInstruction } from '../generated/codama/instructions';
9
+ import { getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
9
10
  import { mergeConfig, getAddresses } from '../utils/config';
10
11
  import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
12
  import { prepareInstructions } from '../utils/instructions';
12
- import { deriveBorrowerState } from '../pda/srsly';
13
+ import { fetchConfig } from '../accounts/config';
13
14
  /**
14
- * Close borrower account
15
+ * Close a borrower's managed token account and BorrowerState
15
16
  *
16
- * Closes the borrower account and reclaims rent.
17
+ * Closes the managed ATA and BorrowerState PDA, returning lamports to the
18
+ * borrower wallet. Requires no active rentals and zero managed ATA balance.
19
+ * Call claimBorrower first to withdraw any remaining ATLAS.
17
20
  *
18
- * This function automatically derives the borrower state PDA.
21
+ * Permissionless anyone can trigger since lamports always go to the borrower.
19
22
  *
20
23
  * @param params - Close borrower parameters
21
24
  * @param config - Optional SDK configuration overrides
@@ -23,31 +26,26 @@ import { deriveBorrowerState } from '../pda/srsly';
23
26
  *
24
27
  * @example
25
28
  * ```typescript
26
- * // Close borrower account
27
- * const ix = await closeBorrower({
28
- * borrower: borrowerWallet
29
- * });
29
+ * const ix = await closeBorrower({ payer: borrowerWallet });
30
30
  * ```
31
31
  */
32
32
  export async function closeBorrower(params, config) {
33
- // Merge config
34
33
  const finalConfig = mergeConfig(config);
35
- // Validate required params
36
- if (!params.borrower) {
37
- throw new Error('borrower is required');
34
+ if (!params.payer) {
35
+ throw new Error('payer is required');
38
36
  }
39
- // Convert borrower to transaction signer
40
- const borrowerSigner = toTransactionSigner(params.borrower);
41
- const borrowerAddress = getSignerAddress(borrowerSigner);
42
- // Get network-specific addresses
37
+ const payerSigner = toTransactionSigner(params.payer);
38
+ const borrowerAddress = params.borrower
39
+ ? address(params.borrower)
40
+ : getSignerAddress(payerSigner);
41
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
42
+ const atlasMint = configAccount.data.atlasMint;
43
43
  const addresses = getAddresses(config);
44
44
  const programAddress = address(addresses.srsly);
45
- // Derive borrower state PDA
46
- const borrowerState = await deriveBorrowerState(borrowerAddress);
47
- // Call Codama-generated instruction (sync version - no async derivation)
48
- const kitInstruction = getCloseBorrowerInstruction({
49
- borrower: borrowerSigner,
50
- borrowerState,
45
+ const kitInstruction = await getCloseBorrowerInstructionAsync({
46
+ payer: payerSigner,
47
+ borrower: borrowerAddress,
48
+ mint: atlasMint,
51
49
  }, { programAddress });
52
50
  return prepareInstructions(kitInstruction, {
53
51
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAmBnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEzD,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAEjE,yEAAyE;IACzE,MAAM,cAAc,GAAG,2BAA2B,CAChD;QACE,QAAQ,EAAE,cAAc;QACxB,aAAa;KACd,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAyBjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -4,11 +4,16 @@
4
4
  * Thin convenience wrapper around Codama-generated closeContract instruction.
5
5
  * Closes a contract with no active rentals and claims remaining payments.
6
6
  */
7
- import { address } from '@solana/kit';
8
- import { getCloseContractInstructionAsync } from '../generated/codama/instructions';
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getCloseContractInstructionAsync, getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { fetchContract } from '../accounts/contract';
12
+ import { fetchConfig } from '../accounts/config';
13
+ import { fetchThread } from '../accounts/thread';
14
+ import { deriveAssociatedTokenAccount } from '../pda/token';
15
+ import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
16
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
12
17
  import { prepareInstructions } from '../utils/instructions';
13
18
  /**
14
19
  * Close a rental contract
@@ -17,9 +22,13 @@ import { prepareInstructions } from '../utils/instructions';
17
22
  * accounts don't exist, they will be created temporarily before being closed.
18
23
  * This allows recovery from partial failures during previous close attempts.
19
24
  *
20
- * Contract must have no active rentals. Claims all remaining payments
21
- * from the contract's token account, invalidates the rental in SAGE,
22
- * and closes the contract account.
25
+ * Two-phase close behavior:
26
+ * - **No active/queued rental**: Thread close is prepended automatically,
27
+ * then contract_close fires immediate full close.
28
+ * - **Active or queued rental**: Only contract_close is sent, which sets
29
+ * `to_close = true`. The thread stays alive to settle escrow, chain to
30
+ * `rental_close` (fiber 1), and self-close via `Signal::Close` in
31
+ * `contract_process`.
23
32
  *
24
33
  * @param params - Contract closing parameters
25
34
  * @param config - Optional SDK configuration overrides
@@ -31,25 +40,19 @@ import { prepareInstructions } from '../utils/instructions';
31
40
  * const ix = await closeContract({
32
41
  * owner: wallet,
33
42
  * fleet: fleetAddress
34
- * // contract derived from fleet PDA
35
- * // Works even if contract doesn't exist (init_if_needed)
36
43
  * });
37
44
  *
38
45
  * // Option 2: Provide contract only (contract MUST exist)
39
46
  * const ix2 = await closeContract({
40
47
  * owner: wallet,
41
48
  * contract: contractAddress
42
- * // fleet fetched from contract.fleet
43
- * // REQUIRES contract to already exist
44
49
  * });
45
50
  *
46
51
  * // Option 3: Provide both (most explicit, no fetching)
47
52
  * const ix3 = await closeContract({
48
53
  * owner: wallet,
49
54
  * fleet: fleetAddress,
50
- * contract: contractAddress,
51
- * sageProgram: customSageProgram, // Optional
52
- * destinationTokenAccount: customTokenAccount // Optional
55
+ * contract: contractAddress
53
56
  * });
54
57
  * ```
55
58
  */
@@ -65,9 +68,10 @@ export async function closeContract(params, config) {
65
68
  }
66
69
  // Convert owner to transaction signer
67
70
  const ownerSigner = toTransactionSigner(params.owner);
68
- // Get network-specific addresses
71
+ // Get atlasMint from on-chain config
72
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
73
+ const atlasMint = configAccount.data.atlasMint;
69
74
  const addresses = getAddresses(config);
70
- const atlasMint = address(addresses.atlasMint);
71
75
  const programAddress = address(addresses.srsly);
72
76
  // Resolve fleet and contract addresses
73
77
  let fleetAddress;
@@ -80,36 +84,72 @@ export async function closeContract(params, config) {
80
84
  else if (params.fleet) {
81
85
  // Only fleet provided - derive contract from fleet PDA
82
86
  fleetAddress = address(params.fleet);
83
- contractAddress = undefined; // Will be derived on-chain
87
+ contractAddress = await deriveContract(fleetAddress, programAddress);
84
88
  }
85
89
  else if (params.contract) {
86
90
  // Only contract provided - fetch contract to get fleet
87
- const contract = await fetchContract(params.contract, finalConfig.rpcUrl);
88
- fleetAddress = contract.data.fleet;
89
91
  contractAddress = address(params.contract);
90
92
  }
91
93
  else {
92
94
  // Should never reach here due to validation above
93
95
  throw new Error('Either fleet or contract must be provided');
94
96
  }
97
+ // Always fetch contract — needed for fleet (if not provided) and thread check
98
+ const contractAccount = await fetchContract(contractAddress, finalConfig.rpcUrl);
99
+ if (!params.fleet) {
100
+ fleetAddress = contractAccount.data.fleet;
101
+ }
95
102
  // Get sageProgram from config if not provided
96
103
  const sageProgram = params.sageProgram
97
104
  ? address(params.sageProgram)
98
105
  : address(addresses.sage);
99
- // Optional destination token account
100
- const destinationTokenAccount = params.destinationTokenAccount
101
- ? address(params.destinationTokenAccount)
102
- : undefined;
106
+ // Derive contract token account (ATA of contract PDA for ATLAS)
107
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
108
+ // Check if contract has an automation thread that needs closing first
109
+ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
110
+ const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
111
+ let hasActiveRental = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
112
+ || contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
113
+ // If active rental is expired (and no queued), treat as closeable immediately
114
+ if (hasActiveRental && contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
115
+ && contractAccount.data.queuedRental === SYSTEM_PROGRAM_ID) {
116
+ const { fetchRental } = await import('../accounts/rental');
117
+ const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
118
+ const now = Math.floor(Date.now() / 1000);
119
+ if (activeRental.data.endTime <= BigInt(now)) {
120
+ hasActiveRental = false;
121
+ }
122
+ }
123
+ let threadCloseIx;
124
+ if (hasThread && !hasActiveRental) {
125
+ const rentalAuthority = await deriveRentalAuthority();
126
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
127
+ // Fetch thread to get fiber IDs for remaining accounts
128
+ const threadAccount = await fetchThread(contractThread, finalConfig.rpcUrl);
129
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
130
+ // Derive fiber PDAs
131
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
132
+ address: await deriveFiber(contractThread, id),
133
+ role: AccountRole.WRITABLE,
134
+ })));
135
+ threadCloseIx = await getCloseContractThreadInstructionAsync({
136
+ owner: ownerSigner,
137
+ contract: contractAddress,
138
+ thread: contractThread,
139
+ }, { programAddress });
140
+ threadCloseIx.accounts.push(...fiberAccounts);
141
+ }
103
142
  // Call Codama-generated instruction
104
143
  const kitInstruction = await getCloseContractInstructionAsync({
105
144
  owner: ownerSigner,
106
145
  contract: contractAddress,
107
146
  mint: atlasMint,
108
- destinationTokenAccount,
109
147
  fleet: fleetAddress,
148
+ contractTokenAccount: contractTokenAccount,
110
149
  sageProgram,
111
150
  }, { programAddress });
112
- return prepareInstructions(kitInstruction, {
151
+ const instructions = threadCloseIx ? [threadCloseIx, kitInstruction] : kitInstruction;
152
+ return prepareInstructions(instructions, {
113
153
  computeUnits: params.computeUnits,
114
154
  PublicKey: finalConfig.PublicKey
115
155
  });
@@ -1 +1 @@
1
- {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @purpose Simplified closeContractThread instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated closeContractThread instruction.
5
+ * Closes a per-contract automation thread and reclaims rent.
6
+ */
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
+ import { toTransactionSigner } from '../utils/signer';
11
+ import { prepareInstructions } from '../utils/instructions';
12
+ import { fetchThread } from '../accounts/thread';
13
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
14
+ import { deriveRentalAuthority } from '../pda/srsly';
15
+ /**
16
+ * Close a per-contract automation thread
17
+ *
18
+ * Closes the Antegen thread and all fiber PDAs, reclaiming rent to the owner.
19
+ * Fetches the thread account to read `fiberIds`, then derives and passes only
20
+ * the fibers that actually exist as remaining accounts.
21
+ *
22
+ * @param params - Thread closing parameters
23
+ * @param config - Optional SDK configuration overrides
24
+ * @returns Kit instruction (or web3.js if PublicKey in config)
25
+ */
26
+ export async function closeContractThread(params, config) {
27
+ const finalConfig = mergeConfig(config);
28
+ if (!params.owner) {
29
+ throw new Error('owner is required');
30
+ }
31
+ if (!params.contract) {
32
+ throw new Error('contract is required');
33
+ }
34
+ const ownerSigner = toTransactionSigner(params.owner);
35
+ const addresses = getAddresses(config);
36
+ const programAddress = address(addresses.srsly);
37
+ const contractAddress = address(params.contract);
38
+ // Derive thread PDA
39
+ const rentalAuthority = await deriveRentalAuthority();
40
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
41
+ // Fetch thread account to read actual fiber_ids
42
+ const threadAccount = await fetchThread(contractThread, finalConfig.rpcUrl);
43
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
44
+ // Derive fiber PDAs only for fibers that actually exist on the thread
45
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
46
+ address: await deriveFiber(contractThread, id),
47
+ role: AccountRole.WRITABLE,
48
+ })));
49
+ const kitInstruction = await getCloseContractThreadInstructionAsync({
50
+ owner: ownerSigner,
51
+ contract: contractAddress,
52
+ thread: contractThread,
53
+ }, { programAddress });
54
+ // Add fiber PDAs as remaining accounts (writable, non-signer)
55
+ kitInstruction.accounts.push(...fiberAccounts);
56
+ return prepareInstructions(kitInstruction, {
57
+ computeUnits: params.computeUnits,
58
+ PublicKey: finalConfig.PublicKey
59
+ });
60
+ }
61
+ //# sourceMappingURL=closeContractThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeContractThread.js","sourceRoot":"","sources":["../../../src/instructions/closeContractThread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sCAAsC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAsBrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiC,EACjC,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC;IAErE,sEAAsE;IACtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,sCAAsC,CACjE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}