@wuwei-labs/srsly 3.0.0-beta.21 → 3.0.0-beta.22

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 (395) hide show
  1. package/dist/cjs/accounts/index.js +23 -0
  2. package/dist/cjs/accounts/index.js.map +1 -0
  3. package/dist/cjs/demos.js +157 -57
  4. package/dist/cjs/demos.js.map +1 -1
  5. package/dist/cjs/generated/codama/accounts/borrowerState.js +8 -2
  6. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  7. package/dist/cjs/generated/codama/accounts/configState.js +0 -2
  8. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  9. package/dist/cjs/generated/codama/accounts/contractState.js +23 -30
  10. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  11. package/dist/cjs/generated/codama/accounts/index.js +0 -1
  12. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  13. package/dist/cjs/generated/codama/accounts/rentalState.js +20 -14
  14. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  15. package/dist/cjs/generated/codama/errors/srsly.js +43 -43
  16. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  17. package/dist/cjs/generated/codama/instructions/acceptRental.js +60 -47
  18. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  19. package/dist/cjs/generated/codama/instructions/activateRental.js +144 -22
  20. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  21. package/dist/cjs/generated/codama/instructions/cancelRental.js +13 -42
  22. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  23. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  24. package/dist/cjs/generated/codama/instructions/claimContract.js +197 -0
  25. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  26. package/dist/cjs/generated/codama/instructions/closeContract.js +130 -14
  27. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  28. package/dist/cjs/generated/codama/instructions/closeContractThread.js +154 -0
  29. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  30. package/dist/cjs/generated/codama/instructions/closeRental.js +10 -121
  31. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  32. package/dist/cjs/generated/codama/instructions/createBorrower.js +211 -0
  33. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  34. package/dist/cjs/generated/codama/instructions/createContract.js +40 -24
  35. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/createContractThread.js +299 -0
  37. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  38. package/dist/cjs/generated/codama/instructions/index.js +6 -5
  39. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/payContract.js +237 -0
  41. package/dist/cjs/generated/codama/instructions/payContract.js.map +1 -0
  42. package/dist/cjs/generated/codama/instructions/reserveRental.js +81 -60
  43. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  44. package/dist/cjs/generated/codama/instructions/updateBorrower.js +7 -43
  45. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  46. package/dist/cjs/generated/codama/instructions/updateConfig.js +0 -2
  47. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/updateContract.js +0 -10
  49. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  50. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  51. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  52. package/dist/cjs/generated/codama/programs/srsly.js +36 -36
  53. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  54. package/dist/cjs/generated/codama/types/bidType.js +30 -0
  55. package/dist/cjs/generated/codama/types/bidType.js.map +1 -0
  56. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  57. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  58. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  59. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  60. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  61. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  62. package/dist/cjs/generated/codama/types/index.js +6 -2
  63. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  64. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  65. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  66. package/dist/cjs/generated/codama/types/rentalActivated.js +2 -0
  67. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
  68. package/dist/cjs/generated/codama/types/rentalExpiredInline.js +31 -0
  69. package/dist/cjs/generated/codama/types/rentalExpiredInline.js.map +1 -0
  70. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  71. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  72. package/dist/cjs/generated/codama/types/reservationCreated.js +9 -4
  73. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  74. package/dist/cjs/index.js +4 -221
  75. package/dist/cjs/index.js.map +1 -1
  76. package/dist/cjs/instructions/acceptRental.js +23 -79
  77. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  78. package/dist/cjs/instructions/activateRental.js +83 -0
  79. package/dist/cjs/instructions/activateRental.js.map +1 -0
  80. package/dist/cjs/instructions/cancelRental.js +21 -23
  81. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  82. package/dist/cjs/instructions/claimBorrower.js +27 -14
  83. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  84. package/dist/cjs/instructions/claimContract.js +56 -0
  85. package/dist/cjs/instructions/claimContract.js.map +1 -0
  86. package/dist/cjs/instructions/closeContract.js +13 -12
  87. package/dist/cjs/instructions/closeContract.js.map +1 -1
  88. package/dist/cjs/instructions/closeContractThread.js +58 -0
  89. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  90. package/dist/cjs/instructions/closeRental.js +34 -45
  91. package/dist/cjs/instructions/closeRental.js.map +1 -1
  92. package/dist/cjs/instructions/createBorrower.js +64 -0
  93. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  94. package/dist/cjs/instructions/createContract.js +2 -34
  95. package/dist/cjs/instructions/createContract.js.map +1 -1
  96. package/dist/cjs/instructions/createContractThread.js +74 -0
  97. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  98. package/dist/cjs/instructions/index.js +41 -49
  99. package/dist/cjs/instructions/index.js.map +1 -1
  100. package/dist/cjs/instructions/reserveRental.js +70 -68
  101. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  102. package/dist/cjs/instructions/updateBorrower.js +44 -40
  103. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  104. package/dist/cjs/instructions/updateConfig.js +0 -1
  105. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  106. package/dist/cjs/instructions/updateContract.js +14 -30
  107. package/dist/cjs/instructions/updateContract.js.map +1 -1
  108. package/dist/cjs/instructions/updateContractThread.js +60 -0
  109. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  110. package/dist/cjs/kit/index.js +37 -3
  111. package/dist/cjs/kit/index.js.map +1 -1
  112. package/dist/cjs/legacy/index.js +13 -16
  113. package/dist/cjs/legacy/index.js.map +1 -1
  114. package/dist/cjs/package.json +1 -1
  115. package/dist/cjs/params/index.js +21 -0
  116. package/dist/cjs/params/index.js.map +1 -0
  117. package/dist/cjs/params/sol.js +71 -0
  118. package/dist/cjs/params/sol.js.map +1 -0
  119. package/dist/cjs/pda/constants.js +4 -2
  120. package/dist/cjs/pda/constants.js.map +1 -1
  121. package/dist/cjs/pda/index.js +7 -23
  122. package/dist/cjs/pda/index.js.map +1 -1
  123. package/dist/cjs/pda/srsly.js +30 -37
  124. package/dist/cjs/pda/srsly.js.map +1 -1
  125. package/dist/cjs/pda/thread.js +37 -24
  126. package/dist/cjs/pda/thread.js.map +1 -1
  127. package/dist/cjs/utils/index.js +3 -5
  128. package/dist/cjs/utils/index.js.map +1 -1
  129. package/dist/cjs/utils/rental.js +23 -109
  130. package/dist/cjs/utils/rental.js.map +1 -1
  131. package/dist/cjs/version.js +1 -1
  132. package/dist/esm/accounts/index.js +7 -0
  133. package/dist/esm/accounts/index.js.map +1 -0
  134. package/dist/esm/demos.js +156 -56
  135. package/dist/esm/demos.js.map +1 -1
  136. package/dist/esm/generated/codama/accounts/borrowerState.js +9 -3
  137. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  138. package/dist/esm/generated/codama/accounts/configState.js +0 -2
  139. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  140. package/dist/esm/generated/codama/accounts/contractState.js +24 -31
  141. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  142. package/dist/esm/generated/codama/accounts/index.js +0 -1
  143. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  144. package/dist/esm/generated/codama/accounts/rentalState.js +22 -16
  145. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  146. package/dist/esm/generated/codama/errors/srsly.js +41 -41
  147. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  148. package/dist/esm/generated/codama/instructions/acceptRental.js +60 -47
  149. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  150. package/dist/esm/generated/codama/instructions/activateRental.js +146 -24
  151. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  152. package/dist/esm/generated/codama/instructions/cancelRental.js +14 -43
  153. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  154. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  155. package/dist/esm/generated/codama/instructions/claimContract.js +187 -0
  156. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  157. package/dist/esm/generated/codama/instructions/closeContract.js +130 -14
  158. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  159. package/dist/esm/generated/codama/instructions/closeContractThread.js +144 -0
  160. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  161. package/dist/esm/generated/codama/instructions/closeRental.js +11 -122
  162. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  163. package/dist/esm/generated/codama/instructions/createBorrower.js +201 -0
  164. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  165. package/dist/esm/generated/codama/instructions/createContract.js +41 -25
  166. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  167. package/dist/esm/generated/codama/instructions/createContractThread.js +289 -0
  168. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  169. package/dist/esm/generated/codama/instructions/index.js +6 -5
  170. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  171. package/dist/esm/generated/codama/instructions/payContract.js +227 -0
  172. package/dist/esm/generated/codama/instructions/payContract.js.map +1 -0
  173. package/dist/esm/generated/codama/instructions/reserveRental.js +82 -61
  174. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  175. package/dist/esm/generated/codama/instructions/updateBorrower.js +8 -43
  176. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  177. package/dist/esm/generated/codama/instructions/updateConfig.js +0 -2
  178. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  179. package/dist/esm/generated/codama/instructions/updateContract.js +1 -11
  180. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  181. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  182. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  183. package/dist/esm/generated/codama/programs/srsly.js +36 -36
  184. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  185. package/dist/esm/generated/codama/types/bidType.js +24 -0
  186. package/dist/esm/generated/codama/types/bidType.js.map +1 -0
  187. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  188. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  189. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  190. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  191. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  192. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  193. package/dist/esm/generated/codama/types/index.js +6 -2
  194. package/dist/esm/generated/codama/types/index.js.map +1 -1
  195. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  196. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  197. package/dist/esm/generated/codama/types/rentalActivated.js +3 -1
  198. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
  199. package/dist/esm/generated/codama/types/rentalExpiredInline.js +26 -0
  200. package/dist/esm/generated/codama/types/rentalExpiredInline.js.map +1 -0
  201. package/dist/esm/generated/codama/types/rentalStatus.js +4 -3
  202. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  203. package/dist/esm/generated/codama/types/reservationCreated.js +10 -5
  204. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  205. package/dist/esm/index.js +1 -99
  206. package/dist/esm/index.js.map +1 -1
  207. package/dist/esm/instructions/acceptRental.js +26 -82
  208. package/dist/esm/instructions/acceptRental.js.map +1 -1
  209. package/dist/esm/instructions/activateRental.js +80 -0
  210. package/dist/esm/instructions/activateRental.js.map +1 -0
  211. package/dist/esm/instructions/cancelRental.js +22 -24
  212. package/dist/esm/instructions/cancelRental.js.map +1 -1
  213. package/dist/esm/instructions/claimBorrower.js +27 -14
  214. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  215. package/dist/esm/instructions/claimContract.js +53 -0
  216. package/dist/esm/instructions/claimContract.js.map +1 -0
  217. package/dist/esm/instructions/closeContract.js +13 -12
  218. package/dist/esm/instructions/closeContract.js.map +1 -1
  219. package/dist/esm/instructions/closeContractThread.js +55 -0
  220. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  221. package/dist/esm/instructions/closeRental.js +35 -46
  222. package/dist/esm/instructions/closeRental.js.map +1 -1
  223. package/dist/esm/instructions/createBorrower.js +61 -0
  224. package/dist/esm/instructions/createBorrower.js.map +1 -0
  225. package/dist/esm/instructions/createContract.js +2 -34
  226. package/dist/esm/instructions/createContract.js.map +1 -1
  227. package/dist/esm/instructions/createContractThread.js +71 -0
  228. package/dist/esm/instructions/createContractThread.js.map +1 -0
  229. package/dist/esm/instructions/index.js +27 -24
  230. package/dist/esm/instructions/index.js.map +1 -1
  231. package/dist/esm/instructions/reserveRental.js +71 -69
  232. package/dist/esm/instructions/reserveRental.js.map +1 -1
  233. package/dist/esm/instructions/updateBorrower.js +45 -41
  234. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  235. package/dist/esm/instructions/updateConfig.js +0 -1
  236. package/dist/esm/instructions/updateConfig.js.map +1 -1
  237. package/dist/esm/instructions/updateContract.js +14 -30
  238. package/dist/esm/instructions/updateContract.js.map +1 -1
  239. package/dist/esm/instructions/updateContractThread.js +57 -0
  240. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  241. package/dist/esm/kit/index.js +11 -3
  242. package/dist/esm/kit/index.js.map +1 -1
  243. package/dist/esm/legacy/index.js +11 -14
  244. package/dist/esm/legacy/index.js.map +1 -1
  245. package/dist/esm/package.json +1 -1
  246. package/dist/esm/params/index.js +5 -0
  247. package/dist/esm/params/index.js.map +1 -0
  248. package/dist/esm/params/sol.js +68 -0
  249. package/dist/esm/params/sol.js.map +1 -0
  250. package/dist/esm/pda/constants.js +3 -1
  251. package/dist/esm/pda/constants.js.map +1 -1
  252. package/dist/esm/pda/index.js +3 -21
  253. package/dist/esm/pda/index.js.map +1 -1
  254. package/dist/esm/pda/srsly.js +29 -36
  255. package/dist/esm/pda/srsly.js.map +1 -1
  256. package/dist/esm/pda/thread.js +36 -24
  257. package/dist/esm/pda/thread.js.map +1 -1
  258. package/dist/esm/utils/index.js +1 -1
  259. package/dist/esm/utils/index.js.map +1 -1
  260. package/dist/esm/utils/rental.js +22 -106
  261. package/dist/esm/utils/rental.js.map +1 -1
  262. package/dist/esm/version.js +1 -1
  263. package/dist/idl/srsly.json +1704 -1909
  264. package/dist/types/accounts/index.d.ts +7 -0
  265. package/dist/types/accounts/index.d.ts.map +1 -0
  266. package/dist/types/demos.d.ts +24 -10
  267. package/dist/types/demos.d.ts.map +1 -1
  268. package/dist/types/generated/codama/accounts/borrowerState.d.ts +15 -3
  269. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  270. package/dist/types/generated/codama/accounts/configState.d.ts +0 -4
  271. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  272. package/dist/types/generated/codama/accounts/contractState.d.ts +51 -74
  273. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  274. package/dist/types/generated/codama/accounts/index.d.ts +0 -1
  275. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  276. package/dist/types/generated/codama/accounts/rentalState.d.ts +46 -34
  277. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  278. package/dist/types/generated/codama/errors/srsly.d.ts +39 -39
  279. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  280. package/dist/types/generated/codama/instructions/acceptRental.d.ts +50 -35
  281. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  282. package/dist/types/generated/codama/instructions/activateRental.d.ts +72 -32
  283. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  284. package/dist/types/generated/codama/instructions/cancelRental.d.ts +20 -28
  285. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  286. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +3 -18
  287. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  288. package/dist/types/generated/codama/instructions/claimContract.d.ts +75 -0
  289. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  290. package/dist/types/generated/codama/instructions/closeContract.d.ts +70 -18
  291. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  292. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +63 -0
  293. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  294. package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -70
  295. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  296. package/dist/types/generated/codama/instructions/createBorrower.d.ts +88 -0
  297. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  298. package/dist/types/generated/codama/instructions/createContract.d.ts +28 -32
  299. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  300. package/dist/types/generated/codama/instructions/createContractThread.d.ts +125 -0
  301. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  302. package/dist/types/generated/codama/instructions/index.d.ts +6 -5
  303. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  304. package/dist/types/generated/codama/instructions/payContract.d.ts +104 -0
  305. package/dist/types/generated/codama/instructions/payContract.d.ts.map +1 -0
  306. package/dist/types/generated/codama/instructions/reserveRental.d.ts +84 -68
  307. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  308. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +21 -19
  309. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  310. package/dist/types/generated/codama/instructions/updateConfig.d.ts +0 -6
  311. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  312. package/dist/types/generated/codama/instructions/updateContract.d.ts +2 -14
  313. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  314. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  315. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  316. package/dist/types/generated/codama/programs/srsly.d.ts +34 -32
  317. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  318. package/dist/types/generated/codama/types/bidType.d.ts +18 -0
  319. package/dist/types/generated/codama/types/bidType.d.ts.map +1 -0
  320. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  321. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  322. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  323. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  324. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  325. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  326. package/dist/types/generated/codama/types/index.d.ts +6 -2
  327. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  328. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  329. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  330. package/dist/types/generated/codama/types/rentalActivated.d.ts +7 -1
  331. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
  332. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts +18 -0
  333. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts.map +1 -0
  334. package/dist/types/generated/codama/types/rentalStatus.d.ts +4 -3
  335. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  336. package/dist/types/generated/codama/types/reservationCreated.d.ts +9 -4
  337. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  338. package/dist/types/index.d.ts +1 -42
  339. package/dist/types/index.d.ts.map +1 -1
  340. package/dist/types/instructions/acceptRental.d.ts +2 -31
  341. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  342. package/dist/types/instructions/activateRental.d.ts +41 -0
  343. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  344. package/dist/types/instructions/cancelRental.d.ts +8 -18
  345. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  346. package/dist/types/instructions/claimBorrower.d.ts +27 -10
  347. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  348. package/dist/types/instructions/claimContract.d.ts +40 -0
  349. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  350. package/dist/types/instructions/closeContract.d.ts +1 -12
  351. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  352. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  353. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  354. package/dist/types/instructions/closeRental.d.ts +6 -14
  355. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  356. package/dist/types/instructions/createBorrower.d.ts +49 -0
  357. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  358. package/dist/types/instructions/createContract.d.ts +1 -41
  359. package/dist/types/instructions/createContract.d.ts.map +1 -1
  360. package/dist/types/instructions/createContractThread.d.ts +50 -0
  361. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  362. package/dist/types/instructions/index.d.ts +27 -24
  363. package/dist/types/instructions/index.d.ts.map +1 -1
  364. package/dist/types/instructions/reserveRental.d.ts +33 -29
  365. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  366. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  367. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  368. package/dist/types/instructions/updateConfig.d.ts +0 -4
  369. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  370. package/dist/types/instructions/updateContract.d.ts +11 -33
  371. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  372. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  373. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  374. package/dist/types/kit/index.d.ts +10 -3
  375. package/dist/types/kit/index.d.ts.map +1 -1
  376. package/dist/types/legacy/index.d.ts +11 -39
  377. package/dist/types/legacy/index.d.ts.map +1 -1
  378. package/dist/types/params/index.d.ts +5 -0
  379. package/dist/types/params/index.d.ts.map +1 -0
  380. package/dist/types/params/sol.d.ts +34 -0
  381. package/dist/types/params/sol.d.ts.map +1 -0
  382. package/dist/types/pda/constants.d.ts +3 -1
  383. package/dist/types/pda/constants.d.ts.map +1 -1
  384. package/dist/types/pda/index.d.ts +3 -21
  385. package/dist/types/pda/index.d.ts.map +1 -1
  386. package/dist/types/pda/srsly.d.ts +13 -15
  387. package/dist/types/pda/srsly.d.ts.map +1 -1
  388. package/dist/types/pda/thread.d.ts +17 -18
  389. package/dist/types/pda/thread.d.ts.map +1 -1
  390. package/dist/types/utils/index.d.ts +1 -1
  391. package/dist/types/utils/index.d.ts.map +1 -1
  392. package/dist/types/utils/rental.d.ts +8 -66
  393. package/dist/types/utils/rental.d.ts.map +1 -1
  394. package/dist/types/version.d.ts +1 -1
  395. package/package.json +1 -1
@@ -8,7 +8,6 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.acceptRental = acceptRental;
10
10
  const kit_1 = require("@solana/kit");
11
- const rpc_1 = require("../utils/rpc");
12
11
  const instructions_1 = require("../generated/codama/instructions");
13
12
  const config_1 = require("../utils/config");
14
13
  const signer_1 = require("../utils/signer");
@@ -17,7 +16,7 @@ const duration_1 = require("../params/duration");
17
16
  const fleet_1 = require("../accounts/fleet");
18
17
  const contract_1 = require("../accounts/contract");
19
18
  const config_2 = require("../accounts/config");
20
- const accounts_1 = require("../generated/codama/accounts");
19
+ const borrower_1 = require("../accounts/borrower");
21
20
  const sage_1 = require("../pda/sage");
22
21
  const srsly_1 = require("../pda/srsly");
23
22
  const token_1 = require("../pda/token");
@@ -33,13 +32,13 @@ const discountAuth_1 = require("../utils/discountAuth");
33
32
  *
34
33
  * This function automatically fetches the contract and config to get required
35
34
  * data (fleet, vault, gameId), then derives all SAGE accounts (profile faction,
36
- * starbase, starbase player) and the rental thread for automated payments.
35
+ * starbase, starbase player) and the contract thread for automated payments.
37
36
  *
38
37
  * @param params - Rental acceptance parameters
39
38
  * @param config - Optional SDK configuration overrides
40
39
  * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
41
40
  *
42
- * @demo
41
+ * @example
43
42
  * ```typescript
44
43
  * // Accept a 7-day rental (borrowerProfile auto-fetched)
45
44
  * const ixs = await acceptRental({
@@ -49,27 +48,6 @@ const discountAuth_1 = require("../utils/discountAuth");
49
48
  * computeUnits: 400_000
50
49
  * });
51
50
  * ```
52
- *
53
- * @example
54
- * ```typescript
55
- * // Accept a 7-day rental (fleet and vault auto-fetched)
56
- * const ixs = await acceptRental({
57
- * borrower: wallet,
58
- * borrowerProfile: borrowerProfileAddress,
59
- * contract: contractAddress,
60
- * duration: { days: 7 }
61
- * });
62
- *
63
- * // With referrer and compute budget
64
- * const ixs2 = await acceptRental({
65
- * borrower: wallet,
66
- * borrowerProfile: borrowerProfileAddress,
67
- * contract: contractAddress,
68
- * referrer: referrerAddress,
69
- * duration: { weeks: 2 },
70
- * computeUnits: 400_000
71
- * });
72
- * ```
73
51
  */
74
52
  async function acceptRental(params, config) {
75
53
  // Merge config
@@ -86,26 +64,13 @@ async function acceptRental(params, config) {
86
64
  }
87
65
  // Convert borrower to transaction signer
88
66
  const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
89
- // Try to fetch borrowerProfile from existing borrower_state, fallback to param
67
+ // Get borrowerProfile from borrower_state (always has it) or fallback to param
90
68
  let borrowerProfile;
91
69
  try {
92
- const borrowerStateAddress = await (0, srsly_1.deriveBorrowerState)(borrowerSigner.address);
93
- const rpc = (0, rpc_1.createRpc)(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
94
- const borrowerState = await (0, accounts_1.fetchBorrowerState)(rpc, borrowerStateAddress);
95
- const profileOption = borrowerState.data.borrowerProfile;
96
- if (profileOption && typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'Some') {
97
- // borrower_state exists and has profile set - use it
98
- borrowerProfile = profileOption.value;
99
- }
100
- else if (params.borrowerProfile) {
101
- // borrower_state exists but no profile - use provided param
102
- borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
103
- }
104
- else {
105
- throw new Error('borrowerProfile is required when not set in borrower_state');
106
- }
70
+ const borrowerAccount = await (0, borrower_1.fetchBorrower)(borrowerSigner.address, finalConfig.rpcUrl);
71
+ borrowerProfile = borrowerAccount.data.borrowerProfile;
107
72
  }
108
- catch (e) {
73
+ catch {
109
74
  // borrower_state doesn't exist yet - require param for first-time borrowers
110
75
  if (params.borrowerProfile) {
111
76
  borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
@@ -117,7 +82,7 @@ async function acceptRental(params, config) {
117
82
  // Fetch config to get vault
118
83
  const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
119
84
  const vault = configAccount.data.slyvault;
120
- // Fetch contract to get fleet, gameId, ownerProfile
85
+ // Fetch contract to get fleet, gameId
121
86
  const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
122
87
  const fleet = contractAccount.data.fleet;
123
88
  const gameId = contractAccount.data.gameId;
@@ -134,17 +99,13 @@ async function acceptRental(params, config) {
134
99
  const faction = fleetState.faction;
135
100
  // Derive all SAGE game accounts (profile faction, starbase, starbase player)
136
101
  const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfile, faction, gameId);
137
- // Derive rental and rental authority PDAs
138
- // accept_rental always uses slot 0 since both slots must be empty
139
- const rentalSlot = 0;
140
- const rental = await (0, srsly_1.deriveRental)(params.contract, rentalSlot);
102
+ // Derive active rental PDA (no more slot logic)
103
+ const rentalState = await (0, srsly_1.deriveActiveRental)(params.contract);
104
+ // Derive rental authority PDA
141
105
  const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
142
- // Derive rental thread for automated payments
143
- const rentalThread = await (0, thread_1.deriveRentalThread)(rental, rentalAuthority);
144
- // Derive queued thread for the other slot (slot 1)
145
- // This is used by rental_schedule to know the thread for the queued rental
146
- const otherSlotRental = await (0, srsly_1.deriveRental)(params.contract, 1);
147
- const queuedThread = await (0, thread_1.deriveRentalThread)(otherSlotRental, rentalAuthority);
106
+ // Derive contract thread and close_rental fiber (fiber index 1)
107
+ const contractThread = await (0, thread_1.deriveContractThread)(params.contract, rentalAuthority);
108
+ const closeRentalFiber = await (0, thread_1.deriveFiber)(contractThread, 1);
148
109
  // Convert duration parameter
149
110
  const durationSeconds = (0, duration_1.convertDuration)(params.duration);
150
111
  // Get network-specific addresses (atlasMint sourced from on-chain config)
@@ -158,51 +119,34 @@ async function acceptRental(params, config) {
158
119
  discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
159
120
  }
160
121
  const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
161
- // Determine if we need to include scheduleRental
162
- // Either explicitly requested or contract requires automation
163
- const shouldSchedule = params.automate || contractAccount.data.automationRequired;
164
122
  // Derive vault token account (ATA)
165
123
  const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
124
+ // Derive contract token account (ATA of contract PDA)
125
+ const contractAddress = (0, kit_1.address)(params.contract);
126
+ const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
166
127
  // Call Codama-generated acceptRental instruction
167
128
  const acceptRentalIx = await (0, instructions_1.getAcceptRentalInstructionAsync)({
168
129
  borrower: borrowerSigner,
169
130
  borrowerProfile,
170
131
  borrowerProfileFaction: gameAccounts.profileFaction,
171
132
  fleet: (0, kit_1.address)(fleet),
172
- contract: (0, kit_1.address)(params.contract),
173
- rentalState: rental,
133
+ contract: contractAddress,
134
+ rentalState,
174
135
  gameId: (0, kit_1.address)(gameId),
175
136
  starbase: gameAccounts.starbase,
176
137
  starbasePlayer: gameAccounts.starbasePlayer,
177
138
  vault: (0, kit_1.address)(vault),
178
139
  vaultTokenAccount,
140
+ contractTokenAccount,
141
+ contractThread,
142
+ closeRentalFiber,
179
143
  referrer,
180
144
  mint: atlasMint,
181
145
  sageProgram,
182
146
  duration: BigInt(durationSeconds),
183
147
  discountAuth
184
148
  }, { programAddress });
185
- // If auto-schedule is enabled, bundle scheduleRental instruction
186
- if (shouldSchedule) {
187
- const scheduleRentalIx = await (0, instructions_1.getScheduleRentalInstructionAsync)({
188
- payer: borrowerSigner,
189
- mint: atlasMint,
190
- contract: (0, kit_1.address)(params.contract),
191
- fleet: (0, kit_1.address)(fleet),
192
- rentalState: rental,
193
- rentalThread,
194
- queuedThread,
195
- borrowerProfileFaction: gameAccounts.profileFaction,
196
- sageProgram,
197
- rentalSlot,
198
- }, { programAddress });
199
- // Return both instructions as array
200
- return (0, instructions_2.prepareInstructions)([acceptRentalIx, scheduleRentalIx], {
201
- computeUnits: params.computeUnits,
202
- PublicKey: finalConfig.PublicKey
203
- });
204
- }
205
- // Prepare single instruction with optional compute budget and web3.js conversion
149
+ // Prepare instruction with optional compute budget
206
150
  return (0, instructions_2.prepareInstructions)(acceptRentalIx, {
207
151
  computeUnits: params.computeUnits,
208
152
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose Simplified activateRental instruction wrapper
4
+ *
5
+ * Thin convenience wrapper around Codama-generated activateRental instruction.
6
+ * Manually activates a queued rental when automation is delayed or unavailable.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.activateRental = activateRental;
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
+ const rental_1 = require("../accounts/rental");
18
+ const borrower_1 = require("../accounts/borrower");
19
+ const srsly_1 = require("../pda/srsly");
20
+ const thread_1 = require("../pda/thread");
21
+ const token_1 = require("../pda/token");
22
+ /**
23
+ * Manually activate a queued rental
24
+ *
25
+ * This is a fallback for when the Antegen automation thread is delayed.
26
+ * Anyone can call this — it's permissionless. The queued rental will be
27
+ * promoted to active, the fleet will be delegated to the borrower in SAGE,
28
+ * and deferred fees will be paid.
29
+ *
30
+ * @param params - Activate rental parameters
31
+ * @param config - Optional SDK configuration overrides
32
+ * @returns Kit instruction (or web3.js if PublicKey in config)
33
+ */
34
+ async function activateRental(params, config) {
35
+ const finalConfig = (0, config_1.mergeConfig)(config);
36
+ if (!params.payer) {
37
+ throw new Error('payer is required');
38
+ }
39
+ if (!params.contract) {
40
+ throw new Error('contract is required');
41
+ }
42
+ const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
43
+ const addresses = (0, config_1.getAddresses)(config);
44
+ const programAddress = (0, kit_1.address)(addresses.srsly);
45
+ const contractAddress = (0, kit_1.address)(params.contract);
46
+ // Fetch config and contract
47
+ const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
48
+ const atlasMint = configAccount.data.atlasMint;
49
+ const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
50
+ // Derive rental PDAs
51
+ const activeRental = await (0, srsly_1.deriveActiveRental)(contractAddress);
52
+ const queuedRental = await (0, srsly_1.deriveQueuedRental)(contractAddress);
53
+ const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
54
+ // Derive thread PDAs
55
+ const contractThread = await (0, thread_1.deriveContractThread)(contractAddress, rentalAuthority);
56
+ const closeRentalFiber = await (0, thread_1.deriveFiber)(contractThread, 1);
57
+ // Fetch queued rental to get borrower info, then fetch borrower state for profile faction
58
+ const queuedRentalAccount = await (0, rental_1.fetchRental)(queuedRental, finalConfig.rpcUrl);
59
+ const borrowerState = await (0, borrower_1.fetchBorrower)(queuedRentalAccount.data.borrowerState, finalConfig.rpcUrl);
60
+ // Get vault from config and derive vault token account
61
+ const vault = configAccount.data.slyvault;
62
+ const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
63
+ const kitInstruction = await (0, instructions_1.getActivateRentalInstructionAsync)({
64
+ payer: payerSigner,
65
+ contract: contractAddress,
66
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
67
+ mint: atlasMint,
68
+ borrowerProfile: queuedRentalAccount.data.borrowerProfile,
69
+ borrowerProfileFaction: borrowerState.data.borrowerProfileFaction,
70
+ fleet: contractAccount.data.fleet,
71
+ gameId: contractAccount.data.gameId,
72
+ contractThread,
73
+ closeRentalFiber,
74
+ vault,
75
+ vaultTokenAccount,
76
+ sageProgram: (0, kit_1.address)(addresses.sage),
77
+ }, { programAddress });
78
+ return (0, instructions_2.prepareInstructions)(kitInstruction, {
79
+ computeUnits: params.computeUnits,
80
+ PublicKey: finalConfig.PublicKey
81
+ });
82
+ }
83
+ //# sourceMappingURL=activateRental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"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"}
@@ -12,25 +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 rental_1 = require("../utils/rental");
19
18
  const config_2 = require("../accounts/config");
19
+ const contract_1 = require("../accounts/contract");
20
20
  /**
21
21
  * Cancel a rental
22
22
  *
23
- * 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).
24
25
  *
25
26
  * **Cancellation Behavior:**
26
- * - `cancelDelay = 0`: Instant cancellation (requires `allowInstantCancel` on contract)
27
- * - Sets `Trigger::Immediate` so `rental_pay` fires immediately
28
- * - Returns `InstantCancelNotAllowed` error if contract doesn't allow it
29
- * - `cancelDelay > 0`: Deferred cancellation
30
- * - Rental continues until `now + cancelDelay`
31
- * - 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`
32
29
  *
33
- * Both paths refund the borrower for unused time. Owner gets paid when `rental_pay` fires.
30
+ * Both paths refund the borrower for unused time.
34
31
  *
35
32
  * @param params - Cancellation parameters (borrower, contract, cancelDelay)
36
33
  * @param config - Optional SDK configuration overrides
@@ -44,7 +41,7 @@ const config_2 = require("../accounts/config");
44
41
  * contract: contractAddress
45
42
  * });
46
43
  *
47
- * // Instant cancellation (requires allowInstantCancel on contract)
44
+ * // Instant cancellation
48
45
  * const ix2 = await cancelRental({
49
46
  * borrower: borrowerWallet,
50
47
  * contract: contractAddress,
@@ -76,28 +73,29 @@ async function cancelRental(params, config) {
76
73
  const atlasMint = configAccount.data.atlasMint;
77
74
  const addresses = (0, config_1.getAddresses)(config);
78
75
  const programAddress = (0, kit_1.address)(addresses.srsly);
79
- // Auto-detect rental slot if not provided
80
- const rentalSlot = params.rentalSlot ?? await (0, rental_1.requireBorrowerRentalSlot)(params.contract, borrowerSigner.address, finalConfig.rpcUrl || 'https://api.devnet.solana.com');
81
- // Derive rental state using slot
82
- const rentalState = await (0, srsly_1.deriveRental)(params.contract, rentalSlot);
83
- const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
84
- 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);
85
84
  // Convert duration to seconds (supports { hours: 1 }, { days: 1 }, etc.)
86
- // Default to 1 hour if not specified (safer than instant cancel which requires flag)
85
+ // Default to 1 hour if not specified (safer than instant cancel)
87
86
  const cancelDelay = params.cancelDelay !== undefined
88
87
  ? BigInt((0, duration_1.convertDuration)(params.cancelDelay))
89
88
  : BigInt((0, duration_1.convertDuration)({ hours: 1 }));
90
89
  // Call Codama-generated instruction
91
- // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount,
92
- // rentalTokenAccount, rentalAuthority, antegenProgram, tokenProgram
90
+ // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount, rentalAuthority
93
91
  const kitInstruction = await (0, instructions_1.getCancelRentalInstructionAsync)({
94
92
  mint: atlasMint,
95
93
  borrower: borrowerSigner,
96
94
  rentalState,
97
- rentalThread,
98
- contract: (0, kit_1.address)(params.contract),
95
+ contractTokenAccount,
96
+ contract: contractAddress,
97
+ fleet: (0, kit_1.address)(fleet),
99
98
  cancelDelay,
100
- rentalSlot,
101
99
  }, { programAddress });
102
100
  return (0, instructions_2.prepareInstructions)(kitInstruction, {
103
101
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAoGH,oCA8DC;AAhKD,qCAAoD;AACpD,mEAAmF;AACnF,4CAA4E;AAC5E,4CAA4E;AAC5E,wCAAmE;AACnE,0CAAmD;AACnD,wDAA4D;AAC5D,iDAAyE;AACzE,4CAA4D;AAC5D,+CAAiD;AA+CjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,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,0CAA0C;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,IAAA,kCAAyB,EACrE,MAAM,CAAC,QAAQ,EACf,cAAc,CAAC,OAAO,EACtB,WAAW,CAAC,MAAM,IAAI,+BAA+B,CACtD,CAAC;IAEF,iCAAiC;IACjC,MAAM,WAAW,GAAG,MAAM,IAAA,oBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpE,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,oEAAoE;IACpE,MAAM,cAAc,GAAG,MAAM,IAAA,8CAA+B,EAC1D;QACE,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,cAAc;QACxB,WAAW;QACX,YAAY;QACZ,QAAQ,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,WAAW;QACX,UAAU;KACX,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,oCA4DC;AAnJD,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,iEAAiE;IACjE,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,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,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,7 @@
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
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.claimBorrower = claimBorrower;
@@ -21,22 +21,31 @@ const config_2 = require("../accounts/config");
21
21
  * account (an ATA with the borrower_state as authority). This instruction
22
22
  * transfers those funds to the borrower's personal wallet.
23
23
  *
24
+ * The payer and borrower can be different accounts, allowing a third party
25
+ * to pay for the claim transaction on behalf of the borrower.
26
+ *
24
27
  * @param params - Borrower claim parameters
25
28
  * @param config - Optional SDK configuration overrides
26
29
  * @returns Kit instruction (or web3.js if PublicKey in config)
27
30
  *
28
31
  * @example
29
32
  * ```typescript
30
- * // Claim accumulated ATLAS refunds
33
+ * // Self-claim: payer is the borrower
31
34
  * const ix = await claimBorrower({
32
- * borrower: borrowerWallet
35
+ * payer: borrowerWallet,
36
+ * // borrower defaults to payer
37
+ * });
38
+ *
39
+ * // Third-party claim: someone else pays
40
+ * const ix2 = await claimBorrower({
41
+ * payer: relayerWallet,
42
+ * borrower: "BORROWER_ADDRESS"
33
43
  * });
34
44
  *
35
- * // With web3.js
36
- * import { PublicKey } from '@solana/web3.js';
37
- * setSdkConfig({ network: 'mainnet-beta', PublicKey });
38
- * const web3Ix = await claimBorrower({
39
- * borrower: keypair
45
+ * // Claim and close the BorrowerState account
46
+ * const ix3 = await claimBorrower({
47
+ * payer: borrowerWallet,
48
+ * close: true
40
49
  * });
41
50
  * ```
42
51
  */
@@ -44,11 +53,15 @@ async function claimBorrower(params, config) {
44
53
  // Merge config
45
54
  const finalConfig = (0, config_1.mergeConfig)(config);
46
55
  // Validate required params
47
- if (!params.borrower) {
48
- throw new Error('borrower is required');
56
+ if (!params.payer) {
57
+ throw new Error('payer is required');
49
58
  }
50
- // Convert borrower to transaction signer
51
- const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
59
+ // Convert payer to transaction signer
60
+ const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
61
+ // Resolve borrower address: use provided or default to payer
62
+ const borrowerAddress = params.borrower
63
+ ? (0, kit_1.address)(params.borrower)
64
+ : (0, signer_1.getSignerAddress)(payerSigner);
52
65
  // Get atlasMint from on-chain config
53
66
  const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
54
67
  const atlasMint = configAccount.data.atlasMint;
@@ -57,8 +70,8 @@ async function claimBorrower(params, config) {
57
70
  // Call Codama-generated instruction
58
71
  // Most accounts are auto-derived (config, borrowerState, managed account, destination)
59
72
  const kitInstruction = await (0, instructions_1.getClaimBorrowerInstructionAsync)({
60
- payer: borrowerSigner,
61
- borrower: (0, signer_1.getSignerAddress)(borrowerSigner),
73
+ payer: payerSigner,
74
+ borrower: borrowerAddress,
62
75
  mint: atlasMint,
63
76
  close: params.close ?? false,
64
77
  }, { programAddress });
@@ -1 +1 @@
1
- {"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA4DH,sCAqCC;AA/FD,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA8F;AAC9F,wDAA4D;AAC5D,+CAAiD;AA0BjD;;;;;;;;;;;;;;;;;;;;;;;;;;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,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,oCAAoC;IACpC,uFAAuF;IACvF,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,IAAA,yBAAgB,EAAC,cAAc,CAAC;QAC1C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;KAC7B,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;;;;;GAKG;;AA6EH,sCA0CC;AArHD,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA8F;AAC9F,wDAA4D;AAC5D,+CAAiD;AAkCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;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,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,6DAA6D;IAC7D,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,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,oCAAoC;IACpC,uFAAuF;IACvF,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;KAC7B,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"}
@@ -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
+ * Allows contract owners to claim accumulated ATLAS from the contract's escrow.
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
+ * Transfers `owner_claimable` ATLAS from the contract's token account
21
+ * to the owner's wallet. No OwnerState needed — claims directly from
22
+ * the per-contract escrow.
23
+ *
24
+ * @param params - Contract claim parameters
25
+ * @param config - Optional SDK configuration overrides
26
+ * @returns Kit instruction (or web3.js if PublicKey in config)
27
+ */
28
+ async function claimContract(params, config) {
29
+ const finalConfig = (0, config_1.mergeConfig)(config);
30
+ if (!params.owner) {
31
+ throw new Error('owner is required');
32
+ }
33
+ if (!params.contract) {
34
+ throw new Error('contract is required');
35
+ }
36
+ const ownerSigner = (0, signer_1.toTransactionSigner)(params.owner);
37
+ // Get atlasMint from on-chain config
38
+ const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
39
+ const atlasMint = configAccount.data.atlasMint;
40
+ const addresses = (0, config_1.getAddresses)(config);
41
+ const programAddress = (0, kit_1.address)(addresses.srsly);
42
+ // Fetch contract to get fleet and contractTokenAccount
43
+ const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
44
+ const contractAddress = (0, kit_1.address)(params.contract);
45
+ const kitInstruction = await (0, instructions_1.getClaimContractInstructionAsync)({
46
+ owner: ownerSigner,
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,sCAuCC;AA9ED,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,+CAAiD;AACjD,mDAAqD;AAsBrD;;;;;;;;;;GAUG;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,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"}
@@ -13,6 +13,8 @@ const config_1 = require("../utils/config");
13
13
  const signer_1 = require("../utils/signer");
14
14
  const contract_1 = require("../accounts/contract");
15
15
  const config_2 = require("../accounts/config");
16
+ const token_1 = require("../pda/token");
17
+ const srsly_1 = require("../pda/srsly");
16
18
  const instructions_2 = require("../utils/instructions");
17
19
  /**
18
20
  * Close a rental contract
@@ -35,25 +37,19 @@ const instructions_2 = require("../utils/instructions");
35
37
  * const ix = await closeContract({
36
38
  * owner: wallet,
37
39
  * fleet: fleetAddress
38
- * // contract derived from fleet PDA
39
- * // Works even if contract doesn't exist (init_if_needed)
40
40
  * });
41
41
  *
42
42
  * // Option 2: Provide contract only (contract MUST exist)
43
43
  * const ix2 = await closeContract({
44
44
  * owner: wallet,
45
45
  * contract: contractAddress
46
- * // fleet fetched from contract.fleet
47
- * // REQUIRES contract to already exist
48
46
  * });
49
47
  *
50
48
  * // Option 3: Provide both (most explicit, no fetching)
51
49
  * const ix3 = await closeContract({
52
50
  * owner: wallet,
53
51
  * fleet: fleetAddress,
54
- * contract: contractAddress,
55
- * sageProgram: customSageProgram, // Optional
56
- * destinationTokenAccount: customTokenAccount // Optional
52
+ * contract: contractAddress
57
53
  * });
58
54
  * ```
59
55
  */
@@ -85,7 +81,7 @@ async function closeContract(params, config) {
85
81
  else if (params.fleet) {
86
82
  // Only fleet provided - derive contract from fleet PDA
87
83
  fleetAddress = (0, kit_1.address)(params.fleet);
88
- contractAddress = undefined; // Will be derived on-chain
84
+ contractAddress = await (0, srsly_1.deriveContract)(fleetAddress, programAddress);
89
85
  }
90
86
  else if (params.contract) {
91
87
  // Only contract provided - fetch contract to get fleet
@@ -101,16 +97,21 @@ async function closeContract(params, config) {
101
97
  const sageProgram = params.sageProgram
102
98
  ? (0, kit_1.address)(params.sageProgram)
103
99
  : (0, kit_1.address)(addresses.sage);
104
- // Optional destination token account
105
- const destinationTokenAccount = params.destinationTokenAccount
106
- ? (0, kit_1.address)(params.destinationTokenAccount)
107
- : undefined;
100
+ // Derive contract token account (ATA of contract PDA for ATLAS)
101
+ // For the codama call, we need to provide it since it's not optional in the async input
102
+ // We need contract address to derive it, which may need to be derived from fleet
103
+ // Let codama auto-derive it if we don't have a contract address
104
+ let contractTokenAccount;
105
+ if (contractAddress) {
106
+ contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
107
+ }
108
108
  // Call Codama-generated instruction
109
109
  const kitInstruction = await (0, instructions_1.getCloseContractInstructionAsync)({
110
110
  owner: ownerSigner,
111
111
  contract: contractAddress,
112
112
  mint: atlasMint,
113
113
  fleet: fleetAddress,
114
+ contractTokenAccount: contractTokenAccount,
114
115
  sageProgram,
115
116
  }, { programAddress });
116
117
  return (0, instructions_2.prepareInstructions)(kitInstruction, {
@@ -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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"}