@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
@@ -2,50 +2,46 @@
2
2
  * @purpose Simplified reserveRental instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated reserveRental instruction.
5
- * Reserves a rental contract using points or ATLAS for a GBM-style auction.
5
+ * Reserves a rental contract using ATLAS for a GBM-style auction.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
- import { createRpc } from '../utils/rpc';
9
8
  import { getReserveRentalInstructionAsync } from '../generated/codama/instructions';
10
9
  import { mergeConfig, getAddresses } from '../utils/config';
11
10
  import { toTransactionSigner } from '../utils/signer';
11
+ import { convertAmount } from '../params/amount';
12
+ import { convertDuration } from '../params/duration';
12
13
  import { fetchContract } from '../accounts/contract';
13
14
  import { fetchConfig } from '../accounts/config';
14
- import { fetchBorrowerState } from '../generated/codama/accounts';
15
- import { deriveBorrowerState, deriveOwnerState } from '../pda/srsly';
15
+ import { fetchBorrower } from '../accounts/borrower';
16
+ import { fetchRental } from '../accounts/rental';
17
+ import { RentalStatus } from '../generated/codama/types';
18
+ import { deriveQueuedRental, deriveRentalAuthority } from '../pda/srsly';
16
19
  import { deriveAssociatedTokenAccount } from '../pda/token';
20
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
17
21
  import { prepareInstructions } from '../utils/instructions';
22
+ import { deserializeDiscountAuth } from '../utils/discountAuth';
18
23
  /**
19
24
  * Reserve a rental contract via GBM-style auction
20
25
  *
21
- * Allows a user to reserve (bid on) a rental contract using either
22
- * accumulated capture points or ATLAS tokens. Winners get an exclusive
23
- * reservation window to accept the rental once the current rental ends.
26
+ * Allows a user to reserve (bid on) a rental contract using ATLAS tokens.
27
+ * Winners get an exclusive reservation window to accept the rental once
28
+ * the current rental ends.
24
29
  *
25
- * The reservation type is determined by the `useAtlas` parameter:
26
- * - If `useAtlas=false` (default): Uses capture points from borrower state
27
- * - If `useAtlas=true`: Transfers ATLAS from challenger's wallet
30
+ * The reservation uses the queued rental PDA and requires the contract
31
+ * thread and activate_rental fiber for scheduling.
28
32
  *
29
33
  * @param params - Reservation parameters
30
34
  * @param config - Optional SDK configuration overrides
31
35
  * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
32
36
  *
33
- * @demo
37
+ * @example
34
38
  * ```typescript
35
- * // Reserve with 5 points
39
+ * // Reserve with 5 ATLAS for a 7-day rental
36
40
  * const ixs = await reserveRental({
37
41
  * challenger: wallet,
38
42
  * contract: "CONTRACT_ADDRESS",
39
- * amount: 5, // 5 points deducted from borrower state
40
- * useAtlas: false
41
- * });
42
- *
43
- * // Reserve with 5 point-equivalents in ATLAS
44
- * const ixs2 = await reserveRental({
45
- * challenger: wallet,
46
- * contract: "CONTRACT_ADDRESS",
47
- * amount: 5, // 5 * atlas_per_point = ATLAS lamports transferred
48
- * useAtlas: true,
43
+ * amount: 5,
44
+ * duration: { days: 7 },
49
45
  * computeUnits: 200_000
50
46
  * });
51
47
  * ```
@@ -63,69 +59,75 @@ export async function reserveRental(params, config) {
63
59
  if (params.amount === undefined || params.amount === null) {
64
60
  throw new Error('amount is required');
65
61
  }
62
+ if (!params.duration) {
63
+ throw new Error('duration is required');
64
+ }
66
65
  // Convert challenger to transaction signer
67
66
  const challengerSigner = toTransactionSigner(params.challenger);
68
67
  // Get network-specific addresses
69
68
  const addresses = getAddresses(config);
70
69
  const programAddress = address(addresses.srsly);
71
- // Derive challenger state PDA
72
- const challengerState = await deriveBorrowerState(challengerSigner.address);
73
- // Fetch contract to get owner for ownerState derivation
74
- const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
75
- // Fetch config for mint and validation
70
+ const sageProgram = address(addresses.sage);
71
+ // Fetch config for mint
76
72
  const configAccount = await fetchConfig(finalConfig.rpcUrl);
77
73
  const atlasMint = configAccount.data.atlasMint;
78
- // Derive challenger's managed token account (used for receiving ATLAS bonuses)
79
- const challengerManagedTokenAccount = await deriveAssociatedTokenAccount(challengerState, atlasMint);
80
- // Convert amount based on reservation type
81
- // - Points: use raw number as-is
82
- // - ATLAS: multiply by atlas_per_point to get lamports
83
- const amountValue = params.useAtlas
84
- ? BigInt(params.amount) * BigInt(configAccount.data.atlasPerPoint) // point-equivalents lamports
85
- : BigInt(params.amount); // points stay as-is
86
- // Derive ownerState PDA from contract owner
87
- const ownerState = await deriveOwnerState(contractAccount.data.owner);
74
+ // Fetch contract to get contractTokenAccount
75
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
76
+ // Derive queued rental PDA
77
+ const rentalState = await deriveQueuedRental(params.contract);
78
+ // Derive rental authority
79
+ const rentalAuthority = await deriveRentalAuthority();
80
+ // Derive contract thread and activate_rental fiber (fiber index 2)
81
+ const contractThread = await deriveContractThread(params.contract, rentalAuthority);
82
+ const activateRentalFiber = await deriveFiber(contractThread, 2);
83
+ // Derive contract token account (ATA of contract PDA)
84
+ const contractAddress = address(params.contract);
85
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
86
+ // Derive challenger's token account
87
+ const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
88
+ // Convert amount to stardust
89
+ const amountValue = convertAmount(params.amount);
90
+ // Convert duration to seconds
91
+ const durationSeconds = convertDuration(params.duration);
92
+ // Deserialize discount auth if provided
93
+ let discountAuth = null;
94
+ if (params.discountAuth) {
95
+ discountAuth = deserializeDiscountAuth(params.discountAuth);
96
+ }
97
+ const referrer = params.referrer ? address(params.referrer) : undefined;
88
98
  // Build instruction input
89
99
  const instructionInput = {
90
100
  challenger: challengerSigner,
91
- mint: atlasMint,
92
- contract: address(params.contract),
93
- challengerState,
94
- challengerManagedTokenAccount,
95
- ownerState,
101
+ contract: contractAddress,
102
+ contractThread,
103
+ activateRentalFiber,
104
+ contractTokenAccount,
105
+ challengerTokenAccount,
106
+ rentalState,
107
+ referrer,
108
+ sageProgram,
96
109
  amount: amountValue,
97
- // Optional accounts based on reservation type
98
- challengerTokenAccount: undefined,
99
- defenderState: undefined,
100
- defenderManagedTokenAccount: undefined,
110
+ duration: BigInt(durationSeconds),
111
+ discountAuth,
101
112
  };
102
- // If using ATLAS, include challenger's token account
103
- if (params.useAtlas) {
104
- const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
105
- instructionInput.challengerTokenAccount = challengerTokenAccount;
106
- }
107
- // If there's a current reservation holder, we need to provide defender accounts
108
- if (contractAccount.data.reservationHolder &&
109
- typeof contractAccount.data.reservationHolder === 'object' &&
110
- '__option' in contractAccount.data.reservationHolder &&
111
- contractAccount.data.reservationHolder.__option === 'Some') {
112
- const defenderState = contractAccount.data.reservationHolder.value;
113
- instructionInput.defenderState = defenderState;
114
- // Fetch defender state to get their managed token account
115
- const rpc = createRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
116
- try {
117
- const defenderStateAccount = await fetchBorrowerState(rpc, defenderState);
118
- if (defenderStateAccount.data.managedTokenAccount) {
119
- instructionInput.defenderManagedTokenAccount = defenderStateAccount.data.managedTokenAccount;
120
- }
121
- }
122
- catch {
123
- // Defender state might not exist or be readable, continue without it
113
+ // If there's a current queued reservation, provide defender accounts
114
+ // Fetch queued rental to check if there's an existing reservation holder
115
+ try {
116
+ const queuedRental = await fetchRental(rentalState, finalConfig.rpcUrl);
117
+ if (queuedRental.data.status === RentalStatus.Queued) {
118
+ const defenderBorrowerState = queuedRental.data.borrowerState;
119
+ instructionInput.defenderState = defenderBorrowerState;
120
+ // Fetch defender's managed token account from their borrower state
121
+ const defenderAccount = await fetchBorrower(defenderBorrowerState, finalConfig.rpcUrl);
122
+ instructionInput.defenderManagedTokenAccount = defenderAccount.data.managedTokenAccount;
124
123
  }
125
124
  }
125
+ catch {
126
+ // Queued rental doesn't exist or is Available — no defender
127
+ }
126
128
  // Call Codama-generated instruction
127
129
  const kitInstruction = await getReserveRentalInstructionAsync(instructionInput, { programAddress });
128
- // Prepare instructions with optional compute budget and web3.js conversion
130
+ // Prepare instructions with optional compute budget
129
131
  return prepareInstructions(kitInstruction, {
130
132
  computeUnits: params.computeUnits,
131
133
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
@@ -2,55 +2,42 @@
2
2
  * @purpose Simplified updateBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated updateBorrower instruction.
5
- * Updates the borrower's refund destination and/or profile.
5
+ * Updates the borrower's SAGE profile addresses.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
- import { getUpdateBorrowerInstructionAsync } from '../generated/codama/instructions';
8
+ import { getUpdateBorrowerInstruction } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { prepareInstructions } from '../utils/instructions';
12
- import { fetchConfig } from '../accounts/config';
12
+ import { deriveBorrowerState } from '../pda/srsly';
13
13
  /**
14
14
  * Update borrower account
15
15
  *
16
- * Updates the borrower's SAGE profile and/or refund destination.
17
- * The SAGE profile is required for rental operations. The refund destination
18
- * will be used for refunds and payment claims if initialized.
16
+ * Updates the borrower's SAGE-related addresses. These addresses are stored
17
+ * on-chain in the BorrowerState and used during rental operations.
19
18
  *
20
- * This function automatically derives the borrower state PDA.
19
+ * This is a synchronous instruction (no async account resolution needed).
20
+ * The borrower state PDA is derived from the borrower's address.
21
21
  *
22
22
  * @param params - Update borrower parameters
23
23
  * @param config - Optional SDK configuration overrides
24
24
  * @returns Kit instruction (or web3.js if PublicKey in config)
25
25
  *
26
- * @demo
26
+ * @example
27
27
  * ```typescript
28
28
  * // Update borrower's SAGE profile
29
29
  * const ix = await updateBorrower({
30
30
  * borrower: wallet,
31
31
  * borrowerProfile: "NEW_BORROWER_PROFILE_ADDRESS"
32
32
  * });
33
- * ```
34
- *
35
- * @example
36
- * ```typescript
37
- * // Set SAGE profile
38
- * const ix = await updateBorrower({
39
- * borrower: borrowerWallet,
40
- * borrowerProfile: borrowerProfileAddress
41
- * });
42
33
  *
43
- * // Set refund destination
34
+ * // Update all SAGE addresses at once
44
35
  * const ix2 = await updateBorrower({
45
- * borrower: borrowerWallet,
46
- * refundDestination: newTokenAccount
47
- * });
48
- *
49
- * // Update both
50
- * const ix3 = await updateBorrower({
51
- * borrower: borrowerWallet,
52
- * borrowerProfile: borrowerProfileAddress,
53
- * refundDestination: newTokenAccount
36
+ * borrower: wallet,
37
+ * borrowerProfile: profileAddr,
38
+ * borrowerProfileFaction: factionAddr,
39
+ * starbase: starbaseAddr,
40
+ * starbasePlayer: starbasePlayerAddr
54
41
  * });
55
42
  * ```
56
43
  */
@@ -61,25 +48,42 @@ export async function updateBorrower(params, config) {
61
48
  if (!params.borrower) {
62
49
  throw new Error('borrower is required');
63
50
  }
51
+ // At least one field must be updated
52
+ if (params.borrowerProfile === undefined &&
53
+ params.borrowerProfileFaction === undefined &&
54
+ params.starbase === undefined &&
55
+ params.starbasePlayer === undefined) {
56
+ throw new Error('At least one SAGE address field must be provided to update');
57
+ }
64
58
  // Convert borrower to transaction signer
65
59
  const borrowerSigner = toTransactionSigner(params.borrower);
66
- // Get atlasMint from on-chain config
67
- const configAccount = await fetchConfig(finalConfig.rpcUrl);
68
- const atlasMint = configAccount.data.atlasMint;
60
+ // Get program address
69
61
  const addresses = getAddresses(config);
70
62
  const programAddress = address(addresses.srsly);
71
- // Call Codama-generated instruction
72
- // Note: borrowerState will be auto-derived by Codama
73
- // NOTE: borrowerProfile will be added once Codama types are regenerated
74
- const instructionAccounts = {
63
+ // Derive borrower state PDA
64
+ const borrowerState = await deriveBorrowerState(borrowerSigner.address);
65
+ // Build data args: null means "don't update" (Option::None)
66
+ const borrowerProfile = params.borrowerProfile
67
+ ? address(params.borrowerProfile)
68
+ : null;
69
+ const borrowerProfileFaction = params.borrowerProfileFaction
70
+ ? address(params.borrowerProfileFaction)
71
+ : null;
72
+ const starbase = params.starbase
73
+ ? address(params.starbase)
74
+ : null;
75
+ const starbasePlayer = params.starbasePlayer
76
+ ? address(params.starbasePlayer)
77
+ : null;
78
+ // Call Codama-generated instruction (sync - not async)
79
+ const kitInstruction = getUpdateBorrowerInstruction({
75
80
  borrower: borrowerSigner,
76
- mint: atlasMint,
77
- };
78
- // Add borrowerProfile if provided
79
- if (params.borrowerProfile) {
80
- instructionAccounts.borrowerProfile = address(params.borrowerProfile);
81
- }
82
- const kitInstruction = await getUpdateBorrowerInstructionAsync(instructionAccounts, { programAddress });
81
+ borrowerState,
82
+ borrowerProfile,
83
+ borrowerProfileFaction,
84
+ starbase,
85
+ starbasePlayer,
86
+ }, { programAddress });
83
87
  return prepareInstructions(kitInstruction, {
84
88
  computeUnits: params.computeUnits,
85
89
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"updateBorrower.js","sourceRoot":"","sources":["../../../src/instructions/updateBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA+BjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,oCAAoC;IACpC,qDAAqD;IACrD,wEAAwE;IACxE,MAAM,mBAAmB,GAAQ;QAC/B,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,SAAS;KAChB,CAAC;IAEF,kCAAkC;IAClC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,mBAAmB,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D,mBAAmB,EACnB,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"updateBorrower.js","sourceRoot":"","sources":["../../../src/instructions/updateBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAwCnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,qCAAqC;IACrC,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,MAAM,CAAC,sBAAsB,KAAK,SAAS;QAC3C,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC7B,MAAM,CAAC,cAAc,KAAK,SAAS,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,sBAAsB;IACtB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExE,4DAA4D;IAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe;QAC5C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB;QAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAiC,CAAC;QACnD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAC9B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc;QAC1C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAyB,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;IAET,uDAAuD;IACvD,MAAM,cAAc,GAAG,4BAA4B,CACjD;QACE,QAAQ,EAAE,cAAc;QACxB,aAAa;QACb,eAAe;QACf,sBAAsB;QACtB,QAAQ;QACR,cAAc;KACf,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -83,7 +83,6 @@ export async function updateConfig(params, config) {
83
83
  reservationsEnabled: toOption(params.reservationsEnabled),
84
84
  pointsPerDay: toOption(params.pointsPerDay),
85
85
  cancellationPenalty: toOption(params.cancellationPenalty),
86
- reservationWindowHours: toOption(params.reservationWindowHours),
87
86
  minCaptureThreshold: toOption(params.minCaptureThreshold),
88
87
  weightBase: toOption(params.weightBase),
89
88
  weightMultiplier: toOption(params.weightMultiplier),
@@ -1 +1 @@
1
- {"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * @purpose Simplified updateContract instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated updateContract instruction.
5
- * Allows updating any subset of contract fields while a contract has no active rental.
5
+ * Allows updating any subset of contract fields. Can be called by owner or delegate.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
8
  import { getUpdateContractInstructionAsync } from '../generated/codama/instructions';
@@ -10,13 +10,12 @@ import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { convertAmount } from '../params/amount';
12
12
  import { convertDuration } from '../params/duration';
13
- import { normalizeSchedule } from '../params/schedule';
14
13
  import { prepareInstructions } from '../utils/instructions';
15
14
  /**
16
15
  * Update an existing rental contract
17
16
  *
18
- * Allows the contract owner to update any subset of contract settings.
19
- * Contract must not have an active rental.
17
+ * Allows the contract authority (owner or delegate) to update contract settings.
18
+ * Delegates are restricted to rate-only updates.
20
19
  *
21
20
  * @param params - Contract update parameters
22
21
  * @param config - Optional SDK configuration overrides
@@ -24,29 +23,20 @@ import { prepareInstructions } from '../utils/instructions';
24
23
  *
25
24
  * @example
26
25
  * ```typescript
27
- * // Update only the rate
26
+ * // Update only the rate (works for both owner and delegate)
28
27
  * const ix = await updateContract({
29
- * owner: wallet,
28
+ * authority: wallet,
30
29
  * contract: contractAddress,
31
30
  * rate: 150 // Increase rate to 150 ATLAS
32
31
  * });
33
32
  *
34
- * // Update multiple fields
33
+ * // Update multiple fields (owner only)
35
34
  * const ix2 = await updateContract({
36
- * owner: wallet,
35
+ * authority: wallet,
37
36
  * contract: contractAddress,
38
37
  * rate: 100,
39
38
  * durationMax: { days: 60 },
40
- * paymentsFreq: '@weekly'
41
- * });
42
- *
43
- * // With web3.js
44
- * import { PublicKey } from '@solana/web3.js';
45
- * setSdkConfig({ network: 'mainnet-beta', PublicKey });
46
- * const web3Ix = await updateContract({
47
- * owner: keypair,
48
- * contract: contractPubkey,
49
- * rate: { atlas: 2.5 }
39
+ * reservationsDisabled: false
50
40
  * });
51
41
  * ```
52
42
  */
@@ -54,8 +44,8 @@ export async function updateContract(params, config) {
54
44
  // Merge config
55
45
  const finalConfig = mergeConfig(config);
56
46
  // Validate required params
57
- if (!params.owner) {
58
- throw new Error('owner is required');
47
+ if (!params.authority) {
48
+ throw new Error('authority is required');
59
49
  }
60
50
  if (!params.contract) {
61
51
  throw new Error('contract is required');
@@ -64,19 +54,16 @@ export async function updateContract(params, config) {
64
54
  if (params.rate === undefined &&
65
55
  params.durationMin === undefined &&
66
56
  params.durationMax === undefined &&
67
- params.paymentsFreq === undefined &&
68
57
  params.cancelDelayMin === undefined &&
69
- params.reservationsDisabled === undefined &&
70
- params.automationRequired === undefined) {
58
+ params.reservationsDisabled === undefined) {
71
59
  throw new Error('At least one field must be provided to update');
72
60
  }
73
- // Convert owner to transaction signer
74
- const ownerSigner = toTransactionSigner(params.owner);
61
+ // Convert authority to transaction signer
62
+ const authoritySigner = toTransactionSigner(params.authority);
75
63
  // Convert optional parameters
76
64
  const rateStardust = params.rate !== undefined ? convertAmount(params.rate) : null;
77
65
  const durationMinSeconds = params.durationMin !== undefined ? BigInt(convertDuration(params.durationMin)) : null;
78
66
  const durationMaxSeconds = params.durationMax !== undefined ? BigInt(convertDuration(params.durationMax)) : null;
79
- const normalizedSchedule = params.paymentsFreq !== undefined ? normalizeSchedule(params.paymentsFreq) : null;
80
67
  // Validate duration logic if both are being updated
81
68
  if (durationMinSeconds !== null && durationMaxSeconds !== null) {
82
69
  if (durationMaxSeconds < durationMinSeconds) {
@@ -91,17 +78,14 @@ export async function updateContract(params, config) {
91
78
  ? BigInt(convertDuration(params.cancelDelayMin))
92
79
  : null;
93
80
  // Call Codama-generated instruction
94
- // Note: generated code uses 'authority' to allow owner OR delegate
95
81
  const kitInstruction = await getUpdateContractInstructionAsync({
96
- authority: ownerSigner,
82
+ authority: authoritySigner,
97
83
  contract: address(params.contract),
98
84
  rate: rateStardust,
99
85
  durationMinSeconds,
100
86
  durationMaxSeconds,
101
- paymentsFreq: normalizedSchedule,
102
87
  cancelDelayMin: cancelDelayMinSeconds,
103
88
  reservationsDisabled: params.reservationsDisabled ?? null,
104
- automationRequired: params.automationRequired ?? null,
105
89
  }, { programAddress });
106
90
  return prepareInstructions(kitInstruction, {
107
91
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"updateContract.js","sourceRoot":"","sources":["../../../src/instructions/updateContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateContract.js","sourceRoot":"","sources":["../../../src/instructions/updateContract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @purpose Simplified updateContractThread instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated updateContractThread instruction.
5
+ * Funds additional lamports and/or updates the payment frequency for a contract thread.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { getUpdateContractThreadInstructionAsync } from '../generated/codama/instructions';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
+ import { toTransactionSigner } from '../utils/signer';
11
+ import { prepareInstructions } from '../utils/instructions';
12
+ import { deriveContractThread } from '../pda/thread';
13
+ import { deriveRentalAuthority } from '../pda/srsly';
14
+ import { normalizeSchedule } from '../params/schedule';
15
+ import { convertSol } from '../params/sol';
16
+ /**
17
+ * Update a per-contract automation thread
18
+ *
19
+ * Funds additional lamports to the thread and optionally updates the
20
+ * payment processing frequency.
21
+ *
22
+ * @param params - Thread update parameters
23
+ * @param config - Optional SDK configuration overrides
24
+ * @returns Kit instruction (or web3.js if PublicKey in config)
25
+ */
26
+ export async function updateContractThread(params, config) {
27
+ const finalConfig = mergeConfig(config);
28
+ if (!params.owner) {
29
+ throw new Error('owner is required');
30
+ }
31
+ if (!params.contract) {
32
+ throw new Error('contract is required');
33
+ }
34
+ const ownerSigner = toTransactionSigner(params.owner);
35
+ const addresses = getAddresses(config);
36
+ const programAddress = address(addresses.srsly);
37
+ const contractAddress = address(params.contract);
38
+ // Derive thread PDA
39
+ const rentalAuthority = await deriveRentalAuthority();
40
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
41
+ // Normalize optional schedule
42
+ const paymentsFreq = params.paymentsFreq
43
+ ? normalizeSchedule(params.paymentsFreq)
44
+ : null;
45
+ const kitInstruction = await getUpdateContractThreadInstructionAsync({
46
+ payer: ownerSigner,
47
+ contract: contractAddress,
48
+ contractThread,
49
+ lamports: convertSol(params.lamports ?? 0),
50
+ paymentsFreq,
51
+ }, { programAddress });
52
+ return prepareInstructions(kitInstruction, {
53
+ computeUnits: params.computeUnits,
54
+ PublicKey: finalConfig.PublicKey
55
+ });
56
+ }
57
+ //# sourceMappingURL=updateContractThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateContractThread.js","sourceRoot":"","sources":["../../../src/instructions/updateContractThread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uCAAuC,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AA+B1D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAkC,EAClC,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,8BAA8B;IAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;QACtC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,MAAM,uCAAuC,CAClE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,cAAc;QACd,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC1C,YAAY;KACb,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @wuwei-labs/srsly/kit
3
3
  *
4
- * Re-exports everything from main for Kit users.
5
- * Use this subpath for explicit Kit compatibility.
4
+ * Kit-native entry point for @solana/kit users.
5
+ * All instruction functions return InstructionResult (extends Instruction[]).
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -14,5 +14,13 @@
14
14
  *
15
15
  * @packageDocumentation
16
16
  */
17
- export * from '../index';
17
+ export { VERSION } from '../version';
18
+ export * from '../utils';
19
+ export * from '../instructions';
20
+ export * from '../accounts';
21
+ export * from '../params';
22
+ export * from '../pda';
23
+ // External re-exports
24
+ export { createDiscountAuth, claim } from '@wuwei-labs/slyvault';
25
+ export * as codama from '../generated/codama';
18
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AAEvB,sBAAsB;AACtB,OAAO,EACL,kBAAkB,EAGlB,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC"}