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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (859) hide show
  1. package/README.md +38 -0
  2. package/dist/cjs/accounts/borrower.js +55 -0
  3. package/dist/cjs/accounts/borrower.js.map +1 -1
  4. package/dist/cjs/accounts/config.js +50 -2
  5. package/dist/cjs/accounts/config.js.map +1 -1
  6. package/dist/cjs/accounts/contract.js +58 -0
  7. package/dist/cjs/accounts/contract.js.map +1 -1
  8. package/dist/cjs/accounts/index.js +24 -0
  9. package/dist/cjs/accounts/index.js.map +1 -0
  10. package/dist/cjs/accounts/member.js +16 -0
  11. package/dist/cjs/accounts/member.js.map +1 -0
  12. package/dist/cjs/accounts/rental.js +55 -0
  13. package/dist/cjs/accounts/rental.js.map +1 -1
  14. package/dist/cjs/accounts/thread.js +37 -0
  15. package/dist/cjs/accounts/thread.js.map +1 -0
  16. package/dist/cjs/demos.js +418 -53
  17. package/dist/cjs/demos.js.map +1 -1
  18. package/dist/cjs/generated/codama/accounts/borrowerState.js +23 -26
  19. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/configState.js +53 -53
  21. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/contractState.js +52 -48
  23. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  24. package/dist/cjs/generated/codama/accounts/fleet.js +39 -36
  25. package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/index.js +0 -4
  27. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/rentalState.js +42 -34
  29. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  30. package/dist/cjs/generated/codama/accounts/thread.js +41 -50
  31. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  32. package/dist/cjs/generated/codama/errors/srsly.js +88 -34
  33. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  34. package/dist/cjs/generated/codama/instructions/acceptRental.js +68 -157
  35. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/activateRental.js +328 -0
  37. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -0
  38. package/dist/cjs/generated/codama/instructions/cancelRental.js +70 -53
  39. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
  41. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  42. package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +41 -69
  43. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  44. package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
  45. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
  46. package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
  47. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  49. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  50. package/dist/cjs/generated/codama/instructions/closeRental.js +9 -119
  51. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  52. package/dist/cjs/generated/codama/instructions/{claimBorrowerPayments.js → createBorrower.js} +45 -73
  53. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  54. package/dist/cjs/generated/codama/instructions/createConfig.js +56 -20
  55. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  56. package/dist/cjs/generated/codama/instructions/createContract.js +59 -27
  57. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  58. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  59. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  60. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
  61. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  62. package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
  63. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  64. package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
  65. package/dist/cjs/generated/codama/instructions/deleteRental.js +7 -7
  66. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  67. package/dist/cjs/generated/codama/instructions/index.js +7 -4
  68. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  69. package/dist/cjs/generated/codama/instructions/invalidateRental.js +5 -5
  70. package/dist/cjs/generated/codama/instructions/{payRental.js → processContract.js} +91 -117
  71. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  72. package/dist/cjs/generated/codama/instructions/releaseRental.js +8 -49
  73. package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -1
  74. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  75. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  76. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  77. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  78. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  79. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  80. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  81. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -23
  82. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  83. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  84. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  85. package/dist/cjs/generated/codama/programs/srsly.js +49 -53
  86. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  87. package/dist/cjs/generated/codama/shared/index.js +8 -8
  88. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  89. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  90. package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
  91. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  92. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  93. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  94. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  95. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  96. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  97. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  98. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  99. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  100. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  101. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  102. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  103. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  104. package/dist/cjs/generated/codama/types/contractUpdated.js +9 -30
  105. package/dist/cjs/generated/codama/types/contractUpdated.js.map +1 -1
  106. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  107. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  108. package/dist/cjs/generated/codama/types/fieldUpdate.js +29 -0
  109. package/dist/cjs/generated/codama/types/fieldUpdate.js.map +1 -0
  110. package/dist/cjs/generated/codama/types/fleet.js +60 -0
  111. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  112. package/dist/cjs/generated/codama/types/index.js +13 -6
  113. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  114. package/dist/cjs/generated/codama/types/miscStats.js +22 -22
  115. package/dist/cjs/generated/codama/types/movementStats.js +14 -14
  116. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
  117. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  118. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  119. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  120. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  121. package/dist/cjs/generated/codama/types/rentalActivated.js +33 -0
  122. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -0
  123. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  124. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  125. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  126. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  127. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  128. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  129. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  130. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  131. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  132. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  133. package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
  134. package/dist/cjs/generated/codama/types/shipStats.js +6 -6
  135. package/dist/cjs/generated/codama/types/signal.js +26 -12
  136. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  137. package/dist/cjs/generated/codama/types/thread.js +62 -0
  138. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  139. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  140. package/dist/cjs/index.js +4 -178
  141. package/dist/cjs/index.js.map +1 -1
  142. package/dist/cjs/instructions/acceptRental.js +94 -65
  143. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  144. package/dist/cjs/instructions/activateRental.js +98 -0
  145. package/dist/cjs/instructions/activateRental.js.map +1 -0
  146. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  147. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  148. package/dist/cjs/instructions/cancelRental.js +32 -23
  149. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  150. package/dist/cjs/instructions/claimBorrower.js +47 -21
  151. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  152. package/dist/cjs/instructions/claimContract.js +56 -0
  153. package/dist/cjs/instructions/claimContract.js.map +1 -0
  154. package/dist/cjs/instructions/closeBorrower.js +21 -23
  155. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  156. package/dist/cjs/instructions/closeContract.js +94 -21
  157. package/dist/cjs/instructions/closeContract.js.map +1 -1
  158. package/dist/cjs/instructions/closeContractThread.js +64 -0
  159. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  160. package/dist/cjs/instructions/closeRental.js +35 -30
  161. package/dist/cjs/instructions/closeRental.js.map +1 -1
  162. package/dist/cjs/instructions/createAffiliate.js +73 -0
  163. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  164. package/dist/cjs/instructions/createBorrower.js +46 -0
  165. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  166. package/dist/cjs/instructions/createConfig.js +12 -0
  167. package/dist/cjs/instructions/createConfig.js.map +1 -1
  168. package/dist/cjs/instructions/createContract.js +46 -35
  169. package/dist/cjs/instructions/createContract.js.map +1 -1
  170. package/dist/cjs/instructions/createContractThread.js +102 -0
  171. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  172. package/dist/cjs/instructions/deleteBorrower.js +13 -13
  173. package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
  174. package/dist/cjs/instructions/deleteConfig.js +16 -5
  175. package/dist/cjs/instructions/deleteConfig.js.map +1 -1
  176. package/dist/cjs/instructions/deleteRental.js +1 -4
  177. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  178. package/dist/cjs/instructions/index.js +49 -0
  179. package/dist/cjs/instructions/index.js.map +1 -0
  180. package/dist/cjs/instructions/invalidateRental.js +16 -29
  181. package/dist/cjs/instructions/invalidateRental.js.map +1 -1
  182. package/dist/cjs/instructions/releaseRental.js +20 -53
  183. package/dist/cjs/instructions/releaseRental.js.map +1 -1
  184. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  185. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  186. package/dist/cjs/instructions/reserveRental.js +95 -71
  187. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  188. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  189. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  190. package/dist/cjs/instructions/updateBorrower.js +44 -38
  191. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  192. package/dist/cjs/instructions/updateConfig.js +0 -4
  193. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  194. package/dist/cjs/instructions/updateContract.js +22 -30
  195. package/dist/cjs/instructions/updateContract.js.map +1 -1
  196. package/dist/cjs/instructions/updateContractThread.js +60 -0
  197. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  198. package/dist/cjs/kit/index.js +68 -0
  199. package/dist/cjs/kit/index.js.map +1 -0
  200. package/dist/cjs/legacy/index.js +125 -0
  201. package/dist/cjs/legacy/index.js.map +1 -0
  202. package/dist/cjs/package.json +6 -3
  203. package/dist/cjs/params/amount.js +4 -4
  204. package/dist/cjs/params/index.js +21 -0
  205. package/dist/cjs/params/index.js.map +1 -0
  206. package/dist/cjs/params/sol.js +71 -0
  207. package/dist/cjs/params/sol.js.map +1 -0
  208. package/dist/cjs/pda/constants.js +7 -2
  209. package/dist/cjs/pda/constants.js.map +1 -1
  210. package/dist/cjs/pda/index.js +13 -22
  211. package/dist/cjs/pda/index.js.map +1 -1
  212. package/dist/cjs/pda/lookupTable.js +60 -0
  213. package/dist/cjs/pda/lookupTable.js.map +1 -0
  214. package/dist/cjs/pda/sage.js +11 -10
  215. package/dist/cjs/pda/sage.js.map +1 -1
  216. package/dist/cjs/pda/slyvault.js +5 -49
  217. package/dist/cjs/pda/slyvault.js.map +1 -1
  218. package/dist/cjs/pda/srsly.js +39 -19
  219. package/dist/cjs/pda/srsly.js.map +1 -1
  220. package/dist/cjs/pda/thread.js +41 -31
  221. package/dist/cjs/pda/thread.js.map +1 -1
  222. package/dist/cjs/pda/token.js +5 -4
  223. package/dist/cjs/pda/token.js.map +1 -1
  224. package/dist/cjs/utils/addresses.js +8 -1
  225. package/dist/cjs/utils/addresses.js.map +1 -1
  226. package/dist/cjs/utils/config.js +20 -2
  227. package/dist/cjs/utils/config.js.map +1 -1
  228. package/dist/cjs/utils/discountAuth.js +161 -0
  229. package/dist/cjs/utils/discountAuth.js.map +1 -0
  230. package/dist/cjs/utils/index.js +20 -1
  231. package/dist/cjs/utils/index.js.map +1 -1
  232. package/dist/cjs/utils/instructionResult.js +76 -0
  233. package/dist/cjs/utils/instructionResult.js.map +1 -0
  234. package/dist/cjs/utils/instructions.js +12 -17
  235. package/dist/cjs/utils/instructions.js.map +1 -1
  236. package/dist/cjs/utils/lookupTable.js +13 -1
  237. package/dist/cjs/utils/lookupTable.js.map +1 -1
  238. package/dist/cjs/utils/rental.js +49 -0
  239. package/dist/cjs/utils/rental.js.map +1 -0
  240. package/dist/cjs/utils/signer.js +16 -9
  241. package/dist/cjs/utils/signer.js.map +1 -1
  242. package/dist/cjs/version.js +1 -1
  243. package/dist/esm/accounts/borrower.js +55 -1
  244. package/dist/esm/accounts/borrower.js.map +1 -1
  245. package/dist/esm/accounts/config.js +48 -1
  246. package/dist/esm/accounts/config.js.map +1 -1
  247. package/dist/esm/accounts/contract.js +58 -1
  248. package/dist/esm/accounts/contract.js.map +1 -1
  249. package/dist/esm/accounts/index.js +8 -0
  250. package/dist/esm/accounts/index.js.map +1 -0
  251. package/dist/esm/accounts/member.js +9 -0
  252. package/dist/esm/accounts/member.js.map +1 -0
  253. package/dist/esm/accounts/rental.js +55 -1
  254. package/dist/esm/accounts/rental.js.map +1 -1
  255. package/dist/esm/accounts/thread.js +34 -0
  256. package/dist/esm/accounts/thread.js.map +1 -0
  257. package/dist/esm/demos.js +417 -52
  258. package/dist/esm/demos.js.map +1 -1
  259. package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
  260. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  261. package/dist/esm/generated/codama/accounts/configState.js +53 -54
  262. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  263. package/dist/esm/generated/codama/accounts/contractState.js +53 -49
  264. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  265. package/dist/esm/generated/codama/accounts/fleet.js +41 -38
  266. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
  267. package/dist/esm/generated/codama/accounts/index.js +4 -8
  268. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  269. package/dist/esm/generated/codama/accounts/rentalState.js +43 -34
  270. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  271. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  272. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  273. package/dist/esm/generated/codama/errors/index.js +1 -1
  274. package/dist/esm/generated/codama/errors/srsly.js +88 -34
  275. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  276. package/dist/esm/generated/codama/index.js +5 -5
  277. package/dist/esm/generated/codama/instructions/acceptRental.js +72 -161
  278. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  279. package/dist/esm/generated/codama/instructions/activateRental.js +318 -0
  280. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -0
  281. package/dist/esm/generated/codama/instructions/cancelRental.js +73 -56
  282. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  283. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  284. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  285. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  286. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  287. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  288. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  289. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  290. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  291. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  292. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  293. package/dist/esm/generated/codama/instructions/closeRental.js +12 -122
  294. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  295. package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
  296. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  297. package/dist/esm/generated/codama/instructions/createConfig.js +59 -23
  298. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  299. package/dist/esm/generated/codama/instructions/createContract.js +62 -30
  300. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  301. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  302. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  303. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  304. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  305. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  306. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  307. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  308. package/dist/esm/generated/codama/instructions/deleteRental.js +10 -10
  309. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  310. package/dist/esm/generated/codama/instructions/index.js +25 -22
  311. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  312. package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
  313. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  314. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  315. package/dist/esm/generated/codama/instructions/releaseRental.js +11 -52
  316. package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -1
  317. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  318. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  319. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  320. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  321. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  322. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  323. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  324. package/dist/esm/generated/codama/instructions/updateContract.js +20 -26
  325. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  326. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  327. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  328. package/dist/esm/generated/codama/programs/index.js +1 -1
  329. package/dist/esm/generated/codama/programs/srsly.js +50 -54
  330. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  331. package/dist/esm/generated/codama/shared/index.js +9 -9
  332. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  333. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  334. package/dist/esm/generated/codama/types/cargoStats.js +19 -19
  335. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  336. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  337. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  338. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  339. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  340. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  341. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  342. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  343. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  344. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  345. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  346. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  347. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  348. package/dist/esm/generated/codama/types/contractUpdated.js +10 -31
  349. package/dist/esm/generated/codama/types/contractUpdated.js.map +1 -1
  350. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  351. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  352. package/dist/esm/generated/codama/types/fieldUpdate.js +24 -0
  353. package/dist/esm/generated/codama/types/fieldUpdate.js.map +1 -0
  354. package/dist/esm/generated/codama/types/fleet.js +55 -0
  355. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  356. package/dist/esm/generated/codama/types/index.js +33 -26
  357. package/dist/esm/generated/codama/types/index.js.map +1 -1
  358. package/dist/esm/generated/codama/types/miscStats.js +23 -23
  359. package/dist/esm/generated/codama/types/movementStats.js +15 -15
  360. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
  361. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  362. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  363. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  364. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  365. package/dist/esm/generated/codama/types/rentalActivated.js +28 -0
  366. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -0
  367. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  368. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  369. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  370. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  371. package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
  372. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  373. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  374. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  375. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  376. package/dist/esm/generated/codama/types/schedule.js +15 -15
  377. package/dist/esm/generated/codama/types/shipCounts.js +21 -21
  378. package/dist/esm/generated/codama/types/shipStats.js +8 -8
  379. package/dist/esm/generated/codama/types/signal.js +28 -14
  380. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  381. package/dist/esm/generated/codama/types/thread.js +57 -0
  382. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  383. package/dist/esm/generated/codama/types/trigger.js +37 -37
  384. package/dist/esm/index.js +1 -79
  385. package/dist/esm/index.js.map +1 -1
  386. package/dist/esm/instructions/acceptRental.js +97 -68
  387. package/dist/esm/instructions/acceptRental.js.map +1 -1
  388. package/dist/esm/instructions/activateRental.js +95 -0
  389. package/dist/esm/instructions/activateRental.js.map +1 -0
  390. package/dist/esm/instructions/approveAffiliate.js +7 -0
  391. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  392. package/dist/esm/instructions/cancelRental.js +33 -24
  393. package/dist/esm/instructions/cancelRental.js.map +1 -1
  394. package/dist/esm/instructions/claimBorrower.js +49 -23
  395. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  396. package/dist/esm/instructions/claimContract.js +53 -0
  397. package/dist/esm/instructions/claimContract.js.map +1 -0
  398. package/dist/esm/instructions/closeBorrower.js +22 -24
  399. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  400. package/dist/esm/instructions/closeContract.js +63 -23
  401. package/dist/esm/instructions/closeContract.js.map +1 -1
  402. package/dist/esm/instructions/closeContractThread.js +61 -0
  403. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  404. package/dist/esm/instructions/closeRental.js +36 -31
  405. package/dist/esm/instructions/closeRental.js.map +1 -1
  406. package/dist/esm/instructions/createAffiliate.js +70 -0
  407. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  408. package/dist/esm/instructions/createBorrower.js +43 -0
  409. package/dist/esm/instructions/createBorrower.js.map +1 -0
  410. package/dist/esm/instructions/createConfig.js +12 -0
  411. package/dist/esm/instructions/createConfig.js.map +1 -1
  412. package/dist/esm/instructions/createContract.js +48 -37
  413. package/dist/esm/instructions/createContract.js.map +1 -1
  414. package/dist/esm/instructions/createContractThread.js +99 -0
  415. package/dist/esm/instructions/createContractThread.js.map +1 -0
  416. package/dist/esm/instructions/deleteBorrower.js +13 -13
  417. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  418. package/dist/esm/instructions/deleteConfig.js +17 -6
  419. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  420. package/dist/esm/instructions/deleteRental.js +1 -4
  421. package/dist/esm/instructions/deleteRental.js.map +1 -1
  422. package/dist/esm/instructions/index.js +33 -0
  423. package/dist/esm/instructions/index.js.map +1 -0
  424. package/dist/esm/instructions/invalidateRental.js +17 -30
  425. package/dist/esm/instructions/invalidateRental.js.map +1 -1
  426. package/dist/esm/instructions/releaseRental.js +20 -53
  427. package/dist/esm/instructions/releaseRental.js.map +1 -1
  428. package/dist/esm/instructions/removeAffiliate.js +7 -0
  429. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  430. package/dist/esm/instructions/reserveRental.js +97 -73
  431. package/dist/esm/instructions/reserveRental.js.map +1 -1
  432. package/dist/esm/instructions/updateAffiliate.js +54 -0
  433. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  434. package/dist/esm/instructions/updateBorrower.js +45 -39
  435. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  436. package/dist/esm/instructions/updateConfig.js +0 -4
  437. package/dist/esm/instructions/updateConfig.js.map +1 -1
  438. package/dist/esm/instructions/updateContract.js +22 -30
  439. package/dist/esm/instructions/updateContract.js.map +1 -1
  440. package/dist/esm/instructions/updateContractThread.js +57 -0
  441. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  442. package/dist/esm/kit/index.js +26 -0
  443. package/dist/esm/kit/index.js.map +1 -0
  444. package/dist/esm/legacy/index.js +84 -0
  445. package/dist/esm/legacy/index.js.map +1 -0
  446. package/dist/esm/package.json +6 -3
  447. package/dist/esm/params/amount.js +4 -4
  448. package/dist/esm/params/index.js +5 -0
  449. package/dist/esm/params/index.js.map +1 -0
  450. package/dist/esm/params/sol.js +68 -0
  451. package/dist/esm/params/sol.js.map +1 -0
  452. package/dist/esm/pda/constants.js +6 -1
  453. package/dist/esm/pda/constants.js.map +1 -1
  454. package/dist/esm/pda/index.js +6 -22
  455. package/dist/esm/pda/index.js.map +1 -1
  456. package/dist/esm/pda/lookupTable.js +57 -0
  457. package/dist/esm/pda/lookupTable.js.map +1 -0
  458. package/dist/esm/pda/sage.js +11 -10
  459. package/dist/esm/pda/sage.js.map +1 -1
  460. package/dist/esm/pda/slyvault.js +2 -47
  461. package/dist/esm/pda/slyvault.js.map +1 -1
  462. package/dist/esm/pda/srsly.js +38 -19
  463. package/dist/esm/pda/srsly.js.map +1 -1
  464. package/dist/esm/pda/thread.js +40 -31
  465. package/dist/esm/pda/thread.js.map +1 -1
  466. package/dist/esm/pda/token.js +5 -4
  467. package/dist/esm/pda/token.js.map +1 -1
  468. package/dist/esm/utils/addresses.js +8 -1
  469. package/dist/esm/utils/addresses.js.map +1 -1
  470. package/dist/esm/utils/config.js +19 -2
  471. package/dist/esm/utils/config.js.map +1 -1
  472. package/dist/esm/utils/discountAuth.js +155 -0
  473. package/dist/esm/utils/discountAuth.js.map +1 -0
  474. package/dist/esm/utils/index.js +9 -1
  475. package/dist/esm/utils/index.js.map +1 -1
  476. package/dist/esm/utils/instructionResult.js +72 -0
  477. package/dist/esm/utils/instructionResult.js.map +1 -0
  478. package/dist/esm/utils/instructions.js +12 -17
  479. package/dist/esm/utils/instructions.js.map +1 -1
  480. package/dist/esm/utils/lookupTable.js +13 -1
  481. package/dist/esm/utils/lookupTable.js.map +1 -1
  482. package/dist/esm/utils/rental.js +45 -0
  483. package/dist/esm/utils/rental.js.map +1 -0
  484. package/dist/esm/utils/signer.js +16 -9
  485. package/dist/esm/utils/signer.js.map +1 -1
  486. package/dist/esm/version.js +1 -1
  487. package/dist/idl/srsly.json +2319 -2089
  488. package/dist/types/accounts/borrower.d.ts +19 -0
  489. package/dist/types/accounts/borrower.d.ts.map +1 -1
  490. package/dist/types/accounts/config.d.ts +19 -0
  491. package/dist/types/accounts/config.d.ts.map +1 -1
  492. package/dist/types/accounts/contract.d.ts +19 -0
  493. package/dist/types/accounts/contract.d.ts.map +1 -1
  494. package/dist/types/accounts/index.d.ts +8 -0
  495. package/dist/types/accounts/index.d.ts.map +1 -0
  496. package/dist/types/accounts/member.d.ts +9 -0
  497. package/dist/types/accounts/member.d.ts.map +1 -0
  498. package/dist/types/accounts/rental.d.ts +19 -0
  499. package/dist/types/accounts/rental.d.ts.map +1 -1
  500. package/dist/types/accounts/thread.d.ts +21 -0
  501. package/dist/types/accounts/thread.d.ts.map +1 -0
  502. package/dist/types/demos.d.ts +53 -2
  503. package/dist/types/demos.d.ts.map +1 -1
  504. package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
  505. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  506. package/dist/types/generated/codama/accounts/configState.d.ts +18 -21
  507. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  508. package/dist/types/generated/codama/accounts/contractState.d.ts +63 -59
  509. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  510. package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
  511. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
  512. package/dist/types/generated/codama/accounts/index.d.ts +4 -8
  513. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  514. package/dist/types/generated/codama/accounts/rentalState.d.ts +50 -31
  515. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  516. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  517. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  518. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  519. package/dist/types/generated/codama/errors/srsly.d.ts +64 -28
  520. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  521. package/dist/types/generated/codama/index.d.ts +5 -5
  522. package/dist/types/generated/codama/instructions/acceptRental.d.ts +59 -79
  523. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  524. package/dist/types/generated/codama/instructions/activateRental.d.ts +134 -0
  525. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -0
  526. package/dist/types/generated/codama/instructions/cancelRental.d.ts +40 -25
  527. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  528. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  529. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  530. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  531. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  532. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  533. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  534. package/dist/types/generated/codama/instructions/closeContract.d.ts +67 -24
  535. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  536. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  537. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  538. package/dist/types/generated/codama/instructions/closeRental.d.ts +23 -52
  539. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  540. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  541. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  542. package/dist/types/generated/codama/instructions/createConfig.d.ts +36 -15
  543. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  544. package/dist/types/generated/codama/instructions/createContract.d.ts +43 -36
  545. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  546. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  547. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  548. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  549. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  550. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  551. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  552. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  553. package/dist/types/generated/codama/instructions/deleteRental.d.ts +6 -3
  554. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  555. package/dist/types/generated/codama/instructions/index.d.ts +25 -22
  556. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  557. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
  558. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  559. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  560. package/dist/types/generated/codama/instructions/releaseRental.d.ts +42 -49
  561. package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -1
  562. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  563. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  564. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  565. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  566. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  567. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  568. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  569. package/dist/types/generated/codama/instructions/updateContract.d.ts +24 -24
  570. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  571. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  572. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  573. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  574. package/dist/types/generated/codama/programs/srsly.d.ts +44 -39
  575. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  576. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  577. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  578. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  579. package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
  580. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  581. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  582. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  583. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  584. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  585. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  586. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  587. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  588. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  589. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  590. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  591. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  592. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  593. package/dist/types/generated/codama/types/contractUpdated.d.ts +6 -25
  594. package/dist/types/generated/codama/types/contractUpdated.d.ts.map +1 -1
  595. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  596. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  597. package/dist/types/generated/codama/types/fieldUpdate.d.ts +20 -0
  598. package/dist/types/generated/codama/types/fieldUpdate.d.ts.map +1 -0
  599. package/dist/types/generated/codama/types/fleet.d.ts +52 -0
  600. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  601. package/dist/types/generated/codama/types/index.d.ts +33 -26
  602. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  603. package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
  604. package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
  605. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +1 -1
  606. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  607. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  608. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  609. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  610. package/dist/types/generated/codama/types/rentalActivated.d.ts +24 -0
  611. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -0
  612. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  613. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  614. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  615. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  616. package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
  617. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  618. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  619. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  620. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  621. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  622. package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
  623. package/dist/types/generated/codama/types/shipStats.d.ts +2 -2
  624. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  625. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  626. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  627. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  628. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  629. package/dist/types/index.d.ts +1 -36
  630. package/dist/types/index.d.ts.map +1 -1
  631. package/dist/types/instructions/acceptRental.d.ts +33 -25
  632. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  633. package/dist/types/instructions/activateRental.d.ts +46 -0
  634. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  635. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  636. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  637. package/dist/types/instructions/cancelRental.d.ts +10 -15
  638. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  639. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  640. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  641. package/dist/types/instructions/claimContract.d.ts +40 -0
  642. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  643. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  644. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  645. package/dist/types/instructions/closeContract.d.ts +8 -15
  646. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  647. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  648. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  649. package/dist/types/instructions/closeRental.d.ts +11 -12
  650. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  651. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  652. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  653. package/dist/types/instructions/createBorrower.d.ts +36 -0
  654. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  655. package/dist/types/instructions/createConfig.d.ts +10 -0
  656. package/dist/types/instructions/createConfig.d.ts.map +1 -1
  657. package/dist/types/instructions/createContract.d.ts +34 -42
  658. package/dist/types/instructions/createContract.d.ts.map +1 -1
  659. package/dist/types/instructions/createContractThread.d.ts +52 -0
  660. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  661. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  662. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  663. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  664. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  665. package/dist/types/instructions/deleteRental.d.ts +3 -2
  666. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  667. package/dist/types/instructions/index.d.ts +33 -0
  668. package/dist/types/instructions/index.d.ts.map +1 -0
  669. package/dist/types/instructions/invalidateRental.d.ts +12 -15
  670. package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
  671. package/dist/types/instructions/releaseRental.d.ts +19 -39
  672. package/dist/types/instructions/releaseRental.d.ts.map +1 -1
  673. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  674. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  675. package/dist/types/instructions/reserveRental.d.ts +43 -29
  676. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  677. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  678. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  679. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  680. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  681. package/dist/types/instructions/updateConfig.d.ts +0 -13
  682. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  683. package/dist/types/instructions/updateContract.d.ts +24 -31
  684. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  685. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  686. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  687. package/dist/types/kit/index.d.ts +25 -0
  688. package/dist/types/kit/index.d.ts.map +1 -0
  689. package/dist/types/legacy/index.d.ts +63 -0
  690. package/dist/types/legacy/index.d.ts.map +1 -0
  691. package/dist/types/params/amount.d.ts +3 -3
  692. package/dist/types/params/index.d.ts +5 -0
  693. package/dist/types/params/index.d.ts.map +1 -0
  694. package/dist/types/params/sol.d.ts +34 -0
  695. package/dist/types/params/sol.d.ts.map +1 -0
  696. package/dist/types/pda/constants.d.ts +6 -1
  697. package/dist/types/pda/constants.d.ts.map +1 -1
  698. package/dist/types/pda/index.d.ts +6 -22
  699. package/dist/types/pda/index.d.ts.map +1 -1
  700. package/dist/types/pda/lookupTable.d.ts +30 -0
  701. package/dist/types/pda/lookupTable.d.ts.map +1 -0
  702. package/dist/types/pda/sage.d.ts +6 -5
  703. package/dist/types/pda/sage.d.ts.map +1 -1
  704. package/dist/types/pda/slyvault.d.ts +2 -23
  705. package/dist/types/pda/slyvault.d.ts.map +1 -1
  706. package/dist/types/pda/srsly.d.ts +21 -8
  707. package/dist/types/pda/srsly.d.ts.map +1 -1
  708. package/dist/types/pda/thread.d.ts +18 -18
  709. package/dist/types/pda/thread.d.ts.map +1 -1
  710. package/dist/types/pda/token.d.ts +2 -1
  711. package/dist/types/pda/token.d.ts.map +1 -1
  712. package/dist/types/utils/addresses.d.ts +7 -1
  713. package/dist/types/utils/addresses.d.ts.map +1 -1
  714. package/dist/types/utils/config.d.ts +48 -0
  715. package/dist/types/utils/config.d.ts.map +1 -1
  716. package/dist/types/utils/discountAuth.d.ts +94 -0
  717. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  718. package/dist/types/utils/index.d.ts +5 -1
  719. package/dist/types/utils/index.d.ts.map +1 -1
  720. package/dist/types/utils/instructionResult.d.ts +57 -0
  721. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  722. package/dist/types/utils/instructions.d.ts +16 -18
  723. package/dist/types/utils/instructions.d.ts.map +1 -1
  724. package/dist/types/utils/rental.d.ts +22 -0
  725. package/dist/types/utils/rental.d.ts.map +1 -0
  726. package/dist/types/utils/signer.d.ts +5 -2
  727. package/dist/types/utils/signer.d.ts.map +1 -1
  728. package/dist/types/version.d.ts +1 -1
  729. package/package.json +38 -20
  730. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  731. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  732. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  733. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  734. package/dist/cjs/generated/codama/instructions/captureRental.js +0 -129
  735. package/dist/cjs/generated/codama/instructions/captureRental.js.map +0 -1
  736. package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +0 -1
  737. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  738. package/dist/cjs/generated/codama/instructions/claimRental.js +0 -364
  739. package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
  740. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  741. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  742. package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
  743. package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -241
  744. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
  745. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  746. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  747. package/dist/cjs/generated/codama/types/capturedFlagData.js +0 -31
  748. package/dist/cjs/generated/codama/types/capturedFlagData.js.map +0 -1
  749. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  750. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  751. package/dist/cjs/generated/codama/types/memberType.js +0 -57
  752. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  753. package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
  754. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
  755. package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
  756. package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
  757. package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
  758. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
  759. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
  760. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  761. package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
  762. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
  763. package/dist/cjs/instructions/captureRental.js +0 -85
  764. package/dist/cjs/instructions/captureRental.js.map +0 -1
  765. package/dist/cjs/instructions/claimBorrowerPayments.js +0 -69
  766. package/dist/cjs/instructions/claimBorrowerPayments.js.map +0 -1
  767. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  768. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  769. package/dist/cjs/instructions/claimRental.js +0 -135
  770. package/dist/cjs/instructions/claimRental.js.map +0 -1
  771. package/dist/cjs/instructions/discountBorrower.js +0 -75
  772. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  773. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  774. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  775. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  776. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  777. package/dist/esm/generated/codama/instructions/captureRental.js +0 -119
  778. package/dist/esm/generated/codama/instructions/captureRental.js.map +0 -1
  779. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  780. package/dist/esm/generated/codama/instructions/claimRental.js +0 -354
  781. package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
  782. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  783. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  784. package/dist/esm/generated/codama/instructions/payRental.js +0 -240
  785. package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
  786. package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -231
  787. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
  788. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  789. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  790. package/dist/esm/generated/codama/types/capturedFlagData.js +0 -26
  791. package/dist/esm/generated/codama/types/capturedFlagData.js.map +0 -1
  792. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  793. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  794. package/dist/esm/generated/codama/types/memberType.js +0 -50
  795. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  796. package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
  797. package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
  798. package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
  799. package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
  800. package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
  801. package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
  802. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
  803. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  804. package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
  805. package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
  806. package/dist/esm/instructions/captureRental.js +0 -82
  807. package/dist/esm/instructions/captureRental.js.map +0 -1
  808. package/dist/esm/instructions/claimContractPayments.js +0 -76
  809. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  810. package/dist/esm/instructions/claimRental.js +0 -132
  811. package/dist/esm/instructions/claimRental.js.map +0 -1
  812. package/dist/esm/instructions/discountBorrower.js +0 -72
  813. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  814. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  815. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  816. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  817. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  818. package/dist/types/generated/codama/instructions/captureRental.d.ts +0 -59
  819. package/dist/types/generated/codama/instructions/captureRental.d.ts.map +0 -1
  820. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +0 -75
  821. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +0 -1
  822. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  823. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  824. package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -132
  825. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
  826. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  827. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  828. package/dist/types/generated/codama/instructions/payRental.d.ts +0 -118
  829. package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
  830. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -98
  831. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
  832. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  833. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  834. package/dist/types/generated/codama/types/capturedFlagData.d.ts +0 -35
  835. package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +0 -1
  836. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  837. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  838. package/dist/types/generated/codama/types/memberType.d.ts +0 -57
  839. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  840. package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
  841. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
  842. package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
  843. package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
  844. package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
  845. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
  846. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
  847. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
  848. package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
  849. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
  850. package/dist/types/instructions/captureRental.d.ts +0 -58
  851. package/dist/types/instructions/captureRental.d.ts.map +0 -1
  852. package/dist/types/instructions/claimBorrowerPayments.d.ts +0 -59
  853. package/dist/types/instructions/claimBorrowerPayments.d.ts.map +0 -1
  854. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  855. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  856. package/dist/types/instructions/claimRental.d.ts +0 -97
  857. package/dist/types/instructions/claimRental.d.ts.map +0 -1
  858. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  859. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @purpose Simplified claimContract instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated claimContract instruction.
5
+ * Permissionless — anyone can trigger, but tokens always go to the owner's ATA.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { getClaimContractInstructionAsync } 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 { fetchConfig } from '../accounts/config';
13
+ import { fetchContract } from '../accounts/contract';
14
+ /**
15
+ * Claim contract ATLAS earnings
16
+ *
17
+ * Permissionless — anyone can trigger, but tokens always go to the
18
+ * contract owner's ATA (derived from contract state).
19
+ *
20
+ * @param params - Contract claim parameters
21
+ * @param config - Optional SDK configuration overrides
22
+ * @returns Kit instruction (or web3.js if PublicKey in config)
23
+ */
24
+ export async function claimContract(params, config) {
25
+ const finalConfig = mergeConfig(config);
26
+ if (!params.payer) {
27
+ throw new Error('payer is required');
28
+ }
29
+ if (!params.contract) {
30
+ throw new Error('contract is required');
31
+ }
32
+ const payerSigner = toTransactionSigner(params.payer);
33
+ // Get atlasMint from on-chain config
34
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
35
+ const atlasMint = configAccount.data.atlasMint;
36
+ const addresses = getAddresses(config);
37
+ const programAddress = address(addresses.srsly);
38
+ // Fetch contract to get owner and contractTokenAccount
39
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
40
+ const contractAddress = address(params.contract);
41
+ const kitInstruction = await getClaimContractInstructionAsync({
42
+ payer: payerSigner,
43
+ owner: contractAccount.data.owner,
44
+ mint: atlasMint,
45
+ contract: contractAddress,
46
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
47
+ }, { programAddress });
48
+ return prepareInstructions(kitInstruction, {
49
+ computeUnits: params.computeUnits,
50
+ PublicKey: finalConfig.PublicKey
51
+ });
52
+ }
53
+ //# sourceMappingURL=claimContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimContract.js","sourceRoot":"","sources":["../../../src/instructions/claimContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,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,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuBrD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,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;IAEtD,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,uDAAuD;IACvD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK;QACjC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,oBAAoB,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB;KAC/D,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -2,20 +2,23 @@
2
2
  * @purpose Simplified closeBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated closeBorrower instruction.
5
- * Closes the borrower account and reclaims rent.
5
+ * Closes a borrower's managed token account and BorrowerState.
6
+ * Requires no active rentals and zero managed ATA balance (claim first).
6
7
  */
7
8
  import { address } from '@solana/kit';
8
- import { getCloseBorrowerInstruction } from '../generated/codama/instructions';
9
+ import { getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
9
10
  import { mergeConfig, getAddresses } from '../utils/config';
10
11
  import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
12
  import { prepareInstructions } from '../utils/instructions';
12
- import { deriveBorrowerState } from '../pda/srsly';
13
+ import { fetchConfig } from '../accounts/config';
13
14
  /**
14
- * Close borrower account
15
+ * Close a borrower's managed token account and BorrowerState
15
16
  *
16
- * Closes the borrower account and reclaims rent.
17
+ * Closes the managed ATA and BorrowerState PDA, returning lamports to the
18
+ * borrower wallet. Requires no active rentals and zero managed ATA balance.
19
+ * Call claimBorrower first to withdraw any remaining ATLAS.
17
20
  *
18
- * This function automatically derives the borrower state PDA.
21
+ * Permissionless anyone can trigger since lamports always go to the borrower.
19
22
  *
20
23
  * @param params - Close borrower parameters
21
24
  * @param config - Optional SDK configuration overrides
@@ -23,31 +26,26 @@ import { deriveBorrowerState } from '../pda/srsly';
23
26
  *
24
27
  * @example
25
28
  * ```typescript
26
- * // Close borrower account
27
- * const ix = await closeBorrower({
28
- * borrower: borrowerWallet
29
- * });
29
+ * const ix = await closeBorrower({ payer: borrowerWallet });
30
30
  * ```
31
31
  */
32
32
  export async function closeBorrower(params, config) {
33
- // Merge config
34
33
  const finalConfig = mergeConfig(config);
35
- // Validate required params
36
- if (!params.borrower) {
37
- throw new Error('borrower is required');
34
+ if (!params.payer) {
35
+ throw new Error('payer is required');
38
36
  }
39
- // Convert borrower to transaction signer
40
- const borrowerSigner = toTransactionSigner(params.borrower);
41
- const borrowerAddress = getSignerAddress(borrowerSigner);
42
- // Get network-specific addresses
37
+ const payerSigner = toTransactionSigner(params.payer);
38
+ const borrowerAddress = params.borrower
39
+ ? address(params.borrower)
40
+ : getSignerAddress(payerSigner);
41
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
42
+ const atlasMint = configAccount.data.atlasMint;
43
43
  const addresses = getAddresses(config);
44
44
  const programAddress = address(addresses.srsly);
45
- // Derive borrower state PDA
46
- const borrowerState = await deriveBorrowerState(borrowerAddress);
47
- // Call Codama-generated instruction (sync version - no async derivation)
48
- const kitInstruction = getCloseBorrowerInstruction({
49
- borrower: borrowerSigner,
50
- borrowerState,
45
+ const kitInstruction = await getCloseBorrowerInstructionAsync({
46
+ payer: payerSigner,
47
+ borrower: borrowerAddress,
48
+ mint: atlasMint,
51
49
  }, { programAddress });
52
50
  return prepareInstructions(kitInstruction, {
53
51
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAmBnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,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;IAC5D,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEzD,iCAAiC;IACjC,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,eAAe,CAAC,CAAC;IAEjE,yEAAyE;IACzE,MAAM,cAAc,GAAG,2BAA2B,CAChD;QACE,QAAQ,EAAE,cAAc;QACxB,aAAa;KACd,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
+ {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAyBjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,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;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElC,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,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,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"}
@@ -4,11 +4,16 @@
4
4
  * Thin convenience wrapper around Codama-generated closeContract instruction.
5
5
  * Closes a contract with no active rentals and claims remaining payments.
6
6
  */
7
- import { address } from '@solana/kit';
8
- import { getCloseContractInstructionAsync } from '../generated/codama/instructions';
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getCloseContractInstructionAsync, getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { fetchContract } from '../accounts/contract';
12
+ import { fetchConfig } from '../accounts/config';
13
+ import { fetchThread } from '../accounts/thread';
14
+ import { deriveAssociatedTokenAccount } from '../pda/token';
15
+ import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
16
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
12
17
  import { prepareInstructions } from '../utils/instructions';
13
18
  /**
14
19
  * Close a rental contract
@@ -17,9 +22,13 @@ import { prepareInstructions } from '../utils/instructions';
17
22
  * accounts don't exist, they will be created temporarily before being closed.
18
23
  * This allows recovery from partial failures during previous close attempts.
19
24
  *
20
- * Contract must have no active rentals. Claims all remaining payments
21
- * from the contract's token account, invalidates the rental in SAGE,
22
- * and closes the contract account.
25
+ * Two-phase close behavior:
26
+ * - **No active/queued rental**: Thread close is prepended automatically,
27
+ * then contract_close fires immediate full close.
28
+ * - **Active or queued rental**: Only contract_close is sent, which sets
29
+ * `to_close = true`. The thread stays alive to settle escrow, chain to
30
+ * `rental_close` (fiber 1), and self-close via `Signal::Close` in
31
+ * `contract_process`.
23
32
  *
24
33
  * @param params - Contract closing parameters
25
34
  * @param config - Optional SDK configuration overrides
@@ -31,25 +40,19 @@ import { prepareInstructions } from '../utils/instructions';
31
40
  * const ix = await closeContract({
32
41
  * owner: wallet,
33
42
  * fleet: fleetAddress
34
- * // contract derived from fleet PDA
35
- * // Works even if contract doesn't exist (init_if_needed)
36
43
  * });
37
44
  *
38
45
  * // Option 2: Provide contract only (contract MUST exist)
39
46
  * const ix2 = await closeContract({
40
47
  * owner: wallet,
41
48
  * contract: contractAddress
42
- * // fleet fetched from contract.fleet
43
- * // REQUIRES contract to already exist
44
49
  * });
45
50
  *
46
51
  * // Option 3: Provide both (most explicit, no fetching)
47
52
  * const ix3 = await closeContract({
48
53
  * owner: wallet,
49
54
  * fleet: fleetAddress,
50
- * contract: contractAddress,
51
- * sageProgram: customSageProgram, // Optional
52
- * destinationTokenAccount: customTokenAccount // Optional
55
+ * contract: contractAddress
53
56
  * });
54
57
  * ```
55
58
  */
@@ -65,9 +68,10 @@ export async function closeContract(params, config) {
65
68
  }
66
69
  // Convert owner to transaction signer
67
70
  const ownerSigner = toTransactionSigner(params.owner);
68
- // Get network-specific addresses
71
+ // Get atlasMint from on-chain config
72
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
73
+ const atlasMint = configAccount.data.atlasMint;
69
74
  const addresses = getAddresses(config);
70
- const atlasMint = address(addresses.atlasMint);
71
75
  const programAddress = address(addresses.srsly);
72
76
  // Resolve fleet and contract addresses
73
77
  let fleetAddress;
@@ -80,36 +84,72 @@ export async function closeContract(params, config) {
80
84
  else if (params.fleet) {
81
85
  // Only fleet provided - derive contract from fleet PDA
82
86
  fleetAddress = address(params.fleet);
83
- contractAddress = undefined; // Will be derived on-chain
87
+ contractAddress = await deriveContract(fleetAddress, programAddress);
84
88
  }
85
89
  else if (params.contract) {
86
90
  // Only contract provided - fetch contract to get fleet
87
- const contract = await fetchContract(params.contract, finalConfig.rpcUrl);
88
- fleetAddress = contract.data.fleet;
89
91
  contractAddress = address(params.contract);
90
92
  }
91
93
  else {
92
94
  // Should never reach here due to validation above
93
95
  throw new Error('Either fleet or contract must be provided');
94
96
  }
97
+ // Always fetch contract — needed for fleet (if not provided) and thread check
98
+ const contractAccount = await fetchContract(contractAddress, finalConfig.rpcUrl);
99
+ if (!params.fleet) {
100
+ fleetAddress = contractAccount.data.fleet;
101
+ }
95
102
  // Get sageProgram from config if not provided
96
103
  const sageProgram = params.sageProgram
97
104
  ? address(params.sageProgram)
98
105
  : address(addresses.sage);
99
- // Optional destination token account
100
- const destinationTokenAccount = params.destinationTokenAccount
101
- ? address(params.destinationTokenAccount)
102
- : undefined;
106
+ // Derive contract token account (ATA of contract PDA for ATLAS)
107
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
108
+ // Check if contract has an automation thread that needs closing first
109
+ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
110
+ const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
111
+ let hasActiveRental = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
112
+ || contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
113
+ // If active rental is expired (and no queued), treat as closeable immediately
114
+ if (hasActiveRental && contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
115
+ && contractAccount.data.queuedRental === SYSTEM_PROGRAM_ID) {
116
+ const { fetchRental } = await import('../accounts/rental');
117
+ const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
118
+ const now = Math.floor(Date.now() / 1000);
119
+ if (activeRental.data.endTime <= BigInt(now)) {
120
+ hasActiveRental = false;
121
+ }
122
+ }
123
+ let threadCloseIx;
124
+ if (hasThread && !hasActiveRental) {
125
+ const rentalAuthority = await deriveRentalAuthority();
126
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
127
+ // Fetch thread to get fiber IDs for remaining accounts
128
+ const threadAccount = await fetchThread(contractThread, finalConfig.rpcUrl);
129
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
130
+ // Derive fiber PDAs
131
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
132
+ address: await deriveFiber(contractThread, id),
133
+ role: AccountRole.WRITABLE,
134
+ })));
135
+ threadCloseIx = await getCloseContractThreadInstructionAsync({
136
+ owner: ownerSigner,
137
+ contract: contractAddress,
138
+ thread: contractThread,
139
+ }, { programAddress });
140
+ threadCloseIx.accounts.push(...fiberAccounts);
141
+ }
103
142
  // Call Codama-generated instruction
104
143
  const kitInstruction = await getCloseContractInstructionAsync({
105
144
  owner: ownerSigner,
106
145
  contract: contractAddress,
107
146
  mint: atlasMint,
108
- destinationTokenAccount,
109
147
  fleet: fleetAddress,
148
+ contractTokenAccount: contractTokenAccount,
110
149
  sageProgram,
111
150
  }, { programAddress });
112
- return prepareInstructions(kitInstruction, {
151
+ const instructions = threadCloseIx ? [threadCloseIx, kitInstruction] : kitInstruction;
152
+ return prepareInstructions(instructions, {
113
153
  computeUnits: params.computeUnits,
114
154
  PublicKey: finalConfig.PublicKey
115
155
  });
@@ -1 +1 @@
1
- {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @purpose Simplified closeContractThread instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated closeContractThread instruction.
5
+ * Closes a per-contract automation thread and reclaims rent.
6
+ */
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getCloseContractThreadInstructionAsync } 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 { fetchThread } from '../accounts/thread';
13
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
14
+ import { deriveRentalAuthority } from '../pda/srsly';
15
+ /**
16
+ * Close a per-contract automation thread
17
+ *
18
+ * Closes the Antegen thread and all fiber PDAs, reclaiming rent to the owner.
19
+ * Fetches the thread account to read `fiberIds`, then derives and passes only
20
+ * the fibers that actually exist as remaining accounts.
21
+ *
22
+ * @param params - Thread closing parameters
23
+ * @param config - Optional SDK configuration overrides
24
+ * @returns Kit instruction (or web3.js if PublicKey in config)
25
+ */
26
+ export async function closeContractThread(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
+ // Fetch thread account to read actual fiber_ids
42
+ const threadAccount = await fetchThread(contractThread, finalConfig.rpcUrl);
43
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
44
+ // Derive fiber PDAs only for fibers that actually exist on the thread
45
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
46
+ address: await deriveFiber(contractThread, id),
47
+ role: AccountRole.WRITABLE,
48
+ })));
49
+ const kitInstruction = await getCloseContractThreadInstructionAsync({
50
+ owner: ownerSigner,
51
+ contract: contractAddress,
52
+ thread: contractThread,
53
+ }, { programAddress });
54
+ // Add fiber PDAs as remaining accounts (writable, non-signer)
55
+ kitInstruction.accounts.push(...fiberAccounts);
56
+ return prepareInstructions(kitInstruction, {
57
+ computeUnits: params.computeUnits,
58
+ PublicKey: finalConfig.PublicKey
59
+ });
60
+ }
61
+ //# sourceMappingURL=closeContractThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeContractThread.js","sourceRoot":"","sources":["../../../src/instructions/closeContractThread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sCAAsC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,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,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAsBrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiC,EACjC,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,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC;IAErE,sEAAsE;IACtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,sCAAsC,CACjE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -9,25 +9,25 @@ import { getCloseRentalInstructionAsync } from '../generated/codama/instructions
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { fetchContract } from '../accounts/contract';
12
+ import { fetchConfig } from '../accounts/config';
12
13
  import { fetchFleet } from '../accounts/fleet';
14
+ import { fetchRental } from '../accounts/rental';
13
15
  import { deriveGameAccounts } from '../pda/sage';
14
- import { deriveRental, deriveRentalAuthority, deriveBorrowerState } from '../pda/srsly';
15
- import { deriveRentalThread } from '../pda/thread';
16
+ import { deriveActiveRental, deriveBorrowerState } from '../pda/srsly';
16
17
  import { prepareInstructions } from '../utils/instructions';
17
18
  /**
18
19
  * Close a rental
19
20
  *
20
21
  * Closes a completed rental and transfers the fleet back to the owner.
21
- * Payments are sent to the owner's token account.
22
+ * Always targets the active rental PDA.
22
23
  *
23
24
  * This function automatically:
24
- * - Fetches contract to get owner, ownerTokenAccount, fleet, gameId
25
- * - Fetches fleet to get faction for SAGE account derivation
25
+ * - Fetches contract to get owner, fleet, gameId
26
+ * - Fetches the active rental to get borrower (if not provided)
27
+ * - Fetches the borrower's SAGE profile from borrower_state
26
28
  * - Derives required SAGE accounts (starbase, starbase player)
27
- * - Derives rental thread for automated payments
28
- * - Codama auto-derives contractTokenAccount as ATA
29
29
  *
30
- * @param params - Rental closure parameters (payer, borrower, contract)
30
+ * @param params - Rental closure parameters (payer, contract)
31
31
  * @param config - Optional SDK configuration overrides
32
32
  * @returns Kit instruction (or web3.js if PublicKey in config)
33
33
  *
@@ -35,7 +35,6 @@ import { prepareInstructions } from '../utils/instructions';
35
35
  * ```typescript
36
36
  * const ix = await closeRental({
37
37
  * payer: ownerWallet,
38
- * borrower: borrowerAddress,
39
38
  * contract: contractAddress
40
39
  * });
41
40
  * ```
@@ -47,47 +46,53 @@ export async function closeRental(params, config) {
47
46
  if (!params.payer) {
48
47
  throw new Error('payer is required');
49
48
  }
50
- if (!params.borrower) {
51
- throw new Error('borrower is required');
52
- }
53
49
  if (!params.contract) {
54
50
  throw new Error('contract is required');
55
51
  }
56
52
  // Fetch contract to get owner, fleet, gameId
57
53
  const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
58
- const owner = contractAccount.data.owner;
59
54
  const fleet = contractAccount.data.fleet;
60
55
  const gameId = contractAccount.data.gameId;
61
56
  // Convert payer to transaction signer
62
57
  const payerSigner = toTransactionSigner(params.payer);
63
- // Fetch fleet data to get faction (for SAGE account derivation)
58
+ // Derive active rental PDA (no more slot logic)
59
+ const rentalState = await deriveActiveRental(params.contract);
60
+ // Get borrower - use provided value, or fetch from rental state, or fall back to payer
61
+ let borrower;
62
+ if (params.borrower) {
63
+ borrower = address(params.borrower);
64
+ }
65
+ else {
66
+ try {
67
+ const rental = await fetchRental(rentalState, finalConfig.rpcUrl);
68
+ borrower = rental.data.borrower;
69
+ }
70
+ catch {
71
+ // Rental state doesn't exist, fall back to payer
72
+ borrower = payerSigner.address;
73
+ }
74
+ }
75
+ // Derive borrower state PDA
76
+ const borrowerState = await deriveBorrowerState(borrower);
77
+ // Fetch fleet to get faction and derive SAGE accounts
78
+ // During an active rental, fleet.subProfile IS the current borrower's profile
64
79
  const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
80
+ const borrowerProfile = fleetState.subProfile;
65
81
  const faction = fleetState.faction;
66
- const ownerProfile = fleetState.ownerProfile;
67
- // Derive SAGE game accounts (we need owner's profile for starbase player)
68
- const gameAccounts = await deriveGameAccounts(ownerProfile, faction, gameId);
69
- // Derive rental and rental authority PDAs
70
- const rental = await deriveRental(params.contract, params.borrower);
71
- const rentalAuthority = await deriveRentalAuthority();
72
- // Derive borrower state PDA
73
- const borrowerState = await deriveBorrowerState(params.borrower);
74
- // Derive rental thread for automated payments
75
- const rentalThread = await deriveRentalThread(rental, rentalAuthority);
76
- // Get network-specific addresses
82
+ // Derive SAGE game accounts using borrower's profile
83
+ const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
84
+ // Get atlasMint from on-chain config
85
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
77
86
  const addresses = getAddresses(config);
78
- const atlasMint = address(addresses.atlasMint);
79
87
  const sageProgram = address(addresses.sage);
80
88
  const programAddress = address(addresses.srsly);
81
89
  // Call Codama-generated instruction
82
- // Note: contractTokenAccount is auto-derived by Codama as ATA for contract + mint
83
90
  const kitInstruction = await getCloseRentalInstructionAsync({
84
91
  payer: payerSigner,
85
- mint: atlasMint,
86
- borrower: address(params.borrower),
92
+ borrower,
87
93
  borrowerState,
88
- owner: address(owner),
89
94
  contract: address(params.contract),
90
- rentalThread,
95
+ rentalState,
91
96
  fleet: address(fleet),
92
97
  gameId: address(gameId),
93
98
  starbase: gameAccounts.starbase,
@@ -1 +1 @@
1
- {"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @purpose Create a pending affiliate (Affiliate member) for SRSLY vault
3
+ *
4
+ * Wraps slyvault's initMember instruction with Affiliate type pre-configured.
5
+ * Auto-fetches vault and nonce from parent member state.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { initMember, fetchMember, } from '@wuwei-labs/slyvault';
9
+ import { mergeConfig } from '../utils/config';
10
+ /**
11
+ * Create a pending affiliate (Affiliate member)
12
+ *
13
+ * Creates a new Affiliate member state that references a parent Normal member.
14
+ * The affiliate must be approved by the parent member's authority using approveAffiliate.
15
+ *
16
+ * This function auto-fetches the vault address and parent member nonce from the
17
+ * parent member state, making it easier to use than the underlying initMember.
18
+ *
19
+ * @param params - Affiliate creation parameters
20
+ * @param config - Optional SDK configuration overrides
21
+ * @returns Prepared instruction(s)
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { createAffiliate } from '@wuwei-labs/srsly';
26
+ *
27
+ * // Create affiliate linked to parent member
28
+ * const ix = await createAffiliate({
29
+ * affiliate: wallet,
30
+ * parentMemberState: "PARENT_MEMBER_STATE_PDA",
31
+ * discountAuthority: "OPTIONAL_DISCOUNT_SIGNER", // optional, defaults to main authority
32
+ * // vault and nonce are auto-fetched from parent state
33
+ * });
34
+ * ```
35
+ */
36
+ export async function createAffiliate(params, config) {
37
+ const finalConfig = mergeConfig(config);
38
+ if (!params.affiliate)
39
+ throw new Error('affiliate is required');
40
+ if (!params.parentMemberState)
41
+ throw new Error('parentMemberState is required');
42
+ // Fetch parent member state to get vault and nonce
43
+ const { data: parentState } = await fetchMember(address(params.parentMemberState), finalConfig.rpcUrl);
44
+ // Validate parent is Normal type with affiliateEnabled
45
+ if (parentState.memberType.__kind !== 'Normal') {
46
+ throw new Error('Parent member is not a Normal member type');
47
+ }
48
+ if (!parentState.memberType.affiliateEnabled) {
49
+ throw new Error('Parent member does not have affiliates enabled');
50
+ }
51
+ // Get vault and nonce from parent state
52
+ const vaultAddress = parentState.vault;
53
+ const parentNonce = parentState.nonce;
54
+ // Call slyvault initMember with Affiliate type pre-configured
55
+ return initMember({
56
+ member: params.affiliate,
57
+ vault: vaultAddress,
58
+ nonce: params.nonce,
59
+ memberType: {
60
+ __kind: 'Affiliate',
61
+ parentMemberNonce: parentNonce,
62
+ percentageBps: 0,
63
+ claimableBalance: 0n,
64
+ isActive: false,
65
+ },
66
+ discountAuthority: params.discountAuthority,
67
+ computeUnits: params.computeUnits,
68
+ });
69
+ }
70
+ //# sourceMappingURL=createAffiliate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/createAffiliate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,UAAU,EACV,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAoC9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEhF,mDAAmD;IACnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAC7C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACjC,WAAW,CAAC,MAAM,CACnB,CAAC;IAEF,uDAAuD;IACvD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,wCAAwC;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;IACvC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;IAEtC,8DAA8D;IAC9D,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE;YACV,MAAM,EAAE,WAAW;YACnB,iBAAiB,EAAE,WAAW;YAC9B,aAAa,EAAE,CAAC;YAChB,gBAAgB,EAAE,EAAE;YACpB,QAAQ,EAAE,KAAK;SAChB;QACD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC"}