@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
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose Simplified claimContract instruction wrapper
4
+ *
5
+ * Thin convenience wrapper around Codama-generated claimContract instruction.
6
+ * Permissionless — anyone can trigger, but tokens always go to the owner's ATA.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.claimContract = claimContract;
10
+ const kit_1 = require("@solana/kit");
11
+ const instructions_1 = require("../generated/codama/instructions");
12
+ const config_1 = require("../utils/config");
13
+ const signer_1 = require("../utils/signer");
14
+ const instructions_2 = require("../utils/instructions");
15
+ const config_2 = require("../accounts/config");
16
+ const contract_1 = require("../accounts/contract");
17
+ /**
18
+ * Claim contract ATLAS earnings
19
+ *
20
+ * Permissionless — anyone can trigger, but tokens always go to the
21
+ * contract owner's ATA (derived from contract state).
22
+ *
23
+ * @param params - Contract claim parameters
24
+ * @param config - Optional SDK configuration overrides
25
+ * @returns Kit instruction (or web3.js if PublicKey in config)
26
+ */
27
+ async function claimContract(params, config) {
28
+ const finalConfig = (0, config_1.mergeConfig)(config);
29
+ if (!params.payer) {
30
+ throw new Error('payer is required');
31
+ }
32
+ if (!params.contract) {
33
+ throw new Error('contract is required');
34
+ }
35
+ const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
36
+ // Get atlasMint from on-chain config
37
+ const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
38
+ const atlasMint = configAccount.data.atlasMint;
39
+ const addresses = (0, config_1.getAddresses)(config);
40
+ const programAddress = (0, kit_1.address)(addresses.srsly);
41
+ // Fetch contract to get owner and contractTokenAccount
42
+ const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
43
+ const contractAddress = (0, kit_1.address)(params.contract);
44
+ const kitInstruction = await (0, instructions_1.getClaimContractInstructionAsync)({
45
+ payer: payerSigner,
46
+ owner: contractAccount.data.owner,
47
+ mint: atlasMint,
48
+ contract: contractAddress,
49
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
50
+ }, { programAddress });
51
+ return (0, instructions_2.prepareInstructions)(kitInstruction, {
52
+ computeUnits: params.computeUnits,
53
+ PublicKey: finalConfig.PublicKey
54
+ });
55
+ }
56
+ //# sourceMappingURL=claimContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimContract.js","sourceRoot":"","sources":["../../../src/instructions/claimContract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyCH,sCAwCC;AA/ED,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,+CAAiD;AACjD,mDAAqD;AAuBrD;;;;;;;;;GASG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,uDAAuD;IACvD,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK;QACjC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,oBAAoB,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB;KAC/D,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose Simplified claimRental instruction wrapper
4
+ *
5
+ * Thin convenience wrapper around Codama-generated claimRental instruction.
6
+ * Claims a rental slot as the crowned winner while fleet is currently rented.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.claimRental = claimRental;
10
+ const kit_1 = require("@solana/kit");
11
+ const rpc_1 = require("../utils/rpc");
12
+ const instructions_1 = require("../generated/codama/instructions");
13
+ const config_1 = require("../utils/config");
14
+ const signer_1 = require("../utils/signer");
15
+ const amount_1 = require("../params/amount");
16
+ const duration_1 = require("../params/duration");
17
+ const fleet_1 = require("../accounts/fleet");
18
+ const contract_1 = require("../accounts/contract");
19
+ const config_2 = require("../accounts/config");
20
+ const sage_1 = require("../pda/sage");
21
+ const srsly_1 = require("../pda/srsly");
22
+ const token_1 = require("../pda/token");
23
+ const thread_1 = require("../pda/thread");
24
+ const instructions_2 = require("../utils/instructions");
25
+ const accounts_1 = require("../generated/codama/accounts");
26
+ const discountAuth_1 = require("../utils/discountAuth");
27
+ /**
28
+ * Claim a rental slot as the crowned winner
29
+ *
30
+ * This instruction is EXCLUSIVELY for crowned winners (reservation holders)
31
+ * to queue for the next rental while the fleet is currently rented.
32
+ * Others must wait for rental_accept when the claim window expires.
33
+ *
34
+ * This function automatically fetches the contract and config to get required
35
+ * data (fleet, vault), fetches fleet for faction, and derives SAGE starbase accounts.
36
+ *
37
+ * @param params - Rental claim parameters
38
+ * @param config - Optional SDK configuration overrides
39
+ * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * // Claim a 7-day rental slot
44
+ * const ixs = await claimRental({
45
+ * borrower: wallet,
46
+ * contract: "CONTRACT_ADDRESS",
47
+ * duration: { days: 7 },
48
+ * computeUnits: 400_000
49
+ * });
50
+ *
51
+ * // With automate (or contract.automationRequired)
52
+ * const ixs2 = await claimRental({
53
+ * borrower: wallet,
54
+ * contract: "CONTRACT_ADDRESS",
55
+ * duration: { days: 7 },
56
+ * automate: true,
57
+ * computeUnits: 600_000
58
+ * });
59
+ * ```
60
+ */
61
+ async function claimRental(params, config) {
62
+ // Merge config
63
+ const finalConfig = (0, config_1.mergeConfig)(config);
64
+ // Validate required params
65
+ if (!params.borrower) {
66
+ throw new Error('borrower is required');
67
+ }
68
+ if (!params.contract) {
69
+ throw new Error('contract is required');
70
+ }
71
+ if (!params.duration) {
72
+ throw new Error('duration is required');
73
+ }
74
+ // Convert borrower to transaction signer
75
+ const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
76
+ // Try to fetch borrowerProfile from existing borrower_state, fallback to param
77
+ let borrowerProfile;
78
+ try {
79
+ const borrowerStateAddress = await (0, srsly_1.deriveBorrowerState)(borrowerSigner.address);
80
+ const rpc = (0, rpc_1.createRpc)(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
81
+ const borrowerState = await (0, accounts_1.fetchBorrowerState)(rpc, borrowerStateAddress);
82
+ const profileOption = borrowerState.data.borrowerProfile;
83
+ if (profileOption && typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'Some') {
84
+ // borrower_state exists and has profile set - use it
85
+ borrowerProfile = profileOption.value;
86
+ }
87
+ else if (params.borrowerProfile) {
88
+ // borrower_state exists but no profile - use provided param
89
+ borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
90
+ }
91
+ else {
92
+ throw new Error('borrowerProfile is required when not set in borrower_state');
93
+ }
94
+ }
95
+ catch (e) {
96
+ // borrower_state doesn't exist yet - require param for first-time borrowers
97
+ if (params.borrowerProfile) {
98
+ borrowerProfile = (0, kit_1.address)(params.borrowerProfile);
99
+ }
100
+ else {
101
+ throw new Error('borrowerProfile is required for first-time borrowers');
102
+ }
103
+ }
104
+ // Fetch config to get vault
105
+ const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
106
+ const vault = configAccount.data.slyvault;
107
+ // Fetch contract to get fleet, gameId
108
+ const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
109
+ const fleet = contractAccount.data.fleet;
110
+ const gameId = contractAccount.data.gameId;
111
+ // Client-side rate safety check
112
+ if (params.rate != null) {
113
+ const expectedRate = (0, amount_1.convertAmount)(params.rate);
114
+ const contractRate = BigInt(contractAccount.data.rate);
115
+ if (expectedRate !== contractRate) {
116
+ throw new Error(`Contract rate mismatch: expected ${expectedRate} stardust but contract has ${contractRate} stardust. The rate may have changed since you last fetched it.`);
117
+ }
118
+ }
119
+ // Fetch fleet data for faction (needed to derive SAGE accounts)
120
+ const fleetState = await (0, fleet_1.fetchFleet)(fleet, finalConfig.rpcUrl);
121
+ const faction = fleetState.faction;
122
+ // Derive SAGE game accounts (starbase, starbase player)
123
+ const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfile, faction, gameId);
124
+ // Determine which slot is free
125
+ // claim_rental requires one slot occupied, one free
126
+ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
127
+ const slot0Empty = contractAccount.data.rentalSlot0 === SYSTEM_PROGRAM_ID;
128
+ const slot1Empty = contractAccount.data.rentalSlot1 === SYSTEM_PROGRAM_ID;
129
+ // Use the free slot (slot 0 if empty, else slot 1)
130
+ const rentalSlot = slot0Empty ? 0 : 1;
131
+ const otherSlot = slot0Empty ? 1 : 0;
132
+ // Derive rental and rental authority PDAs
133
+ const rental = await (0, srsly_1.deriveRental)(params.contract, rentalSlot);
134
+ const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
135
+ // Derive rental thread for automated payments
136
+ const rentalThread = await (0, thread_1.deriveRentalThread)(rental, rentalAuthority);
137
+ // Derive queued thread for the other slot
138
+ const otherSlotRental = await (0, srsly_1.deriveRental)(params.contract, otherSlot);
139
+ const queuedThread = await (0, thread_1.deriveRentalThread)(otherSlotRental, rentalAuthority);
140
+ // Convert duration parameter
141
+ const durationSeconds = (0, duration_1.convertDuration)(params.duration);
142
+ // Get network-specific addresses (atlasMint sourced from on-chain config)
143
+ const atlasMint = configAccount.data.atlasMint;
144
+ const addresses = (0, config_1.getAddresses)(config);
145
+ const sageProgram = (0, kit_1.address)(addresses.sage);
146
+ const programAddress = (0, kit_1.address)(addresses.srsly);
147
+ // Deserialize discount auth if provided
148
+ let discountAuth = null;
149
+ if (params.discountAuth) {
150
+ discountAuth = (0, discountAuth_1.deserializeDiscountAuth)(params.discountAuth);
151
+ }
152
+ const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
153
+ // Determine if we need to include scheduleRental
154
+ // Either explicitly requested or contract requires automation
155
+ const shouldSchedule = params.automate || contractAccount.data.automationRequired;
156
+ // Derive vault token account (ATA)
157
+ const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vault, atlasMint);
158
+ // Call Codama-generated claimRental instruction
159
+ const claimRentalIx = await (0, instructions_1.getClaimRentalInstructionAsync)({
160
+ borrower: borrowerSigner,
161
+ contract: (0, kit_1.address)(params.contract),
162
+ rentalState: rental,
163
+ fleet: (0, kit_1.address)(fleet),
164
+ starbase: gameAccounts.starbase,
165
+ starbasePlayer: gameAccounts.starbasePlayer,
166
+ borrowerProfile,
167
+ vault: (0, kit_1.address)(vault),
168
+ vaultTokenAccount,
169
+ referrer,
170
+ mint: atlasMint,
171
+ duration: BigInt(durationSeconds),
172
+ rentalSlot,
173
+ discountAuth
174
+ }, { programAddress });
175
+ // If auto-schedule is enabled, bundle scheduleRental instruction
176
+ if (shouldSchedule) {
177
+ const scheduleRentalIx = await (0, instructions_1.getScheduleRentalInstructionAsync)({
178
+ payer: borrowerSigner,
179
+ mint: atlasMint,
180
+ contract: (0, kit_1.address)(params.contract),
181
+ fleet: (0, kit_1.address)(fleet),
182
+ rentalState: rental,
183
+ rentalThread,
184
+ queuedThread,
185
+ borrowerProfileFaction: gameAccounts.profileFaction,
186
+ sageProgram,
187
+ rentalSlot,
188
+ }, { programAddress });
189
+ // Return both instructions as array
190
+ return (0, instructions_2.prepareInstructions)([claimRentalIx, scheduleRentalIx], {
191
+ computeUnits: params.computeUnits,
192
+ PublicKey: finalConfig.PublicKey
193
+ });
194
+ }
195
+ // Prepare single instruction with optional compute budget and web3.js conversion
196
+ return (0, instructions_2.prepareInstructions)(claimRentalIx, {
197
+ computeUnits: params.computeUnits,
198
+ PublicKey: finalConfig.PublicKey
199
+ });
200
+ }
201
+ //# sourceMappingURL=claimRental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimRental.js","sourceRoot":"","sources":["../../../src/instructions/claimRental.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  * @purpose Simplified closeBorrower instruction wrapper
4
4
  *
5
5
  * Thin convenience wrapper around Codama-generated closeBorrower instruction.
6
- * Closes the borrower account and reclaims rent.
6
+ * Closes a borrower's managed token account and BorrowerState.
7
+ * Requires no active rentals and zero managed ATA balance (claim first).
7
8
  */
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  exports.closeBorrower = closeBorrower;
@@ -12,13 +13,15 @@ const instructions_1 = require("../generated/codama/instructions");
12
13
  const config_1 = require("../utils/config");
13
14
  const signer_1 = require("../utils/signer");
14
15
  const instructions_2 = require("../utils/instructions");
15
- const srsly_1 = require("../pda/srsly");
16
+ const config_2 = require("../accounts/config");
16
17
  /**
17
- * Close borrower account
18
+ * Close a borrower's managed token account and BorrowerState
18
19
  *
19
- * Closes the borrower account and reclaims rent.
20
+ * Closes the managed ATA and BorrowerState PDA, returning lamports to the
21
+ * borrower wallet. Requires no active rentals and zero managed ATA balance.
22
+ * Call claimBorrower first to withdraw any remaining ATLAS.
20
23
  *
21
- * This function automatically derives the borrower state PDA.
24
+ * Permissionless anyone can trigger since lamports always go to the borrower.
22
25
  *
23
26
  * @param params - Close borrower parameters
24
27
  * @param config - Optional SDK configuration overrides
@@ -26,31 +29,26 @@ const srsly_1 = require("../pda/srsly");
26
29
  *
27
30
  * @example
28
31
  * ```typescript
29
- * // Close borrower account
30
- * const ix = await closeBorrower({
31
- * borrower: borrowerWallet
32
- * });
32
+ * const ix = await closeBorrower({ payer: borrowerWallet });
33
33
  * ```
34
34
  */
35
35
  async function closeBorrower(params, config) {
36
- // Merge config
37
36
  const finalConfig = (0, config_1.mergeConfig)(config);
38
- // Validate required params
39
- if (!params.borrower) {
40
- throw new Error('borrower is required');
37
+ if (!params.payer) {
38
+ throw new Error('payer is required');
41
39
  }
42
- // Convert borrower to transaction signer
43
- const borrowerSigner = (0, signer_1.toTransactionSigner)(params.borrower);
44
- const borrowerAddress = (0, signer_1.getSignerAddress)(borrowerSigner);
45
- // Get network-specific addresses
40
+ const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
41
+ const borrowerAddress = params.borrower
42
+ ? (0, kit_1.address)(params.borrower)
43
+ : (0, signer_1.getSignerAddress)(payerSigner);
44
+ const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
45
+ const atlasMint = configAccount.data.atlasMint;
46
46
  const addresses = (0, config_1.getAddresses)(config);
47
47
  const programAddress = (0, kit_1.address)(addresses.srsly);
48
- // Derive borrower state PDA
49
- const borrowerState = await (0, srsly_1.deriveBorrowerState)(borrowerAddress);
50
- // Call Codama-generated instruction (sync version - no async derivation)
51
- const kitInstruction = (0, instructions_1.getCloseBorrowerInstruction)({
52
- borrower: borrowerSigner,
53
- borrowerState,
48
+ const kitInstruction = await (0, instructions_1.getCloseBorrowerInstructionAsync)({
49
+ payer: payerSigner,
50
+ borrower: borrowerAddress,
51
+ mint: atlasMint,
54
52
  }, { programAddress });
55
53
  return (0, instructions_2.prepareInstructions)(kitInstruction, {
56
54
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8CH,sCAoCC;AAhFD,qCAAoD;AACpD,mEAA+E;AAC/E,4CAA4E;AAC5E,4CAA8F;AAE9F,wDAA4D;AAC5D,wCAAmD;AAmBnD;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,IAAA,yBAAgB,EAAC,cAAc,CAAC,CAAC;IAEzD,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAmB,EAAC,eAAe,CAAC,CAAC;IAEjE,yEAAyE;IACzE,MAAM,cAAc,GAAG,IAAA,0CAA2B,EAChD;QACE,QAAQ,EAAE,cAAc;QACxB,aAAa;KACd,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAkDH,sCAkCC;AAlFD,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA8F;AAC9F,wDAA4D;AAC5D,+CAAiD;AAyBjD;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,IAAA,yBAAgB,EAAC,WAAW,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -5,13 +5,52 @@
5
5
  * Thin convenience wrapper around Codama-generated closeContract instruction.
6
6
  * Closes a contract with no active rentals and claims remaining payments.
7
7
  */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
8
41
  Object.defineProperty(exports, "__esModule", { value: true });
9
42
  exports.closeContract = closeContract;
10
43
  const kit_1 = require("@solana/kit");
11
44
  const instructions_1 = require("../generated/codama/instructions");
45
+ const thread_1 = require("../generated/codama/accounts/thread");
12
46
  const config_1 = require("../utils/config");
13
47
  const signer_1 = require("../utils/signer");
14
48
  const contract_1 = require("../accounts/contract");
49
+ const config_2 = require("../accounts/config");
50
+ const token_1 = require("../pda/token");
51
+ const srsly_1 = require("../pda/srsly");
52
+ const thread_2 = require("../pda/thread");
53
+ const rpc_1 = require("../utils/rpc");
15
54
  const instructions_2 = require("../utils/instructions");
16
55
  /**
17
56
  * Close a rental contract
@@ -20,9 +59,13 @@ const instructions_2 = require("../utils/instructions");
20
59
  * accounts don't exist, they will be created temporarily before being closed.
21
60
  * This allows recovery from partial failures during previous close attempts.
22
61
  *
23
- * Contract must have no active rentals. Claims all remaining payments
24
- * from the contract's token account, invalidates the rental in SAGE,
25
- * and closes the contract account.
62
+ * Two-phase close behavior:
63
+ * - **No active/queued rental**: Thread close is prepended automatically,
64
+ * then contract_close fires immediate full close.
65
+ * - **Active or queued rental**: Only contract_close is sent, which sets
66
+ * `to_close = true`. The thread stays alive to settle escrow, chain to
67
+ * `rental_close` (fiber 1), and self-close via `Signal::Close` in
68
+ * `contract_process`.
26
69
  *
27
70
  * @param params - Contract closing parameters
28
71
  * @param config - Optional SDK configuration overrides
@@ -34,25 +77,19 @@ const instructions_2 = require("../utils/instructions");
34
77
  * const ix = await closeContract({
35
78
  * owner: wallet,
36
79
  * fleet: fleetAddress
37
- * // contract derived from fleet PDA
38
- * // Works even if contract doesn't exist (init_if_needed)
39
80
  * });
40
81
  *
41
82
  * // Option 2: Provide contract only (contract MUST exist)
42
83
  * const ix2 = await closeContract({
43
84
  * owner: wallet,
44
85
  * contract: contractAddress
45
- * // fleet fetched from contract.fleet
46
- * // REQUIRES contract to already exist
47
86
  * });
48
87
  *
49
88
  * // Option 3: Provide both (most explicit, no fetching)
50
89
  * const ix3 = await closeContract({
51
90
  * owner: wallet,
52
91
  * fleet: fleetAddress,
53
- * contract: contractAddress,
54
- * sageProgram: customSageProgram, // Optional
55
- * destinationTokenAccount: customTokenAccount // Optional
92
+ * contract: contractAddress
56
93
  * });
57
94
  * ```
58
95
  */
@@ -68,9 +105,10 @@ async function closeContract(params, config) {
68
105
  }
69
106
  // Convert owner to transaction signer
70
107
  const ownerSigner = (0, signer_1.toTransactionSigner)(params.owner);
71
- // Get network-specific addresses
108
+ // Get atlasMint from on-chain config
109
+ const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
110
+ const atlasMint = configAccount.data.atlasMint;
72
111
  const addresses = (0, config_1.getAddresses)(config);
73
- const atlasMint = (0, kit_1.address)(addresses.atlasMint);
74
112
  const programAddress = (0, kit_1.address)(addresses.srsly);
75
113
  // Resolve fleet and contract addresses
76
114
  let fleetAddress;
@@ -83,36 +121,73 @@ async function closeContract(params, config) {
83
121
  else if (params.fleet) {
84
122
  // Only fleet provided - derive contract from fleet PDA
85
123
  fleetAddress = (0, kit_1.address)(params.fleet);
86
- contractAddress = undefined; // Will be derived on-chain
124
+ contractAddress = await (0, srsly_1.deriveContract)(fleetAddress, programAddress);
87
125
  }
88
126
  else if (params.contract) {
89
127
  // Only contract provided - fetch contract to get fleet
90
- const contract = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
91
- fleetAddress = contract.data.fleet;
92
128
  contractAddress = (0, kit_1.address)(params.contract);
93
129
  }
94
130
  else {
95
131
  // Should never reach here due to validation above
96
132
  throw new Error('Either fleet or contract must be provided');
97
133
  }
134
+ // Always fetch contract — needed for fleet (if not provided) and thread check
135
+ const contractAccount = await (0, contract_1.fetchContract)(contractAddress, finalConfig.rpcUrl);
136
+ if (!params.fleet) {
137
+ fleetAddress = contractAccount.data.fleet;
138
+ }
98
139
  // Get sageProgram from config if not provided
99
140
  const sageProgram = params.sageProgram
100
141
  ? (0, kit_1.address)(params.sageProgram)
101
142
  : (0, kit_1.address)(addresses.sage);
102
- // Optional destination token account
103
- const destinationTokenAccount = params.destinationTokenAccount
104
- ? (0, kit_1.address)(params.destinationTokenAccount)
105
- : undefined;
143
+ // Derive contract token account (ATA of contract PDA for ATLAS)
144
+ const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
145
+ // Check if contract has an automation thread that needs closing first
146
+ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
147
+ const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
148
+ let hasActiveRental = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
149
+ || contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
150
+ // If active rental is expired (and no queued), treat as closeable immediately
151
+ if (hasActiveRental && contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
152
+ && contractAccount.data.queuedRental === SYSTEM_PROGRAM_ID) {
153
+ const { fetchRental } = await Promise.resolve().then(() => __importStar(require('../accounts/rental')));
154
+ const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
155
+ const now = Math.floor(Date.now() / 1000);
156
+ if (activeRental.data.endTime <= BigInt(now)) {
157
+ hasActiveRental = false;
158
+ }
159
+ }
160
+ let threadCloseIx;
161
+ if (hasThread && !hasActiveRental) {
162
+ const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
163
+ const contractThread = await (0, thread_2.deriveContractThread)(contractAddress, rentalAuthority);
164
+ // Fetch thread to get fiber IDs for remaining accounts
165
+ const rpc = (0, rpc_1.createRpc)((0, config_1.getRpcUrl)(config));
166
+ const threadAccount = await (0, thread_1.fetchThread)(rpc, contractThread);
167
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
168
+ // Derive fiber PDAs
169
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
170
+ address: await (0, thread_2.deriveFiber)(contractThread, id),
171
+ role: kit_1.AccountRole.WRITABLE,
172
+ })));
173
+ threadCloseIx = await (0, instructions_1.getCloseContractThreadInstructionAsync)({
174
+ owner: ownerSigner,
175
+ contract: contractAddress,
176
+ thread: contractThread,
177
+ }, { programAddress });
178
+ threadCloseIx.accounts.push(...fiberAccounts);
179
+ }
106
180
  // Call Codama-generated instruction
107
181
  const kitInstruction = await (0, instructions_1.getCloseContractInstructionAsync)({
108
182
  owner: ownerSigner,
109
183
  contract: contractAddress,
110
184
  mint: atlasMint,
111
- destinationTokenAccount,
112
185
  fleet: fleetAddress,
186
+ contractTokenAccount: contractTokenAccount,
113
187
  sageProgram,
114
188
  }, { programAddress });
115
- return (0, instructions_2.prepareInstructions)(kitInstruction, {
189
+ const instructions = threadCloseIx ? [threadCloseIx, kitInstruction] : kitInstruction;
190
+ return (0, instructions_2.prepareInstructions)(instructions, {
116
191
  computeUnits: params.computeUnits,
117
192
  PublicKey: finalConfig.PublicKey
118
193
  });
@@ -1 +1 @@
1
- {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+FH,sCAwEC;AArKD,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA4E;AAE5E,mDAAqD;AACrD,wDAA4D;AA4C5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,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,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,uCAAuC;IACvC,IAAI,YAAqB,CAAC;IAC1B,IAAI,eAAoC,CAAC;IAEzC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,4BAA4B;QAC5B,YAAY,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAChD,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,uDAAuD;QACvD,YAAY,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC,CAAC;QAChD,eAAe,GAAG,SAAS,CAAC,CAAC,2BAA2B;IAC1D,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1E,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,kDAAkD;QAClD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,8CAA8C;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;QACpC,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,WAAsB,CAAC;QACxC,CAAC,CAAC,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IAEvC,qCAAqC;IACrC,MAAM,uBAAuB,GAAG,MAAM,CAAC,uBAAuB;QAC5D,CAAC,CAAC,IAAA,aAAO,EAAC,MAAM,CAAC,uBAAkC,CAAC;QACpD,CAAC,CAAC,SAAS,CAAC;IAEd,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;QACf,uBAAuB;QACvB,KAAK,EAAE,YAAY;QACnB,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose Simplified closeContractThread instruction wrapper
4
+ *
5
+ * Thin convenience wrapper around Codama-generated closeContractThread instruction.
6
+ * Closes a per-contract automation thread and reclaims rent.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.closeContractThread = closeContractThread;
10
+ const kit_1 = require("@solana/kit");
11
+ const instructions_1 = require("../generated/codama/instructions");
12
+ const thread_1 = require("../generated/codama/accounts/thread");
13
+ const config_1 = require("../utils/config");
14
+ const signer_1 = require("../utils/signer");
15
+ const instructions_2 = require("../utils/instructions");
16
+ const rpc_1 = require("../utils/rpc");
17
+ const thread_2 = require("../pda/thread");
18
+ const srsly_1 = require("../pda/srsly");
19
+ /**
20
+ * Close a per-contract automation thread
21
+ *
22
+ * Closes the Antegen thread and all fiber PDAs, reclaiming rent to the owner.
23
+ * Fetches the thread account to read `fiberIds`, then derives and passes only
24
+ * the fibers that actually exist as remaining accounts.
25
+ *
26
+ * @param params - Thread closing parameters
27
+ * @param config - Optional SDK configuration overrides
28
+ * @returns Kit instruction (or web3.js if PublicKey in config)
29
+ */
30
+ async function closeContractThread(params, config) {
31
+ const finalConfig = (0, config_1.mergeConfig)(config);
32
+ if (!params.owner) {
33
+ throw new Error('owner is required');
34
+ }
35
+ if (!params.contract) {
36
+ throw new Error('contract is required');
37
+ }
38
+ const ownerSigner = (0, signer_1.toTransactionSigner)(params.owner);
39
+ const addresses = (0, config_1.getAddresses)(config);
40
+ const programAddress = (0, kit_1.address)(addresses.srsly);
41
+ const contractAddress = (0, kit_1.address)(params.contract);
42
+ // Derive thread PDA
43
+ const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
44
+ const contractThread = await (0, thread_2.deriveContractThread)(contractAddress, rentalAuthority);
45
+ // Fetch thread account to read actual fiber_ids
46
+ const rpc = (0, rpc_1.createRpc)((0, config_1.getRpcUrl)(config));
47
+ const threadAccount = await (0, thread_1.fetchThread)(rpc, contractThread);
48
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
49
+ // Derive fiber PDAs only for fibers that actually exist on the thread
50
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
51
+ address: await (0, thread_2.deriveFiber)(contractThread, id),
52
+ role: kit_1.AccountRole.WRITABLE,
53
+ })));
54
+ const kitInstruction = await (0, instructions_1.getCloseContractThreadInstructionAsync)({
55
+ owner: ownerSigner,
56
+ contract: contractAddress,
57
+ thread: contractThread,
58
+ }, { programAddress });
59
+ // Add fiber PDAs as remaining accounts (writable, non-signer)
60
+ kitInstruction.accounts.push(...fiberAccounts);
61
+ return (0, instructions_2.prepareInstructions)(kitInstruction, {
62
+ computeUnits: params.computeUnits,
63
+ PublicKey: finalConfig.PublicKey
64
+ });
65
+ }
66
+ //# sourceMappingURL=closeContractThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeContractThread.js","sourceRoot":"","sources":["../../../src/instructions/closeContractThread.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA2CH,kDAmDC;AA5FD,qCAAiE;AACjE,mEAA0F;AAC1F,gEAAkE;AAClE,4CAAuF;AACvF,4CAA4E;AAC5E,wDAA4D;AAC5D,sCAAyC;AACzC,0CAAkE;AAClE,wCAAqD;AAsBrD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAiC,EACjC,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAoB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,gDAAgD;IAChD,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,iBAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,qDAAsC,EACjE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}