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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/dist/cjs/accounts/index.js +23 -0
  2. package/dist/cjs/accounts/index.js.map +1 -0
  3. package/dist/cjs/demos.js +157 -57
  4. package/dist/cjs/demos.js.map +1 -1
  5. package/dist/cjs/generated/codama/accounts/borrowerState.js +8 -2
  6. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  7. package/dist/cjs/generated/codama/accounts/configState.js +0 -2
  8. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  9. package/dist/cjs/generated/codama/accounts/contractState.js +23 -30
  10. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  11. package/dist/cjs/generated/codama/accounts/index.js +0 -1
  12. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  13. package/dist/cjs/generated/codama/accounts/rentalState.js +20 -14
  14. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  15. package/dist/cjs/generated/codama/errors/srsly.js +43 -43
  16. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  17. package/dist/cjs/generated/codama/instructions/acceptRental.js +60 -47
  18. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  19. package/dist/cjs/generated/codama/instructions/activateRental.js +144 -22
  20. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  21. package/dist/cjs/generated/codama/instructions/cancelRental.js +13 -42
  22. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  23. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  24. package/dist/cjs/generated/codama/instructions/claimContract.js +197 -0
  25. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  26. package/dist/cjs/generated/codama/instructions/closeContract.js +130 -14
  27. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  28. package/dist/cjs/generated/codama/instructions/closeContractThread.js +154 -0
  29. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  30. package/dist/cjs/generated/codama/instructions/closeRental.js +10 -121
  31. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  32. package/dist/cjs/generated/codama/instructions/createBorrower.js +211 -0
  33. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  34. package/dist/cjs/generated/codama/instructions/createContract.js +40 -24
  35. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/createContractThread.js +299 -0
  37. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  38. package/dist/cjs/generated/codama/instructions/index.js +6 -5
  39. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/payContract.js +237 -0
  41. package/dist/cjs/generated/codama/instructions/payContract.js.map +1 -0
  42. package/dist/cjs/generated/codama/instructions/reserveRental.js +81 -60
  43. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  44. package/dist/cjs/generated/codama/instructions/updateBorrower.js +7 -43
  45. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  46. package/dist/cjs/generated/codama/instructions/updateConfig.js +0 -2
  47. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/updateContract.js +0 -10
  49. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  50. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  51. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  52. package/dist/cjs/generated/codama/programs/srsly.js +36 -36
  53. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  54. package/dist/cjs/generated/codama/types/bidType.js +30 -0
  55. package/dist/cjs/generated/codama/types/bidType.js.map +1 -0
  56. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  57. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  58. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  59. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  60. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  61. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  62. package/dist/cjs/generated/codama/types/index.js +6 -2
  63. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  64. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  65. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  66. package/dist/cjs/generated/codama/types/rentalActivated.js +2 -0
  67. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
  68. package/dist/cjs/generated/codama/types/rentalExpiredInline.js +31 -0
  69. package/dist/cjs/generated/codama/types/rentalExpiredInline.js.map +1 -0
  70. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  71. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  72. package/dist/cjs/generated/codama/types/reservationCreated.js +9 -4
  73. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  74. package/dist/cjs/index.js +4 -221
  75. package/dist/cjs/index.js.map +1 -1
  76. package/dist/cjs/instructions/acceptRental.js +23 -79
  77. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  78. package/dist/cjs/instructions/activateRental.js +83 -0
  79. package/dist/cjs/instructions/activateRental.js.map +1 -0
  80. package/dist/cjs/instructions/cancelRental.js +21 -23
  81. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  82. package/dist/cjs/instructions/claimBorrower.js +27 -14
  83. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  84. package/dist/cjs/instructions/claimContract.js +56 -0
  85. package/dist/cjs/instructions/claimContract.js.map +1 -0
  86. package/dist/cjs/instructions/closeContract.js +13 -12
  87. package/dist/cjs/instructions/closeContract.js.map +1 -1
  88. package/dist/cjs/instructions/closeContractThread.js +58 -0
  89. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  90. package/dist/cjs/instructions/closeRental.js +34 -45
  91. package/dist/cjs/instructions/closeRental.js.map +1 -1
  92. package/dist/cjs/instructions/createBorrower.js +64 -0
  93. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  94. package/dist/cjs/instructions/createContract.js +2 -34
  95. package/dist/cjs/instructions/createContract.js.map +1 -1
  96. package/dist/cjs/instructions/createContractThread.js +74 -0
  97. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  98. package/dist/cjs/instructions/index.js +41 -49
  99. package/dist/cjs/instructions/index.js.map +1 -1
  100. package/dist/cjs/instructions/reserveRental.js +70 -68
  101. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  102. package/dist/cjs/instructions/updateBorrower.js +44 -40
  103. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  104. package/dist/cjs/instructions/updateConfig.js +0 -1
  105. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  106. package/dist/cjs/instructions/updateContract.js +14 -30
  107. package/dist/cjs/instructions/updateContract.js.map +1 -1
  108. package/dist/cjs/instructions/updateContractThread.js +60 -0
  109. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  110. package/dist/cjs/kit/index.js +37 -3
  111. package/dist/cjs/kit/index.js.map +1 -1
  112. package/dist/cjs/legacy/index.js +13 -16
  113. package/dist/cjs/legacy/index.js.map +1 -1
  114. package/dist/cjs/package.json +1 -1
  115. package/dist/cjs/params/index.js +21 -0
  116. package/dist/cjs/params/index.js.map +1 -0
  117. package/dist/cjs/params/sol.js +71 -0
  118. package/dist/cjs/params/sol.js.map +1 -0
  119. package/dist/cjs/pda/constants.js +4 -2
  120. package/dist/cjs/pda/constants.js.map +1 -1
  121. package/dist/cjs/pda/index.js +7 -23
  122. package/dist/cjs/pda/index.js.map +1 -1
  123. package/dist/cjs/pda/srsly.js +30 -37
  124. package/dist/cjs/pda/srsly.js.map +1 -1
  125. package/dist/cjs/pda/thread.js +37 -24
  126. package/dist/cjs/pda/thread.js.map +1 -1
  127. package/dist/cjs/utils/index.js +3 -5
  128. package/dist/cjs/utils/index.js.map +1 -1
  129. package/dist/cjs/utils/rental.js +23 -109
  130. package/dist/cjs/utils/rental.js.map +1 -1
  131. package/dist/cjs/version.js +1 -1
  132. package/dist/esm/accounts/index.js +7 -0
  133. package/dist/esm/accounts/index.js.map +1 -0
  134. package/dist/esm/demos.js +156 -56
  135. package/dist/esm/demos.js.map +1 -1
  136. package/dist/esm/generated/codama/accounts/borrowerState.js +9 -3
  137. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  138. package/dist/esm/generated/codama/accounts/configState.js +0 -2
  139. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  140. package/dist/esm/generated/codama/accounts/contractState.js +24 -31
  141. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  142. package/dist/esm/generated/codama/accounts/index.js +0 -1
  143. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  144. package/dist/esm/generated/codama/accounts/rentalState.js +22 -16
  145. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  146. package/dist/esm/generated/codama/errors/srsly.js +41 -41
  147. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  148. package/dist/esm/generated/codama/instructions/acceptRental.js +60 -47
  149. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  150. package/dist/esm/generated/codama/instructions/activateRental.js +146 -24
  151. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  152. package/dist/esm/generated/codama/instructions/cancelRental.js +14 -43
  153. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  154. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  155. package/dist/esm/generated/codama/instructions/claimContract.js +187 -0
  156. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  157. package/dist/esm/generated/codama/instructions/closeContract.js +130 -14
  158. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  159. package/dist/esm/generated/codama/instructions/closeContractThread.js +144 -0
  160. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  161. package/dist/esm/generated/codama/instructions/closeRental.js +11 -122
  162. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  163. package/dist/esm/generated/codama/instructions/createBorrower.js +201 -0
  164. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  165. package/dist/esm/generated/codama/instructions/createContract.js +41 -25
  166. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  167. package/dist/esm/generated/codama/instructions/createContractThread.js +289 -0
  168. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  169. package/dist/esm/generated/codama/instructions/index.js +6 -5
  170. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  171. package/dist/esm/generated/codama/instructions/payContract.js +227 -0
  172. package/dist/esm/generated/codama/instructions/payContract.js.map +1 -0
  173. package/dist/esm/generated/codama/instructions/reserveRental.js +82 -61
  174. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  175. package/dist/esm/generated/codama/instructions/updateBorrower.js +8 -43
  176. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  177. package/dist/esm/generated/codama/instructions/updateConfig.js +0 -2
  178. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  179. package/dist/esm/generated/codama/instructions/updateContract.js +1 -11
  180. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  181. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  182. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  183. package/dist/esm/generated/codama/programs/srsly.js +36 -36
  184. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  185. package/dist/esm/generated/codama/types/bidType.js +24 -0
  186. package/dist/esm/generated/codama/types/bidType.js.map +1 -0
  187. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  188. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  189. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  190. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  191. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  192. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  193. package/dist/esm/generated/codama/types/index.js +6 -2
  194. package/dist/esm/generated/codama/types/index.js.map +1 -1
  195. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  196. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  197. package/dist/esm/generated/codama/types/rentalActivated.js +3 -1
  198. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
  199. package/dist/esm/generated/codama/types/rentalExpiredInline.js +26 -0
  200. package/dist/esm/generated/codama/types/rentalExpiredInline.js.map +1 -0
  201. package/dist/esm/generated/codama/types/rentalStatus.js +4 -3
  202. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  203. package/dist/esm/generated/codama/types/reservationCreated.js +10 -5
  204. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  205. package/dist/esm/index.js +1 -99
  206. package/dist/esm/index.js.map +1 -1
  207. package/dist/esm/instructions/acceptRental.js +26 -82
  208. package/dist/esm/instructions/acceptRental.js.map +1 -1
  209. package/dist/esm/instructions/activateRental.js +80 -0
  210. package/dist/esm/instructions/activateRental.js.map +1 -0
  211. package/dist/esm/instructions/cancelRental.js +22 -24
  212. package/dist/esm/instructions/cancelRental.js.map +1 -1
  213. package/dist/esm/instructions/claimBorrower.js +27 -14
  214. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  215. package/dist/esm/instructions/claimContract.js +53 -0
  216. package/dist/esm/instructions/claimContract.js.map +1 -0
  217. package/dist/esm/instructions/closeContract.js +13 -12
  218. package/dist/esm/instructions/closeContract.js.map +1 -1
  219. package/dist/esm/instructions/closeContractThread.js +55 -0
  220. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  221. package/dist/esm/instructions/closeRental.js +35 -46
  222. package/dist/esm/instructions/closeRental.js.map +1 -1
  223. package/dist/esm/instructions/createBorrower.js +61 -0
  224. package/dist/esm/instructions/createBorrower.js.map +1 -0
  225. package/dist/esm/instructions/createContract.js +2 -34
  226. package/dist/esm/instructions/createContract.js.map +1 -1
  227. package/dist/esm/instructions/createContractThread.js +71 -0
  228. package/dist/esm/instructions/createContractThread.js.map +1 -0
  229. package/dist/esm/instructions/index.js +27 -24
  230. package/dist/esm/instructions/index.js.map +1 -1
  231. package/dist/esm/instructions/reserveRental.js +71 -69
  232. package/dist/esm/instructions/reserveRental.js.map +1 -1
  233. package/dist/esm/instructions/updateBorrower.js +45 -41
  234. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  235. package/dist/esm/instructions/updateConfig.js +0 -1
  236. package/dist/esm/instructions/updateConfig.js.map +1 -1
  237. package/dist/esm/instructions/updateContract.js +14 -30
  238. package/dist/esm/instructions/updateContract.js.map +1 -1
  239. package/dist/esm/instructions/updateContractThread.js +57 -0
  240. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  241. package/dist/esm/kit/index.js +11 -3
  242. package/dist/esm/kit/index.js.map +1 -1
  243. package/dist/esm/legacy/index.js +11 -14
  244. package/dist/esm/legacy/index.js.map +1 -1
  245. package/dist/esm/package.json +1 -1
  246. package/dist/esm/params/index.js +5 -0
  247. package/dist/esm/params/index.js.map +1 -0
  248. package/dist/esm/params/sol.js +68 -0
  249. package/dist/esm/params/sol.js.map +1 -0
  250. package/dist/esm/pda/constants.js +3 -1
  251. package/dist/esm/pda/constants.js.map +1 -1
  252. package/dist/esm/pda/index.js +3 -21
  253. package/dist/esm/pda/index.js.map +1 -1
  254. package/dist/esm/pda/srsly.js +29 -36
  255. package/dist/esm/pda/srsly.js.map +1 -1
  256. package/dist/esm/pda/thread.js +36 -24
  257. package/dist/esm/pda/thread.js.map +1 -1
  258. package/dist/esm/utils/index.js +1 -1
  259. package/dist/esm/utils/index.js.map +1 -1
  260. package/dist/esm/utils/rental.js +22 -106
  261. package/dist/esm/utils/rental.js.map +1 -1
  262. package/dist/esm/version.js +1 -1
  263. package/dist/idl/srsly.json +1704 -1909
  264. package/dist/types/accounts/index.d.ts +7 -0
  265. package/dist/types/accounts/index.d.ts.map +1 -0
  266. package/dist/types/demos.d.ts +24 -10
  267. package/dist/types/demos.d.ts.map +1 -1
  268. package/dist/types/generated/codama/accounts/borrowerState.d.ts +15 -3
  269. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  270. package/dist/types/generated/codama/accounts/configState.d.ts +0 -4
  271. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  272. package/dist/types/generated/codama/accounts/contractState.d.ts +51 -74
  273. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  274. package/dist/types/generated/codama/accounts/index.d.ts +0 -1
  275. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  276. package/dist/types/generated/codama/accounts/rentalState.d.ts +46 -34
  277. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  278. package/dist/types/generated/codama/errors/srsly.d.ts +39 -39
  279. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  280. package/dist/types/generated/codama/instructions/acceptRental.d.ts +50 -35
  281. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  282. package/dist/types/generated/codama/instructions/activateRental.d.ts +72 -32
  283. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  284. package/dist/types/generated/codama/instructions/cancelRental.d.ts +20 -28
  285. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  286. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +3 -18
  287. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  288. package/dist/types/generated/codama/instructions/claimContract.d.ts +75 -0
  289. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  290. package/dist/types/generated/codama/instructions/closeContract.d.ts +70 -18
  291. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  292. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +63 -0
  293. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  294. package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -70
  295. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  296. package/dist/types/generated/codama/instructions/createBorrower.d.ts +88 -0
  297. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  298. package/dist/types/generated/codama/instructions/createContract.d.ts +28 -32
  299. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  300. package/dist/types/generated/codama/instructions/createContractThread.d.ts +125 -0
  301. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  302. package/dist/types/generated/codama/instructions/index.d.ts +6 -5
  303. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  304. package/dist/types/generated/codama/instructions/payContract.d.ts +104 -0
  305. package/dist/types/generated/codama/instructions/payContract.d.ts.map +1 -0
  306. package/dist/types/generated/codama/instructions/reserveRental.d.ts +84 -68
  307. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  308. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +21 -19
  309. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  310. package/dist/types/generated/codama/instructions/updateConfig.d.ts +0 -6
  311. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  312. package/dist/types/generated/codama/instructions/updateContract.d.ts +2 -14
  313. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  314. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  315. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  316. package/dist/types/generated/codama/programs/srsly.d.ts +34 -32
  317. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  318. package/dist/types/generated/codama/types/bidType.d.ts +18 -0
  319. package/dist/types/generated/codama/types/bidType.d.ts.map +1 -0
  320. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  321. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  322. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  323. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  324. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  325. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  326. package/dist/types/generated/codama/types/index.d.ts +6 -2
  327. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  328. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  329. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  330. package/dist/types/generated/codama/types/rentalActivated.d.ts +7 -1
  331. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
  332. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts +18 -0
  333. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts.map +1 -0
  334. package/dist/types/generated/codama/types/rentalStatus.d.ts +4 -3
  335. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  336. package/dist/types/generated/codama/types/reservationCreated.d.ts +9 -4
  337. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  338. package/dist/types/index.d.ts +1 -42
  339. package/dist/types/index.d.ts.map +1 -1
  340. package/dist/types/instructions/acceptRental.d.ts +2 -31
  341. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  342. package/dist/types/instructions/activateRental.d.ts +41 -0
  343. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  344. package/dist/types/instructions/cancelRental.d.ts +8 -18
  345. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  346. package/dist/types/instructions/claimBorrower.d.ts +27 -10
  347. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  348. package/dist/types/instructions/claimContract.d.ts +40 -0
  349. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  350. package/dist/types/instructions/closeContract.d.ts +1 -12
  351. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  352. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  353. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  354. package/dist/types/instructions/closeRental.d.ts +6 -14
  355. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  356. package/dist/types/instructions/createBorrower.d.ts +49 -0
  357. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  358. package/dist/types/instructions/createContract.d.ts +1 -41
  359. package/dist/types/instructions/createContract.d.ts.map +1 -1
  360. package/dist/types/instructions/createContractThread.d.ts +50 -0
  361. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  362. package/dist/types/instructions/index.d.ts +27 -24
  363. package/dist/types/instructions/index.d.ts.map +1 -1
  364. package/dist/types/instructions/reserveRental.d.ts +33 -29
  365. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  366. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  367. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  368. package/dist/types/instructions/updateConfig.d.ts +0 -4
  369. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  370. package/dist/types/instructions/updateContract.d.ts +11 -33
  371. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  372. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  373. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  374. package/dist/types/kit/index.d.ts +10 -3
  375. package/dist/types/kit/index.d.ts.map +1 -1
  376. package/dist/types/legacy/index.d.ts +11 -39
  377. package/dist/types/legacy/index.d.ts.map +1 -1
  378. package/dist/types/params/index.d.ts +5 -0
  379. package/dist/types/params/index.d.ts.map +1 -0
  380. package/dist/types/params/sol.d.ts +34 -0
  381. package/dist/types/params/sol.d.ts.map +1 -0
  382. package/dist/types/pda/constants.d.ts +3 -1
  383. package/dist/types/pda/constants.d.ts.map +1 -1
  384. package/dist/types/pda/index.d.ts +3 -21
  385. package/dist/types/pda/index.d.ts.map +1 -1
  386. package/dist/types/pda/srsly.d.ts +13 -15
  387. package/dist/types/pda/srsly.d.ts.map +1 -1
  388. package/dist/types/pda/thread.d.ts +17 -18
  389. package/dist/types/pda/thread.d.ts.map +1 -1
  390. package/dist/types/utils/index.d.ts +1 -1
  391. package/dist/types/utils/index.d.ts.map +1 -1
  392. package/dist/types/utils/rental.d.ts +8 -66
  393. package/dist/types/utils/rental.d.ts.map +1 -1
  394. package/dist/types/version.d.ts +1 -1
  395. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  * @module pda/thread
4
4
  */
5
5
  import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
6
- import { THREAD_SEED } from './constants';
6
+ import { THREAD_SEED, THREAD_FIBER_SEED } from './constants';
7
7
  /**
8
8
  * Default Antegen program address (same across all networks)
9
9
  */
@@ -17,31 +17,19 @@ const addressEncoder = getAddressEncoder();
17
17
  */
18
18
  const textEncoder = new TextEncoder();
19
19
  /**
20
- * Derive the rental thread PDA
20
+ * Derive the contract thread PDA
21
21
  *
22
- * The rental thread is used by the Antegen program for automated payment scheduling.
23
- * Thread PDAs ALWAYS use seeds: [SEED_THREAD, authority, id]
22
+ * Per-contract thread used by Antegen for automated payment scheduling.
23
+ * Thread PDAs use seeds: [SEED_THREAD, authority, id]
24
+ * where id = contract address.
24
25
  *
25
- * @param rental - The rental state PDA (used as the thread ID)
26
- * @param authority - The rental authority PDA (REQUIRED - always part of seeds)
26
+ * @param contract - The contract PDA (used as the thread ID)
27
+ * @param authority - The rental authority PDA (thread authority)
27
28
  * @param programAddress - Optional Antegen program address (defaults to Antegen program)
28
- * @returns The derived rental thread PDA
29
- *
30
- * @example
31
- * ```typescript
32
- * import { deriveRental, deriveRentalAuthority } from './srsly';
33
- * import { deriveRentalThread } from './thread';
34
- *
35
- * // Derive rental (slot-based) and authority first
36
- * const rental = await deriveRental(contract, 0); // slot 0
37
- * const authority = await deriveRentalAuthority();
38
- *
39
- * // Then derive the thread (authority is required!)
40
- * const thread = await deriveRentalThread(rental, authority);
41
- * ```
29
+ * @returns The derived contract thread PDA
42
30
  */
43
- export async function deriveRentalThread(rental, authority, programAddress) {
44
- const rentalAddress = address(typeof rental === 'string' ? rental : rental);
31
+ export async function deriveContractThread(contract, authority, programAddress) {
32
+ const contractAddress = address(typeof contract === 'string' ? contract : contract);
45
33
  const authorityAddr = address(typeof authority === 'string' ? authority : authority);
46
34
  const program = programAddress
47
35
  ? address(typeof programAddress === 'string' ? programAddress : programAddress)
@@ -50,12 +38,36 @@ export async function deriveRentalThread(rental, authority, programAddress) {
50
38
  // Antegen ALWAYS uses: [SEED_THREAD, authority, id]
51
39
  const threadSeedBytes = textEncoder.encode(THREAD_SEED);
52
40
  const authorityBytes = addressEncoder.encode(authorityAddr);
53
- const rentalBytes = addressEncoder.encode(rentalAddress);
54
- const seeds = [threadSeedBytes, authorityBytes, rentalBytes];
41
+ const contractBytes = addressEncoder.encode(contractAddress);
42
+ const seeds = [threadSeedBytes, authorityBytes, contractBytes];
55
43
  const [pda] = await getProgramDerivedAddress({
56
44
  programAddress: program,
57
45
  seeds,
58
46
  });
59
47
  return pda;
60
48
  }
49
+ /**
50
+ * Derive the fiber PDA for a thread
51
+ *
52
+ * Fiber PDAs use seeds: ["thread_fiber", thread, fiber_index (u8)]
53
+ *
54
+ * @param thread - The thread PDA
55
+ * @param fiberIndex - The fiber index (1 for close_rental, 2 for activate_rental)
56
+ * @param programAddress - Optional Antegen program address
57
+ * @returns The derived fiber PDA
58
+ */
59
+ export async function deriveFiber(thread, fiberIndex, programAddress) {
60
+ const threadAddress = address(typeof thread === 'string' ? thread : thread);
61
+ const program = programAddress
62
+ ? address(typeof programAddress === 'string' ? programAddress : programAddress)
63
+ : address(DEFAULT_ANTEGEN_PROGRAM);
64
+ const fiberSeedBytes = textEncoder.encode(THREAD_FIBER_SEED);
65
+ const threadBytes = addressEncoder.encode(threadAddress);
66
+ const indexBytes = new Uint8Array([fiberIndex]);
67
+ const [pda] = await getProgramDerivedAddress({
68
+ programAddress: program,
69
+ seeds: [fiberSeedBytes, threadBytes, indexBytes],
70
+ });
71
+ return pda;
72
+ }
61
73
  //# sourceMappingURL=thread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/pda/thread.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,uBAAuB,GAAG,8CAA8C,CAAC;AAE/E;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAwB,EACxB,SAA2B,EAC3B,cAAiC;IAEjC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,OAAO,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,CAAC,CAAC,OAAO,CAAC,uBAAkC,CAAC,CAAC;IAEhD,wBAAwB;IACxB,oDAAoD;IACpD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/pda/thread.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE7D;;GAEG;AACH,MAAM,uBAAuB,GAAG,8CAA8C,CAAC;AAE/E;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAA0B,EAC1B,SAA2B,EAC3B,cAAiC;IAEjC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,OAAO,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,CAAC,CAAC,OAAO,CAAC,uBAAkC,CAAC,CAAC;IAEhD,wBAAwB;IACxB,oDAAoD;IACpD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE/D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAwB,EACxB,UAAkB,EAClB,cAAiC;IAEjC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,OAAO,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,CAAC,CAAC,OAAO,CAAC,uBAAkC,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC;KACjD,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -19,7 +19,7 @@ export { createRpc, setRpcDebug, isRpcDebugEnabled } from './rpc';
19
19
  // Address Lookup Table Utilities
20
20
  export { fetchLookupTable, getLookupTableAddress } from './lookupTable';
21
21
  // Rental Utilities
22
- export { findBorrowerRentalSlot, requireBorrowerRentalSlot, findExistingRentalSlot, requireExistingRentalSlot } from './rental';
22
+ export { hasActiveRental, hasQueuedRental, } from './rental';
23
23
  // Discount Authorization Utilities
24
24
  export { createDiscount, serializeDiscountAuth, deserializeDiscountAuth, isSerializedDiscountAuth } from './discountAuth';
25
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EAEhB,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAExB,qBAAqB;AACrB,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAE7B,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAElE,iCAAiC;AACjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EAE1B,MAAM,UAAU,CAAC;AAElB,mCAAmC;AACnC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAKzB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EAEhB,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAExB,qBAAqB;AACrB,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAE7B,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAElE,iCAAiC;AACjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAElB,mCAAmC;AACnC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAKzB,MAAM,gBAAgB,CAAC"}
@@ -3,127 +3,43 @@
3
3
  * @module utils/rental
4
4
  */
5
5
  import { fetchRentalState } from '../generated/codama/accounts';
6
- import { deriveRental } from '../pda/srsly';
6
+ import { RentalStatus } from '../generated/codama/types';
7
+ import { deriveActiveRental, deriveQueuedRental } from '../pda/srsly';
7
8
  import { createRpc } from './rpc';
8
- // System program ID constant
9
- const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
10
9
  /**
11
- * Find which slot has an existing rental from contract data.
12
- *
13
- * Uses the contract's rentalSlot0/rentalSlot1 fields to determine which slot has a rental.
14
- * If both slots have rentals, returns the active slot.
15
- * If only one slot has a rental, returns that slot.
16
- *
17
- * @param contractData - Object with rentalSlot0, rentalSlot1, and activeSlot fields
18
- * @returns The slot number (0 or 1) if found, undefined if no rentals exist
19
- *
20
- * @example
21
- * ```typescript
22
- * const contract = await fetchContract(contractAddress, rpcUrl);
23
- * const slot = findExistingRentalSlot(contract.data);
24
- * if (slot !== undefined) {
25
- * console.log(`Found rental at slot ${slot}`);
26
- * }
27
- * ```
28
- */
29
- export function findExistingRentalSlot(contractData) {
30
- const slot0HasRental = contractData.rentalSlot0 !== SYSTEM_PROGRAM_ID;
31
- const slot1HasRental = contractData.rentalSlot1 !== SYSTEM_PROGRAM_ID;
32
- if (slot0HasRental && slot1HasRental) {
33
- // Both slots have rentals, return the active one
34
- return contractData.activeSlot;
35
- }
36
- else if (slot0HasRental) {
37
- return 0;
38
- }
39
- else if (slot1HasRental) {
40
- return 1;
41
- }
42
- return undefined;
43
- }
44
- /**
45
- * Find which slot has an existing rental, throwing if none found.
46
- *
47
- * @param contractData - Object with rentalSlot0, rentalSlot1, and activeSlot fields
48
- * @returns The slot number (0 or 1)
49
- * @throws Error if no rental exists on this contract
50
- */
51
- export function requireExistingRentalSlot(contractData) {
52
- const slot = findExistingRentalSlot(contractData);
53
- if (slot === undefined) {
54
- throw new Error('No rental exists on this contract');
55
- }
56
- return slot;
57
- }
58
- /**
59
- * Find which rental slot belongs to a borrower on a contract.
60
- *
61
- * Checks both slot 0 and slot 1 to find the rental that belongs to the borrower.
62
- * Useful for operations like cancel where the borrower can only act on their own rental.
10
+ * Check if a contract has an active rental.
63
11
  *
64
12
  * @param contract - The contract address
65
- * @param borrower - The borrower address to search for
66
- * @param rpcUrl - RPC URL to use for fetching rental states
67
- * @returns The slot number (0 or 1) if found, undefined if no rental exists for this borrower
68
- *
69
- * @example
70
- * ```typescript
71
- * const slot = await findBorrowerRentalSlot(contractAddress, borrowerAddress, rpcUrl);
72
- * if (slot !== undefined) {
73
- * console.log(`Borrower has rental at slot ${slot}`);
74
- * }
75
- * ```
13
+ * @param rpcUrl - RPC URL to use for fetching rental state
14
+ * @returns true if active rental exists and has Active status
76
15
  */
77
- export async function findBorrowerRentalSlot(contract, borrower, rpcUrl) {
16
+ export async function hasActiveRental(contract, rpcUrl) {
78
17
  const rpc = createRpc(rpcUrl);
79
- // Address type is a branded string, so we can compare directly
80
- const borrowerStr = typeof borrower === 'string' ? borrower : borrower;
81
- // Try slot 0 first
82
- try {
83
- const rental0 = await deriveRental(contract, 0);
84
- const rentalState0 = await fetchRentalState(rpc, rental0);
85
- if (rentalState0.data.borrower === borrowerStr) {
86
- return 0;
87
- }
88
- }
89
- catch {
90
- // slot 0 doesn't exist or fetch failed
91
- }
92
- // Try slot 1
93
18
  try {
94
- const rental1 = await deriveRental(contract, 1);
95
- const rentalState1 = await fetchRentalState(rpc, rental1);
96
- if (rentalState1.data.borrower === borrowerStr) {
97
- return 1;
98
- }
19
+ const activeRentalPda = await deriveActiveRental(contract);
20
+ const rentalState = await fetchRentalState(rpc, activeRentalPda);
21
+ return rentalState.data.status === RentalStatus.Active;
99
22
  }
100
23
  catch {
101
- // slot 1 doesn't exist or fetch failed
24
+ return false;
102
25
  }
103
- return undefined;
104
26
  }
105
27
  /**
106
- * Find which rental slot belongs to a borrower, throwing if not found.
107
- *
108
- * Same as findBorrowerRentalSlot but throws an error if no rental is found.
28
+ * Check if a contract has a queued rental reservation.
109
29
  *
110
30
  * @param contract - The contract address
111
- * @param borrower - The borrower address to search for
112
- * @param rpcUrl - RPC URL to use for fetching rental states
113
- * @returns The slot number (0 or 1)
114
- * @throws Error if no rental is found for this borrower
115
- *
116
- * @example
117
- * ```typescript
118
- * const slot = await requireBorrowerRentalSlot(contractAddress, borrowerAddress, rpcUrl);
119
- * // Will throw if borrower has no rental on this contract
120
- * ```
31
+ * @param rpcUrl - RPC URL to use for fetching rental state
32
+ * @returns true if queued rental exists and has Queued status
121
33
  */
122
- export async function requireBorrowerRentalSlot(contract, borrower, rpcUrl) {
123
- const slot = await findBorrowerRentalSlot(contract, borrower, rpcUrl);
124
- if (slot === undefined) {
125
- throw new Error('No active rental found for this borrower on this contract');
34
+ export async function hasQueuedRental(contract, rpcUrl) {
35
+ const rpc = createRpc(rpcUrl);
36
+ try {
37
+ const queuedRentalPda = await deriveQueuedRental(contract);
38
+ const rentalState = await fetchRentalState(rpc, queuedRentalPda);
39
+ return rentalState.data.status === RentalStatus.Queued;
40
+ }
41
+ catch {
42
+ return false;
126
43
  }
127
- return slot;
128
44
  }
129
45
  //# sourceMappingURL=rental.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../src/utils/rental.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAW7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAA8B;IACnE,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,KAAK,iBAAiB,CAAC;IACtE,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,KAAK,iBAAiB,CAAC;IAEtE,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;QACrC,iDAAiD;QACjD,OAAO,YAAY,CAAC,UAAU,CAAC;IACjC,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAA8B;IACtE,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAA0B,EAC1B,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,+DAA+D;IAC/D,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,QAAmB,CAAC;IAEnF,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,aAAa;IACb,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAA0B,EAC1B,QAA0B,EAC1B,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../src/utils/rental.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // Auto-generated from package.json - DO NOT EDIT
2
2
  // Run "pnpm run generate:version" to update
3
- export const VERSION = '3.0.0-beta.20';
3
+ export const VERSION = '3.0.0-beta.22';
4
4
  //# sourceMappingURL=version.js.map