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

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 (489) hide show
  1. package/dist/cjs/accounts/borrower.js +12 -5
  2. package/dist/cjs/accounts/borrower.js.map +1 -1
  3. package/dist/cjs/accounts/contract.js +12 -5
  4. package/dist/cjs/accounts/contract.js.map +1 -1
  5. package/dist/cjs/accounts/index.js +23 -0
  6. package/dist/cjs/accounts/index.js.map +1 -0
  7. package/dist/cjs/accounts/rental.js +12 -5
  8. package/dist/cjs/accounts/rental.js.map +1 -1
  9. package/dist/cjs/demos.js +190 -62
  10. package/dist/cjs/demos.js.map +1 -1
  11. package/dist/cjs/generated/codama/accounts/borrowerState.js +8 -2
  12. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  13. package/dist/cjs/generated/codama/accounts/configState.js +4 -6
  14. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  15. package/dist/cjs/generated/codama/accounts/contractState.js +27 -34
  16. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  17. package/dist/cjs/generated/codama/accounts/index.js +0 -1
  18. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  19. package/dist/cjs/generated/codama/accounts/rentalState.js +20 -14
  20. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  21. package/dist/cjs/generated/codama/accounts/thread.js +0 -10
  22. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  23. package/dist/cjs/generated/codama/errors/srsly.js +39 -30
  24. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  25. package/dist/cjs/generated/codama/instructions/acceptRental.js +69 -118
  26. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  27. package/dist/cjs/generated/codama/instructions/activateRental.js +159 -24
  28. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  29. package/dist/cjs/generated/codama/instructions/cancelRental.js +28 -33
  30. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  31. package/dist/cjs/generated/codama/instructions/claimBorrower.js +3 -11
  32. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  33. package/dist/cjs/generated/codama/instructions/claimContract.js +202 -0
  34. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  35. package/dist/cjs/generated/codama/instructions/closeBorrower.js +183 -0
  36. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -0
  37. package/dist/cjs/generated/codama/instructions/closeContract.js +130 -14
  38. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  39. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  40. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  41. package/dist/cjs/generated/codama/instructions/closeRental.js +10 -121
  42. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  43. package/dist/cjs/generated/codama/instructions/createBorrower.js +211 -0
  44. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  45. package/dist/cjs/generated/codama/instructions/createContract.js +46 -30
  46. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  47. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  48. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  49. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +115 -0
  50. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -0
  51. package/dist/cjs/generated/codama/instructions/deleteRental.js +2 -2
  52. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  53. package/dist/cjs/generated/codama/instructions/index.js +8 -5
  54. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  55. package/dist/cjs/generated/codama/instructions/payContract.js +224 -0
  56. package/dist/cjs/generated/codama/instructions/payContract.js.map +1 -0
  57. package/dist/cjs/generated/codama/instructions/processContract.js +224 -0
  58. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  59. package/dist/cjs/generated/codama/instructions/reserveRental.js +94 -60
  60. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  61. package/dist/cjs/generated/codama/instructions/updateBorrower.js +7 -43
  62. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  63. package/dist/cjs/generated/codama/instructions/updateConfig.js +4 -6
  64. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  65. package/dist/cjs/generated/codama/instructions/updateContract.js +6 -16
  66. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  67. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  68. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  69. package/dist/cjs/generated/codama/programs/srsly.js +43 -35
  70. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  71. package/dist/cjs/generated/codama/types/bidType.js +30 -0
  72. package/dist/cjs/generated/codama/types/bidType.js.map +1 -0
  73. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  74. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  75. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  76. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  77. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  78. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  79. package/dist/cjs/generated/codama/types/discountAuthorization.js +2 -0
  80. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -1
  81. package/dist/cjs/generated/codama/types/index.js +6 -2
  82. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  83. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  84. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  85. package/dist/cjs/generated/codama/types/rentalAccepted.js +2 -10
  86. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  87. package/dist/cjs/generated/codama/types/rentalActivated.js +2 -0
  88. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
  89. package/dist/cjs/generated/codama/types/rentalExpiredInline.js +31 -0
  90. package/dist/cjs/generated/codama/types/rentalExpiredInline.js.map +1 -0
  91. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  92. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  93. package/dist/cjs/generated/codama/types/reservationCreated.js +9 -4
  94. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  95. package/dist/cjs/generated/codama/types/signal.js +14 -2
  96. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  97. package/dist/cjs/index.js +4 -221
  98. package/dist/cjs/index.js.map +1 -1
  99. package/dist/cjs/instructions/acceptRental.js +37 -85
  100. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  101. package/dist/cjs/instructions/activateRental.js +85 -0
  102. package/dist/cjs/instructions/activateRental.js.map +1 -0
  103. package/dist/cjs/instructions/cancelRental.js +25 -23
  104. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  105. package/dist/cjs/instructions/claimBorrower.js +44 -22
  106. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  107. package/dist/cjs/instructions/claimContract.js +56 -0
  108. package/dist/cjs/instructions/claimContract.js.map +1 -0
  109. package/dist/cjs/instructions/closeBorrower.js +58 -0
  110. package/dist/cjs/instructions/closeBorrower.js.map +1 -0
  111. package/dist/cjs/instructions/closeContract.js +13 -12
  112. package/dist/cjs/instructions/closeContract.js.map +1 -1
  113. package/dist/cjs/instructions/closeContractThread.js +66 -0
  114. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  115. package/dist/cjs/instructions/closeRental.js +34 -45
  116. package/dist/cjs/instructions/closeRental.js.map +1 -1
  117. package/dist/cjs/instructions/createBorrower.js +64 -0
  118. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  119. package/dist/cjs/instructions/createContract.js +2 -34
  120. package/dist/cjs/instructions/createContract.js.map +1 -1
  121. package/dist/cjs/instructions/createContractThread.js +78 -0
  122. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  123. package/dist/cjs/instructions/deleteBorrower.js +60 -0
  124. package/dist/cjs/instructions/deleteBorrower.js.map +1 -0
  125. package/dist/cjs/instructions/deleteRental.js +1 -4
  126. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  127. package/dist/cjs/instructions/index.js +43 -49
  128. package/dist/cjs/instructions/index.js.map +1 -1
  129. package/dist/cjs/instructions/reserveRental.js +70 -68
  130. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  131. package/dist/cjs/instructions/updateBorrower.js +44 -40
  132. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  133. package/dist/cjs/instructions/updateConfig.js +0 -1
  134. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  135. package/dist/cjs/instructions/updateContract.js +14 -30
  136. package/dist/cjs/instructions/updateContract.js.map +1 -1
  137. package/dist/cjs/instructions/updateContractThread.js +60 -0
  138. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  139. package/dist/cjs/kit/index.js +37 -3
  140. package/dist/cjs/kit/index.js.map +1 -1
  141. package/dist/cjs/legacy/index.js +15 -16
  142. package/dist/cjs/legacy/index.js.map +1 -1
  143. package/dist/cjs/package.json +1 -1
  144. package/dist/cjs/params/index.js +21 -0
  145. package/dist/cjs/params/index.js.map +1 -0
  146. package/dist/cjs/params/sol.js +71 -0
  147. package/dist/cjs/params/sol.js.map +1 -0
  148. package/dist/cjs/pda/constants.js +7 -3
  149. package/dist/cjs/pda/constants.js.map +1 -1
  150. package/dist/cjs/pda/index.js +9 -23
  151. package/dist/cjs/pda/index.js.map +1 -1
  152. package/dist/cjs/pda/srsly.js +30 -37
  153. package/dist/cjs/pda/srsly.js.map +1 -1
  154. package/dist/cjs/pda/thread.js +38 -29
  155. package/dist/cjs/pda/thread.js.map +1 -1
  156. package/dist/cjs/utils/addresses.js +2 -1
  157. package/dist/cjs/utils/addresses.js.map +1 -1
  158. package/dist/cjs/utils/discountAuth.js +5 -1
  159. package/dist/cjs/utils/discountAuth.js.map +1 -1
  160. package/dist/cjs/utils/index.js +3 -5
  161. package/dist/cjs/utils/index.js.map +1 -1
  162. package/dist/cjs/utils/rental.js +23 -109
  163. package/dist/cjs/utils/rental.js.map +1 -1
  164. package/dist/cjs/version.js +1 -1
  165. package/dist/esm/accounts/borrower.js +12 -5
  166. package/dist/esm/accounts/borrower.js.map +1 -1
  167. package/dist/esm/accounts/contract.js +12 -5
  168. package/dist/esm/accounts/contract.js.map +1 -1
  169. package/dist/esm/accounts/index.js +7 -0
  170. package/dist/esm/accounts/index.js.map +1 -0
  171. package/dist/esm/accounts/rental.js +12 -5
  172. package/dist/esm/accounts/rental.js.map +1 -1
  173. package/dist/esm/demos.js +189 -61
  174. package/dist/esm/demos.js.map +1 -1
  175. package/dist/esm/generated/codama/accounts/borrowerState.js +9 -3
  176. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  177. package/dist/esm/generated/codama/accounts/configState.js +4 -6
  178. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  179. package/dist/esm/generated/codama/accounts/contractState.js +28 -35
  180. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  181. package/dist/esm/generated/codama/accounts/index.js +0 -1
  182. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  183. package/dist/esm/generated/codama/accounts/rentalState.js +22 -16
  184. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  185. package/dist/esm/generated/codama/accounts/thread.js +0 -10
  186. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  187. package/dist/esm/generated/codama/errors/srsly.js +37 -28
  188. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  189. package/dist/esm/generated/codama/instructions/acceptRental.js +70 -119
  190. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  191. package/dist/esm/generated/codama/instructions/activateRental.js +161 -26
  192. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  193. package/dist/esm/generated/codama/instructions/cancelRental.js +29 -34
  194. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  195. package/dist/esm/generated/codama/instructions/claimBorrower.js +4 -12
  196. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  197. package/dist/esm/generated/codama/instructions/claimContract.js +192 -0
  198. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  199. package/dist/esm/generated/codama/instructions/closeBorrower.js +173 -0
  200. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -0
  201. package/dist/esm/generated/codama/instructions/closeContract.js +130 -14
  202. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  203. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  204. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  205. package/dist/esm/generated/codama/instructions/closeRental.js +11 -122
  206. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  207. package/dist/esm/generated/codama/instructions/createBorrower.js +201 -0
  208. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  209. package/dist/esm/generated/codama/instructions/createContract.js +47 -31
  210. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  211. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  212. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  213. package/dist/esm/generated/codama/instructions/deleteBorrower.js +105 -0
  214. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -0
  215. package/dist/esm/generated/codama/instructions/deleteRental.js +2 -2
  216. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  217. package/dist/esm/generated/codama/instructions/index.js +8 -5
  218. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  219. package/dist/esm/generated/codama/instructions/payContract.js +214 -0
  220. package/dist/esm/generated/codama/instructions/payContract.js.map +1 -0
  221. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  222. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  223. package/dist/esm/generated/codama/instructions/reserveRental.js +95 -61
  224. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  225. package/dist/esm/generated/codama/instructions/updateBorrower.js +8 -43
  226. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  227. package/dist/esm/generated/codama/instructions/updateConfig.js +5 -7
  228. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  229. package/dist/esm/generated/codama/instructions/updateContract.js +7 -17
  230. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  231. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  232. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  233. package/dist/esm/generated/codama/programs/srsly.js +43 -35
  234. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  235. package/dist/esm/generated/codama/types/bidType.js +24 -0
  236. package/dist/esm/generated/codama/types/bidType.js.map +1 -0
  237. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  238. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  239. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  240. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  241. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  242. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  243. package/dist/esm/generated/codama/types/discountAuthorization.js +3 -1
  244. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -1
  245. package/dist/esm/generated/codama/types/index.js +6 -2
  246. package/dist/esm/generated/codama/types/index.js.map +1 -1
  247. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  248. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  249. package/dist/esm/generated/codama/types/rentalAccepted.js +2 -10
  250. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  251. package/dist/esm/generated/codama/types/rentalActivated.js +3 -1
  252. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
  253. package/dist/esm/generated/codama/types/rentalExpiredInline.js +26 -0
  254. package/dist/esm/generated/codama/types/rentalExpiredInline.js.map +1 -0
  255. package/dist/esm/generated/codama/types/rentalStatus.js +4 -3
  256. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  257. package/dist/esm/generated/codama/types/reservationCreated.js +10 -5
  258. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  259. package/dist/esm/generated/codama/types/signal.js +15 -3
  260. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  261. package/dist/esm/index.js +1 -99
  262. package/dist/esm/index.js.map +1 -1
  263. package/dist/esm/instructions/acceptRental.js +41 -89
  264. package/dist/esm/instructions/acceptRental.js.map +1 -1
  265. package/dist/esm/instructions/activateRental.js +82 -0
  266. package/dist/esm/instructions/activateRental.js.map +1 -0
  267. package/dist/esm/instructions/cancelRental.js +26 -24
  268. package/dist/esm/instructions/cancelRental.js.map +1 -1
  269. package/dist/esm/instructions/claimBorrower.js +45 -23
  270. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  271. package/dist/esm/instructions/claimContract.js +53 -0
  272. package/dist/esm/instructions/claimContract.js.map +1 -0
  273. package/dist/esm/instructions/closeBorrower.js +55 -0
  274. package/dist/esm/instructions/closeBorrower.js.map +1 -0
  275. package/dist/esm/instructions/closeContract.js +13 -12
  276. package/dist/esm/instructions/closeContract.js.map +1 -1
  277. package/dist/esm/instructions/closeContractThread.js +63 -0
  278. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  279. package/dist/esm/instructions/closeRental.js +35 -46
  280. package/dist/esm/instructions/closeRental.js.map +1 -1
  281. package/dist/esm/instructions/createBorrower.js +61 -0
  282. package/dist/esm/instructions/createBorrower.js.map +1 -0
  283. package/dist/esm/instructions/createContract.js +2 -34
  284. package/dist/esm/instructions/createContract.js.map +1 -1
  285. package/dist/esm/instructions/createContractThread.js +75 -0
  286. package/dist/esm/instructions/createContractThread.js.map +1 -0
  287. package/dist/esm/instructions/deleteBorrower.js +57 -0
  288. package/dist/esm/instructions/deleteBorrower.js.map +1 -0
  289. package/dist/esm/instructions/deleteRental.js +1 -4
  290. package/dist/esm/instructions/deleteRental.js.map +1 -1
  291. package/dist/esm/instructions/index.js +29 -24
  292. package/dist/esm/instructions/index.js.map +1 -1
  293. package/dist/esm/instructions/reserveRental.js +71 -69
  294. package/dist/esm/instructions/reserveRental.js.map +1 -1
  295. package/dist/esm/instructions/updateBorrower.js +45 -41
  296. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  297. package/dist/esm/instructions/updateConfig.js +0 -1
  298. package/dist/esm/instructions/updateConfig.js.map +1 -1
  299. package/dist/esm/instructions/updateContract.js +14 -30
  300. package/dist/esm/instructions/updateContract.js.map +1 -1
  301. package/dist/esm/instructions/updateContractThread.js +57 -0
  302. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  303. package/dist/esm/kit/index.js +11 -3
  304. package/dist/esm/kit/index.js.map +1 -1
  305. package/dist/esm/legacy/index.js +13 -14
  306. package/dist/esm/legacy/index.js.map +1 -1
  307. package/dist/esm/package.json +1 -1
  308. package/dist/esm/params/index.js +5 -0
  309. package/dist/esm/params/index.js.map +1 -0
  310. package/dist/esm/params/sol.js +68 -0
  311. package/dist/esm/params/sol.js.map +1 -0
  312. package/dist/esm/pda/constants.js +6 -2
  313. package/dist/esm/pda/constants.js.map +1 -1
  314. package/dist/esm/pda/index.js +3 -21
  315. package/dist/esm/pda/index.js.map +1 -1
  316. package/dist/esm/pda/srsly.js +29 -36
  317. package/dist/esm/pda/srsly.js.map +1 -1
  318. package/dist/esm/pda/thread.js +37 -29
  319. package/dist/esm/pda/thread.js.map +1 -1
  320. package/dist/esm/utils/addresses.js +2 -1
  321. package/dist/esm/utils/addresses.js.map +1 -1
  322. package/dist/esm/utils/discountAuth.js +5 -1
  323. package/dist/esm/utils/discountAuth.js.map +1 -1
  324. package/dist/esm/utils/index.js +1 -1
  325. package/dist/esm/utils/index.js.map +1 -1
  326. package/dist/esm/utils/rental.js +22 -106
  327. package/dist/esm/utils/rental.js.map +1 -1
  328. package/dist/esm/version.js +1 -1
  329. package/dist/idl/srsly.json +1904 -1945
  330. package/dist/types/accounts/borrower.d.ts.map +1 -1
  331. package/dist/types/accounts/contract.d.ts.map +1 -1
  332. package/dist/types/accounts/index.d.ts +7 -0
  333. package/dist/types/accounts/index.d.ts.map +1 -0
  334. package/dist/types/accounts/rental.d.ts.map +1 -1
  335. package/dist/types/demos.d.ts +28 -10
  336. package/dist/types/demos.d.ts.map +1 -1
  337. package/dist/types/generated/codama/accounts/borrowerState.d.ts +15 -3
  338. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  339. package/dist/types/generated/codama/accounts/configState.d.ts +0 -4
  340. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  341. package/dist/types/generated/codama/accounts/contractState.d.ts +51 -74
  342. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  343. package/dist/types/generated/codama/accounts/index.d.ts +0 -1
  344. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  345. package/dist/types/generated/codama/accounts/rentalState.d.ts +46 -34
  346. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  347. package/dist/types/generated/codama/accounts/thread.d.ts +0 -4
  348. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  349. package/dist/types/generated/codama/errors/srsly.d.ts +32 -26
  350. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  351. package/dist/types/generated/codama/instructions/acceptRental.d.ts +53 -62
  352. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  353. package/dist/types/generated/codama/instructions/activateRental.d.ts +76 -32
  354. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  355. package/dist/types/generated/codama/instructions/cancelRental.d.ts +28 -25
  356. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  357. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +4 -24
  358. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  359. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  360. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  361. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +83 -0
  362. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -0
  363. package/dist/types/generated/codama/instructions/closeContract.d.ts +70 -18
  364. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  365. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +67 -0
  366. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  367. package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -70
  368. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  369. package/dist/types/generated/codama/instructions/createBorrower.d.ts +88 -0
  370. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  371. package/dist/types/generated/codama/instructions/createContract.d.ts +28 -32
  372. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  373. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  374. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  375. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +55 -0
  376. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -0
  377. package/dist/types/generated/codama/instructions/deleteRental.d.ts +4 -1
  378. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  379. package/dist/types/generated/codama/instructions/index.d.ts +8 -5
  380. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  381. package/dist/types/generated/codama/instructions/payContract.d.ts +100 -0
  382. package/dist/types/generated/codama/instructions/payContract.d.ts.map +1 -0
  383. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  384. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  385. package/dist/types/generated/codama/instructions/reserveRental.d.ts +88 -68
  386. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  387. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +21 -19
  388. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  389. package/dist/types/generated/codama/instructions/updateConfig.d.ts +0 -6
  390. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  391. package/dist/types/generated/codama/instructions/updateContract.d.ts +2 -14
  392. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  393. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  394. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  395. package/dist/types/generated/codama/programs/srsly.d.ts +40 -32
  396. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  397. package/dist/types/generated/codama/types/bidType.d.ts +18 -0
  398. package/dist/types/generated/codama/types/bidType.d.ts.map +1 -0
  399. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  400. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  401. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  402. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  403. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  404. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  405. package/dist/types/generated/codama/types/discountAuthorization.d.ts +5 -1
  406. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -1
  407. package/dist/types/generated/codama/types/index.d.ts +6 -2
  408. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  409. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  410. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  411. package/dist/types/generated/codama/types/rentalAccepted.d.ts +2 -10
  412. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  413. package/dist/types/generated/codama/types/rentalActivated.d.ts +7 -1
  414. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
  415. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts +18 -0
  416. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts.map +1 -0
  417. package/dist/types/generated/codama/types/rentalStatus.d.ts +4 -3
  418. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  419. package/dist/types/generated/codama/types/reservationCreated.d.ts +9 -4
  420. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  421. package/dist/types/generated/codama/types/signal.d.ts +8 -6
  422. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  423. package/dist/types/index.d.ts +1 -42
  424. package/dist/types/index.d.ts.map +1 -1
  425. package/dist/types/instructions/acceptRental.d.ts +2 -31
  426. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  427. package/dist/types/instructions/activateRental.d.ts +41 -0
  428. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  429. package/dist/types/instructions/cancelRental.d.ts +8 -18
  430. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  431. package/dist/types/instructions/claimBorrower.d.ts +33 -11
  432. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  433. package/dist/types/instructions/claimContract.d.ts +40 -0
  434. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  435. package/dist/types/instructions/closeBorrower.d.ts +51 -0
  436. package/dist/types/instructions/closeBorrower.d.ts.map +1 -0
  437. package/dist/types/instructions/closeContract.d.ts +1 -12
  438. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  439. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  440. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  441. package/dist/types/instructions/closeRental.d.ts +6 -14
  442. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  443. package/dist/types/instructions/createBorrower.d.ts +49 -0
  444. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  445. package/dist/types/instructions/createContract.d.ts +1 -41
  446. package/dist/types/instructions/createContract.d.ts.map +1 -1
  447. package/dist/types/instructions/createContractThread.d.ts +51 -0
  448. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  449. package/dist/types/instructions/deleteBorrower.d.ts +56 -0
  450. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -0
  451. package/dist/types/instructions/deleteRental.d.ts +3 -2
  452. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  453. package/dist/types/instructions/index.d.ts +29 -24
  454. package/dist/types/instructions/index.d.ts.map +1 -1
  455. package/dist/types/instructions/reserveRental.d.ts +33 -29
  456. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  457. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  458. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  459. package/dist/types/instructions/updateConfig.d.ts +0 -4
  460. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  461. package/dist/types/instructions/updateContract.d.ts +11 -33
  462. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  463. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  464. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  465. package/dist/types/kit/index.d.ts +10 -3
  466. package/dist/types/kit/index.d.ts.map +1 -1
  467. package/dist/types/legacy/index.d.ts +13 -39
  468. package/dist/types/legacy/index.d.ts.map +1 -1
  469. package/dist/types/params/index.d.ts +5 -0
  470. package/dist/types/params/index.d.ts.map +1 -0
  471. package/dist/types/params/sol.d.ts +34 -0
  472. package/dist/types/params/sol.d.ts.map +1 -0
  473. package/dist/types/pda/constants.d.ts +6 -2
  474. package/dist/types/pda/constants.d.ts.map +1 -1
  475. package/dist/types/pda/index.d.ts +3 -21
  476. package/dist/types/pda/index.d.ts.map +1 -1
  477. package/dist/types/pda/srsly.d.ts +13 -15
  478. package/dist/types/pda/srsly.d.ts.map +1 -1
  479. package/dist/types/pda/thread.d.ts +17 -18
  480. package/dist/types/pda/thread.d.ts.map +1 -1
  481. package/dist/types/utils/addresses.d.ts.map +1 -1
  482. package/dist/types/utils/discountAuth.d.ts +4 -0
  483. package/dist/types/utils/discountAuth.d.ts.map +1 -1
  484. package/dist/types/utils/index.d.ts +1 -1
  485. package/dist/types/utils/index.d.ts.map +1 -1
  486. package/dist/types/utils/rental.d.ts +8 -66
  487. package/dist/types/utils/rental.d.ts.map +1 -1
  488. package/dist/types/version.d.ts +1 -1
  489. 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,15 @@ 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) — only if thread configured
107
+ const thread = (0, kit_1.address)(contractAccount.data.thread);
108
+ const hasThread = thread !== '11111111111111111111111111111111';
109
+ const contractThread = hasThread ? await (0, thread_1.deriveContractThread)(params.contract, rentalAuthority) : undefined;
110
+ const closeRentalFiber = hasThread && contractThread ? await (0, thread_1.deriveFiber)(contractThread, 1) : undefined;
148
111
  // Convert duration parameter
149
112
  const durationSeconds = (0, duration_1.convertDuration)(params.duration);
150
113
  // Get network-specific addresses (atlasMint sourced from on-chain config)
@@ -158,51 +121,40 @@ async function acceptRental(params, config) {
158
121
  discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
159
122
  }
160
123
  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
124
  // Derive vault token account (ATA)
165
125
  const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
126
+ // Derive contract token account (ATA of contract PDA)
127
+ const contractAddress = (0, kit_1.address)(params.contract);
128
+ const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
129
+ // Derive borrower token account (ATA)
130
+ const borrowerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(borrowerSigner.address, atlasMint);
166
131
  // Call Codama-generated acceptRental instruction
167
132
  const acceptRentalIx = await (0, instructions_1.getAcceptRentalInstructionAsync)({
168
133
  borrower: borrowerSigner,
169
- borrowerProfile,
170
- borrowerProfileFaction: gameAccounts.profileFaction,
134
+ borrowerTokenAccount,
171
135
  fleet: (0, kit_1.address)(fleet),
172
- contract: (0, kit_1.address)(params.contract),
173
- rentalState: rental,
174
- gameId: (0, kit_1.address)(gameId),
175
- starbase: gameAccounts.starbase,
176
- starbasePlayer: gameAccounts.starbasePlayer,
136
+ contract: contractAddress,
137
+ rentalState,
177
138
  vault: (0, kit_1.address)(vault),
178
139
  vaultTokenAccount,
140
+ contractTokenAccount,
141
+ ...(contractThread && { contractThread }),
142
+ ...(closeRentalFiber && { closeRentalFiber }),
179
143
  referrer,
180
- mint: atlasMint,
181
144
  sageProgram,
182
145
  duration: BigInt(durationSeconds),
183
146
  discountAuth
184
147
  }, { 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
148
+ // Append SAGE pass-through accounts as remaining accounts
149
+ const sageRemainingAccounts = [
150
+ { address: borrowerProfile, role: kit_1.AccountRole.READONLY },
151
+ { address: gameAccounts.profileFaction, role: kit_1.AccountRole.READONLY },
152
+ { address: (0, kit_1.address)(gameId), role: kit_1.AccountRole.READONLY },
153
+ { address: gameAccounts.starbase, role: kit_1.AccountRole.READONLY },
154
+ { address: gameAccounts.starbasePlayer, role: kit_1.AccountRole.WRITABLE },
155
+ ];
156
+ acceptRentalIx.accounts.push(...sageRemainingAccounts);
157
+ // Prepare instruction with optional compute budget
206
158
  return (0, instructions_2.prepareInstructions)(acceptRentalIx, {
207
159
  computeUnits: params.computeUnits,
208
160
  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,85 @@
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 — only if thread configured
55
+ const thread = (0, kit_1.address)(contractAccount.data.thread);
56
+ const hasThread = thread !== '11111111111111111111111111111111';
57
+ const contractThread = hasThread ? await (0, thread_1.deriveContractThread)(contractAddress, rentalAuthority) : undefined;
58
+ const closeRentalFiber = hasThread && contractThread ? await (0, thread_1.deriveFiber)(contractThread, 1) : undefined;
59
+ // Fetch queued rental to get borrower info, then fetch borrower state for profile faction
60
+ const queuedRentalAccount = await (0, rental_1.fetchRental)(queuedRental, finalConfig.rpcUrl);
61
+ const borrowerState = await (0, borrower_1.fetchBorrower)(queuedRentalAccount.data.borrowerState, finalConfig.rpcUrl);
62
+ // Get vault from config and derive vault token account
63
+ const vault = configAccount.data.slyvault;
64
+ const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
65
+ const kitInstruction = await (0, instructions_1.getActivateRentalInstructionAsync)({
66
+ payer: payerSigner,
67
+ contract: contractAddress,
68
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
69
+ mint: atlasMint,
70
+ borrowerProfile: queuedRentalAccount.data.borrowerProfile,
71
+ borrowerProfileFaction: borrowerState.data.borrowerProfileFaction,
72
+ fleet: contractAccount.data.fleet,
73
+ gameId: contractAccount.data.gameId,
74
+ ...(contractThread && { contractThread }),
75
+ ...(closeRentalFiber && { closeRentalFiber }),
76
+ vault,
77
+ vaultTokenAccount,
78
+ sageProgram: (0, kit_1.address)(addresses.sage),
79
+ }, { programAddress });
80
+ return (0, instructions_2.prepareInstructions)(kitInstruction, {
81
+ computeUnits: params.computeUnits,
82
+ PublicKey: finalConfig.PublicKey
83
+ });
84
+ }
85
+ //# 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,33 @@ 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 }));
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';
90
92
  // Call Codama-generated instruction
91
- // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount,
92
- // rentalTokenAccount, rentalAuthority, antegenProgram, tokenProgram
93
+ // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount, rentalAuthority
93
94
  const kitInstruction = await (0, instructions_1.getCancelRentalInstructionAsync)({
94
95
  mint: atlasMint,
95
96
  borrower: borrowerSigner,
96
97
  rentalState,
97
- rentalThread,
98
- contract: (0, kit_1.address)(params.contract),
98
+ contractTokenAccount,
99
+ contract: contractAddress,
100
+ fleet: (0, kit_1.address)(fleet),
101
+ ...(hasThread && { contractThread: thread }),
99
102
  cancelDelay,
100
- rentalSlot,
101
103
  }, { programAddress });
102
104
  return (0, instructions_2.prepareInstructions)(kitInstruction, {
103
105
  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,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,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,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;
@@ -21,48 +23,68 @@ const config_2 = require("../accounts/config");
21
23
  * account (an ATA with the borrower_state as authority). This instruction
22
24
  * transfers those funds to the borrower's personal wallet.
23
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
+ *
24
32
  * @param params - Borrower claim parameters
25
33
  * @param config - Optional SDK configuration overrides
26
34
  * @returns Kit instruction (or web3.js if PublicKey in config)
27
35
  *
28
36
  * @example
29
37
  * ```typescript
30
- * // Claim accumulated ATLAS refunds
38
+ * // Self-claim: payer is the borrower
31
39
  * const ix = await claimBorrower({
32
- * borrower: borrowerWallet
40
+ * payer: borrowerWallet,
33
41
  * });
34
42
  *
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
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
40
53
  * });
41
54
  * ```
42
55
  */
43
56
  async function claimBorrower(params, config) {
44
- // Merge config
45
57
  const finalConfig = (0, config_1.mergeConfig)(config);
46
- // Validate required params
47
- if (!params.borrower) {
48
- throw new Error('borrower is required');
58
+ if (!params.payer) {
59
+ throw new Error('payer is required');
49
60
  }
50
- // Convert borrower to transaction signer
51
- const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
52
- // Get atlasMint from on-chain config
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);
53
65
  const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
54
66
  const atlasMint = configAccount.data.atlasMint;
55
67
  const addresses = (0, config_1.getAddresses)(config);
56
68
  const programAddress = (0, kit_1.address)(addresses.srsly);
57
- // Call Codama-generated instruction
58
- // Most accounts are auto-derived (config, borrowerState, managed account, destination)
59
- const kitInstruction = await (0, instructions_1.getClaimBorrowerInstructionAsync)({
60
- payer: borrowerSigner,
61
- borrower: (0, signer_1.getSignerAddress)(borrowerSigner),
69
+ // Build claim instruction
70
+ const claimIx = await (0, instructions_1.getClaimBorrowerInstructionAsync)({
71
+ payer: payerSigner,
72
+ borrower: borrowerAddress,
62
73
  mint: atlasMint,
63
- close: params.close ?? false,
64
74
  }, { programAddress });
65
- 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, {
66
88
  computeUnits: params.computeUnits,
67
89
  PublicKey: finalConfig.PublicKey
68
90
  });
@@ -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;;;;;;;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"}