@wuwei-labs/srsly 3.0.0-beta.3 → 3.0.0-beta.30

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 (926) hide show
  1. package/README.md +38 -0
  2. package/dist/cjs/accounts/borrower.js +86 -15
  3. package/dist/cjs/accounts/borrower.js.map +1 -1
  4. package/dist/cjs/accounts/config.js +51 -3
  5. package/dist/cjs/accounts/config.js.map +1 -1
  6. package/dist/cjs/accounts/contract.js +59 -1
  7. package/dist/cjs/accounts/contract.js.map +1 -1
  8. package/dist/cjs/accounts/fleet.js +2 -1
  9. package/dist/cjs/accounts/fleet.js.map +1 -1
  10. package/dist/cjs/accounts/index.js +23 -0
  11. package/dist/cjs/accounts/index.js.map +1 -0
  12. package/dist/cjs/accounts/member.js +16 -0
  13. package/dist/cjs/accounts/member.js.map +1 -0
  14. package/dist/cjs/accounts/owner.js +105 -0
  15. package/dist/cjs/accounts/owner.js.map +1 -0
  16. package/dist/cjs/accounts/rental.js +56 -1
  17. package/dist/cjs/accounts/rental.js.map +1 -1
  18. package/dist/cjs/demos.js +446 -44
  19. package/dist/cjs/demos.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/borrowerState.js +31 -22
  21. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/configState.js +53 -49
  23. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  24. package/dist/cjs/generated/codama/accounts/contractState.js +52 -44
  25. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/fleet.js +103 -0
  27. package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -0
  28. package/dist/cjs/generated/codama/accounts/index.js +1 -2
  29. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  30. package/dist/cjs/generated/codama/accounts/ownerState.js +86 -0
  31. package/dist/cjs/generated/codama/accounts/ownerState.js.map +1 -0
  32. package/dist/cjs/generated/codama/accounts/rentalState.js +48 -30
  33. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  34. package/dist/cjs/generated/codama/accounts/thread.js +41 -50
  35. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  36. package/dist/cjs/generated/codama/errors/srsly.js +92 -32
  37. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  38. package/dist/cjs/generated/codama/instructions/acceptRental.js +69 -140
  39. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/activateRental.js +328 -0
  41. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -0
  42. package/dist/cjs/generated/codama/instructions/cancelRental.js +70 -53
  43. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  44. package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
  45. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  46. package/dist/cjs/generated/codama/instructions/claimContract.js +202 -0
  47. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  48. package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimOwner.js} +70 -56
  49. package/dist/cjs/generated/codama/instructions/claimOwner.js.map +1 -0
  50. package/dist/cjs/generated/codama/instructions/claimRental.js +336 -0
  51. package/dist/cjs/generated/codama/instructions/claimRental.js.map +1 -0
  52. package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
  53. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
  54. package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
  55. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  56. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  57. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  58. package/dist/cjs/generated/codama/instructions/closeRental.js +9 -119
  59. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  60. package/dist/cjs/generated/codama/instructions/{claimBorrowerPayments.js → createBorrower.js} +59 -73
  61. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  62. package/dist/cjs/generated/codama/instructions/createConfig.js +56 -20
  63. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  64. package/dist/cjs/generated/codama/instructions/createContract.js +59 -27
  65. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  66. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  67. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  68. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
  69. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  70. package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
  71. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  72. package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
  73. package/dist/cjs/generated/codama/instructions/deleteRental.js +7 -7
  74. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  75. package/dist/cjs/generated/codama/instructions/index.js +8 -3
  76. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  77. package/dist/cjs/generated/codama/instructions/invalidateRental.js +156 -0
  78. package/dist/cjs/generated/codama/instructions/invalidateRental.js.map +1 -0
  79. package/dist/cjs/generated/codama/instructions/payContract.js +224 -0
  80. package/dist/cjs/generated/codama/instructions/payContract.js.map +1 -0
  81. package/dist/cjs/generated/codama/instructions/payRental.js +64 -24
  82. package/dist/cjs/generated/codama/instructions/payRental.js.map +1 -1
  83. package/dist/cjs/generated/codama/instructions/processContract.js +224 -0
  84. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  85. package/dist/cjs/generated/codama/instructions/releaseRental.js +8 -49
  86. package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -1
  87. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  88. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  89. package/dist/cjs/generated/codama/instructions/scheduleRental.js +265 -0
  90. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +1 -0
  91. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  92. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  93. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  94. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  95. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  96. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -23
  97. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  98. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  99. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  100. package/dist/cjs/generated/codama/instructions/updateOwner.js +79 -0
  101. package/dist/cjs/generated/codama/instructions/updateOwner.js.map +1 -0
  102. package/dist/cjs/generated/codama/programs/srsly.js +54 -38
  103. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  104. package/dist/cjs/generated/codama/shared/index.js +8 -8
  105. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  106. package/dist/cjs/generated/codama/types/bidType.js +30 -0
  107. package/dist/cjs/generated/codama/types/bidType.js.map +1 -0
  108. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  109. package/dist/cjs/generated/codama/types/cargoStats.js +43 -0
  110. package/dist/cjs/generated/codama/types/cargoStats.js.map +1 -0
  111. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  112. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  113. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  114. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  115. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  116. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  117. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  118. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  119. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  120. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  121. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  122. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  123. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  124. package/dist/cjs/generated/codama/types/contractUpdated.js +9 -4
  125. package/dist/cjs/generated/codama/types/contractUpdated.js.map +1 -1
  126. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  127. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  128. package/dist/cjs/generated/codama/types/fieldUpdate.js +29 -0
  129. package/dist/cjs/generated/codama/types/fieldUpdate.js.map +1 -0
  130. package/dist/cjs/generated/codama/types/index.js +17 -5
  131. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  132. package/dist/cjs/generated/codama/types/miscStats.js +47 -0
  133. package/dist/cjs/generated/codama/types/miscStats.js.map +1 -0
  134. package/dist/cjs/generated/codama/types/movementStats.js +39 -0
  135. package/dist/cjs/generated/codama/types/movementStats.js.map +1 -0
  136. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +23 -0
  137. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js.map +1 -0
  138. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  139. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  140. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  141. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  142. package/dist/cjs/generated/codama/types/rentalActivated.js +33 -0
  143. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -0
  144. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  145. package/dist/cjs/generated/codama/types/rentalClaimed.js +41 -0
  146. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +1 -0
  147. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  148. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  149. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  150. package/dist/cjs/generated/codama/types/rentalExpiredInline.js +31 -0
  151. package/dist/cjs/generated/codama/types/rentalExpiredInline.js.map +1 -0
  152. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +8 -8
  153. package/dist/cjs/generated/codama/types/rentalScheduled.js +35 -0
  154. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +1 -0
  155. package/dist/cjs/generated/codama/types/rentalStatus.js +32 -0
  156. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -0
  157. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  158. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  159. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  160. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  161. package/dist/cjs/generated/codama/types/shipCounts.js +45 -0
  162. package/dist/cjs/generated/codama/types/shipCounts.js.map +1 -0
  163. package/dist/cjs/generated/codama/types/shipStats.js +32 -0
  164. package/dist/cjs/generated/codama/types/shipStats.js.map +1 -0
  165. package/dist/cjs/generated/codama/types/signal.js +26 -12
  166. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  167. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  168. package/dist/cjs/index.js +4 -170
  169. package/dist/cjs/index.js.map +1 -1
  170. package/dist/cjs/instructions/acceptRental.js +95 -57
  171. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  172. package/dist/cjs/instructions/activateRental.js +85 -0
  173. package/dist/cjs/instructions/activateRental.js.map +1 -0
  174. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  175. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  176. package/dist/cjs/instructions/cancelRental.js +32 -23
  177. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  178. package/dist/cjs/instructions/claimBorrower.js +47 -21
  179. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  180. package/dist/cjs/instructions/claimContract.js +56 -0
  181. package/dist/cjs/instructions/claimContract.js.map +1 -0
  182. package/dist/cjs/instructions/claimRental.js +201 -0
  183. package/dist/cjs/instructions/claimRental.js.map +1 -0
  184. package/dist/cjs/instructions/closeBorrower.js +21 -23
  185. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  186. package/dist/cjs/instructions/closeContract.js +96 -21
  187. package/dist/cjs/instructions/closeContract.js.map +1 -1
  188. package/dist/cjs/instructions/closeContractThread.js +66 -0
  189. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  190. package/dist/cjs/instructions/closeRental.js +50 -31
  191. package/dist/cjs/instructions/closeRental.js.map +1 -1
  192. package/dist/cjs/instructions/createAffiliate.js +73 -0
  193. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  194. package/dist/cjs/instructions/createBorrower.js +64 -0
  195. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  196. package/dist/cjs/instructions/createConfig.js +12 -0
  197. package/dist/cjs/instructions/createConfig.js.map +1 -1
  198. package/dist/cjs/instructions/createContract.js +46 -35
  199. package/dist/cjs/instructions/createContract.js.map +1 -1
  200. package/dist/cjs/instructions/createContractThread.js +79 -0
  201. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  202. package/dist/cjs/instructions/deleteBorrower.js +13 -13
  203. package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
  204. package/dist/cjs/instructions/deleteConfig.js +16 -5
  205. package/dist/cjs/instructions/deleteConfig.js.map +1 -1
  206. package/dist/cjs/instructions/deleteContract.js +79 -0
  207. package/dist/cjs/instructions/deleteContract.js.map +1 -0
  208. package/dist/cjs/instructions/deleteRental.js +1 -4
  209. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  210. package/dist/cjs/instructions/index.js +50 -0
  211. package/dist/cjs/instructions/index.js.map +1 -0
  212. package/dist/cjs/instructions/invalidateRental.js +101 -0
  213. package/dist/cjs/instructions/invalidateRental.js.map +1 -0
  214. package/dist/cjs/instructions/ownerClaim.js +110 -0
  215. package/dist/cjs/instructions/ownerClaim.js.map +1 -0
  216. package/dist/cjs/instructions/ownerUpdate.js +68 -0
  217. package/dist/cjs/instructions/ownerUpdate.js.map +1 -0
  218. package/dist/cjs/instructions/releaseRental.js +20 -53
  219. package/dist/cjs/instructions/releaseRental.js.map +1 -1
  220. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  221. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  222. package/dist/cjs/instructions/reserveRental.js +78 -70
  223. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  224. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  225. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  226. package/dist/cjs/instructions/updateBorrower.js +44 -38
  227. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  228. package/dist/cjs/instructions/updateConfig.js +0 -4
  229. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  230. package/dist/cjs/instructions/updateContract.js +22 -30
  231. package/dist/cjs/instructions/updateContract.js.map +1 -1
  232. package/dist/cjs/instructions/updateContractThread.js +60 -0
  233. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  234. package/dist/cjs/kit/index.js +68 -0
  235. package/dist/cjs/kit/index.js.map +1 -0
  236. package/dist/cjs/legacy/index.js +126 -0
  237. package/dist/cjs/legacy/index.js.map +1 -0
  238. package/dist/cjs/package.json +9 -5
  239. package/dist/cjs/params/amount.js +4 -4
  240. package/dist/cjs/params/index.js +21 -0
  241. package/dist/cjs/params/index.js.map +1 -0
  242. package/dist/cjs/params/sol.js +71 -0
  243. package/dist/cjs/params/sol.js.map +1 -0
  244. package/dist/cjs/pda/constants.js +7 -2
  245. package/dist/cjs/pda/constants.js.map +1 -1
  246. package/dist/cjs/pda/index.js +13 -22
  247. package/dist/cjs/pda/index.js.map +1 -1
  248. package/dist/cjs/pda/lookupTable.js +60 -0
  249. package/dist/cjs/pda/lookupTable.js.map +1 -0
  250. package/dist/cjs/pda/sage.js +11 -10
  251. package/dist/cjs/pda/sage.js.map +1 -1
  252. package/dist/cjs/pda/slyvault.js +5 -49
  253. package/dist/cjs/pda/slyvault.js.map +1 -1
  254. package/dist/cjs/pda/srsly.js +39 -19
  255. package/dist/cjs/pda/srsly.js.map +1 -1
  256. package/dist/cjs/pda/thread.js +41 -31
  257. package/dist/cjs/pda/thread.js.map +1 -1
  258. package/dist/cjs/pda/token.js +5 -4
  259. package/dist/cjs/pda/token.js.map +1 -1
  260. package/dist/cjs/utils/addresses.js +8 -1
  261. package/dist/cjs/utils/addresses.js.map +1 -1
  262. package/dist/cjs/utils/config.js +20 -2
  263. package/dist/cjs/utils/config.js.map +1 -1
  264. package/dist/cjs/utils/discountAuth.js +161 -0
  265. package/dist/cjs/utils/discountAuth.js.map +1 -0
  266. package/dist/cjs/utils/index.js +25 -1
  267. package/dist/cjs/utils/index.js.map +1 -1
  268. package/dist/cjs/utils/instructionResult.js +76 -0
  269. package/dist/cjs/utils/instructionResult.js.map +1 -0
  270. package/dist/cjs/utils/instructions.js +12 -17
  271. package/dist/cjs/utils/instructions.js.map +1 -1
  272. package/dist/cjs/utils/lookupTable.js +143 -0
  273. package/dist/cjs/utils/lookupTable.js.map +1 -0
  274. package/dist/cjs/utils/rental.js +49 -0
  275. package/dist/cjs/utils/rental.js.map +1 -0
  276. package/dist/cjs/utils/rpc.js +57 -0
  277. package/dist/cjs/utils/rpc.js.map +1 -0
  278. package/dist/cjs/utils/signer.js +16 -9
  279. package/dist/cjs/utils/signer.js.map +1 -1
  280. package/dist/cjs/version.js +1 -1
  281. package/dist/cjs/version.js.map +1 -1
  282. package/dist/esm/accounts/borrower.js +87 -17
  283. package/dist/esm/accounts/borrower.js.map +1 -1
  284. package/dist/esm/accounts/config.js +50 -3
  285. package/dist/esm/accounts/config.js.map +1 -1
  286. package/dist/esm/accounts/contract.js +60 -3
  287. package/dist/esm/accounts/contract.js.map +1 -1
  288. package/dist/esm/accounts/fleet.js +3 -2
  289. package/dist/esm/accounts/fleet.js.map +1 -1
  290. package/dist/esm/accounts/index.js +7 -0
  291. package/dist/esm/accounts/index.js.map +1 -0
  292. package/dist/esm/accounts/member.js +9 -0
  293. package/dist/esm/accounts/member.js.map +1 -0
  294. package/dist/esm/accounts/owner.js +101 -0
  295. package/dist/esm/accounts/owner.js.map +1 -0
  296. package/dist/esm/accounts/rental.js +57 -3
  297. package/dist/esm/accounts/rental.js.map +1 -1
  298. package/dist/esm/demos.js +445 -43
  299. package/dist/esm/demos.js.map +1 -1
  300. package/dist/esm/generated/codama/accounts/borrowerState.js +32 -23
  301. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  302. package/dist/esm/generated/codama/accounts/configState.js +53 -50
  303. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  304. package/dist/esm/generated/codama/accounts/contractState.js +53 -45
  305. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  306. package/dist/esm/generated/codama/accounts/fleet.js +90 -0
  307. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -0
  308. package/dist/esm/generated/codama/accounts/index.js +6 -7
  309. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  310. package/dist/esm/generated/codama/accounts/ownerState.js +73 -0
  311. package/dist/esm/generated/codama/accounts/ownerState.js.map +1 -0
  312. package/dist/esm/generated/codama/accounts/rentalState.js +49 -30
  313. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  314. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  315. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  316. package/dist/esm/generated/codama/errors/index.js +1 -1
  317. package/dist/esm/generated/codama/errors/srsly.js +92 -32
  318. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  319. package/dist/esm/generated/codama/index.js +5 -5
  320. package/dist/esm/generated/codama/instructions/acceptRental.js +72 -143
  321. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  322. package/dist/esm/generated/codama/instructions/activateRental.js +318 -0
  323. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -0
  324. package/dist/esm/generated/codama/instructions/cancelRental.js +73 -56
  325. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  326. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  327. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  328. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  329. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  330. package/dist/esm/generated/codama/instructions/claimOwner.js +234 -0
  331. package/dist/esm/generated/codama/instructions/claimOwner.js.map +1 -0
  332. package/dist/esm/generated/codama/instructions/claimRental.js +326 -0
  333. package/dist/esm/generated/codama/instructions/claimRental.js.map +1 -0
  334. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  335. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  336. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  337. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  338. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  339. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  340. package/dist/esm/generated/codama/instructions/closeRental.js +12 -122
  341. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  342. package/dist/esm/generated/codama/instructions/createBorrower.js +201 -0
  343. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  344. package/dist/esm/generated/codama/instructions/createConfig.js +59 -23
  345. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  346. package/dist/esm/generated/codama/instructions/createContract.js +62 -30
  347. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  348. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  349. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  350. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  351. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  352. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  353. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  354. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  355. package/dist/esm/generated/codama/instructions/deleteRental.js +10 -10
  356. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  357. package/dist/esm/generated/codama/instructions/index.js +26 -21
  358. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  359. package/dist/esm/generated/codama/instructions/invalidateRental.js +146 -0
  360. package/dist/esm/generated/codama/instructions/invalidateRental.js.map +1 -0
  361. package/dist/esm/generated/codama/instructions/payContract.js +214 -0
  362. package/dist/esm/generated/codama/instructions/payContract.js.map +1 -0
  363. package/dist/esm/generated/codama/instructions/payRental.js +67 -27
  364. package/dist/esm/generated/codama/instructions/payRental.js.map +1 -1
  365. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  366. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  367. package/dist/esm/generated/codama/instructions/releaseRental.js +11 -52
  368. package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -1
  369. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  370. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  371. package/dist/esm/generated/codama/instructions/scheduleRental.js +255 -0
  372. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +1 -0
  373. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  374. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  375. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  376. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  377. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  378. package/dist/esm/generated/codama/instructions/updateContract.js +20 -26
  379. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  380. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  381. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  382. package/dist/esm/generated/codama/instructions/updateOwner.js +70 -0
  383. package/dist/esm/generated/codama/instructions/updateOwner.js.map +1 -0
  384. package/dist/esm/generated/codama/programs/index.js +1 -1
  385. package/dist/esm/generated/codama/programs/srsly.js +55 -39
  386. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  387. package/dist/esm/generated/codama/shared/index.js +9 -9
  388. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  389. package/dist/esm/generated/codama/types/bidType.js +24 -0
  390. package/dist/esm/generated/codama/types/bidType.js.map +1 -0
  391. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  392. package/dist/esm/generated/codama/types/cargoStats.js +38 -0
  393. package/dist/esm/generated/codama/types/cargoStats.js.map +1 -0
  394. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  395. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  396. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  397. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  398. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  399. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  400. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  401. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  402. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  403. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  404. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  405. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  406. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  407. package/dist/esm/generated/codama/types/contractUpdated.js +10 -5
  408. package/dist/esm/generated/codama/types/contractUpdated.js.map +1 -1
  409. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  410. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  411. package/dist/esm/generated/codama/types/fieldUpdate.js +24 -0
  412. package/dist/esm/generated/codama/types/fieldUpdate.js.map +1 -0
  413. package/dist/esm/generated/codama/types/index.js +31 -19
  414. package/dist/esm/generated/codama/types/index.js.map +1 -1
  415. package/dist/esm/generated/codama/types/miscStats.js +42 -0
  416. package/dist/esm/generated/codama/types/miscStats.js.map +1 -0
  417. package/dist/esm/generated/codama/types/movementStats.js +34 -0
  418. package/dist/esm/generated/codama/types/movementStats.js.map +1 -0
  419. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +18 -0
  420. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js.map +1 -0
  421. package/dist/esm/generated/codama/types/paymentFrequency.js +1 -1
  422. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  423. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  424. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  425. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  426. package/dist/esm/generated/codama/types/rentalActivated.js +28 -0
  427. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -0
  428. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  429. package/dist/esm/generated/codama/types/rentalClaimed.js +36 -0
  430. package/dist/esm/generated/codama/types/rentalClaimed.js.map +1 -0
  431. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  432. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  433. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  434. package/dist/esm/generated/codama/types/rentalExpiredInline.js +26 -0
  435. package/dist/esm/generated/codama/types/rentalExpiredInline.js.map +1 -0
  436. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +9 -9
  437. package/dist/esm/generated/codama/types/rentalScheduled.js +30 -0
  438. package/dist/esm/generated/codama/types/rentalScheduled.js.map +1 -0
  439. package/dist/esm/generated/codama/types/rentalStatus.js +26 -0
  440. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -0
  441. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  442. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  443. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  444. package/dist/esm/generated/codama/types/schedule.js +15 -15
  445. package/dist/esm/generated/codama/types/shipCounts.js +40 -0
  446. package/dist/esm/generated/codama/types/shipCounts.js.map +1 -0
  447. package/dist/esm/generated/codama/types/shipStats.js +27 -0
  448. package/dist/esm/generated/codama/types/shipStats.js.map +1 -0
  449. package/dist/esm/generated/codama/types/signal.js +28 -14
  450. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  451. package/dist/esm/generated/codama/types/trigger.js +37 -37
  452. package/dist/esm/index.js +1 -75
  453. package/dist/esm/index.js.map +1 -1
  454. package/dist/esm/instructions/acceptRental.js +98 -60
  455. package/dist/esm/instructions/acceptRental.js.map +1 -1
  456. package/dist/esm/instructions/activateRental.js +82 -0
  457. package/dist/esm/instructions/activateRental.js.map +1 -0
  458. package/dist/esm/instructions/approveAffiliate.js +7 -0
  459. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  460. package/dist/esm/instructions/cancelRental.js +33 -24
  461. package/dist/esm/instructions/cancelRental.js.map +1 -1
  462. package/dist/esm/instructions/claimBorrower.js +49 -23
  463. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  464. package/dist/esm/instructions/claimContract.js +53 -0
  465. package/dist/esm/instructions/claimContract.js.map +1 -0
  466. package/dist/esm/instructions/claimRental.js +198 -0
  467. package/dist/esm/instructions/claimRental.js.map +1 -0
  468. package/dist/esm/instructions/closeBorrower.js +22 -24
  469. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  470. package/dist/esm/instructions/closeContract.js +66 -24
  471. package/dist/esm/instructions/closeContract.js.map +1 -1
  472. package/dist/esm/instructions/closeContractThread.js +63 -0
  473. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  474. package/dist/esm/instructions/closeRental.js +51 -32
  475. package/dist/esm/instructions/closeRental.js.map +1 -1
  476. package/dist/esm/instructions/createAffiliate.js +70 -0
  477. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  478. package/dist/esm/instructions/createBorrower.js +61 -0
  479. package/dist/esm/instructions/createBorrower.js.map +1 -0
  480. package/dist/esm/instructions/createConfig.js +12 -0
  481. package/dist/esm/instructions/createConfig.js.map +1 -1
  482. package/dist/esm/instructions/createContract.js +48 -37
  483. package/dist/esm/instructions/createContract.js.map +1 -1
  484. package/dist/esm/instructions/createContractThread.js +76 -0
  485. package/dist/esm/instructions/createContractThread.js.map +1 -0
  486. package/dist/esm/instructions/deleteBorrower.js +13 -13
  487. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  488. package/dist/esm/instructions/deleteConfig.js +17 -6
  489. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  490. package/dist/esm/instructions/deleteContract.js +76 -0
  491. package/dist/esm/instructions/deleteContract.js.map +1 -0
  492. package/dist/esm/instructions/deleteRental.js +1 -4
  493. package/dist/esm/instructions/deleteRental.js.map +1 -1
  494. package/dist/esm/instructions/index.js +34 -0
  495. package/dist/esm/instructions/index.js.map +1 -0
  496. package/dist/esm/instructions/invalidateRental.js +98 -0
  497. package/dist/esm/instructions/invalidateRental.js.map +1 -0
  498. package/dist/esm/instructions/ownerClaim.js +107 -0
  499. package/dist/esm/instructions/ownerClaim.js.map +1 -0
  500. package/dist/esm/instructions/ownerUpdate.js +65 -0
  501. package/dist/esm/instructions/ownerUpdate.js.map +1 -0
  502. package/dist/esm/instructions/releaseRental.js +20 -53
  503. package/dist/esm/instructions/releaseRental.js.map +1 -1
  504. package/dist/esm/instructions/removeAffiliate.js +7 -0
  505. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  506. package/dist/esm/instructions/reserveRental.js +80 -72
  507. package/dist/esm/instructions/reserveRental.js.map +1 -1
  508. package/dist/esm/instructions/updateAffiliate.js +54 -0
  509. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  510. package/dist/esm/instructions/updateBorrower.js +45 -39
  511. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  512. package/dist/esm/instructions/updateConfig.js +0 -4
  513. package/dist/esm/instructions/updateConfig.js.map +1 -1
  514. package/dist/esm/instructions/updateContract.js +22 -30
  515. package/dist/esm/instructions/updateContract.js.map +1 -1
  516. package/dist/esm/instructions/updateContractThread.js +57 -0
  517. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  518. package/dist/esm/kit/index.js +26 -0
  519. package/dist/esm/kit/index.js.map +1 -0
  520. package/dist/esm/legacy/index.js +85 -0
  521. package/dist/esm/legacy/index.js.map +1 -0
  522. package/dist/esm/package.json +9 -5
  523. package/dist/esm/params/amount.js +4 -4
  524. package/dist/esm/params/index.js +5 -0
  525. package/dist/esm/params/index.js.map +1 -0
  526. package/dist/esm/params/sol.js +68 -0
  527. package/dist/esm/params/sol.js.map +1 -0
  528. package/dist/esm/pda/constants.js +6 -1
  529. package/dist/esm/pda/constants.js.map +1 -1
  530. package/dist/esm/pda/index.js +6 -22
  531. package/dist/esm/pda/index.js.map +1 -1
  532. package/dist/esm/pda/lookupTable.js +57 -0
  533. package/dist/esm/pda/lookupTable.js.map +1 -0
  534. package/dist/esm/pda/sage.js +11 -10
  535. package/dist/esm/pda/sage.js.map +1 -1
  536. package/dist/esm/pda/slyvault.js +2 -47
  537. package/dist/esm/pda/slyvault.js.map +1 -1
  538. package/dist/esm/pda/srsly.js +38 -19
  539. package/dist/esm/pda/srsly.js.map +1 -1
  540. package/dist/esm/pda/thread.js +40 -31
  541. package/dist/esm/pda/thread.js.map +1 -1
  542. package/dist/esm/pda/token.js +5 -4
  543. package/dist/esm/pda/token.js.map +1 -1
  544. package/dist/esm/utils/addresses.js +8 -1
  545. package/dist/esm/utils/addresses.js.map +1 -1
  546. package/dist/esm/utils/config.js +19 -2
  547. package/dist/esm/utils/config.js.map +1 -1
  548. package/dist/esm/utils/discountAuth.js +155 -0
  549. package/dist/esm/utils/discountAuth.js.map +1 -0
  550. package/dist/esm/utils/index.js +11 -1
  551. package/dist/esm/utils/index.js.map +1 -1
  552. package/dist/esm/utils/instructionResult.js +72 -0
  553. package/dist/esm/utils/instructionResult.js.map +1 -0
  554. package/dist/esm/utils/instructions.js +12 -17
  555. package/dist/esm/utils/instructions.js.map +1 -1
  556. package/dist/esm/utils/lookupTable.js +139 -0
  557. package/dist/esm/utils/lookupTable.js.map +1 -0
  558. package/dist/esm/utils/rental.js +45 -0
  559. package/dist/esm/utils/rental.js.map +1 -0
  560. package/dist/esm/utils/rpc.js +52 -0
  561. package/dist/esm/utils/rpc.js.map +1 -0
  562. package/dist/esm/utils/signer.js +16 -9
  563. package/dist/esm/utils/signer.js.map +1 -1
  564. package/dist/esm/version.js +1 -1
  565. package/dist/esm/version.js.map +1 -1
  566. package/{src → dist}/idl/srsly.json +2786 -1677
  567. package/dist/types/accounts/borrower.d.ts +33 -9
  568. package/dist/types/accounts/borrower.d.ts.map +1 -1
  569. package/dist/types/accounts/config.d.ts +19 -0
  570. package/dist/types/accounts/config.d.ts.map +1 -1
  571. package/dist/types/accounts/contract.d.ts +19 -0
  572. package/dist/types/accounts/contract.d.ts.map +1 -1
  573. package/dist/types/accounts/fleet.d.ts.map +1 -1
  574. package/dist/types/accounts/index.d.ts +7 -0
  575. package/dist/types/accounts/index.d.ts.map +1 -0
  576. package/dist/types/accounts/member.d.ts +9 -0
  577. package/dist/types/accounts/member.d.ts.map +1 -0
  578. package/dist/types/accounts/owner.d.ts +52 -0
  579. package/dist/types/accounts/owner.d.ts.map +1 -0
  580. package/dist/types/accounts/rental.d.ts +19 -0
  581. package/dist/types/accounts/rental.d.ts.map +1 -1
  582. package/dist/types/demos.d.ts +59 -0
  583. package/dist/types/demos.d.ts.map +1 -1
  584. package/dist/types/generated/codama/accounts/borrowerState.d.ts +26 -11
  585. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  586. package/dist/types/generated/codama/accounts/configState.d.ts +26 -21
  587. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  588. package/dist/types/generated/codama/accounts/contractState.d.ts +71 -59
  589. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  590. package/dist/types/generated/codama/accounts/fleet.d.ts +64 -0
  591. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -0
  592. package/dist/types/generated/codama/accounts/index.d.ts +6 -7
  593. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  594. package/dist/types/generated/codama/accounts/ownerState.d.ts +65 -0
  595. package/dist/types/generated/codama/accounts/ownerState.d.ts.map +1 -0
  596. package/dist/types/generated/codama/accounts/rentalState.d.ts +58 -19
  597. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  598. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  599. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  600. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  601. package/dist/types/generated/codama/errors/srsly.d.ts +66 -26
  602. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  603. package/dist/types/generated/codama/index.d.ts +5 -5
  604. package/dist/types/generated/codama/instructions/acceptRental.d.ts +62 -70
  605. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  606. package/dist/types/generated/codama/instructions/activateRental.d.ts +134 -0
  607. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -0
  608. package/dist/types/generated/codama/instructions/cancelRental.d.ts +40 -25
  609. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  610. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  611. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  612. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  613. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  614. package/dist/types/generated/codama/instructions/claimOwner.d.ts +91 -0
  615. package/dist/types/generated/codama/instructions/claimOwner.d.ts.map +1 -0
  616. package/dist/types/generated/codama/instructions/claimRental.d.ts +133 -0
  617. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +1 -0
  618. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  619. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  620. package/dist/types/generated/codama/instructions/closeContract.d.ts +67 -24
  621. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  622. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  623. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  624. package/dist/types/generated/codama/instructions/closeRental.d.ts +23 -52
  625. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  626. package/dist/types/generated/codama/instructions/createBorrower.d.ts +88 -0
  627. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  628. package/dist/types/generated/codama/instructions/createConfig.d.ts +36 -15
  629. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  630. package/dist/types/generated/codama/instructions/createContract.d.ts +43 -36
  631. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  632. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  633. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  634. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  635. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  636. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  637. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  638. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  639. package/dist/types/generated/codama/instructions/deleteRental.d.ts +6 -3
  640. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  641. package/dist/types/generated/codama/instructions/index.d.ts +26 -21
  642. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  643. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +89 -0
  644. package/dist/types/generated/codama/instructions/invalidateRental.d.ts.map +1 -0
  645. package/dist/types/generated/codama/instructions/payContract.d.ts +100 -0
  646. package/dist/types/generated/codama/instructions/payContract.d.ts.map +1 -0
  647. package/dist/types/generated/codama/instructions/payRental.d.ts +50 -28
  648. package/dist/types/generated/codama/instructions/payRental.d.ts.map +1 -1
  649. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  650. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  651. package/dist/types/generated/codama/instructions/releaseRental.d.ts +42 -49
  652. package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -1
  653. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  654. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  655. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +114 -0
  656. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +1 -0
  657. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  658. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  659. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  660. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  661. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  662. package/dist/types/generated/codama/instructions/updateContract.d.ts +24 -24
  663. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  664. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  665. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  666. package/dist/types/generated/codama/instructions/updateOwner.d.ts +44 -0
  667. package/dist/types/generated/codama/instructions/updateOwner.d.ts.map +1 -0
  668. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  669. package/dist/types/generated/codama/programs/srsly.d.ts +48 -34
  670. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  671. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  672. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  673. package/dist/types/generated/codama/types/bidType.d.ts +18 -0
  674. package/dist/types/generated/codama/types/bidType.d.ts.map +1 -0
  675. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  676. package/dist/types/generated/codama/types/cargoStats.d.ts +25 -0
  677. package/dist/types/generated/codama/types/cargoStats.d.ts.map +1 -0
  678. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  679. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  680. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  681. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  682. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  683. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  684. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  685. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  686. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  687. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  688. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  689. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  690. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  691. package/dist/types/generated/codama/types/contractUpdated.d.ts +16 -6
  692. package/dist/types/generated/codama/types/contractUpdated.d.ts.map +1 -1
  693. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  694. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  695. package/dist/types/generated/codama/types/fieldUpdate.d.ts +20 -0
  696. package/dist/types/generated/codama/types/fieldUpdate.d.ts.map +1 -0
  697. package/dist/types/generated/codama/types/index.d.ts +31 -19
  698. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  699. package/dist/types/generated/codama/types/miscStats.d.ts +27 -0
  700. package/dist/types/generated/codama/types/miscStats.d.ts.map +1 -0
  701. package/dist/types/generated/codama/types/movementStats.d.ts +23 -0
  702. package/dist/types/generated/codama/types/movementStats.d.ts.map +1 -0
  703. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +17 -0
  704. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts.map +1 -0
  705. package/dist/types/generated/codama/types/paymentFrequency.d.ts +1 -1
  706. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  707. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  708. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  709. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  710. package/dist/types/generated/codama/types/rentalActivated.d.ts +24 -0
  711. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -0
  712. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  713. package/dist/types/generated/codama/types/rentalClaimed.d.ts +32 -0
  714. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +1 -0
  715. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  716. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  717. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  718. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts +18 -0
  719. package/dist/types/generated/codama/types/rentalExpiredInline.d.ts.map +1 -0
  720. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +1 -1
  721. package/dist/types/generated/codama/types/rentalScheduled.d.ts +20 -0
  722. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +1 -0
  723. package/dist/types/generated/codama/types/rentalStatus.d.ts +20 -0
  724. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -0
  725. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  726. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  727. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  728. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  729. package/dist/types/generated/codama/types/shipCounts.d.ts +26 -0
  730. package/dist/types/generated/codama/types/shipCounts.d.ts.map +1 -0
  731. package/dist/types/generated/codama/types/shipStats.d.ts +24 -0
  732. package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -0
  733. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  734. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  735. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  736. package/dist/types/index.d.ts +1 -34
  737. package/dist/types/index.d.ts.map +1 -1
  738. package/dist/types/instructions/acceptRental.d.ts +33 -25
  739. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  740. package/dist/types/instructions/activateRental.d.ts +41 -0
  741. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  742. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  743. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  744. package/dist/types/instructions/cancelRental.d.ts +10 -15
  745. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  746. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  747. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  748. package/dist/types/instructions/claimContract.d.ts +40 -0
  749. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  750. package/dist/types/instructions/claimRental.d.ts +114 -0
  751. package/dist/types/instructions/claimRental.d.ts.map +1 -0
  752. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  753. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  754. package/dist/types/instructions/closeContract.d.ts +8 -15
  755. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  756. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  757. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  758. package/dist/types/instructions/closeRental.d.ts +11 -12
  759. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  760. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  761. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  762. package/dist/types/instructions/createBorrower.d.ts +49 -0
  763. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  764. package/dist/types/instructions/createConfig.d.ts +10 -0
  765. package/dist/types/instructions/createConfig.d.ts.map +1 -1
  766. package/dist/types/instructions/createContract.d.ts +34 -42
  767. package/dist/types/instructions/createContract.d.ts.map +1 -1
  768. package/dist/types/instructions/createContractThread.d.ts +52 -0
  769. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  770. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  771. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  772. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  773. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  774. package/dist/types/instructions/deleteContract.d.ts +60 -0
  775. package/dist/types/instructions/deleteContract.d.ts.map +1 -0
  776. package/dist/types/instructions/deleteRental.d.ts +3 -2
  777. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  778. package/dist/types/instructions/index.d.ts +34 -0
  779. package/dist/types/instructions/index.d.ts.map +1 -0
  780. package/dist/types/instructions/invalidateRental.d.ts +86 -0
  781. package/dist/types/instructions/invalidateRental.d.ts.map +1 -0
  782. package/dist/types/instructions/ownerClaim.d.ts +72 -0
  783. package/dist/types/instructions/ownerClaim.d.ts.map +1 -0
  784. package/dist/types/instructions/ownerUpdate.d.ts +57 -0
  785. package/dist/types/instructions/ownerUpdate.d.ts.map +1 -0
  786. package/dist/types/instructions/releaseRental.d.ts +19 -39
  787. package/dist/types/instructions/releaseRental.d.ts.map +1 -1
  788. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  789. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  790. package/dist/types/instructions/reserveRental.d.ts +39 -29
  791. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  792. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  793. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  794. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  795. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  796. package/dist/types/instructions/updateConfig.d.ts +0 -13
  797. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  798. package/dist/types/instructions/updateContract.d.ts +24 -31
  799. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  800. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  801. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  802. package/dist/types/kit/index.d.ts +25 -0
  803. package/dist/types/kit/index.d.ts.map +1 -0
  804. package/dist/types/legacy/index.d.ts +64 -0
  805. package/dist/types/legacy/index.d.ts.map +1 -0
  806. package/dist/types/params/amount.d.ts +3 -3
  807. package/dist/types/params/index.d.ts +5 -0
  808. package/dist/types/params/index.d.ts.map +1 -0
  809. package/dist/types/params/sol.d.ts +34 -0
  810. package/dist/types/params/sol.d.ts.map +1 -0
  811. package/dist/types/pda/constants.d.ts +6 -1
  812. package/dist/types/pda/constants.d.ts.map +1 -1
  813. package/dist/types/pda/index.d.ts +6 -22
  814. package/dist/types/pda/index.d.ts.map +1 -1
  815. package/dist/types/pda/lookupTable.d.ts +30 -0
  816. package/dist/types/pda/lookupTable.d.ts.map +1 -0
  817. package/dist/types/pda/sage.d.ts +6 -5
  818. package/dist/types/pda/sage.d.ts.map +1 -1
  819. package/dist/types/pda/slyvault.d.ts +2 -23
  820. package/dist/types/pda/slyvault.d.ts.map +1 -1
  821. package/dist/types/pda/srsly.d.ts +21 -8
  822. package/dist/types/pda/srsly.d.ts.map +1 -1
  823. package/dist/types/pda/thread.d.ts +18 -18
  824. package/dist/types/pda/thread.d.ts.map +1 -1
  825. package/dist/types/pda/token.d.ts +2 -1
  826. package/dist/types/pda/token.d.ts.map +1 -1
  827. package/dist/types/utils/addresses.d.ts +7 -1
  828. package/dist/types/utils/addresses.d.ts.map +1 -1
  829. package/dist/types/utils/config.d.ts +48 -0
  830. package/dist/types/utils/config.d.ts.map +1 -1
  831. package/dist/types/utils/discountAuth.d.ts +94 -0
  832. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  833. package/dist/types/utils/index.d.ts +6 -1
  834. package/dist/types/utils/index.d.ts.map +1 -1
  835. package/dist/types/utils/instructionResult.d.ts +57 -0
  836. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  837. package/dist/types/utils/instructions.d.ts +16 -18
  838. package/dist/types/utils/instructions.d.ts.map +1 -1
  839. package/dist/types/utils/lookupTable.d.ts +48 -0
  840. package/dist/types/utils/lookupTable.d.ts.map +1 -0
  841. package/dist/types/utils/rental.d.ts +22 -0
  842. package/dist/types/utils/rental.d.ts.map +1 -0
  843. package/dist/types/utils/rpc.d.ts +37 -0
  844. package/dist/types/utils/rpc.d.ts.map +1 -0
  845. package/dist/types/utils/signer.d.ts +5 -2
  846. package/dist/types/utils/signer.d.ts.map +1 -1
  847. package/dist/types/version.d.ts +1 -1
  848. package/dist/types/version.d.ts.map +1 -1
  849. package/package.json +40 -21
  850. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  851. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  852. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  853. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  854. package/dist/cjs/generated/codama/instructions/captureRental.js +0 -129
  855. package/dist/cjs/generated/codama/instructions/captureRental.js.map +0 -1
  856. package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +0 -1
  857. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  858. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  859. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  860. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  861. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  862. package/dist/cjs/generated/codama/types/capturedFlagData.js +0 -31
  863. package/dist/cjs/generated/codama/types/capturedFlagData.js.map +0 -1
  864. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  865. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  866. package/dist/cjs/generated/codama/types/memberType.js +0 -55
  867. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  868. package/dist/cjs/instructions/captureRental.js +0 -85
  869. package/dist/cjs/instructions/captureRental.js.map +0 -1
  870. package/dist/cjs/instructions/claimBorrowerPayments.js +0 -69
  871. package/dist/cjs/instructions/claimBorrowerPayments.js.map +0 -1
  872. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  873. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  874. package/dist/cjs/instructions/discountBorrower.js +0 -75
  875. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  876. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  877. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  878. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  879. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  880. package/dist/esm/generated/codama/instructions/captureRental.js +0 -119
  881. package/dist/esm/generated/codama/instructions/captureRental.js.map +0 -1
  882. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  883. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  884. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  885. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  886. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  887. package/dist/esm/generated/codama/types/capturedFlagData.js +0 -26
  888. package/dist/esm/generated/codama/types/capturedFlagData.js.map +0 -1
  889. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  890. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  891. package/dist/esm/generated/codama/types/memberType.js +0 -48
  892. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  893. package/dist/esm/instructions/captureRental.js +0 -82
  894. package/dist/esm/instructions/captureRental.js.map +0 -1
  895. package/dist/esm/instructions/claimContractPayments.js +0 -76
  896. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  897. package/dist/esm/instructions/discountBorrower.js +0 -72
  898. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  899. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  900. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  901. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  902. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  903. package/dist/types/generated/codama/instructions/captureRental.d.ts +0 -59
  904. package/dist/types/generated/codama/instructions/captureRental.d.ts.map +0 -1
  905. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +0 -75
  906. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +0 -1
  907. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  908. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  909. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  910. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  911. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  912. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  913. package/dist/types/generated/codama/types/capturedFlagData.d.ts +0 -35
  914. package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +0 -1
  915. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  916. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  917. package/dist/types/generated/codama/types/memberType.d.ts +0 -48
  918. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  919. package/dist/types/instructions/captureRental.d.ts +0 -58
  920. package/dist/types/instructions/captureRental.d.ts.map +0 -1
  921. package/dist/types/instructions/claimBorrowerPayments.d.ts +0 -59
  922. package/dist/types/instructions/claimBorrowerPayments.d.ts.map +0 -1
  923. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  924. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  925. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  926. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -9,25 +9,26 @@ 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';
15
+ import { fetchBorrower } from '../accounts/borrower';
13
16
  import { deriveGameAccounts } from '../pda/sage';
14
- import { deriveRental, deriveRentalAuthority, deriveBorrowerState } from '../pda/srsly';
15
- import { deriveRentalThread } from '../pda/thread';
17
+ import { deriveActiveRental, deriveBorrowerState } from '../pda/srsly';
16
18
  import { prepareInstructions } from '../utils/instructions';
17
19
  /**
18
20
  * Close a rental
19
21
  *
20
22
  * Closes a completed rental and transfers the fleet back to the owner.
21
- * Payments are sent to the owner's token account.
23
+ * Always targets the active rental PDA.
22
24
  *
23
25
  * This function automatically:
24
- * - Fetches contract to get owner, ownerTokenAccount, fleet, gameId
25
- * - Fetches fleet to get faction for SAGE account derivation
26
+ * - Fetches contract to get owner, fleet, gameId
27
+ * - Fetches the active rental to get borrower (if not provided)
28
+ * - Fetches the borrower's SAGE profile from borrower_state
26
29
  * - Derives required SAGE accounts (starbase, starbase player)
27
- * - Derives rental thread for automated payments
28
- * - Codama auto-derives contractTokenAccount as ATA
29
30
  *
30
- * @param params - Rental closure parameters (payer, borrower, contract)
31
+ * @param params - Rental closure parameters (payer, contract)
31
32
  * @param config - Optional SDK configuration overrides
32
33
  * @returns Kit instruction (or web3.js if PublicKey in config)
33
34
  *
@@ -35,7 +36,6 @@ import { prepareInstructions } from '../utils/instructions';
35
36
  * ```typescript
36
37
  * const ix = await closeRental({
37
38
  * payer: ownerWallet,
38
- * borrower: borrowerAddress,
39
39
  * contract: contractAddress
40
40
  * });
41
41
  * ```
@@ -47,47 +47,66 @@ export async function closeRental(params, config) {
47
47
  if (!params.payer) {
48
48
  throw new Error('payer is required');
49
49
  }
50
- if (!params.borrower) {
51
- throw new Error('borrower is required');
52
- }
53
50
  if (!params.contract) {
54
51
  throw new Error('contract is required');
55
52
  }
56
53
  // Fetch contract to get owner, fleet, gameId
57
54
  const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
58
- const owner = contractAccount.data.owner;
59
55
  const fleet = contractAccount.data.fleet;
60
56
  const gameId = contractAccount.data.gameId;
61
57
  // Convert payer to transaction signer
62
58
  const payerSigner = toTransactionSigner(params.payer);
63
- // Fetch fleet data to get faction (for SAGE account derivation)
64
- const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
65
- 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();
59
+ // Derive active rental PDA (no more slot logic)
60
+ const rentalState = await deriveActiveRental(params.contract);
61
+ // Get borrower - use provided value, or fetch from rental state, or fall back to payer
62
+ let borrower;
63
+ if (params.borrower) {
64
+ borrower = address(params.borrower);
65
+ }
66
+ else {
67
+ try {
68
+ const rental = await fetchRental(rentalState, finalConfig.rpcUrl);
69
+ borrower = rental.data.borrower;
70
+ }
71
+ catch {
72
+ // Rental state doesn't exist, fall back to payer
73
+ borrower = payerSigner.address;
74
+ }
75
+ }
72
76
  // 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
77
+ const borrowerState = await deriveBorrowerState(borrower);
78
+ // Fetch borrower's SAGE profile from borrower_state to derive game accounts
79
+ let borrowerProfile;
80
+ let faction;
81
+ try {
82
+ const borrowerAccount = await fetchBorrower(borrower, finalConfig.rpcUrl);
83
+ borrowerProfile = borrowerAccount.data.borrowerProfile;
84
+ }
85
+ catch {
86
+ // Borrower state doesn't exist, fallback to fleet owner profile
87
+ const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
88
+ borrowerProfile = fleetState.ownerProfile;
89
+ faction = fleetState.faction;
90
+ }
91
+ // Get faction from fleet if not set above
92
+ if (faction === undefined) {
93
+ const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
94
+ faction = fleetState.faction;
95
+ }
96
+ // Derive SAGE game accounts using borrower's profile
97
+ const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
98
+ // Get atlasMint from on-chain config
99
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
77
100
  const addresses = getAddresses(config);
78
- const atlasMint = address(addresses.atlasMint);
79
101
  const sageProgram = address(addresses.sage);
80
102
  const programAddress = address(addresses.srsly);
81
103
  // Call Codama-generated instruction
82
- // Note: contractTokenAccount is auto-derived by Codama as ATA for contract + mint
83
104
  const kitInstruction = await getCloseRentalInstructionAsync({
84
105
  payer: payerSigner,
85
- mint: atlasMint,
86
- borrower: address(params.borrower),
106
+ borrower,
87
107
  borrowerState,
88
- owner: address(owner),
89
108
  contract: address(params.contract),
90
- rentalThread,
109
+ rentalState,
91
110
  fleet: address(fleet),
92
111
  gameId: address(gameId),
93
112
  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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @purpose Simplified createBorrower instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated createBorrower instruction.
5
+ * Creates a BorrowerState PDA with managed token account for a borrower.
6
+ * Derives SAGE accounts (profileFaction, starbase, starbasePlayer) from
7
+ * borrowerProfile + faction automatically.
8
+ */
9
+ import { address } from '@solana/kit';
10
+ import { getCreateBorrowerInstructionAsync } from '../generated/codama/instructions';
11
+ import { mergeConfig, getAddresses } from '../utils/config';
12
+ import { toTransactionSigner } from '../utils/signer';
13
+ import { prepareInstructions } from '../utils/instructions';
14
+ import { fetchConfig } from '../accounts/config';
15
+ import { deriveGameAccounts } from '../pda/sage';
16
+ /**
17
+ * Create a borrower state account
18
+ *
19
+ * Creates a BorrowerState PDA and an associated managed token account.
20
+ * The managed token account holds ATLAS refunds from reservation knockoffs.
21
+ *
22
+ * Derives borrowerProfileFaction, starbase, and starbasePlayer PDAs
23
+ * automatically from the borrowerProfile and faction.
24
+ *
25
+ * @param params - Borrower creation parameters
26
+ * @param config - Optional SDK configuration overrides
27
+ * @returns Kit instruction (or web3.js if PublicKey in config)
28
+ */
29
+ export async function createBorrower(params, config) {
30
+ const finalConfig = mergeConfig(config);
31
+ if (!params.borrower) {
32
+ throw new Error('borrower is required');
33
+ }
34
+ if (!params.borrowerProfile) {
35
+ throw new Error('borrowerProfile is required');
36
+ }
37
+ if (params.faction === undefined || params.faction === null) {
38
+ throw new Error('faction is required (\'mud\' | \'oni\' | \'ustur\' or 1 | 2 | 3)');
39
+ }
40
+ const borrowerSigner = toTransactionSigner(params.borrower);
41
+ // Get atlasMint from on-chain config and gameId from addresses
42
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
43
+ const atlasMint = configAccount.data.atlasMint;
44
+ const addresses = getAddresses(config);
45
+ const programAddress = address(addresses.srsly);
46
+ // Derive all SAGE accounts from profile + faction
47
+ const gameAccounts = await deriveGameAccounts(address(params.borrowerProfile), params.faction, address(addresses.gameId));
48
+ const kitInstruction = await getCreateBorrowerInstructionAsync({
49
+ borrower: borrowerSigner,
50
+ mint: atlasMint,
51
+ borrowerProfile: address(params.borrowerProfile),
52
+ borrowerProfileFaction: gameAccounts.profileFaction,
53
+ starbase: gameAccounts.starbase,
54
+ starbasePlayer: gameAccounts.starbasePlayer,
55
+ }, { programAddress });
56
+ return prepareInstructions(kitInstruction, {
57
+ computeUnits: params.computeUnits,
58
+ PublicKey: finalConfig.PublicKey
59
+ });
60
+ }
61
+ //# sourceMappingURL=createBorrower.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBorrower.js","sourceRoot":"","sources":["../../../src/instructions/createBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA4BjD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,+DAA+D;IAC/D,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,kDAAkD;IAClD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC,EAC1C,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,SAAS,CAAC,MAAiB,CAAC,CACrC,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC;QAC3D,sBAAsB,EAAE,YAAY,CAAC,cAAc;QACnD,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;KAC5C,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"}
@@ -45,10 +45,18 @@ export async function createConfig(params, config) {
45
45
  if (!params.vaultTokenAccount) {
46
46
  throw new Error('vaultTokenAccount is required');
47
47
  }
48
+ if (!params.lookupTable) {
49
+ throw new Error('lookupTable is required');
50
+ }
51
+ if (params.recentSlot === undefined || params.recentSlot === null) {
52
+ throw new Error('recentSlot is required');
53
+ }
48
54
  // Get network-specific addresses
49
55
  const addresses = getAddresses(config);
50
56
  const atlasMint = address(addresses.atlasMint);
51
57
  const programAddress = address(addresses.srsly);
58
+ const sageProgram = address(addresses.sage);
59
+ const antegenProgram = address(addresses.antegen);
52
60
  // Convert authority to TransactionSigner
53
61
  // Handles both real signers (CLI/backend) and addresses (browser/wallet)
54
62
  const authoritySigner = params.authority
@@ -61,7 +69,11 @@ export async function createConfig(params, config) {
61
69
  mint: atlasMint,
62
70
  vault: address(params.vault),
63
71
  vaultTokenAccount: address(params.vaultTokenAccount),
72
+ lookupTable: address(params.lookupTable),
73
+ sageProgram,
74
+ antegenProgram,
64
75
  srslyProgram: programAddress,
76
+ recentSlot: BigInt(params.recentSlot),
65
77
  }, { programAddress });
66
78
  return prepareInstructions(kitInstruction, {
67
79
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.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;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA8B5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,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,yCAAyC;IACzC,yEAAyE;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS;QACtC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IAEd,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,YAAY,EAAE,cAAc;KAC7B,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":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.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;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,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;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,yEAAyE;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS;QACtC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IAEd,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAsB,CAAC;QACnD,WAAW;QACX,cAAc;QACd,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;KACtC,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"}
@@ -5,14 +5,19 @@
5
5
  * Handles parameter conversion and optional web3.js compatibility.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
- import { getCreateContractInstructionAsync } from '../generated/codama/instructions';
8
+ import { getCreateContractInstructionAsync, getCreateContractThreadInstructionAsync } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
- import { toTransactionSigner } from '../utils/signer';
10
+ import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
11
  import { convertAmount, stardustToAtlas } from '../params/amount';
12
12
  import { convertDuration } from '../params/duration';
13
13
  import { normalizeSchedule } from '../params/schedule';
14
+ import { convertSol } from '../params/sol';
14
15
  import { fetchFleet } from '../accounts/fleet';
16
+ import { fetchConfig } from '../accounts/config';
15
17
  import { prepareInstructions } from '../utils/instructions';
18
+ import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
19
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
20
+ import { deriveAssociatedTokenAccount } from '../pda/token';
16
21
  /**
17
22
  * Create a rental contract for a Star Atlas fleet
18
23
  *
@@ -27,34 +32,9 @@ import { prepareInstructions } from '../utils/instructions';
27
32
  * const ix = await createContract({
28
33
  * owner: wallet,
29
34
  * fleet: fleetAddress,
30
- * // ownerProfile and gameId fetched automatically from fleet
31
35
  * rate: 100,
32
- * durationMax: { days: 30 },
33
- * paymentsFreq: '@daily'
36
+ * durationMax: { days: 30 }
34
37
  * });
35
- *
36
- * // Explicit ownerProfile and gameId (skips fetch)
37
- * const ix2 = await createContract({
38
- * owner: wallet,
39
- * fleet: fleetAddress,
40
- * ownerProfile: profileAddress, // Explicitly provided
41
- * gameId: gameAddress, // Explicitly provided
42
- * rate: 100,
43
- * durationMax: { days: 30 },
44
- * paymentsFreq: '@daily'
45
- * });
46
- *
47
- * // With web3.js
48
- * import { PublicKey } from '@solana/web3.js';
49
- * setSdkConfig({ network: 'atlasnet', PublicKey });
50
- * const web3Ix = await createContract({
51
- * owner: keypair,
52
- * fleet: fleetPubkey,
53
- * rate: 100,
54
- * durationMax: { days: 30 },
55
- * paymentsFreq: '@daily'
56
- * });
57
- * // web3Ix.keys[0].pubkey is a PublicKey instance
58
38
  * ```
59
39
  */
60
40
  export async function createContract(params, config) {
@@ -73,9 +53,6 @@ export async function createContract(params, config) {
73
53
  if (!params.durationMax) {
74
54
  throw new Error('durationMax is required');
75
55
  }
76
- if (!params.paymentsFreq) {
77
- throw new Error('paymentsFreq is required');
78
- }
79
56
  // Convert owner to transaction signer
80
57
  const ownerSigner = toTransactionSigner(params.owner);
81
58
  // Fetch fleet data (source of truth for ownerProfile and gameId)
@@ -94,16 +71,20 @@ export async function createContract(params, config) {
94
71
  ? convertDuration(params.durationMin)
95
72
  : 3600; // Default 1 hour
96
73
  const durationMaxSeconds = convertDuration(params.durationMax);
97
- const normalizedSchedule = normalizeSchedule(params.paymentsFreq);
98
74
  // Validate duration logic
99
75
  if (durationMaxSeconds < durationMinSeconds) {
100
76
  throw new Error(`durationMax (${durationMaxSeconds}s) must be >= durationMin (${durationMinSeconds}s)`);
101
77
  }
102
- // Get network-specific addresses
78
+ // Get atlasMint from on-chain config
79
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
80
+ const atlasMint = configAccount.data.atlasMint;
103
81
  const addresses = getAddresses(config);
104
- const atlasMint = address(addresses.atlasMint);
105
82
  const sageProgram = address(addresses.sage);
106
83
  const programAddress = address(addresses.srsly);
84
+ // Convert cancelDelayMin duration to seconds
85
+ const cancelDelayMinSeconds = params.cancelDelayMin !== undefined
86
+ ? BigInt(convertDuration(params.cancelDelayMin))
87
+ : 1n; // Default 1 second (no instant cancel)
107
88
  // Call Codama-generated instruction
108
89
  const kitInstruction = await getCreateContractInstructionAsync({
109
90
  owner: ownerSigner,
@@ -115,11 +96,41 @@ export async function createContract(params, config) {
115
96
  rate: rateStardust,
116
97
  durationMin: BigInt(durationMinSeconds),
117
98
  durationMax: BigInt(durationMaxSeconds),
118
- paymentsFeq: normalizedSchedule,
119
99
  ownerKeyIndex: params.ownerKeyIndex ?? 0,
120
- allowInstantCancel: params.allowInstantCancel ?? false,
121
- reservationsDisabled: params.disableReservations ?? false
100
+ cancelDelayMin: cancelDelayMinSeconds,
101
+ reservationsDisabled: params.reservationsDisabled ?? true
122
102
  }, { programAddress });
103
+ // Default: bundle thread creation for automation
104
+ if (params.automated !== false) {
105
+ const paymentsFreq = normalizeSchedule(params.paymentsFreq ?? '@daily');
106
+ // Derive PDAs locally (contract doesn't exist on-chain yet)
107
+ const contractAddress = await deriveContract(params.fleet);
108
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
109
+ const rentalAuthority = await deriveRentalAuthority();
110
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
111
+ const fiber0 = await deriveFiber(contractThread, 0);
112
+ const closeRentalFiber = await deriveFiber(contractThread, 1);
113
+ const ownerAddress = getSignerAddress(params.owner);
114
+ const MINIMUM_THREAD_FUNDING = 40000000n;
115
+ const DEFAULT_EXECUTION_BUDGET = 2190000n; // 1 year daily @ 0.000006 SOL/tick
116
+ const threadIx = await getCreateContractThreadInstructionAsync({
117
+ payer: ownerSigner,
118
+ mint: atlasMint,
119
+ contract: contractAddress,
120
+ contractThread,
121
+ fiber0,
122
+ closeRentalFiber,
123
+ owner: ownerAddress,
124
+ contractTokenAccount,
125
+ sageProgram,
126
+ lamports: MINIMUM_THREAD_FUNDING + (params.threadLamports ? convertSol(params.threadLamports) : DEFAULT_EXECUTION_BUDGET),
127
+ paymentsFreq,
128
+ }, { programAddress });
129
+ return prepareInstructions([kitInstruction, threadIx], {
130
+ computeUnits: params.computeUnits,
131
+ PublicKey: finalConfig.PublicKey
132
+ });
133
+ }
123
134
  return prepareInstructions(kitInstruction, {
124
135
  computeUnits: params.computeUnits,
125
136
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,uCAAuC,EAAE,MAAM,kCAAkC,CAAC;AAC9H,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAkG5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,iEAAiE;IACjE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAEjC,qBAAqB;IACrB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhD,yDAAyD;IACzD,MAAM,iBAAiB,GAAG,UAAY,CAAC;IACvC,IAAI,YAAY,GAAG,iBAAiB,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,gEAAgE;YAChE,QAAQ,YAAY,cAAc,eAAe,CAAC,YAAY,CAAC,SAAS,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW;QAC3C,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB;IAC3B,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE/D,0BAA0B;IAC1B,IAAI,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,gBAAgB,kBAAkB,8BAA8B,kBAAkB,IAAI,CACvF,CAAC;IACJ,CAAC;IAED,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,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,6CAA6C;IAC7C,MAAM,qBAAqB,GAAG,MAAM,CAAC,cAAc,KAAK,SAAS;QAC/D,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC,CAAC,uCAAuC;IAE/C,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,YAAY,EAAE,OAAO,CAAC,YAAuB,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAiB,CAAC;QAClC,IAAI,EAAE,SAAS;QACf,WAAW;QACX,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC;QACvC,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;QACxC,cAAc,EAAE,qBAAqB;QACrC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;KAC1D,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,iDAAiD;IACjD,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC;QAExE,4DAA4D;QAC5D,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC5F,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,sBAAsB,GAAG,SAAW,CAAC;QAC3C,MAAM,wBAAwB,GAAG,QAAU,CAAC,CAAC,mCAAmC;QAChF,MAAM,QAAQ,GAAG,MAAM,uCAAuC,CAC5D;YACE,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,eAAe;YACzB,cAAc;YACd,MAAM;YACN,gBAAgB;YAChB,KAAK,EAAE,YAAY;YACnB,oBAAoB;YACpB,WAAW;YACX,QAAQ,EAAE,sBAAsB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACzH,YAAY;SACb,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,OAAO,mBAAmB,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE;YACrD,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @purpose Simplified createContractThread instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated createContractThread instruction.
5
+ * Creates a per-contract automation thread with fiber-based dispatch.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { getCreateContractThreadInstructionAsync } from '../generated/codama/instructions';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
+ import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
+ import { prepareInstructions } from '../utils/instructions';
12
+ import { fetchConfig } from '../accounts/config';
13
+ import { fetchContract } from '../accounts/contract';
14
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
15
+ import { deriveRentalAuthority } from '../pda/srsly';
16
+ import { normalizeSchedule } from '../params/schedule';
17
+ import { convertSol } from '../params/sol';
18
+ // Minimum: 3 fiber rents (~0.01 each) + thread rent (~0.01) = 0.04 SOL
19
+ const MINIMUM_THREAD_FUNDING = 40000000n;
20
+ const DEFAULT_EXECUTION_BUDGET = 2190000n; // 1 year daily @ 0.000006 SOL/tick
21
+ /**
22
+ * Create a per-contract automation thread
23
+ *
24
+ * Creates an Antegen thread with controller fiber (fiber 0, inline).
25
+ * Thread starts **paused** by default. Fiber 1 (rental_close) and
26
+ * fiber 2 (rental_activate) are created lazily when needed by
27
+ * rental_accept and rental_reserve respectively.
28
+ *
29
+ * @param params - Thread creation parameters
30
+ * @param config - Optional SDK configuration overrides
31
+ * @returns Kit instruction (or web3.js if PublicKey in config)
32
+ */
33
+ export async function createContractThread(params, config) {
34
+ const finalConfig = mergeConfig(config);
35
+ if (!params.owner) {
36
+ throw new Error('owner is required');
37
+ }
38
+ if (!params.contract) {
39
+ throw new Error('contract is required');
40
+ }
41
+ const ownerSigner = toTransactionSigner(params.owner);
42
+ const ownerAddress = getSignerAddress(params.owner);
43
+ // Get atlasMint and sage program from config
44
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
45
+ const atlasMint = configAccount.data.atlasMint;
46
+ const addresses = getAddresses(config);
47
+ const programAddress = address(addresses.srsly);
48
+ // Fetch contract to get managed_token_account
49
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
50
+ const contractAddress = address(params.contract);
51
+ // Derive thread and fiber PDAs
52
+ const rentalAuthority = await deriveRentalAuthority();
53
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
54
+ const fiber0 = await deriveFiber(contractThread, 0);
55
+ const closeRentalFiber = await deriveFiber(contractThread, 1);
56
+ // Normalize schedule to cron string
57
+ const paymentsFreq = normalizeSchedule(params.paymentsFreq);
58
+ const kitInstruction = await getCreateContractThreadInstructionAsync({
59
+ payer: ownerSigner,
60
+ mint: atlasMint,
61
+ contract: contractAddress,
62
+ contractThread,
63
+ fiber0,
64
+ closeRentalFiber,
65
+ owner: ownerAddress,
66
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
67
+ sageProgram: address(addresses.sage),
68
+ lamports: MINIMUM_THREAD_FUNDING + (params.lamports ? convertSol(params.lamports) : DEFAULT_EXECUTION_BUDGET),
69
+ paymentsFreq,
70
+ }, { programAddress });
71
+ return prepareInstructions(kitInstruction, {
72
+ computeUnits: params.computeUnits,
73
+ PublicKey: finalConfig.PublicKey
74
+ });
75
+ }
76
+ //# sourceMappingURL=createContractThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContractThread.js","sourceRoot":"","sources":["../../../src/instructions/createContractThread.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * @purpose Simplified deleteBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated deleteBorrower instruction.
5
- * Allows admin OR borrower to delete borrower state for schema migrations.
6
- * Returns lamports to the borrower. Next rental will lazy-init fresh state.
5
+ * Admin-only instruction to delete borrower state for schema migrations.
6
+ * Uses UncheckedAccount to bypass deserialization for old-format accounts.
7
7
  */
8
8
  import { address } from '@solana/kit';
9
9
  import { getDeleteBorrowerInstructionAsync } from '../generated/codama/instructions';
@@ -11,10 +11,11 @@ import { mergeConfig, getAddresses } from '../utils/config';
11
11
  import { toTransactionSigner } from '../utils/signer';
12
12
  import { prepareInstructions } from '../utils/instructions';
13
13
  /**
14
- * Delete borrower state (admin only)
14
+ * Delete borrower state (admin-only for schema migrations)
15
15
  *
16
- * Used for schema migrations when BorrowerState structure changes.
17
- * Returns lamports to the borrower. Next rental will lazy-init fresh state.
16
+ * Used to delete old-format BorrowerState accounts that can't be deserialized
17
+ * with the current struct layout. Returns lamports to the borrower wallet.
18
+ * Uses UncheckedAccount to bypass deserialization.
18
19
  *
19
20
  * @param params - Delete borrower parameters
20
21
  * @param config - Optional SDK configuration overrides
@@ -22,32 +23,31 @@ import { prepareInstructions } from '../utils/instructions';
22
23
  *
23
24
  * @example
24
25
  * ```typescript
25
- * // Admin deletes borrower state for migration
26
26
  * const ix = await deleteBorrower({
27
27
  * admin: adminWallet,
28
- * borrower: "BORROWER_WALLET_ADDRESS"
28
+ * borrower: "BORROWER_WALLET_ADDRESS",
29
+ * borrowerState: "BORROWER_STATE_PDA_ADDRESS"
29
30
  * });
30
31
  * ```
31
32
  */
32
33
  export async function deleteBorrower(params, config) {
33
- // Merge config
34
34
  const finalConfig = mergeConfig(config);
35
- // Validate required params
36
35
  if (!params.admin) {
37
36
  throw new Error('admin is required');
38
37
  }
39
38
  if (!params.borrower) {
40
39
  throw new Error('borrower is required');
41
40
  }
42
- // Convert admin to transaction signer
41
+ if (!params.borrowerState) {
42
+ throw new Error('borrowerState is required');
43
+ }
43
44
  const adminSigner = toTransactionSigner(params.admin);
44
- // Get network-specific addresses
45
45
  const addresses = getAddresses(config);
46
46
  const programAddress = address(addresses.srsly);
47
- // Call Codama-generated instruction
48
47
  const kitInstruction = await getDeleteBorrowerInstructionAsync({
49
48
  admin: adminSigner,
50
- borrower: address(params.borrower)
49
+ borrower: address(params.borrower),
50
+ borrowerState: address(params.borrowerState),
51
51
  }, { programAddress });
52
52
  return prepareInstructions(kitInstruction, {
53
53
  computeUnits: params.computeUnits,