@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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,OAAO,CAAC"}
@@ -4,20 +4,23 @@
4
4
  * Thin convenience wrapper around Codama-generated acceptRental instruction.
5
5
  * Accepts a rental contract and begins the rental period.
6
6
  */
7
- import { address } from '@solana/kit';
8
- import { createRpc } from '../utils/rpc';
7
+ import { AccountRole, address } from '@solana/kit';
9
8
  import { getAcceptRentalInstructionAsync } from '../generated/codama/instructions';
10
9
  import { mergeConfig, getAddresses } from '../utils/config';
11
10
  import { toTransactionSigner } from '../utils/signer';
11
+ import { convertAmount } from '../params/amount';
12
12
  import { convertDuration } from '../params/duration';
13
13
  import { fetchFleet } from '../accounts/fleet';
14
14
  import { fetchContract } from '../accounts/contract';
15
15
  import { fetchConfig } from '../accounts/config';
16
- import { fetchBorrowerState } from '../generated/codama/accounts';
16
+ import { fetchRental } from '../accounts/rental';
17
17
  import { deriveGameAccounts } from '../pda/sage';
18
- import { deriveRental, deriveRentalAuthority, deriveBorrowerState } from '../pda/srsly';
19
- import { deriveRentalThread } from '../pda/thread';
18
+ import { deriveActiveRental, deriveBorrowerState, deriveRentalAuthority } from '../pda/srsly';
19
+ import { deriveAssociatedTokenAccount } from '../pda/token';
20
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
20
21
  import { prepareInstructions } from '../utils/instructions';
22
+ import { deserializeDiscountAuth } from '../utils/discountAuth';
23
+ import { RentalStatus } from '../generated/codama/types';
21
24
  /**
22
25
  * Accept a rental contract
23
26
  *
@@ -27,13 +30,13 @@ import { prepareInstructions } from '../utils/instructions';
27
30
  *
28
31
  * This function automatically fetches the contract and config to get required
29
32
  * data (fleet, vault, gameId), then derives all SAGE accounts (profile faction,
30
- * starbase, starbase player) and the rental thread for automated payments.
33
+ * starbase, starbase player) and the contract thread for automated payments.
31
34
  *
32
35
  * @param params - Rental acceptance parameters
33
36
  * @param config - Optional SDK configuration overrides
34
37
  * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
35
38
  *
36
- * @demo
39
+ * @example
37
40
  * ```typescript
38
41
  * // Accept a 7-day rental (borrowerProfile auto-fetched)
39
42
  * const ixs = await acceptRental({
@@ -43,27 +46,6 @@ import { prepareInstructions } from '../utils/instructions';
43
46
  * computeUnits: 400_000
44
47
  * });
45
48
  * ```
46
- *
47
- * @example
48
- * ```typescript
49
- * // Accept a 7-day rental (fleet and vault auto-fetched)
50
- * const ixs = await acceptRental({
51
- * borrower: wallet,
52
- * borrowerProfile: borrowerProfileAddress,
53
- * contract: contractAddress,
54
- * duration: { days: 7 }
55
- * });
56
- *
57
- * // With referrer and compute budget
58
- * const ixs2 = await acceptRental({
59
- * borrower: wallet,
60
- * borrowerProfile: borrowerProfileAddress,
61
- * contract: contractAddress,
62
- * referrer: referrerAddress,
63
- * duration: { weeks: 2 },
64
- * computeUnits: 400_000
65
- * });
66
- * ```
67
49
  */
68
50
  export async function acceptRental(params, config) {
69
51
  // Merge config
@@ -80,71 +62,118 @@ export async function acceptRental(params, config) {
80
62
  }
81
63
  // Convert borrower to transaction signer
82
64
  const borrowerSigner = toTransactionSigner(params.borrower);
83
- // Fetch or use provided borrower profile
84
- let borrowerProfile;
85
- if (params.borrowerProfile) {
86
- // User provided profile - use it directly
87
- borrowerProfile = address(params.borrowerProfile);
88
- }
89
- else {
90
- // Fetch borrower_state to get profile
91
- const borrowerStateAddress = await deriveBorrowerState(borrowerSigner.address);
92
- const rpc = createRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
93
- const borrowerState = await fetchBorrowerState(rpc, borrowerStateAddress);
94
- // Check if borrowerProfile is set (Option type check)
95
- const profileOption = borrowerState.data.borrowerProfile;
96
- if (!profileOption || (typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'None')) {
97
- throw new Error('Borrower profile not set. Please run borrower-update to set your SAGE profile.');
98
- }
99
- // Extract value from Some variant
100
- borrowerProfile = typeof profileOption === 'object' && 'value' in profileOption ? profileOption.value : profileOption;
101
- }
102
65
  // Fetch config to get vault
103
66
  const configAccount = await fetchConfig(finalConfig.rpcUrl);
104
67
  const vault = configAccount.data.slyvault;
105
- // Fetch contract to get fleet, gameId, ownerProfile
68
+ // Fetch contract to get fleet, gameId
106
69
  const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
107
70
  const fleet = contractAccount.data.fleet;
108
71
  const gameId = contractAccount.data.gameId;
72
+ // Client-side rate safety check
73
+ if (params.rate != null) {
74
+ const expectedRate = convertAmount(params.rate);
75
+ const contractRate = BigInt(contractAccount.data.rate);
76
+ if (expectedRate !== contractRate) {
77
+ throw new Error(`Contract rate mismatch: expected ${expectedRate} stardust but contract has ${contractRate} stardust. The rate may have changed since you last fetched it.`);
78
+ }
79
+ }
109
80
  // Fetch fleet data for faction (needed to derive SAGE accounts)
110
81
  const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
111
82
  const faction = fleetState.faction;
83
+ // Use param if provided, fallback to fleet.subProfile (current occupant's profile)
84
+ let borrowerProfile;
85
+ if (params.borrowerProfile) {
86
+ borrowerProfile = address(params.borrowerProfile);
87
+ }
88
+ else {
89
+ borrowerProfile = fleetState.subProfile;
90
+ }
112
91
  // Derive all SAGE game accounts (profile faction, starbase, starbase player)
113
92
  const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
114
- // Derive rental and rental authority PDAs
115
- const rental = await deriveRental(params.contract, borrowerSigner.address);
93
+ // Derive active rental PDA (no more slot logic)
94
+ const rentalState = await deriveActiveRental(params.contract);
95
+ // Resolve expiredBorrowerState: use param if provided, otherwise auto-detect
96
+ // When the same borrower re-rents their own expired contract, skip passing
97
+ // expiredBorrowerState to avoid Anchor's duplicate mutable account error.
98
+ const borrowerStatePda = await deriveBorrowerState(borrowerSigner);
99
+ let expiredBorrowerState;
100
+ if (params.expiredBorrowerState) {
101
+ const explicit = address(params.expiredBorrowerState);
102
+ // Don't pass if it matches the current borrower's state (same-borrower re-rent)
103
+ if (explicit !== borrowerStatePda) {
104
+ expiredBorrowerState = explicit;
105
+ }
106
+ }
107
+ else {
108
+ try {
109
+ const activeRental = await fetchRental(rentalState, finalConfig.rpcUrl);
110
+ if (activeRental.data.status !== RentalStatus.Available) {
111
+ // Only pass as separate account if it's a DIFFERENT borrower's state
112
+ if (activeRental.data.borrowerState !== borrowerStatePda) {
113
+ expiredBorrowerState = activeRental.data.borrowerState;
114
+ }
115
+ }
116
+ }
117
+ catch {
118
+ // Rental state doesn't exist or can't be fetched — no expired rental to replace
119
+ }
120
+ }
121
+ // Derive rental authority PDA
116
122
  const rentalAuthority = await deriveRentalAuthority();
117
- // Derive rental thread for automated payments
118
- const rentalThread = await deriveRentalThread(rental, rentalAuthority);
123
+ // Derive contract thread and close_rental fiber (fiber index 1) — only if thread configured
124
+ const thread = address(contractAccount.data.thread);
125
+ const hasThread = thread !== '11111111111111111111111111111111';
126
+ const contractThread = hasThread ? await deriveContractThread(params.contract, rentalAuthority) : undefined;
127
+ const closeRentalFiber = hasThread && contractThread ? await deriveFiber(contractThread, 1) : undefined;
119
128
  // Convert duration parameter
120
129
  const durationSeconds = convertDuration(params.duration);
121
- // Get network-specific addresses
130
+ // Get network-specific addresses (atlasMint sourced from on-chain config)
131
+ const atlasMint = configAccount.data.atlasMint;
122
132
  const addresses = getAddresses(config);
123
- const atlasMint = address(addresses.atlasMint);
124
133
  const sageProgram = address(addresses.sage);
125
134
  const programAddress = address(addresses.srsly);
126
- // Optional referrer
135
+ // Deserialize discount auth if provided
136
+ let discountAuth = null;
137
+ if (params.discountAuth) {
138
+ discountAuth = deserializeDiscountAuth(params.discountAuth);
139
+ }
127
140
  const referrer = params.referrer ? address(params.referrer) : undefined;
128
- // Call Codama-generated instruction
129
- const kitInstruction = await getAcceptRentalInstructionAsync({
141
+ // Derive vault token account (ATA)
142
+ const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
143
+ // Derive contract token account (ATA of contract PDA)
144
+ const contractAddress = address(params.contract);
145
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
146
+ // Derive borrower token account (ATA)
147
+ const borrowerTokenAccount = await deriveAssociatedTokenAccount(borrowerSigner.address, atlasMint);
148
+ // Call Codama-generated acceptRental instruction
149
+ const acceptRentalIx = await getAcceptRentalInstructionAsync({
130
150
  borrower: borrowerSigner,
131
- borrowerProfile: address(params.borrowerProfile),
132
- borrowerProfileFaction: gameAccounts.profileFaction,
151
+ borrowerTokenAccount,
133
152
  fleet: address(fleet),
134
- contract: address(params.contract),
135
- gameId: address(gameId),
136
- starbase: gameAccounts.starbase,
137
- starbasePlayer: gameAccounts.starbasePlayer,
153
+ expiredBorrowerState,
154
+ contract: contractAddress,
155
+ rentalState,
138
156
  vault: address(vault),
157
+ vaultTokenAccount,
158
+ contractTokenAccount,
159
+ ...(contractThread && { contractThread }),
160
+ ...(closeRentalFiber && { closeRentalFiber }),
139
161
  referrer,
140
- rentalThread,
141
- mint: atlasMint,
142
162
  sageProgram,
143
163
  duration: BigInt(durationSeconds),
144
- rebateAuth: null
164
+ discountAuth
145
165
  }, { programAddress });
146
- // Prepare instructions with optional compute budget and web3.js conversion
147
- return prepareInstructions(kitInstruction, {
166
+ // Append SAGE pass-through accounts as remaining accounts
167
+ const sageRemainingAccounts = [
168
+ { address: borrowerProfile, role: AccountRole.READONLY },
169
+ { address: gameAccounts.profileFaction, role: AccountRole.READONLY },
170
+ { address: address(gameId), role: AccountRole.READONLY },
171
+ { address: gameAccounts.starbase, role: AccountRole.READONLY },
172
+ { address: gameAccounts.starbasePlayer, role: AccountRole.WRITABLE },
173
+ ];
174
+ acceptRentalIx.accounts.push(...sageRemainingAccounts);
175
+ // Prepare instruction with optional compute budget
176
+ return prepareInstructions(acceptRentalIx, {
148
177
  computeUnits: params.computeUnits,
149
178
  PublicKey: finalConfig.PublicKey
150
179
  });
@@ -1 +1 @@
1
- {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @purpose Simplified activateRental instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated activateRental instruction.
5
+ * Manually activates a queued rental when automation is delayed or unavailable.
6
+ */
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getActivateRentalInstructionAsync } 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
+ import { fetchFleet } from '../accounts/fleet';
15
+ import { fetchRental } from '../accounts/rental';
16
+ import { deriveGameAccounts } from '../pda/sage';
17
+ import { deriveActiveRental, deriveQueuedRental, deriveRentalAuthority } from '../pda/srsly';
18
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
19
+ import { deriveAssociatedTokenAccount } from '../pda/token';
20
+ /**
21
+ * Manually activate a queued rental
22
+ *
23
+ * This is a fallback for when the Antegen automation thread is delayed.
24
+ * Anyone can call this — it's permissionless. The queued rental will be
25
+ * promoted to active, the fleet will be delegated to the borrower in SAGE,
26
+ * and deferred fees will be paid.
27
+ *
28
+ * @param params - Activate rental parameters
29
+ * @param config - Optional SDK configuration overrides
30
+ * @returns Kit instruction (or web3.js if PublicKey in config)
31
+ */
32
+ export async function activateRental(params, config) {
33
+ const finalConfig = mergeConfig(config);
34
+ if (!params.payer) {
35
+ throw new Error('payer is required');
36
+ }
37
+ if (!params.contract) {
38
+ throw new Error('contract is required');
39
+ }
40
+ if (!params.borrowerProfile) {
41
+ throw new Error('borrowerProfile is required for manual activation');
42
+ }
43
+ const payerSigner = toTransactionSigner(params.payer);
44
+ const addresses = getAddresses(config);
45
+ const programAddress = address(addresses.srsly);
46
+ const contractAddress = address(params.contract);
47
+ // Fetch config and contract
48
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
49
+ const atlasMint = configAccount.data.atlasMint;
50
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
51
+ // Derive rental PDAs
52
+ const activeRental = await deriveActiveRental(contractAddress);
53
+ const queuedRental = await deriveQueuedRental(contractAddress);
54
+ const rentalAuthority = await deriveRentalAuthority();
55
+ // Derive thread PDAs — only if thread configured
56
+ const thread = address(contractAccount.data.thread);
57
+ const hasThread = thread !== '11111111111111111111111111111111';
58
+ const contractThread = hasThread ? await deriveContractThread(contractAddress, rentalAuthority) : undefined;
59
+ const closeRentalFiber = hasThread && contractThread ? await deriveFiber(contractThread, 1) : undefined;
60
+ // Fetch queued rental to get borrower info
61
+ const queuedRentalAccount = await fetchRental(queuedRental, finalConfig.rpcUrl);
62
+ // Derive SAGE accounts from borrowerProfile + fleet faction
63
+ const borrowerProfileAddr = address(params.borrowerProfile);
64
+ const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
65
+ const gameAccounts = await deriveGameAccounts(borrowerProfileAddr, fleetState.faction, contractAccount.data.gameId);
66
+ // Get vault from config and derive vault token account
67
+ const vault = configAccount.data.slyvault;
68
+ const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
69
+ const kitInstruction = await getActivateRentalInstructionAsync({
70
+ payer: payerSigner,
71
+ contract: contractAddress,
72
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
73
+ mint: atlasMint,
74
+ borrowerProfile: borrowerProfileAddr,
75
+ borrowerProfileFaction: gameAccounts.profileFaction,
76
+ fleet: contractAccount.data.fleet,
77
+ gameId: contractAccount.data.gameId,
78
+ ...(contractThread && { contractThread }),
79
+ ...(closeRentalFiber && { closeRentalFiber }),
80
+ vault,
81
+ vaultTokenAccount,
82
+ sageProgram: address(addresses.sage),
83
+ }, { programAddress });
84
+ // Append starbase + starbasePlayer as remaining accounts (for fiber 1 building)
85
+ const sageRemainingAccounts = [
86
+ { address: gameAccounts.starbase, role: AccountRole.READONLY },
87
+ { address: gameAccounts.starbasePlayer, role: AccountRole.READONLY },
88
+ ];
89
+ kitInstruction.accounts.push(...sageRemainingAccounts);
90
+ return prepareInstructions(kitInstruction, {
91
+ computeUnits: params.computeUnits,
92
+ PublicKey: finalConfig.PublicKey
93
+ });
94
+ }
95
+ //# sourceMappingURL=activateRental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @purpose Approve and activate an affiliate
3
+ *
4
+ * Re-exports slyvault's approveAffiliate instruction.
5
+ */
6
+ export { approveAffiliate, } from '@wuwei-labs/slyvault';
7
+ //# sourceMappingURL=approveAffiliate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approveAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/approveAffiliate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC"}
@@ -8,24 +8,23 @@ import { address } from '@solana/kit';
8
8
  import { getCancelRentalInstructionAsync } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
- import { deriveRental, deriveRentalAuthority } from '../pda/srsly';
12
- import { deriveRentalThread } from '../pda/thread';
11
+ import { deriveActiveRental } from '../pda/srsly';
12
+ import { deriveAssociatedTokenAccount } from '../pda/token';
13
13
  import { prepareInstructions } from '../utils/instructions';
14
14
  import { convertDuration } from '../params/duration';
15
+ import { fetchConfig } from '../accounts/config';
16
+ import { fetchContract } from '../accounts/contract';
15
17
  /**
16
18
  * Cancel a rental
17
19
  *
18
- * Allows a borrower to cancel an active rental.
20
+ * Allows a borrower to cancel an active rental. Always targets the active
21
+ * rental PDA (no more slot detection needed).
19
22
  *
20
23
  * **Cancellation Behavior:**
21
- * - `cancelDelay = 0`: Instant cancellation (requires `allowInstantCancel` on contract)
22
- * - Sets `Trigger::Immediate` so `rental_pay` fires immediately
23
- * - Returns `InstantCancelNotAllowed` error if contract doesn't allow it
24
- * - `cancelDelay > 0`: Deferred cancellation
25
- * - Rental continues until `now + cancelDelay`
26
- * - Existing Cron trigger handles cleanup when `end_time` is reached
24
+ * - `cancelDelay = 0`: Instant cancellation
25
+ * - `cancelDelay > 0`: Deferred cancellation, rental continues until `now + cancelDelay`
27
26
  *
28
- * Both paths refund the borrower for unused time. Owner gets paid when `rental_pay` fires.
27
+ * Both paths refund the borrower for unused time.
29
28
  *
30
29
  * @param params - Cancellation parameters (borrower, contract, cancelDelay)
31
30
  * @param config - Optional SDK configuration overrides
@@ -33,13 +32,13 @@ import { convertDuration } from '../params/duration';
33
32
  *
34
33
  * @example
35
34
  * ```typescript
36
- * // Deferred cancellation (cancel after 1 hour - default)
35
+ * // Default cancellation (uses contract's cancelDelayMin)
37
36
  * const ix = await cancelRental({
38
37
  * borrower: borrowerWallet,
39
38
  * contract: contractAddress
40
39
  * });
41
40
  *
42
- * // Instant cancellation (requires allowInstantCancel on contract)
41
+ * // Instant cancellation
43
42
  * const ix2 = await cancelRental({
44
43
  * borrower: borrowerWallet,
45
44
  * contract: contractAddress,
@@ -66,27 +65,37 @@ export async function cancelRental(params, config) {
66
65
  }
67
66
  // Convert borrower to transaction signer
68
67
  const borrowerSigner = toTransactionSigner(params.borrower);
69
- // Get network-specific addresses
68
+ // Get atlasMint from on-chain config
69
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
70
+ const atlasMint = configAccount.data.atlasMint;
70
71
  const addresses = getAddresses(config);
71
- const atlasMint = address(addresses.atlasMint);
72
72
  const programAddress = address(addresses.srsly);
73
- // Derive rental thread (only PDA not auto-derived by Codama)
74
- const rentalState = await deriveRental(params.contract, borrowerSigner.address);
75
- const rentalAuthority = await deriveRentalAuthority();
76
- const rentalThread = await deriveRentalThread(rentalState, rentalAuthority);
73
+ // Fetch contract to get fleet
74
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
75
+ const fleet = contractAccount.data.fleet;
76
+ // Derive active rental PDA (no more slot logic)
77
+ const rentalState = await deriveActiveRental(params.contract);
78
+ // Derive contract token account (ATA of contract PDA)
79
+ const contractAddress = address(params.contract);
80
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
77
81
  // Convert duration to seconds (supports { hours: 1 }, { days: 1 }, etc.)
78
- // Default to 1 hour if not specified (safer than instant cancel which requires flag)
82
+ // Default to contract's cancelDelayMin if not specified
79
83
  const cancelDelay = params.cancelDelay !== undefined
80
84
  ? BigInt(convertDuration(params.cancelDelay))
81
- : BigInt(convertDuration({ hours: 1 }));
85
+ : contractAccount.data.cancelDelayMin;
86
+ // Resolve contract thread (system_program::ID means no thread configured)
87
+ const thread = address(contractAccount.data.thread);
88
+ const hasThread = thread !== '11111111111111111111111111111111';
82
89
  // Call Codama-generated instruction
83
- // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount,
84
- // rentalState, rentalTokenAccount, rentalAuthority, antegenProgram, tokenProgram
90
+ // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount, rentalAuthority
85
91
  const kitInstruction = await getCancelRentalInstructionAsync({
86
92
  mint: atlasMint,
87
93
  borrower: borrowerSigner,
88
- rentalThread,
89
- contract: address(params.contract),
94
+ rentalState,
95
+ contractTokenAccount,
96
+ contract: contractAddress,
97
+ fleet: address(fleet),
98
+ ...(hasThread && { contractThread: thread }),
90
99
  cancelDelay,
91
100
  }, { programAddress });
92
101
  return prepareInstructions(kitInstruction, {
@@ -1 +1 @@
1
- {"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAyCzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,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;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,6DAA6D;IAC7D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAE5E,yEAAyE;IACzE,qFAAqF;IACrF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,oCAAoC;IACpC,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D;QACE,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,cAAc;QACxB,YAAY;QACZ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,WAAW;KACZ,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":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,16 @@
2
2
  * @purpose Simplified claimBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated claimBorrower instruction.
5
- * Allows borrowers to claim accumulated ATLAS from their managed token account.
5
+ * Allows claiming accumulated ATLAS from a borrower's managed token account.
6
+ * When close is true, bundles a closeBorrower instruction to also close the
7
+ * managed ATA and BorrowerState in a single transaction.
6
8
  */
7
9
  import { address } from '@solana/kit';
8
- import { getClaimBorrowerInstructionAsync } from '../generated/codama/instructions';
10
+ import { getClaimBorrowerInstructionAsync, getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
9
11
  import { mergeConfig, getAddresses } from '../utils/config';
10
- import { toTransactionSigner } from '../utils/signer';
12
+ import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
13
  import { prepareInstructions } from '../utils/instructions';
14
+ import { fetchConfig } from '../accounts/config';
12
15
  /**
13
16
  * Claim borrower ATLAS refunds
14
17
  *
@@ -17,45 +20,68 @@ import { prepareInstructions } from '../utils/instructions';
17
20
  * account (an ATA with the borrower_state as authority). This instruction
18
21
  * transfers those funds to the borrower's personal wallet.
19
22
  *
23
+ * The payer and borrower can be different accounts, allowing a third party
24
+ * to pay for the claim transaction on behalf of the borrower.
25
+ *
26
+ * When close is true, a closeBorrower instruction is bundled to also close
27
+ * the managed ATA and BorrowerState PDA in the same transaction.
28
+ *
20
29
  * @param params - Borrower claim parameters
21
30
  * @param config - Optional SDK configuration overrides
22
31
  * @returns Kit instruction (or web3.js if PublicKey in config)
23
32
  *
24
33
  * @example
25
34
  * ```typescript
26
- * // Claim accumulated ATLAS refunds
35
+ * // Self-claim: payer is the borrower
27
36
  * const ix = await claimBorrower({
28
- * borrower: borrowerWallet
37
+ * payer: borrowerWallet,
29
38
  * });
30
39
  *
31
- * // With web3.js
32
- * import { PublicKey } from '@solana/web3.js';
33
- * setSdkConfig({ network: 'mainnet-beta', PublicKey });
34
- * const web3Ix = await claimBorrower({
35
- * borrower: keypair
40
+ * // Third-party claim: someone else pays
41
+ * const ix2 = await claimBorrower({
42
+ * payer: relayerWallet,
43
+ * borrower: "BORROWER_ADDRESS"
44
+ * });
45
+ *
46
+ * // Claim and close the BorrowerState account
47
+ * const ix3 = await claimBorrower({
48
+ * payer: borrowerWallet,
49
+ * close: true
36
50
  * });
37
51
  * ```
38
52
  */
39
53
  export async function claimBorrower(params, config) {
40
- // Merge config
41
54
  const finalConfig = mergeConfig(config);
42
- // Validate required params
43
- if (!params.borrower) {
44
- throw new Error('borrower is required');
55
+ if (!params.payer) {
56
+ throw new Error('payer is required');
45
57
  }
46
- // Convert borrower to transaction signer
47
- const borrowerSigner = toTransactionSigner(params.borrower);
48
- // Get network-specific addresses
58
+ const payerSigner = toTransactionSigner(params.payer);
59
+ const borrowerAddress = params.borrower
60
+ ? address(params.borrower)
61
+ : getSignerAddress(payerSigner);
62
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
63
+ const atlasMint = configAccount.data.atlasMint;
49
64
  const addresses = getAddresses(config);
50
- const atlasMint = address(addresses.atlasMint);
51
65
  const programAddress = address(addresses.srsly);
52
- // Call Codama-generated instruction
53
- // Most accounts are auto-derived (config, borrowerState, managed account, destination)
54
- const kitInstruction = await getClaimBorrowerInstructionAsync({
55
- borrower: borrowerSigner,
66
+ // Build claim instruction
67
+ const claimIx = await getClaimBorrowerInstructionAsync({
68
+ payer: payerSigner,
69
+ borrower: borrowerAddress,
56
70
  mint: atlasMint,
57
71
  }, { programAddress });
58
- return prepareInstructions(kitInstruction, {
72
+ // If close requested, bundle a closeBorrower instruction after the claim
73
+ if (params.close) {
74
+ const closeIx = await getCloseBorrowerInstructionAsync({
75
+ payer: payerSigner,
76
+ borrower: borrowerAddress,
77
+ mint: atlasMint,
78
+ }, { programAddress });
79
+ return prepareInstructions([claimIx, closeIx], {
80
+ computeUnits: params.computeUnits,
81
+ PublicKey: finalConfig.PublicKey
82
+ });
83
+ }
84
+ return prepareInstructions(claimIx, {
59
85
  computeUnits: params.computeUnits,
60
86
  PublicKey: finalConfig.PublicKey
61
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.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;AAmB5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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;IAE5D,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,oCAAoC;IACpC,uFAAuF;IACvF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,QAAQ,EAAE,cAAc;QACxB,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"}
1
+ {"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACtH,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;AAmCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;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,0BAA0B;IAC1B,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,yEAAyE;IACzE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;YACE,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,SAAS;SAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,OAAO,mBAAmB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YAC7C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,EAAE;QAClC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}