@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,53 @@
1
+ /**
2
+ * @purpose Simplified claimContract instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated claimContract instruction.
5
+ * Permissionless — anyone can trigger, but tokens always go to the owner's ATA.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { getClaimContractInstructionAsync } from '../generated/codama/instructions';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
+ import { toTransactionSigner } from '../utils/signer';
11
+ import { prepareInstructions } from '../utils/instructions';
12
+ import { fetchConfig } from '../accounts/config';
13
+ import { fetchContract } from '../accounts/contract';
14
+ /**
15
+ * Claim contract ATLAS earnings
16
+ *
17
+ * Permissionless — anyone can trigger, but tokens always go to the
18
+ * contract owner's ATA (derived from contract state).
19
+ *
20
+ * @param params - Contract claim parameters
21
+ * @param config - Optional SDK configuration overrides
22
+ * @returns Kit instruction (or web3.js if PublicKey in config)
23
+ */
24
+ export async function claimContract(params, config) {
25
+ const finalConfig = mergeConfig(config);
26
+ if (!params.payer) {
27
+ throw new Error('payer is required');
28
+ }
29
+ if (!params.contract) {
30
+ throw new Error('contract is required');
31
+ }
32
+ const payerSigner = toTransactionSigner(params.payer);
33
+ // Get atlasMint from on-chain config
34
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
35
+ const atlasMint = configAccount.data.atlasMint;
36
+ const addresses = getAddresses(config);
37
+ const programAddress = address(addresses.srsly);
38
+ // Fetch contract to get owner and contractTokenAccount
39
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
40
+ const contractAddress = address(params.contract);
41
+ const kitInstruction = await getClaimContractInstructionAsync({
42
+ payer: payerSigner,
43
+ owner: contractAccount.data.owner,
44
+ mint: atlasMint,
45
+ contract: contractAddress,
46
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
47
+ }, { programAddress });
48
+ return prepareInstructions(kitInstruction, {
49
+ computeUnits: params.computeUnits,
50
+ PublicKey: finalConfig.PublicKey
51
+ });
52
+ }
53
+ //# sourceMappingURL=claimContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimContract.js","sourceRoot":"","sources":["../../../src/instructions/claimContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuBrD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,uDAAuD;IACvD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK;QACjC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,oBAAoB,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB;KAC/D,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * @purpose Simplified claimRental instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated claimRental instruction.
5
+ * Claims a rental slot as the crowned winner while fleet is currently rented.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { createRpc } from '../utils/rpc';
9
+ import { getClaimRentalInstructionAsync, getScheduleRentalInstructionAsync } from '../generated/codama/instructions';
10
+ import { mergeConfig, getAddresses } from '../utils/config';
11
+ import { toTransactionSigner } from '../utils/signer';
12
+ import { convertAmount } from '../params/amount';
13
+ import { convertDuration } from '../params/duration';
14
+ import { fetchFleet } from '../accounts/fleet';
15
+ import { fetchContract } from '../accounts/contract';
16
+ import { fetchConfig } from '../accounts/config';
17
+ import { deriveGameAccounts } from '../pda/sage';
18
+ import { deriveRental, deriveRentalAuthority, deriveBorrowerState } from '../pda/srsly';
19
+ import { deriveAssociatedTokenAccount } from '../pda/token';
20
+ import { deriveRentalThread } from '../pda/thread';
21
+ import { prepareInstructions } from '../utils/instructions';
22
+ import { fetchBorrowerState } from '../generated/codama/accounts';
23
+ import { deserializeDiscountAuth } from '../utils/discountAuth';
24
+ /**
25
+ * Claim a rental slot as the crowned winner
26
+ *
27
+ * This instruction is EXCLUSIVELY for crowned winners (reservation holders)
28
+ * to queue for the next rental while the fleet is currently rented.
29
+ * Others must wait for rental_accept when the claim window expires.
30
+ *
31
+ * This function automatically fetches the contract and config to get required
32
+ * data (fleet, vault), fetches fleet for faction, and derives SAGE starbase accounts.
33
+ *
34
+ * @param params - Rental claim parameters
35
+ * @param config - Optional SDK configuration overrides
36
+ * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Claim a 7-day rental slot
41
+ * const ixs = await claimRental({
42
+ * borrower: wallet,
43
+ * contract: "CONTRACT_ADDRESS",
44
+ * duration: { days: 7 },
45
+ * computeUnits: 400_000
46
+ * });
47
+ *
48
+ * // With automate (or contract.automationRequired)
49
+ * const ixs2 = await claimRental({
50
+ * borrower: wallet,
51
+ * contract: "CONTRACT_ADDRESS",
52
+ * duration: { days: 7 },
53
+ * automate: true,
54
+ * computeUnits: 600_000
55
+ * });
56
+ * ```
57
+ */
58
+ export async function claimRental(params, config) {
59
+ // Merge config
60
+ const finalConfig = mergeConfig(config);
61
+ // Validate required params
62
+ if (!params.borrower) {
63
+ throw new Error('borrower is required');
64
+ }
65
+ if (!params.contract) {
66
+ throw new Error('contract is required');
67
+ }
68
+ if (!params.duration) {
69
+ throw new Error('duration is required');
70
+ }
71
+ // Convert borrower to transaction signer
72
+ const borrowerSigner = toTransactionSigner(params.borrower);
73
+ // Try to fetch borrowerProfile from existing borrower_state, fallback to param
74
+ let borrowerProfile;
75
+ try {
76
+ const borrowerStateAddress = await deriveBorrowerState(borrowerSigner.address);
77
+ const rpc = createRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
78
+ const borrowerState = await fetchBorrowerState(rpc, borrowerStateAddress);
79
+ const profileOption = borrowerState.data.borrowerProfile;
80
+ if (profileOption && typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'Some') {
81
+ // borrower_state exists and has profile set - use it
82
+ borrowerProfile = profileOption.value;
83
+ }
84
+ else if (params.borrowerProfile) {
85
+ // borrower_state exists but no profile - use provided param
86
+ borrowerProfile = address(params.borrowerProfile);
87
+ }
88
+ else {
89
+ throw new Error('borrowerProfile is required when not set in borrower_state');
90
+ }
91
+ }
92
+ catch (e) {
93
+ // borrower_state doesn't exist yet - require param for first-time borrowers
94
+ if (params.borrowerProfile) {
95
+ borrowerProfile = address(params.borrowerProfile);
96
+ }
97
+ else {
98
+ throw new Error('borrowerProfile is required for first-time borrowers');
99
+ }
100
+ }
101
+ // Fetch config to get vault
102
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
103
+ const vault = configAccount.data.slyvault;
104
+ // Fetch contract to get fleet, gameId
105
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
106
+ const fleet = contractAccount.data.fleet;
107
+ const gameId = contractAccount.data.gameId;
108
+ // Client-side rate safety check
109
+ if (params.rate != null) {
110
+ const expectedRate = convertAmount(params.rate);
111
+ const contractRate = BigInt(contractAccount.data.rate);
112
+ if (expectedRate !== contractRate) {
113
+ throw new Error(`Contract rate mismatch: expected ${expectedRate} stardust but contract has ${contractRate} stardust. The rate may have changed since you last fetched it.`);
114
+ }
115
+ }
116
+ // Fetch fleet data for faction (needed to derive SAGE accounts)
117
+ const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
118
+ const faction = fleetState.faction;
119
+ // Derive SAGE game accounts (starbase, starbase player)
120
+ const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
121
+ // Determine which slot is free
122
+ // claim_rental requires one slot occupied, one free
123
+ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
124
+ const slot0Empty = contractAccount.data.rentalSlot0 === SYSTEM_PROGRAM_ID;
125
+ const slot1Empty = contractAccount.data.rentalSlot1 === SYSTEM_PROGRAM_ID;
126
+ // Use the free slot (slot 0 if empty, else slot 1)
127
+ const rentalSlot = slot0Empty ? 0 : 1;
128
+ const otherSlot = slot0Empty ? 1 : 0;
129
+ // Derive rental and rental authority PDAs
130
+ const rental = await deriveRental(params.contract, rentalSlot);
131
+ const rentalAuthority = await deriveRentalAuthority();
132
+ // Derive rental thread for automated payments
133
+ const rentalThread = await deriveRentalThread(rental, rentalAuthority);
134
+ // Derive queued thread for the other slot
135
+ const otherSlotRental = await deriveRental(params.contract, otherSlot);
136
+ const queuedThread = await deriveRentalThread(otherSlotRental, rentalAuthority);
137
+ // Convert duration parameter
138
+ const durationSeconds = convertDuration(params.duration);
139
+ // Get network-specific addresses (atlasMint sourced from on-chain config)
140
+ const atlasMint = configAccount.data.atlasMint;
141
+ const addresses = getAddresses(config);
142
+ const sageProgram = address(addresses.sage);
143
+ const programAddress = address(addresses.srsly);
144
+ // Deserialize discount auth if provided
145
+ let discountAuth = null;
146
+ if (params.discountAuth) {
147
+ discountAuth = deserializeDiscountAuth(params.discountAuth);
148
+ }
149
+ const referrer = params.referrer ? address(params.referrer) : undefined;
150
+ // Determine if we need to include scheduleRental
151
+ // Either explicitly requested or contract requires automation
152
+ const shouldSchedule = params.automate || contractAccount.data.automationRequired;
153
+ // Derive vault token account (ATA)
154
+ const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
155
+ // Call Codama-generated claimRental instruction
156
+ const claimRentalIx = await getClaimRentalInstructionAsync({
157
+ borrower: borrowerSigner,
158
+ contract: address(params.contract),
159
+ rentalState: rental,
160
+ fleet: address(fleet),
161
+ starbase: gameAccounts.starbase,
162
+ starbasePlayer: gameAccounts.starbasePlayer,
163
+ borrowerProfile,
164
+ vault: address(vault),
165
+ vaultTokenAccount,
166
+ referrer,
167
+ mint: atlasMint,
168
+ duration: BigInt(durationSeconds),
169
+ rentalSlot,
170
+ discountAuth
171
+ }, { programAddress });
172
+ // If auto-schedule is enabled, bundle scheduleRental instruction
173
+ if (shouldSchedule) {
174
+ const scheduleRentalIx = await getScheduleRentalInstructionAsync({
175
+ payer: borrowerSigner,
176
+ mint: atlasMint,
177
+ contract: address(params.contract),
178
+ fleet: address(fleet),
179
+ rentalState: rental,
180
+ rentalThread,
181
+ queuedThread,
182
+ borrowerProfileFaction: gameAccounts.profileFaction,
183
+ sageProgram,
184
+ rentalSlot,
185
+ }, { programAddress });
186
+ // Return both instructions as array
187
+ return prepareInstructions([claimRentalIx, scheduleRentalIx], {
188
+ computeUnits: params.computeUnits,
189
+ PublicKey: finalConfig.PublicKey
190
+ });
191
+ }
192
+ // Prepare single instruction with optional compute budget and web3.js conversion
193
+ return prepareInstructions(claimRentalIx, {
194
+ computeUnits: params.computeUnits,
195
+ PublicKey: finalConfig.PublicKey
196
+ });
197
+ }
198
+ //# sourceMappingURL=claimRental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimRental.js","sourceRoot":"","sources":["../../../src/instructions/claimRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAA+B,MAAM,uBAAuB,CAAC;AA6E7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,+EAA+E;IAC/E,IAAI,eAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,IAAI,+BAA+B,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;QAEzD,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,UAAU,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC3H,qDAAqD;YACrD,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAClC,4DAA4D;YAC5D,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,4EAA4E;QAC5E,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;IAE1C,sCAAsC;IACtC,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;IAE3C,gCAAgC;IAChC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,8BAA8B,YAAY,iEAAiE,CAC5J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IAEnC,wDAAwD;IACxD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,eAAe,EACf,OAAO,EACP,MAAM,CACP,CAAC;IAEF,+BAA+B;IAC/B,oDAAoD;IACpD,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;IAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,KAAK,iBAAiB,CAAC;IAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,KAAK,iBAAiB,CAAC;IAE1E,mDAAmD;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC,0CAA0C;IAC1C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEtD,8CAA8C;IAC9C,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEvE,0CAA0C;IAC1C,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEhF,6BAA6B;IAC7B,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzD,0EAA0E;IAC1E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,wCAAwC;IACxC,IAAI,YAAY,GAAqC,IAAI,CAAC;IAC1D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,QAAQ,GAAwB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,iDAAiD;IACjD,8DAA8D;IAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAElF,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE/E,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,8BAA8B,CACxD;QACE,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,OAAO,CAAC,KAAgB,CAAC;QAChC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,eAAe;QACf,KAAK,EAAE,OAAO,CAAC,KAAgB,CAAC;QAChC,iBAAiB;QACjB,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;QACjC,UAAU;QACV,YAAY;KACb,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,iEAAiE;IACjE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAG,MAAM,iCAAiC,CAC9D;YACE,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;YAC7C,KAAK,EAAE,OAAO,CAAC,KAAgB,CAAC;YAChC,WAAW,EAAE,MAAM;YACnB,YAAY;YACZ,YAAY;YACZ,sBAAsB,EAAE,YAAY,CAAC,cAAc;YACnD,WAAW;YACX,UAAU;SACX,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,oCAAoC;QACpC,OAAO,mBAAmB,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE;YAC5D,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,OAAO,mBAAmB,CAAC,aAAa,EAAE;QACxC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -2,20 +2,23 @@
2
2
  * @purpose Simplified closeBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated closeBorrower instruction.
5
- * Closes the borrower account and reclaims rent.
5
+ * Closes a borrower's managed token account and BorrowerState.
6
+ * Requires no active rentals and zero managed ATA balance (claim first).
6
7
  */
7
8
  import { address } from '@solana/kit';
8
- import { getCloseBorrowerInstruction } from '../generated/codama/instructions';
9
+ import { getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
9
10
  import { mergeConfig, getAddresses } from '../utils/config';
10
11
  import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
12
  import { prepareInstructions } from '../utils/instructions';
12
- import { deriveBorrowerState } from '../pda/srsly';
13
+ import { fetchConfig } from '../accounts/config';
13
14
  /**
14
- * Close borrower account
15
+ * Close a borrower's managed token account and BorrowerState
15
16
  *
16
- * Closes the borrower account and reclaims rent.
17
+ * Closes the managed ATA and BorrowerState PDA, returning lamports to the
18
+ * borrower wallet. Requires no active rentals and zero managed ATA balance.
19
+ * Call claimBorrower first to withdraw any remaining ATLAS.
17
20
  *
18
- * This function automatically derives the borrower state PDA.
21
+ * Permissionless anyone can trigger since lamports always go to the borrower.
19
22
  *
20
23
  * @param params - Close borrower parameters
21
24
  * @param config - Optional SDK configuration overrides
@@ -23,31 +26,26 @@ import { deriveBorrowerState } from '../pda/srsly';
23
26
  *
24
27
  * @example
25
28
  * ```typescript
26
- * // Close borrower account
27
- * const ix = await closeBorrower({
28
- * borrower: borrowerWallet
29
- * });
29
+ * const ix = await closeBorrower({ payer: borrowerWallet });
30
30
  * ```
31
31
  */
32
32
  export async function closeBorrower(params, config) {
33
- // Merge config
34
33
  const finalConfig = mergeConfig(config);
35
- // Validate required params
36
- if (!params.borrower) {
37
- throw new Error('borrower is required');
34
+ if (!params.payer) {
35
+ throw new Error('payer is required');
38
36
  }
39
- // Convert borrower to transaction signer
40
- const borrowerSigner = toTransactionSigner(params.borrower);
41
- const borrowerAddress = getSignerAddress(borrowerSigner);
42
- // Get network-specific addresses
37
+ const payerSigner = toTransactionSigner(params.payer);
38
+ const borrowerAddress = params.borrower
39
+ ? address(params.borrower)
40
+ : getSignerAddress(payerSigner);
41
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
42
+ const atlasMint = configAccount.data.atlasMint;
43
43
  const addresses = getAddresses(config);
44
44
  const programAddress = address(addresses.srsly);
45
- // Derive borrower state PDA
46
- const borrowerState = await deriveBorrowerState(borrowerAddress);
47
- // Call Codama-generated instruction (sync version - no async derivation)
48
- const kitInstruction = getCloseBorrowerInstruction({
49
- borrower: borrowerSigner,
50
- borrowerState,
45
+ const kitInstruction = await getCloseBorrowerInstructionAsync({
46
+ payer: payerSigner,
47
+ borrower: borrowerAddress,
48
+ mint: atlasMint,
51
49
  }, { programAddress });
52
50
  return prepareInstructions(kitInstruction, {
53
51
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAmBnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEzD,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAEjE,yEAAyE;IACzE,MAAM,cAAc,GAAG,2BAA2B,CAChD;QACE,QAAQ,EAAE,cAAc;QACxB,aAAa;KACd,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"closeBorrower.js","sourceRoot":"","sources":["../../../src/instructions/closeBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAyBjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -4,11 +4,17 @@
4
4
  * Thin convenience wrapper around Codama-generated closeContract instruction.
5
5
  * Closes a contract with no active rentals and claims remaining payments.
6
6
  */
7
- import { address } from '@solana/kit';
8
- import { getCloseContractInstructionAsync } from '../generated/codama/instructions';
9
- import { mergeConfig, getAddresses } from '../utils/config';
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getCloseContractInstructionAsync, getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
9
+ import { fetchThread } from '../generated/codama/accounts/thread';
10
+ import { mergeConfig, getAddresses, getRpcUrl } from '../utils/config';
10
11
  import { toTransactionSigner } from '../utils/signer';
11
12
  import { fetchContract } from '../accounts/contract';
13
+ import { fetchConfig } from '../accounts/config';
14
+ import { deriveAssociatedTokenAccount } from '../pda/token';
15
+ import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
16
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
17
+ import { createRpc } from '../utils/rpc';
12
18
  import { prepareInstructions } from '../utils/instructions';
13
19
  /**
14
20
  * Close a rental contract
@@ -17,9 +23,13 @@ import { prepareInstructions } from '../utils/instructions';
17
23
  * accounts don't exist, they will be created temporarily before being closed.
18
24
  * This allows recovery from partial failures during previous close attempts.
19
25
  *
20
- * Contract must have no active rentals. Claims all remaining payments
21
- * from the contract's token account, invalidates the rental in SAGE,
22
- * and closes the contract account.
26
+ * Two-phase close behavior:
27
+ * - **No active/queued rental**: Thread close is prepended automatically,
28
+ * then contract_close fires immediate full close.
29
+ * - **Active or queued rental**: Only contract_close is sent, which sets
30
+ * `to_close = true`. The thread stays alive to settle escrow, chain to
31
+ * `rental_close` (fiber 1), and self-close via `Signal::Close` in
32
+ * `contract_process`.
23
33
  *
24
34
  * @param params - Contract closing parameters
25
35
  * @param config - Optional SDK configuration overrides
@@ -31,25 +41,19 @@ import { prepareInstructions } from '../utils/instructions';
31
41
  * const ix = await closeContract({
32
42
  * owner: wallet,
33
43
  * fleet: fleetAddress
34
- * // contract derived from fleet PDA
35
- * // Works even if contract doesn't exist (init_if_needed)
36
44
  * });
37
45
  *
38
46
  * // Option 2: Provide contract only (contract MUST exist)
39
47
  * const ix2 = await closeContract({
40
48
  * owner: wallet,
41
49
  * contract: contractAddress
42
- * // fleet fetched from contract.fleet
43
- * // REQUIRES contract to already exist
44
50
  * });
45
51
  *
46
52
  * // Option 3: Provide both (most explicit, no fetching)
47
53
  * const ix3 = await closeContract({
48
54
  * owner: wallet,
49
55
  * fleet: fleetAddress,
50
- * contract: contractAddress,
51
- * sageProgram: customSageProgram, // Optional
52
- * destinationTokenAccount: customTokenAccount // Optional
56
+ * contract: contractAddress
53
57
  * });
54
58
  * ```
55
59
  */
@@ -65,9 +69,10 @@ export async function closeContract(params, config) {
65
69
  }
66
70
  // Convert owner to transaction signer
67
71
  const ownerSigner = toTransactionSigner(params.owner);
68
- // Get network-specific addresses
72
+ // Get atlasMint from on-chain config
73
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
74
+ const atlasMint = configAccount.data.atlasMint;
69
75
  const addresses = getAddresses(config);
70
- const atlasMint = address(addresses.atlasMint);
71
76
  const programAddress = address(addresses.srsly);
72
77
  // Resolve fleet and contract addresses
73
78
  let fleetAddress;
@@ -80,36 +85,73 @@ export async function closeContract(params, config) {
80
85
  else if (params.fleet) {
81
86
  // Only fleet provided - derive contract from fleet PDA
82
87
  fleetAddress = address(params.fleet);
83
- contractAddress = undefined; // Will be derived on-chain
88
+ contractAddress = await deriveContract(fleetAddress, programAddress);
84
89
  }
85
90
  else if (params.contract) {
86
91
  // Only contract provided - fetch contract to get fleet
87
- const contract = await fetchContract(params.contract, finalConfig.rpcUrl);
88
- fleetAddress = contract.data.fleet;
89
92
  contractAddress = address(params.contract);
90
93
  }
91
94
  else {
92
95
  // Should never reach here due to validation above
93
96
  throw new Error('Either fleet or contract must be provided');
94
97
  }
98
+ // Always fetch contract — needed for fleet (if not provided) and thread check
99
+ const contractAccount = await fetchContract(contractAddress, finalConfig.rpcUrl);
100
+ if (!params.fleet) {
101
+ fleetAddress = contractAccount.data.fleet;
102
+ }
95
103
  // Get sageProgram from config if not provided
96
104
  const sageProgram = params.sageProgram
97
105
  ? address(params.sageProgram)
98
106
  : address(addresses.sage);
99
- // Optional destination token account
100
- const destinationTokenAccount = params.destinationTokenAccount
101
- ? address(params.destinationTokenAccount)
102
- : undefined;
107
+ // Derive contract token account (ATA of contract PDA for ATLAS)
108
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
109
+ // Check if contract has an automation thread that needs closing first
110
+ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
111
+ const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
112
+ let hasActiveRental = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
113
+ || contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
114
+ // If active rental is expired (and no queued), treat as closeable immediately
115
+ if (hasActiveRental && contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID
116
+ && contractAccount.data.queuedRental === SYSTEM_PROGRAM_ID) {
117
+ const { fetchRental } = await import('../accounts/rental');
118
+ const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
119
+ const now = Math.floor(Date.now() / 1000);
120
+ if (activeRental.data.endTime <= BigInt(now)) {
121
+ hasActiveRental = false;
122
+ }
123
+ }
124
+ let threadCloseIx;
125
+ if (hasThread && !hasActiveRental) {
126
+ const rentalAuthority = await deriveRentalAuthority();
127
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
128
+ // Fetch thread to get fiber IDs for remaining accounts
129
+ const rpc = createRpc(getRpcUrl(config));
130
+ const threadAccount = await fetchThread(rpc, contractThread);
131
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
132
+ // Derive fiber PDAs
133
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
134
+ address: await deriveFiber(contractThread, id),
135
+ role: AccountRole.WRITABLE,
136
+ })));
137
+ threadCloseIx = await getCloseContractThreadInstructionAsync({
138
+ owner: ownerSigner,
139
+ contract: contractAddress,
140
+ thread: contractThread,
141
+ }, { programAddress });
142
+ threadCloseIx.accounts.push(...fiberAccounts);
143
+ }
103
144
  // Call Codama-generated instruction
104
145
  const kitInstruction = await getCloseContractInstructionAsync({
105
146
  owner: ownerSigner,
106
147
  contract: contractAddress,
107
148
  mint: atlasMint,
108
- destinationTokenAccount,
109
149
  fleet: fleetAddress,
150
+ contractTokenAccount: contractTokenAccount,
110
151
  sageProgram,
111
152
  }, { programAddress });
112
- return prepareInstructions(kitInstruction, {
153
+ const instructions = threadCloseIx ? [threadCloseIx, kitInstruction] : kitInstruction;
154
+ return prepareInstructions(instructions, {
113
155
  computeUnits: params.computeUnits,
114
156
  PublicKey: finalConfig.PublicKey
115
157
  });
@@ -1 +1 @@
1
- {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @purpose Simplified closeContractThread instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated closeContractThread instruction.
5
+ * Closes a per-contract automation thread and reclaims rent.
6
+ */
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getCloseContractThreadInstructionAsync } from '../generated/codama/instructions';
9
+ import { fetchThread } from '../generated/codama/accounts/thread';
10
+ import { mergeConfig, getAddresses, getRpcUrl } from '../utils/config';
11
+ import { toTransactionSigner } from '../utils/signer';
12
+ import { prepareInstructions } from '../utils/instructions';
13
+ import { createRpc } from '../utils/rpc';
14
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
15
+ import { deriveRentalAuthority } from '../pda/srsly';
16
+ /**
17
+ * Close a per-contract automation thread
18
+ *
19
+ * Closes the Antegen thread and all fiber PDAs, reclaiming rent to the owner.
20
+ * Fetches the thread account to read `fiberIds`, then derives and passes only
21
+ * the fibers that actually exist as remaining accounts.
22
+ *
23
+ * @param params - Thread closing parameters
24
+ * @param config - Optional SDK configuration overrides
25
+ * @returns Kit instruction (or web3.js if PublicKey in config)
26
+ */
27
+ export async function closeContractThread(params, config) {
28
+ const finalConfig = mergeConfig(config);
29
+ if (!params.owner) {
30
+ throw new Error('owner is required');
31
+ }
32
+ if (!params.contract) {
33
+ throw new Error('contract is required');
34
+ }
35
+ const ownerSigner = toTransactionSigner(params.owner);
36
+ const addresses = getAddresses(config);
37
+ const programAddress = address(addresses.srsly);
38
+ const contractAddress = address(params.contract);
39
+ // Derive thread PDA
40
+ const rentalAuthority = await deriveRentalAuthority();
41
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
42
+ // Fetch thread account to read actual fiber_ids
43
+ const rpc = createRpc(getRpcUrl(config));
44
+ const threadAccount = await fetchThread(rpc, contractThread);
45
+ const fiberIds = Array.from(threadAccount.data.fiberIds);
46
+ // Derive fiber PDAs only for fibers that actually exist on the thread
47
+ const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
48
+ address: await deriveFiber(contractThread, id),
49
+ role: AccountRole.WRITABLE,
50
+ })));
51
+ const kitInstruction = await getCloseContractThreadInstructionAsync({
52
+ owner: ownerSigner,
53
+ contract: contractAddress,
54
+ thread: contractThread,
55
+ }, { programAddress });
56
+ // Add fiber PDAs as remaining accounts (writable, non-signer)
57
+ kitInstruction.accounts.push(...fiberAccounts);
58
+ return prepareInstructions(kitInstruction, {
59
+ computeUnits: params.computeUnits,
60
+ PublicKey: finalConfig.PublicKey
61
+ });
62
+ }
63
+ //# sourceMappingURL=closeContractThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closeContractThread.js","sourceRoot":"","sources":["../../../src/instructions/closeContractThread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sCAAsC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAsBrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiC,EACjC,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,gDAAgD;IAChD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,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,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,sCAAsC,CACjE;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}