@wuwei-labs/srsly 3.0.0-beta.8 → 4.0.0-beta.1

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