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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (859) hide show
  1. package/README.md +38 -0
  2. package/dist/cjs/accounts/borrower.js +55 -0
  3. package/dist/cjs/accounts/borrower.js.map +1 -1
  4. package/dist/cjs/accounts/config.js +50 -2
  5. package/dist/cjs/accounts/config.js.map +1 -1
  6. package/dist/cjs/accounts/contract.js +58 -0
  7. package/dist/cjs/accounts/contract.js.map +1 -1
  8. package/dist/cjs/accounts/index.js +24 -0
  9. package/dist/cjs/accounts/index.js.map +1 -0
  10. package/dist/cjs/accounts/member.js +16 -0
  11. package/dist/cjs/accounts/member.js.map +1 -0
  12. package/dist/cjs/accounts/rental.js +55 -0
  13. package/dist/cjs/accounts/rental.js.map +1 -1
  14. package/dist/cjs/accounts/thread.js +37 -0
  15. package/dist/cjs/accounts/thread.js.map +1 -0
  16. package/dist/cjs/demos.js +418 -53
  17. package/dist/cjs/demos.js.map +1 -1
  18. package/dist/cjs/generated/codama/accounts/borrowerState.js +23 -26
  19. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/configState.js +53 -53
  21. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/contractState.js +52 -48
  23. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  24. package/dist/cjs/generated/codama/accounts/fleet.js +39 -36
  25. package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/index.js +0 -4
  27. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/rentalState.js +42 -34
  29. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  30. package/dist/cjs/generated/codama/accounts/thread.js +41 -50
  31. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  32. package/dist/cjs/generated/codama/errors/srsly.js +88 -34
  33. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  34. package/dist/cjs/generated/codama/instructions/acceptRental.js +68 -157
  35. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/activateRental.js +328 -0
  37. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -0
  38. package/dist/cjs/generated/codama/instructions/cancelRental.js +70 -53
  39. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
  41. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  42. package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +41 -69
  43. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  44. package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
  45. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
  46. package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
  47. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  49. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  50. package/dist/cjs/generated/codama/instructions/closeRental.js +9 -119
  51. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  52. package/dist/cjs/generated/codama/instructions/{claimBorrowerPayments.js → createBorrower.js} +45 -73
  53. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  54. package/dist/cjs/generated/codama/instructions/createConfig.js +56 -20
  55. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  56. package/dist/cjs/generated/codama/instructions/createContract.js +59 -27
  57. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  58. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  59. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  60. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
  61. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  62. package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
  63. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  64. package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
  65. package/dist/cjs/generated/codama/instructions/deleteRental.js +7 -7
  66. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  67. package/dist/cjs/generated/codama/instructions/index.js +7 -4
  68. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  69. package/dist/cjs/generated/codama/instructions/invalidateRental.js +5 -5
  70. package/dist/cjs/generated/codama/instructions/{payRental.js → processContract.js} +91 -117
  71. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  72. package/dist/cjs/generated/codama/instructions/releaseRental.js +8 -49
  73. package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -1
  74. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  75. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  76. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  77. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  78. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  79. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  80. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  81. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -23
  82. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  83. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  84. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  85. package/dist/cjs/generated/codama/programs/srsly.js +49 -53
  86. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  87. package/dist/cjs/generated/codama/shared/index.js +8 -8
  88. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  89. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  90. package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
  91. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  92. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  93. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  94. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  95. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  96. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  97. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  98. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  99. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  100. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  101. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  102. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  103. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  104. package/dist/cjs/generated/codama/types/contractUpdated.js +9 -30
  105. package/dist/cjs/generated/codama/types/contractUpdated.js.map +1 -1
  106. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  107. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  108. package/dist/cjs/generated/codama/types/fieldUpdate.js +29 -0
  109. package/dist/cjs/generated/codama/types/fieldUpdate.js.map +1 -0
  110. package/dist/cjs/generated/codama/types/fleet.js +60 -0
  111. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  112. package/dist/cjs/generated/codama/types/index.js +13 -6
  113. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  114. package/dist/cjs/generated/codama/types/miscStats.js +22 -22
  115. package/dist/cjs/generated/codama/types/movementStats.js +14 -14
  116. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
  117. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  118. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  119. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  120. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  121. package/dist/cjs/generated/codama/types/rentalActivated.js +33 -0
  122. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -0
  123. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  124. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  125. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  126. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  127. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  128. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  129. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  130. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  131. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  132. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  133. package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
  134. package/dist/cjs/generated/codama/types/shipStats.js +6 -6
  135. package/dist/cjs/generated/codama/types/signal.js +26 -12
  136. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  137. package/dist/cjs/generated/codama/types/thread.js +62 -0
  138. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  139. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  140. package/dist/cjs/index.js +4 -178
  141. package/dist/cjs/index.js.map +1 -1
  142. package/dist/cjs/instructions/acceptRental.js +94 -65
  143. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  144. package/dist/cjs/instructions/activateRental.js +98 -0
  145. package/dist/cjs/instructions/activateRental.js.map +1 -0
  146. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  147. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  148. package/dist/cjs/instructions/cancelRental.js +32 -23
  149. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  150. package/dist/cjs/instructions/claimBorrower.js +47 -21
  151. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  152. package/dist/cjs/instructions/claimContract.js +56 -0
  153. package/dist/cjs/instructions/claimContract.js.map +1 -0
  154. package/dist/cjs/instructions/closeBorrower.js +21 -23
  155. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  156. package/dist/cjs/instructions/closeContract.js +94 -21
  157. package/dist/cjs/instructions/closeContract.js.map +1 -1
  158. package/dist/cjs/instructions/closeContractThread.js +64 -0
  159. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  160. package/dist/cjs/instructions/closeRental.js +35 -30
  161. package/dist/cjs/instructions/closeRental.js.map +1 -1
  162. package/dist/cjs/instructions/createAffiliate.js +73 -0
  163. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  164. package/dist/cjs/instructions/createBorrower.js +46 -0
  165. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  166. package/dist/cjs/instructions/createConfig.js +12 -0
  167. package/dist/cjs/instructions/createConfig.js.map +1 -1
  168. package/dist/cjs/instructions/createContract.js +46 -35
  169. package/dist/cjs/instructions/createContract.js.map +1 -1
  170. package/dist/cjs/instructions/createContractThread.js +102 -0
  171. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  172. package/dist/cjs/instructions/deleteBorrower.js +13 -13
  173. package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
  174. package/dist/cjs/instructions/deleteConfig.js +16 -5
  175. package/dist/cjs/instructions/deleteConfig.js.map +1 -1
  176. package/dist/cjs/instructions/deleteRental.js +1 -4
  177. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  178. package/dist/cjs/instructions/index.js +49 -0
  179. package/dist/cjs/instructions/index.js.map +1 -0
  180. package/dist/cjs/instructions/invalidateRental.js +16 -29
  181. package/dist/cjs/instructions/invalidateRental.js.map +1 -1
  182. package/dist/cjs/instructions/releaseRental.js +20 -53
  183. package/dist/cjs/instructions/releaseRental.js.map +1 -1
  184. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  185. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  186. package/dist/cjs/instructions/reserveRental.js +95 -71
  187. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  188. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  189. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  190. package/dist/cjs/instructions/updateBorrower.js +44 -38
  191. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  192. package/dist/cjs/instructions/updateConfig.js +0 -4
  193. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  194. package/dist/cjs/instructions/updateContract.js +22 -30
  195. package/dist/cjs/instructions/updateContract.js.map +1 -1
  196. package/dist/cjs/instructions/updateContractThread.js +60 -0
  197. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  198. package/dist/cjs/kit/index.js +68 -0
  199. package/dist/cjs/kit/index.js.map +1 -0
  200. package/dist/cjs/legacy/index.js +125 -0
  201. package/dist/cjs/legacy/index.js.map +1 -0
  202. package/dist/cjs/package.json +6 -3
  203. package/dist/cjs/params/amount.js +4 -4
  204. package/dist/cjs/params/index.js +21 -0
  205. package/dist/cjs/params/index.js.map +1 -0
  206. package/dist/cjs/params/sol.js +71 -0
  207. package/dist/cjs/params/sol.js.map +1 -0
  208. package/dist/cjs/pda/constants.js +7 -2
  209. package/dist/cjs/pda/constants.js.map +1 -1
  210. package/dist/cjs/pda/index.js +13 -22
  211. package/dist/cjs/pda/index.js.map +1 -1
  212. package/dist/cjs/pda/lookupTable.js +60 -0
  213. package/dist/cjs/pda/lookupTable.js.map +1 -0
  214. package/dist/cjs/pda/sage.js +11 -10
  215. package/dist/cjs/pda/sage.js.map +1 -1
  216. package/dist/cjs/pda/slyvault.js +5 -49
  217. package/dist/cjs/pda/slyvault.js.map +1 -1
  218. package/dist/cjs/pda/srsly.js +39 -19
  219. package/dist/cjs/pda/srsly.js.map +1 -1
  220. package/dist/cjs/pda/thread.js +41 -31
  221. package/dist/cjs/pda/thread.js.map +1 -1
  222. package/dist/cjs/pda/token.js +5 -4
  223. package/dist/cjs/pda/token.js.map +1 -1
  224. package/dist/cjs/utils/addresses.js +8 -1
  225. package/dist/cjs/utils/addresses.js.map +1 -1
  226. package/dist/cjs/utils/config.js +20 -2
  227. package/dist/cjs/utils/config.js.map +1 -1
  228. package/dist/cjs/utils/discountAuth.js +161 -0
  229. package/dist/cjs/utils/discountAuth.js.map +1 -0
  230. package/dist/cjs/utils/index.js +20 -1
  231. package/dist/cjs/utils/index.js.map +1 -1
  232. package/dist/cjs/utils/instructionResult.js +76 -0
  233. package/dist/cjs/utils/instructionResult.js.map +1 -0
  234. package/dist/cjs/utils/instructions.js +12 -17
  235. package/dist/cjs/utils/instructions.js.map +1 -1
  236. package/dist/cjs/utils/lookupTable.js +13 -1
  237. package/dist/cjs/utils/lookupTable.js.map +1 -1
  238. package/dist/cjs/utils/rental.js +49 -0
  239. package/dist/cjs/utils/rental.js.map +1 -0
  240. package/dist/cjs/utils/signer.js +16 -9
  241. package/dist/cjs/utils/signer.js.map +1 -1
  242. package/dist/cjs/version.js +1 -1
  243. package/dist/esm/accounts/borrower.js +55 -1
  244. package/dist/esm/accounts/borrower.js.map +1 -1
  245. package/dist/esm/accounts/config.js +48 -1
  246. package/dist/esm/accounts/config.js.map +1 -1
  247. package/dist/esm/accounts/contract.js +58 -1
  248. package/dist/esm/accounts/contract.js.map +1 -1
  249. package/dist/esm/accounts/index.js +8 -0
  250. package/dist/esm/accounts/index.js.map +1 -0
  251. package/dist/esm/accounts/member.js +9 -0
  252. package/dist/esm/accounts/member.js.map +1 -0
  253. package/dist/esm/accounts/rental.js +55 -1
  254. package/dist/esm/accounts/rental.js.map +1 -1
  255. package/dist/esm/accounts/thread.js +34 -0
  256. package/dist/esm/accounts/thread.js.map +1 -0
  257. package/dist/esm/demos.js +417 -52
  258. package/dist/esm/demos.js.map +1 -1
  259. package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
  260. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  261. package/dist/esm/generated/codama/accounts/configState.js +53 -54
  262. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  263. package/dist/esm/generated/codama/accounts/contractState.js +53 -49
  264. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  265. package/dist/esm/generated/codama/accounts/fleet.js +41 -38
  266. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
  267. package/dist/esm/generated/codama/accounts/index.js +4 -8
  268. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  269. package/dist/esm/generated/codama/accounts/rentalState.js +43 -34
  270. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  271. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  272. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  273. package/dist/esm/generated/codama/errors/index.js +1 -1
  274. package/dist/esm/generated/codama/errors/srsly.js +88 -34
  275. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  276. package/dist/esm/generated/codama/index.js +5 -5
  277. package/dist/esm/generated/codama/instructions/acceptRental.js +72 -161
  278. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  279. package/dist/esm/generated/codama/instructions/activateRental.js +318 -0
  280. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -0
  281. package/dist/esm/generated/codama/instructions/cancelRental.js +73 -56
  282. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  283. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  284. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  285. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  286. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  287. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  288. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  289. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  290. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  291. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  292. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  293. package/dist/esm/generated/codama/instructions/closeRental.js +12 -122
  294. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  295. package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
  296. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  297. package/dist/esm/generated/codama/instructions/createConfig.js +59 -23
  298. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  299. package/dist/esm/generated/codama/instructions/createContract.js +62 -30
  300. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  301. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  302. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  303. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  304. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  305. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  306. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  307. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  308. package/dist/esm/generated/codama/instructions/deleteRental.js +10 -10
  309. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  310. package/dist/esm/generated/codama/instructions/index.js +25 -22
  311. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  312. package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
  313. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  314. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  315. package/dist/esm/generated/codama/instructions/releaseRental.js +11 -52
  316. package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -1
  317. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  318. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  319. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  320. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  321. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  322. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  323. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  324. package/dist/esm/generated/codama/instructions/updateContract.js +20 -26
  325. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  326. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  327. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  328. package/dist/esm/generated/codama/programs/index.js +1 -1
  329. package/dist/esm/generated/codama/programs/srsly.js +50 -54
  330. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  331. package/dist/esm/generated/codama/shared/index.js +9 -9
  332. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  333. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  334. package/dist/esm/generated/codama/types/cargoStats.js +19 -19
  335. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  336. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  337. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  338. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  339. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  340. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  341. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  342. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  343. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  344. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  345. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  346. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  347. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  348. package/dist/esm/generated/codama/types/contractUpdated.js +10 -31
  349. package/dist/esm/generated/codama/types/contractUpdated.js.map +1 -1
  350. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  351. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  352. package/dist/esm/generated/codama/types/fieldUpdate.js +24 -0
  353. package/dist/esm/generated/codama/types/fieldUpdate.js.map +1 -0
  354. package/dist/esm/generated/codama/types/fleet.js +55 -0
  355. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  356. package/dist/esm/generated/codama/types/index.js +33 -26
  357. package/dist/esm/generated/codama/types/index.js.map +1 -1
  358. package/dist/esm/generated/codama/types/miscStats.js +23 -23
  359. package/dist/esm/generated/codama/types/movementStats.js +15 -15
  360. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
  361. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  362. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  363. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  364. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  365. package/dist/esm/generated/codama/types/rentalActivated.js +28 -0
  366. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -0
  367. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  368. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  369. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  370. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  371. package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
  372. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  373. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  374. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  375. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  376. package/dist/esm/generated/codama/types/schedule.js +15 -15
  377. package/dist/esm/generated/codama/types/shipCounts.js +21 -21
  378. package/dist/esm/generated/codama/types/shipStats.js +8 -8
  379. package/dist/esm/generated/codama/types/signal.js +28 -14
  380. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  381. package/dist/esm/generated/codama/types/thread.js +57 -0
  382. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  383. package/dist/esm/generated/codama/types/trigger.js +37 -37
  384. package/dist/esm/index.js +1 -79
  385. package/dist/esm/index.js.map +1 -1
  386. package/dist/esm/instructions/acceptRental.js +97 -68
  387. package/dist/esm/instructions/acceptRental.js.map +1 -1
  388. package/dist/esm/instructions/activateRental.js +95 -0
  389. package/dist/esm/instructions/activateRental.js.map +1 -0
  390. package/dist/esm/instructions/approveAffiliate.js +7 -0
  391. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  392. package/dist/esm/instructions/cancelRental.js +33 -24
  393. package/dist/esm/instructions/cancelRental.js.map +1 -1
  394. package/dist/esm/instructions/claimBorrower.js +49 -23
  395. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  396. package/dist/esm/instructions/claimContract.js +53 -0
  397. package/dist/esm/instructions/claimContract.js.map +1 -0
  398. package/dist/esm/instructions/closeBorrower.js +22 -24
  399. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  400. package/dist/esm/instructions/closeContract.js +63 -23
  401. package/dist/esm/instructions/closeContract.js.map +1 -1
  402. package/dist/esm/instructions/closeContractThread.js +61 -0
  403. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  404. package/dist/esm/instructions/closeRental.js +36 -31
  405. package/dist/esm/instructions/closeRental.js.map +1 -1
  406. package/dist/esm/instructions/createAffiliate.js +70 -0
  407. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  408. package/dist/esm/instructions/createBorrower.js +43 -0
  409. package/dist/esm/instructions/createBorrower.js.map +1 -0
  410. package/dist/esm/instructions/createConfig.js +12 -0
  411. package/dist/esm/instructions/createConfig.js.map +1 -1
  412. package/dist/esm/instructions/createContract.js +48 -37
  413. package/dist/esm/instructions/createContract.js.map +1 -1
  414. package/dist/esm/instructions/createContractThread.js +99 -0
  415. package/dist/esm/instructions/createContractThread.js.map +1 -0
  416. package/dist/esm/instructions/deleteBorrower.js +13 -13
  417. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  418. package/dist/esm/instructions/deleteConfig.js +17 -6
  419. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  420. package/dist/esm/instructions/deleteRental.js +1 -4
  421. package/dist/esm/instructions/deleteRental.js.map +1 -1
  422. package/dist/esm/instructions/index.js +33 -0
  423. package/dist/esm/instructions/index.js.map +1 -0
  424. package/dist/esm/instructions/invalidateRental.js +17 -30
  425. package/dist/esm/instructions/invalidateRental.js.map +1 -1
  426. package/dist/esm/instructions/releaseRental.js +20 -53
  427. package/dist/esm/instructions/releaseRental.js.map +1 -1
  428. package/dist/esm/instructions/removeAffiliate.js +7 -0
  429. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  430. package/dist/esm/instructions/reserveRental.js +97 -73
  431. package/dist/esm/instructions/reserveRental.js.map +1 -1
  432. package/dist/esm/instructions/updateAffiliate.js +54 -0
  433. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  434. package/dist/esm/instructions/updateBorrower.js +45 -39
  435. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  436. package/dist/esm/instructions/updateConfig.js +0 -4
  437. package/dist/esm/instructions/updateConfig.js.map +1 -1
  438. package/dist/esm/instructions/updateContract.js +22 -30
  439. package/dist/esm/instructions/updateContract.js.map +1 -1
  440. package/dist/esm/instructions/updateContractThread.js +57 -0
  441. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  442. package/dist/esm/kit/index.js +26 -0
  443. package/dist/esm/kit/index.js.map +1 -0
  444. package/dist/esm/legacy/index.js +84 -0
  445. package/dist/esm/legacy/index.js.map +1 -0
  446. package/dist/esm/package.json +6 -3
  447. package/dist/esm/params/amount.js +4 -4
  448. package/dist/esm/params/index.js +5 -0
  449. package/dist/esm/params/index.js.map +1 -0
  450. package/dist/esm/params/sol.js +68 -0
  451. package/dist/esm/params/sol.js.map +1 -0
  452. package/dist/esm/pda/constants.js +6 -1
  453. package/dist/esm/pda/constants.js.map +1 -1
  454. package/dist/esm/pda/index.js +6 -22
  455. package/dist/esm/pda/index.js.map +1 -1
  456. package/dist/esm/pda/lookupTable.js +57 -0
  457. package/dist/esm/pda/lookupTable.js.map +1 -0
  458. package/dist/esm/pda/sage.js +11 -10
  459. package/dist/esm/pda/sage.js.map +1 -1
  460. package/dist/esm/pda/slyvault.js +2 -47
  461. package/dist/esm/pda/slyvault.js.map +1 -1
  462. package/dist/esm/pda/srsly.js +38 -19
  463. package/dist/esm/pda/srsly.js.map +1 -1
  464. package/dist/esm/pda/thread.js +40 -31
  465. package/dist/esm/pda/thread.js.map +1 -1
  466. package/dist/esm/pda/token.js +5 -4
  467. package/dist/esm/pda/token.js.map +1 -1
  468. package/dist/esm/utils/addresses.js +8 -1
  469. package/dist/esm/utils/addresses.js.map +1 -1
  470. package/dist/esm/utils/config.js +19 -2
  471. package/dist/esm/utils/config.js.map +1 -1
  472. package/dist/esm/utils/discountAuth.js +155 -0
  473. package/dist/esm/utils/discountAuth.js.map +1 -0
  474. package/dist/esm/utils/index.js +9 -1
  475. package/dist/esm/utils/index.js.map +1 -1
  476. package/dist/esm/utils/instructionResult.js +72 -0
  477. package/dist/esm/utils/instructionResult.js.map +1 -0
  478. package/dist/esm/utils/instructions.js +12 -17
  479. package/dist/esm/utils/instructions.js.map +1 -1
  480. package/dist/esm/utils/lookupTable.js +13 -1
  481. package/dist/esm/utils/lookupTable.js.map +1 -1
  482. package/dist/esm/utils/rental.js +45 -0
  483. package/dist/esm/utils/rental.js.map +1 -0
  484. package/dist/esm/utils/signer.js +16 -9
  485. package/dist/esm/utils/signer.js.map +1 -1
  486. package/dist/esm/version.js +1 -1
  487. package/dist/idl/srsly.json +2319 -2089
  488. package/dist/types/accounts/borrower.d.ts +19 -0
  489. package/dist/types/accounts/borrower.d.ts.map +1 -1
  490. package/dist/types/accounts/config.d.ts +19 -0
  491. package/dist/types/accounts/config.d.ts.map +1 -1
  492. package/dist/types/accounts/contract.d.ts +19 -0
  493. package/dist/types/accounts/contract.d.ts.map +1 -1
  494. package/dist/types/accounts/index.d.ts +8 -0
  495. package/dist/types/accounts/index.d.ts.map +1 -0
  496. package/dist/types/accounts/member.d.ts +9 -0
  497. package/dist/types/accounts/member.d.ts.map +1 -0
  498. package/dist/types/accounts/rental.d.ts +19 -0
  499. package/dist/types/accounts/rental.d.ts.map +1 -1
  500. package/dist/types/accounts/thread.d.ts +21 -0
  501. package/dist/types/accounts/thread.d.ts.map +1 -0
  502. package/dist/types/demos.d.ts +53 -2
  503. package/dist/types/demos.d.ts.map +1 -1
  504. package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
  505. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  506. package/dist/types/generated/codama/accounts/configState.d.ts +18 -21
  507. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  508. package/dist/types/generated/codama/accounts/contractState.d.ts +63 -59
  509. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  510. package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
  511. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
  512. package/dist/types/generated/codama/accounts/index.d.ts +4 -8
  513. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  514. package/dist/types/generated/codama/accounts/rentalState.d.ts +50 -31
  515. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  516. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  517. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  518. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  519. package/dist/types/generated/codama/errors/srsly.d.ts +64 -28
  520. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  521. package/dist/types/generated/codama/index.d.ts +5 -5
  522. package/dist/types/generated/codama/instructions/acceptRental.d.ts +59 -79
  523. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  524. package/dist/types/generated/codama/instructions/activateRental.d.ts +134 -0
  525. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -0
  526. package/dist/types/generated/codama/instructions/cancelRental.d.ts +40 -25
  527. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  528. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  529. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  530. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  531. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  532. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  533. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  534. package/dist/types/generated/codama/instructions/closeContract.d.ts +67 -24
  535. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  536. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  537. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  538. package/dist/types/generated/codama/instructions/closeRental.d.ts +23 -52
  539. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  540. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  541. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  542. package/dist/types/generated/codama/instructions/createConfig.d.ts +36 -15
  543. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  544. package/dist/types/generated/codama/instructions/createContract.d.ts +43 -36
  545. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  546. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  547. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  548. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  549. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  550. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  551. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  552. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  553. package/dist/types/generated/codama/instructions/deleteRental.d.ts +6 -3
  554. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  555. package/dist/types/generated/codama/instructions/index.d.ts +25 -22
  556. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  557. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
  558. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  559. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  560. package/dist/types/generated/codama/instructions/releaseRental.d.ts +42 -49
  561. package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -1
  562. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  563. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  564. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  565. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  566. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  567. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  568. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  569. package/dist/types/generated/codama/instructions/updateContract.d.ts +24 -24
  570. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  571. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  572. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  573. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  574. package/dist/types/generated/codama/programs/srsly.d.ts +44 -39
  575. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  576. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  577. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  578. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  579. package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
  580. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  581. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  582. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  583. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  584. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  585. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  586. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  587. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  588. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  589. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  590. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  591. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  592. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  593. package/dist/types/generated/codama/types/contractUpdated.d.ts +6 -25
  594. package/dist/types/generated/codama/types/contractUpdated.d.ts.map +1 -1
  595. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  596. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  597. package/dist/types/generated/codama/types/fieldUpdate.d.ts +20 -0
  598. package/dist/types/generated/codama/types/fieldUpdate.d.ts.map +1 -0
  599. package/dist/types/generated/codama/types/fleet.d.ts +52 -0
  600. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  601. package/dist/types/generated/codama/types/index.d.ts +33 -26
  602. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  603. package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
  604. package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
  605. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +1 -1
  606. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  607. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  608. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  609. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  610. package/dist/types/generated/codama/types/rentalActivated.d.ts +24 -0
  611. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -0
  612. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  613. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  614. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  615. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  616. package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
  617. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  618. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  619. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  620. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  621. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  622. package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
  623. package/dist/types/generated/codama/types/shipStats.d.ts +2 -2
  624. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  625. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  626. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  627. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  628. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  629. package/dist/types/index.d.ts +1 -36
  630. package/dist/types/index.d.ts.map +1 -1
  631. package/dist/types/instructions/acceptRental.d.ts +33 -25
  632. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  633. package/dist/types/instructions/activateRental.d.ts +46 -0
  634. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  635. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  636. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  637. package/dist/types/instructions/cancelRental.d.ts +10 -15
  638. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  639. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  640. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  641. package/dist/types/instructions/claimContract.d.ts +40 -0
  642. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  643. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  644. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  645. package/dist/types/instructions/closeContract.d.ts +8 -15
  646. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  647. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  648. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  649. package/dist/types/instructions/closeRental.d.ts +11 -12
  650. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  651. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  652. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  653. package/dist/types/instructions/createBorrower.d.ts +36 -0
  654. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  655. package/dist/types/instructions/createConfig.d.ts +10 -0
  656. package/dist/types/instructions/createConfig.d.ts.map +1 -1
  657. package/dist/types/instructions/createContract.d.ts +34 -42
  658. package/dist/types/instructions/createContract.d.ts.map +1 -1
  659. package/dist/types/instructions/createContractThread.d.ts +52 -0
  660. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  661. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  662. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  663. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  664. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  665. package/dist/types/instructions/deleteRental.d.ts +3 -2
  666. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  667. package/dist/types/instructions/index.d.ts +33 -0
  668. package/dist/types/instructions/index.d.ts.map +1 -0
  669. package/dist/types/instructions/invalidateRental.d.ts +12 -15
  670. package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
  671. package/dist/types/instructions/releaseRental.d.ts +19 -39
  672. package/dist/types/instructions/releaseRental.d.ts.map +1 -1
  673. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  674. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  675. package/dist/types/instructions/reserveRental.d.ts +43 -29
  676. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  677. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  678. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  679. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  680. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  681. package/dist/types/instructions/updateConfig.d.ts +0 -13
  682. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  683. package/dist/types/instructions/updateContract.d.ts +24 -31
  684. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  685. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  686. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  687. package/dist/types/kit/index.d.ts +25 -0
  688. package/dist/types/kit/index.d.ts.map +1 -0
  689. package/dist/types/legacy/index.d.ts +63 -0
  690. package/dist/types/legacy/index.d.ts.map +1 -0
  691. package/dist/types/params/amount.d.ts +3 -3
  692. package/dist/types/params/index.d.ts +5 -0
  693. package/dist/types/params/index.d.ts.map +1 -0
  694. package/dist/types/params/sol.d.ts +34 -0
  695. package/dist/types/params/sol.d.ts.map +1 -0
  696. package/dist/types/pda/constants.d.ts +6 -1
  697. package/dist/types/pda/constants.d.ts.map +1 -1
  698. package/dist/types/pda/index.d.ts +6 -22
  699. package/dist/types/pda/index.d.ts.map +1 -1
  700. package/dist/types/pda/lookupTable.d.ts +30 -0
  701. package/dist/types/pda/lookupTable.d.ts.map +1 -0
  702. package/dist/types/pda/sage.d.ts +6 -5
  703. package/dist/types/pda/sage.d.ts.map +1 -1
  704. package/dist/types/pda/slyvault.d.ts +2 -23
  705. package/dist/types/pda/slyvault.d.ts.map +1 -1
  706. package/dist/types/pda/srsly.d.ts +21 -8
  707. package/dist/types/pda/srsly.d.ts.map +1 -1
  708. package/dist/types/pda/thread.d.ts +18 -18
  709. package/dist/types/pda/thread.d.ts.map +1 -1
  710. package/dist/types/pda/token.d.ts +2 -1
  711. package/dist/types/pda/token.d.ts.map +1 -1
  712. package/dist/types/utils/addresses.d.ts +7 -1
  713. package/dist/types/utils/addresses.d.ts.map +1 -1
  714. package/dist/types/utils/config.d.ts +48 -0
  715. package/dist/types/utils/config.d.ts.map +1 -1
  716. package/dist/types/utils/discountAuth.d.ts +94 -0
  717. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  718. package/dist/types/utils/index.d.ts +5 -1
  719. package/dist/types/utils/index.d.ts.map +1 -1
  720. package/dist/types/utils/instructionResult.d.ts +57 -0
  721. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  722. package/dist/types/utils/instructions.d.ts +16 -18
  723. package/dist/types/utils/instructions.d.ts.map +1 -1
  724. package/dist/types/utils/rental.d.ts +22 -0
  725. package/dist/types/utils/rental.d.ts.map +1 -0
  726. package/dist/types/utils/signer.d.ts +5 -2
  727. package/dist/types/utils/signer.d.ts.map +1 -1
  728. package/dist/types/version.d.ts +1 -1
  729. package/package.json +38 -20
  730. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  731. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  732. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  733. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  734. package/dist/cjs/generated/codama/instructions/captureRental.js +0 -129
  735. package/dist/cjs/generated/codama/instructions/captureRental.js.map +0 -1
  736. package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +0 -1
  737. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  738. package/dist/cjs/generated/codama/instructions/claimRental.js +0 -364
  739. package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
  740. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  741. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  742. package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
  743. package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -241
  744. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
  745. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  746. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  747. package/dist/cjs/generated/codama/types/capturedFlagData.js +0 -31
  748. package/dist/cjs/generated/codama/types/capturedFlagData.js.map +0 -1
  749. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  750. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  751. package/dist/cjs/generated/codama/types/memberType.js +0 -57
  752. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  753. package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
  754. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
  755. package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
  756. package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
  757. package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
  758. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
  759. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
  760. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  761. package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
  762. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
  763. package/dist/cjs/instructions/captureRental.js +0 -85
  764. package/dist/cjs/instructions/captureRental.js.map +0 -1
  765. package/dist/cjs/instructions/claimBorrowerPayments.js +0 -69
  766. package/dist/cjs/instructions/claimBorrowerPayments.js.map +0 -1
  767. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  768. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  769. package/dist/cjs/instructions/claimRental.js +0 -135
  770. package/dist/cjs/instructions/claimRental.js.map +0 -1
  771. package/dist/cjs/instructions/discountBorrower.js +0 -75
  772. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  773. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  774. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  775. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  776. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  777. package/dist/esm/generated/codama/instructions/captureRental.js +0 -119
  778. package/dist/esm/generated/codama/instructions/captureRental.js.map +0 -1
  779. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  780. package/dist/esm/generated/codama/instructions/claimRental.js +0 -354
  781. package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
  782. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  783. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  784. package/dist/esm/generated/codama/instructions/payRental.js +0 -240
  785. package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
  786. package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -231
  787. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
  788. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  789. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  790. package/dist/esm/generated/codama/types/capturedFlagData.js +0 -26
  791. package/dist/esm/generated/codama/types/capturedFlagData.js.map +0 -1
  792. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  793. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  794. package/dist/esm/generated/codama/types/memberType.js +0 -50
  795. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  796. package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
  797. package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
  798. package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
  799. package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
  800. package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
  801. package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
  802. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
  803. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  804. package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
  805. package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
  806. package/dist/esm/instructions/captureRental.js +0 -82
  807. package/dist/esm/instructions/captureRental.js.map +0 -1
  808. package/dist/esm/instructions/claimContractPayments.js +0 -76
  809. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  810. package/dist/esm/instructions/claimRental.js +0 -132
  811. package/dist/esm/instructions/claimRental.js.map +0 -1
  812. package/dist/esm/instructions/discountBorrower.js +0 -72
  813. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  814. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  815. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  816. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  817. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  818. package/dist/types/generated/codama/instructions/captureRental.d.ts +0 -59
  819. package/dist/types/generated/codama/instructions/captureRental.d.ts.map +0 -1
  820. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +0 -75
  821. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +0 -1
  822. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  823. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  824. package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -132
  825. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
  826. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  827. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  828. package/dist/types/generated/codama/instructions/payRental.d.ts +0 -118
  829. package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
  830. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -98
  831. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
  832. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  833. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  834. package/dist/types/generated/codama/types/capturedFlagData.d.ts +0 -35
  835. package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +0 -1
  836. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  837. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  838. package/dist/types/generated/codama/types/memberType.d.ts +0 -57
  839. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  840. package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
  841. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
  842. package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
  843. package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
  844. package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
  845. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
  846. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
  847. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
  848. package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
  849. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
  850. package/dist/types/instructions/captureRental.d.ts +0 -58
  851. package/dist/types/instructions/captureRental.d.ts.map +0 -1
  852. package/dist/types/instructions/claimBorrowerPayments.d.ts +0 -59
  853. package/dist/types/instructions/claimBorrowerPayments.d.ts.map +0 -1
  854. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  855. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  856. package/dist/types/instructions/claimRental.d.ts +0 -97
  857. package/dist/types/instructions/claimRental.d.ts.map +0 -1
  858. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  859. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -6,11 +6,10 @@
6
6
  */
7
7
  import { address } from '@solana/kit';
8
8
  import { getInvalidateRentalInstructionAsync } from '../generated/codama/instructions';
9
- import { mergeConfig, getAddresses, getRpcUrl } from '../utils/config';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { prepareInstructions } from '../utils/instructions';
12
12
  import { deriveGameAccounts } from '../pda/sage';
13
- import { fetchFleet } from '../accounts/fleet';
14
13
  /**
15
14
  * Invalidate a rental
16
15
  *
@@ -27,7 +26,7 @@ import { fetchFleet } from '../accounts/fleet';
27
26
  * - Contract was never created but fleet shows as rented
28
27
  *
29
28
  * **This function:**
30
- * - Fetches fleet to get ownerProfile and faction (if not provided)
29
+ * - Derives contract PDA from fleet (but doesn't require it to exist)
31
30
  * - Gets gameId from config (based on programSet)
32
31
  * - Derives owner's SAGE accounts (starbase, starbase_player)
33
32
  * - Calls SAGE invalidate_rental to unlock the fleet
@@ -38,24 +37,20 @@ import { fetchFleet } from '../accounts/fleet';
38
37
  *
39
38
  * @example
40
39
  * ```typescript
41
- * // Simplest usage - just fleet and signer (auto-fetches owner info)
40
+ * // Emergency invalidation of a stuck fleet (contract doesn't exist)
42
41
  * const ix = await invalidateRental({
43
42
  * fleet: "FLEET_ADDRESS",
44
- * signer: wallet
45
- * });
46
- *
47
- * // With explicit owner info (skips fleet fetch)
48
- * const ix2 = await invalidateRental({
49
- * fleet: fleetAddress,
50
43
  * signer: wallet,
51
- * ownerProfile: ownerProfileAddress,
44
+ * ownerProfile: "OWNER_PROFILE_ADDRESS",
52
45
  * faction: "mud"
53
46
  * });
54
47
  *
55
48
  * // With compute budget
56
- * const ix3 = await invalidateRental({
49
+ * const ix2 = await invalidateRental({
57
50
  * fleet: fleetAddress,
58
- * signer: wallet,
51
+ * signer: adminWallet,
52
+ * ownerProfile: ownerProfileAddress,
53
+ * faction: 1,
59
54
  * computeUnits: 200_000
60
55
  * });
61
56
  * ```
@@ -70,6 +65,12 @@ export async function invalidateRental(params, config) {
70
65
  if (!params.signer) {
71
66
  throw new Error('signer is required');
72
67
  }
68
+ if (!params.ownerProfile) {
69
+ throw new Error('ownerProfile is required');
70
+ }
71
+ if (!params.faction) {
72
+ throw new Error('faction is required');
73
+ }
73
74
  // Convert signer to transaction signer
74
75
  const signerAccount = toTransactionSigner(params.signer);
75
76
  // Get network-specific addresses (including gameId)
@@ -77,24 +78,10 @@ export async function invalidateRental(params, config) {
77
78
  const gameId = address(addresses.gameId);
78
79
  const sageProgram = address(addresses.sage);
79
80
  const programAddress = address(addresses.srsly);
80
- // Get ownerProfile and faction - either from params or fetch from fleet
81
- let ownerProfile;
82
- let faction;
83
- if (params.ownerProfile && params.faction) {
84
- // Use provided values
85
- ownerProfile = address(params.ownerProfile);
86
- faction = params.faction;
87
- }
88
- else {
89
- // Fetch fleet to get owner info
90
- const rpcUrl = getRpcUrl(config);
91
- const fleetData = await fetchFleet(params.fleet, rpcUrl);
92
- ownerProfile = fleetData.ownerProfile;
93
- faction = fleetData.faction;
94
- }
95
- // Derive owner's SAGE accounts
96
- const gameAccounts = await deriveGameAccounts(ownerProfile, faction, gameId);
81
+ // Derive owner's SAGE accounts (NOT borrower's)
82
+ const gameAccounts = await deriveGameAccounts(params.ownerProfile, params.faction, gameId);
97
83
  // Call Codama-generated instruction
84
+ // Contract and rentalAuthority are auto-derived by Codama
98
85
  const kitInstruction = await getInvalidateRentalInstructionAsync({
99
86
  signer: signerAccount,
100
87
  fleet: address(params.fleet),
@@ -1 +1 @@
1
- {"version":3,"file":"invalidateRental.js","sourceRoot":"","sources":["../../../src/instructions/invalidateRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,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,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAmC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA8B,EAC9B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,wEAAwE;IACxE,IAAI,YAAqB,CAAC;IAC1B,IAAI,OAAwB,CAAC;IAE7B,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1C,sBAAsB;QACtB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAuB,CAAC,CAAC;QACvD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QACtC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,YAAY,EACZ,OAAO,EACP,MAAM,CACP,CAAC;IAEF,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,mCAAmC,CAC9D;QACE,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"invalidateRental.js","sourceRoot":"","sources":["../../../src/instructions/invalidateRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,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,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAoCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA8B,EAC9B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CACP,CAAC;IAEF,oCAAoC;IACpC,0DAA0D;IAC1D,MAAM,cAAc,GAAG,MAAM,mCAAmC,CAC9D;QACE,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -2,70 +2,52 @@
2
2
  * @purpose Simplified releaseRental instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated releaseRental instruction.
5
- * Emergency function to release a fleet from rental control when rental state is deleted.
5
+ * Release a fleet from SRSLY rental control when contract exists but rental is inactive.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
8
  import { getReleaseRentalInstructionAsync } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { prepareInstructions } from '../utils/instructions';
12
- import { deriveContract, deriveRental, deriveRentalAuthority } from '../pda/srsly';
13
12
  import { deriveGameAccounts } from '../pda/sage';
14
- import { deriveRentalThread } from '../pda/thread';
15
13
  /**
16
14
  * Release a rental
17
15
  *
18
- * Emergency function to release a fleet from rental control when rental state is deleted.
19
- * This works even when the contract has been deleted. Automatically deletes the payment
20
- * thread if it still exists (skips if already deleted).
16
+ * Release a fleet from SRSLY rental control when:
17
+ * - Contract EXISTS for the fleet
18
+ * - No active rental (rental_state has been cleaned up via rental_close)
19
+ *
20
+ * If contract doesn't exist, use `invalidateRental` instead.
21
21
  *
22
22
  * **Use Cases:**
23
- * - Rental state deleted but fleet still locked in SAGE
24
- * - Contract deleted but fleet still locked in SAGE
25
- * - Recovery from broken state after manual deletions
26
- * - Thread still exists after rental_state was deleted
23
+ * - Fleet stuck in SAGE rental mode after rental_close
24
+ * - Recovery when rental_state is gone but fleet still locked
27
25
  *
28
26
  * **This function:**
29
- * - Derives contract PDA from fleet (but doesn't fetch - may not exist)
30
- * - Derives rental_state, rental_authority, rental_thread PDAs
27
+ * - Derives contract PDA from fleet (must exist)
31
28
  * - Gets gameId from config (based on programSet)
32
- * - Derives all SAGE accounts from provided borrowerProfile/faction
29
+ * - Derives owner's SAGE accounts (starbase, starbase_player)
33
30
  * - Calls SAGE invalidate_rental to unlock the fleet
34
- * - Deletes the payment thread if it exists (skips if already deleted)
35
31
  *
36
- * @param params - Release rental parameters (gameId from config, other SAGE params required)
32
+ * @param params - Release rental parameters
37
33
  * @param config - Optional SDK configuration overrides
38
34
  * @returns Kit instruction (or web3.js if PublicKey in config)
39
35
  *
40
- * @demo
36
+ * @example
41
37
  * ```typescript
42
- * // Emergency release of a stuck fleet (also deletes thread if exists)
38
+ * // Release a stuck fleet (contract must exist)
43
39
  * const ix = await releaseRental({
44
40
  * fleet: "FLEET_ADDRESS",
45
- * borrower: "BORROWER_ADDRESS",
46
41
  * signer: wallet,
47
- * borrowerProfile: "BORROWER_PROFILE_ADDRESS",
42
+ * ownerProfile: "OWNER_PROFILE_ADDRESS",
48
43
  * faction: "mud"
49
44
  * });
50
- * ```
51
- *
52
- * @example
53
- * ```typescript
54
- * // Emergency release of a stuck fleet
55
- * const ix = await releaseRental({
56
- * fleet: fleetAddress,
57
- * borrower: borrowerAddress,
58
- * signer: wallet,
59
- * borrowerProfile: borrowerProfileAddress,
60
- * faction: "mud" // or "oni", "ustur", or 1, 2, 3
61
- * });
62
45
  *
63
46
  * // With compute budget
64
47
  * const ix2 = await releaseRental({
65
48
  * fleet: fleetAddress,
66
- * borrower: borrowerAddress,
67
49
  * signer: adminWallet,
68
- * borrowerProfile: borrowerProfileAddress,
50
+ * ownerProfile: ownerProfileAddress,
69
51
  * faction: 1,
70
52
  * computeUnits: 200_000
71
53
  * });
@@ -78,14 +60,11 @@ export async function releaseRental(params, config) {
78
60
  if (!params.fleet) {
79
61
  throw new Error('fleet is required');
80
62
  }
81
- if (!params.borrower) {
82
- throw new Error('borrower is required');
83
- }
84
63
  if (!params.signer) {
85
64
  throw new Error('signer is required');
86
65
  }
87
- if (!params.borrowerProfile) {
88
- throw new Error('borrowerProfile is required');
66
+ if (!params.ownerProfile) {
67
+ throw new Error('ownerProfile is required');
89
68
  }
90
69
  if (!params.faction) {
91
70
  throw new Error('faction is required');
@@ -97,28 +76,16 @@ export async function releaseRental(params, config) {
97
76
  const gameId = address(addresses.gameId);
98
77
  const sageProgram = address(addresses.sage);
99
78
  const programAddress = address(addresses.srsly);
100
- // 1. Derive contract PDA from fleet (but don't fetch - contract may be deleted)
101
- const contract = await deriveContract(params.fleet);
102
- // 2. Derive rental_state PDA
103
- const rentalState = await deriveRental(contract, params.borrower);
104
- // 3. Derive rental_authority PDA
105
- const rentalAuthority = await deriveRentalAuthority();
106
- // 4. Derive all SAGE accounts using provided params (no fetch needed)
107
- const gameAccounts = await deriveGameAccounts(params.borrowerProfile, params.faction, gameId);
108
- // 5. Derive rental thread (will be deleted if exists, skipped if empty)
109
- const rentalThread = await deriveRentalThread(rentalState, rentalAuthority);
79
+ // Derive owner's SAGE accounts (NOT borrower's)
80
+ const gameAccounts = await deriveGameAccounts(params.ownerProfile, params.faction, gameId);
110
81
  // Call Codama-generated instruction
82
+ // Contract and rentalAuthority are auto-derived by Codama from seeds
111
83
  const kitInstruction = await getReleaseRentalInstructionAsync({
112
84
  signer: signerAccount,
113
- borrower: address(params.borrower),
114
85
  fleet: address(params.fleet),
115
86
  gameId: gameId,
116
87
  starbase: gameAccounts.starbase,
117
88
  starbasePlayer: gameAccounts.starbasePlayer,
118
- rentalState: address(rentalState),
119
- contract: address(contract),
120
- rentalAuthority: address(rentalAuthority),
121
- rentalThread,
122
89
  sageProgram,
123
90
  }, { programAddress });
124
91
  return prepareInstructions(kitInstruction, {
@@ -1 +1 @@
1
- {"version":3,"file":"releaseRental.js","sourceRoot":"","sources":["../../../src/instructions/releaseRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"releaseRental.js","sourceRoot":"","sources":["../../../src/instructions/releaseRental.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,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAoCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;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,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CACP,CAAC;IAEF,oCAAoC;IACpC,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @purpose Remove an affiliate and close account
3
+ *
4
+ * Re-exports slyvault's removeAffiliate instruction.
5
+ */
6
+ export { removeAffiliate, } from '@wuwei-labs/slyvault';
7
+ //# sourceMappingURL=removeAffiliate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/removeAffiliate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,GAEhB,MAAM,sBAAsB,CAAC"}
@@ -2,50 +2,48 @@
2
2
  * @purpose Simplified reserveRental instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated reserveRental instruction.
5
- * Reserves a rental contract using points or ATLAS for a GBM-style auction.
5
+ * Reserves a rental contract using ATLAS for a GBM-style auction.
6
6
  */
7
- import { address } from '@solana/kit';
8
- import { createRpc } from '../utils/rpc';
7
+ import { AccountRole, address } from '@solana/kit';
9
8
  import { getReserveRentalInstructionAsync } from '../generated/codama/instructions';
10
9
  import { mergeConfig, getAddresses } from '../utils/config';
11
10
  import { toTransactionSigner } from '../utils/signer';
11
+ import { convertAmount } from '../params/amount';
12
+ import { convertDuration } from '../params/duration';
12
13
  import { fetchContract } from '../accounts/contract';
13
14
  import { fetchConfig } from '../accounts/config';
14
- import { fetchBorrowerState } from '../generated/codama/accounts';
15
- import { deriveBorrowerState } from '../pda/srsly';
15
+ import { fetchFleet } from '../accounts/fleet';
16
+ import { fetchBorrower } from '../accounts/borrower';
17
+ import { fetchRental } from '../accounts/rental';
18
+ import { RentalStatus } from '../generated/codama/types';
19
+ import { deriveGameAccounts } from '../pda/sage';
20
+ import { deriveQueuedRental, deriveRentalAuthority } from '../pda/srsly';
16
21
  import { deriveAssociatedTokenAccount } from '../pda/token';
22
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
17
23
  import { prepareInstructions } from '../utils/instructions';
24
+ import { deserializeDiscountAuth } from '../utils/discountAuth';
18
25
  /**
19
26
  * Reserve a rental contract via GBM-style auction
20
27
  *
21
- * Allows a user to reserve (bid on) a rental contract using either
22
- * accumulated capture points or ATLAS tokens. Winners get an exclusive
23
- * reservation window to accept the rental once the current rental ends.
28
+ * Allows a user to reserve (bid on) a rental contract using ATLAS tokens.
29
+ * Winners get an exclusive reservation window to accept the rental once
30
+ * the current rental ends.
24
31
  *
25
- * The reservation type is determined by the `useAtlas` parameter:
26
- * - If `useAtlas=false` (default): Uses capture points from borrower state
27
- * - If `useAtlas=true`: Transfers ATLAS from challenger's wallet
32
+ * The reservation uses the queued rental PDA and requires the contract
33
+ * thread and activate_rental fiber for scheduling.
28
34
  *
29
35
  * @param params - Reservation parameters
30
36
  * @param config - Optional SDK configuration overrides
31
37
  * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
32
38
  *
33
- * @demo
39
+ * @example
34
40
  * ```typescript
35
- * // Reserve with 5 points
41
+ * // Reserve with 5 ATLAS for a 7-day rental
36
42
  * const ixs = await reserveRental({
37
43
  * challenger: wallet,
38
44
  * contract: "CONTRACT_ADDRESS",
39
- * amount: 5, // 5 points deducted from borrower state
40
- * useAtlas: false
41
- * });
42
- *
43
- * // Reserve with 5 point-equivalents in ATLAS
44
- * const ixs2 = await reserveRental({
45
- * challenger: wallet,
46
- * contract: "CONTRACT_ADDRESS",
47
- * amount: 5, // 5 * atlas_per_point = ATLAS lamports transferred
48
- * useAtlas: true,
45
+ * amount: 5,
46
+ * duration: { days: 7 },
49
47
  * computeUnits: 200_000
50
48
  * });
51
49
  * ```
@@ -60,71 +58,97 @@ export async function reserveRental(params, config) {
60
58
  if (!params.contract) {
61
59
  throw new Error('contract is required');
62
60
  }
63
- if (params.amount === undefined || params.amount === null) {
64
- throw new Error('amount is required');
61
+ if (!params.borrowerProfile) {
62
+ throw new Error('borrowerProfile is required for reserveRental');
63
+ }
64
+ if (!params.duration) {
65
+ throw new Error('duration is required');
66
+ }
67
+ const bidPoints = params.bidPoints ?? 0;
68
+ const bidAtlasValue = params.bidAtlas ? convertAmount(params.bidAtlas) : 0n;
69
+ if (bidPoints === 0 && bidAtlasValue === 0n) {
70
+ throw new Error('Must provide either bidPoints or bidAtlas');
71
+ }
72
+ if (bidPoints > 0 && bidAtlasValue > 0n) {
73
+ throw new Error('bidPoints and bidAtlas are mutually exclusive');
65
74
  }
66
75
  // Convert challenger to transaction signer
67
76
  const challengerSigner = toTransactionSigner(params.challenger);
68
77
  // Get network-specific addresses
69
78
  const addresses = getAddresses(config);
70
- const atlasMint = address(addresses.atlasMint);
71
79
  const programAddress = address(addresses.srsly);
72
- // Derive challenger state PDA
73
- const challengerState = await deriveBorrowerState(challengerSigner.address);
74
- // Fetch contract to get contract token account
75
- const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
76
- const contractTokenAccount = contractAccount.data.contractTokenAccount;
77
- // Fetch config for mint validation
80
+ const sageProgram = address(addresses.sage);
81
+ // Fetch config for mint
78
82
  const configAccount = await fetchConfig(finalConfig.rpcUrl);
79
- // Derive challenger's managed token account (used for receiving ATLAS bonuses)
80
- const challengerManagedTokenAccount = await deriveAssociatedTokenAccount(challengerState, atlasMint);
81
- // Convert amount based on reservation type
82
- // - Points: use raw number as-is
83
- // - ATLAS: multiply by atlas_per_point to get lamports
84
- const amountValue = params.useAtlas
85
- ? BigInt(params.amount) * BigInt(configAccount.data.atlasPerPoint) // point-equivalents → lamports
86
- : BigInt(params.amount); // points stay as-is
83
+ const atlasMint = configAccount.data.atlasMint;
84
+ // Fetch contract to get contractTokenAccount
85
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
86
+ // Derive queued rental PDA
87
+ const rentalState = await deriveQueuedRental(params.contract);
88
+ // Derive rental authority
89
+ const rentalAuthority = await deriveRentalAuthority();
90
+ // Derive contract thread and activate_rental fiber (fiber index 2)
91
+ const contractThread = await deriveContractThread(params.contract, rentalAuthority);
92
+ const activateRentalFiber = await deriveFiber(contractThread, 2);
93
+ // Derive contract token account (ATA of contract PDA)
94
+ const contractAddress = address(params.contract);
95
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
96
+ // Derive challenger's token account
97
+ const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
98
+ // Convert duration to seconds
99
+ const durationSeconds = convertDuration(params.duration);
100
+ // Deserialize discount auth if provided
101
+ let discountAuth = null;
102
+ if (params.discountAuth) {
103
+ discountAuth = deserializeDiscountAuth(params.discountAuth);
104
+ }
105
+ const referrer = params.referrer ? address(params.referrer) : undefined;
87
106
  // Build instruction input
88
107
  const instructionInput = {
89
108
  challenger: challengerSigner,
90
- mint: atlasMint,
91
- contract: address(params.contract),
92
- challengerState,
93
- challengerManagedTokenAccount,
94
- contractTokenAccount: address(contractTokenAccount),
95
- amount: amountValue,
96
- // Optional accounts based on reservation type
97
- challengerTokenAccount: undefined,
98
- defenderState: undefined,
99
- defenderManagedTokenAccount: undefined,
109
+ contract: contractAddress,
110
+ contractThread,
111
+ activateRentalFiber,
112
+ contractTokenAccount,
113
+ challengerTokenAccount,
114
+ rentalState,
115
+ referrer,
116
+ sageProgram,
117
+ bidPoints,
118
+ bidAtlas: bidAtlasValue,
119
+ duration: BigInt(durationSeconds),
120
+ discountAuth,
100
121
  };
101
- // If using ATLAS, include challenger's token account
102
- if (params.useAtlas) {
103
- const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
104
- instructionInput.challengerTokenAccount = challengerTokenAccount;
105
- }
106
- // If there's a current reservation holder, we need to provide defender accounts
107
- if (contractAccount.data.reservationHolder &&
108
- typeof contractAccount.data.reservationHolder === 'object' &&
109
- '__option' in contractAccount.data.reservationHolder &&
110
- contractAccount.data.reservationHolder.__option === 'Some') {
111
- const defenderState = contractAccount.data.reservationHolder.value;
112
- instructionInput.defenderState = defenderState;
113
- // Fetch defender state to get their managed token account
114
- const rpc = createRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
115
- try {
116
- const defenderStateAccount = await fetchBorrowerState(rpc, defenderState);
117
- if (defenderStateAccount.data.managedTokenAccount) {
118
- instructionInput.defenderManagedTokenAccount = defenderStateAccount.data.managedTokenAccount;
119
- }
120
- }
121
- catch {
122
- // Defender state might not exist or be readable, continue without it
122
+ // If there's a current queued reservation, provide defender accounts
123
+ // Fetch queued rental to check if there's an existing reservation holder
124
+ try {
125
+ const queuedRental = await fetchRental(rentalState, finalConfig.rpcUrl);
126
+ if (queuedRental.data.status === RentalStatus.Queued) {
127
+ const defenderBorrowerState = queuedRental.data.borrowerState;
128
+ instructionInput.defenderState = defenderBorrowerState;
129
+ // Fetch defender's managed token account from their borrower state
130
+ const defenderAccount = await fetchBorrower(defenderBorrowerState, finalConfig.rpcUrl);
131
+ instructionInput.defenderManagedTokenAccount = defenderAccount.data.managedTokenAccount;
123
132
  }
124
133
  }
134
+ catch {
135
+ // Queued rental doesn't exist or is Available — no defender
136
+ }
137
+ // Derive SAGE accounts for remaining_accounts
138
+ const borrowerProfileAddr = address(params.borrowerProfile);
139
+ const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
140
+ const gameAccounts = await deriveGameAccounts(borrowerProfileAddr, fleetState.faction, contractAccount.data.gameId);
125
141
  // Call Codama-generated instruction
126
142
  const kitInstruction = await getReserveRentalInstructionAsync(instructionInput, { programAddress });
127
- // Prepare instructions with optional compute budget and web3.js conversion
143
+ // Append SAGE accounts as remaining_accounts
144
+ const sageRemainingAccounts = [
145
+ { address: borrowerProfileAddr, role: AccountRole.READONLY },
146
+ { address: gameAccounts.profileFaction, role: AccountRole.READONLY },
147
+ { address: gameAccounts.starbase, role: AccountRole.READONLY },
148
+ { address: gameAccounts.starbasePlayer, role: AccountRole.READONLY },
149
+ ];
150
+ kitInstruction.accounts.push(...sageRemainingAccounts);
151
+ // Prepare instructions with optional compute budget
128
152
  return prepareInstructions(kitInstruction, {
129
153
  computeUnits: params.computeUnits,
130
154
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @purpose Update affiliate settings (discount authority, authority transfer)
3
+ *
4
+ * Convenience wrapper around slyvault's affiliateUpdate instruction.
5
+ * Auto-fetches vault from affiliate member state.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { affiliateUpdate, fetchMember, } from '@wuwei-labs/slyvault';
9
+ import { mergeConfig } from '../utils/config';
10
+ /**
11
+ * Update affiliate settings or transfer authority
12
+ *
13
+ * Auto-fetches the vault address from the affiliate member state.
14
+ * Validates that the member is an Affiliate type before proceeding.
15
+ *
16
+ * @param params - Update parameters
17
+ * @param config - Optional SDK configuration overrides
18
+ * @returns Prepared instruction(s)
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { updateAffiliate } from '@wuwei-labs/srsly';
23
+ *
24
+ * // Set discount authority for affiliate
25
+ * const ix = await updateAffiliate({
26
+ * authority: affiliateWallet,
27
+ * affiliateState: "AFFILIATE_STATE_PDA",
28
+ * discountAuthority: "DISCOUNT_AUTHORITY_ADDRESS"
29
+ * });
30
+ * ```
31
+ */
32
+ export async function updateAffiliate(params, config) {
33
+ const finalConfig = mergeConfig(config);
34
+ if (!params.authority)
35
+ throw new Error('authority is required');
36
+ if (!params.affiliateState)
37
+ throw new Error('affiliateState is required');
38
+ // Fetch affiliate member state to get vault
39
+ const { data: memberState } = await fetchMember(address(params.affiliateState), finalConfig.rpcUrl);
40
+ // Validate member is Affiliate type
41
+ if (memberState.memberType.__kind !== 'Affiliate') {
42
+ throw new Error('Member is not an Affiliate type - use updateMember for Normal members');
43
+ }
44
+ // Delegate to slyvault affiliateUpdate
45
+ return affiliateUpdate({
46
+ authority: params.authority,
47
+ vault: memberState.vault,
48
+ memberState: address(params.affiliateState),
49
+ discountAuthority: params.discountAuthority,
50
+ newAuthority: params.newAuthority,
51
+ computeUnits: params.computeUnits,
52
+ });
53
+ }
54
+ //# sourceMappingURL=updateAffiliate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/updateAffiliate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,eAAe,EACf,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAsC9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAE1E,4CAA4C;IAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAC7C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAC9B,WAAW,CAAC,MAAM,CACnB,CAAC;IAEF,oCAAoC;IACpC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,uCAAuC;IACvC,OAAO,eAAe,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;QAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC"}