@wuwei-labs/srsly 3.0.0-beta.9 → 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 (804) 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 +416 -65
  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 -55
  21. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/contractState.js +52 -56
  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 -2
  27. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/rentalState.js +41 -38
  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 +70 -49
  33. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  34. package/dist/cjs/generated/codama/instructions/acceptRental.js +77 -153
  35. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/activateRental.js +166 -31
  37. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  38. package/dist/cjs/generated/codama/instructions/cancelRental.js +68 -51
  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 -124
  51. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  52. package/dist/cjs/generated/codama/instructions/createBorrower.js +197 -0
  53. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  54. package/dist/cjs/generated/codama/instructions/createConfig.js +21 -21
  55. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  56. package/dist/cjs/generated/codama/instructions/createContract.js +59 -29
  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 +6 -6
  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/processContract.js +224 -0
  71. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  72. package/dist/cjs/generated/codama/instructions/releaseRental.js +5 -5
  73. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  74. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  75. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  76. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  77. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  78. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  79. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  80. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -25
  81. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  82. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  83. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  84. package/dist/cjs/generated/codama/programs/srsly.js +41 -49
  85. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  86. package/dist/cjs/generated/codama/shared/index.js +8 -8
  87. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  88. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  89. package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
  90. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  91. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  92. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  93. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  94. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  95. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  96. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  97. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  98. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  99. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  100. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  101. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  102. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  103. package/dist/cjs/generated/codama/types/contractUpdated.js +8 -8
  104. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  105. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  106. package/dist/cjs/generated/codama/types/fieldUpdate.js +4 -4
  107. package/dist/cjs/generated/codama/types/fleet.js +60 -0
  108. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  109. package/dist/cjs/generated/codama/types/index.js +10 -6
  110. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  111. package/dist/cjs/generated/codama/types/miscStats.js +22 -22
  112. package/dist/cjs/generated/codama/types/movementStats.js +14 -14
  113. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
  114. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  115. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  116. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  117. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  118. package/dist/cjs/generated/codama/types/rentalActivated.js +8 -6
  119. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
  120. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  121. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  122. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  123. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  124. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  125. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  126. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  127. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  128. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  129. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  130. package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
  131. package/dist/cjs/generated/codama/types/shipStats.js +6 -6
  132. package/dist/cjs/generated/codama/types/signal.js +26 -12
  133. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  134. package/dist/cjs/generated/codama/types/thread.js +62 -0
  135. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  136. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  137. package/dist/cjs/index.js +4 -185
  138. package/dist/cjs/index.js.map +1 -1
  139. package/dist/cjs/instructions/acceptRental.js +87 -82
  140. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  141. package/dist/cjs/instructions/activateRental.js +98 -0
  142. package/dist/cjs/instructions/activateRental.js.map +1 -0
  143. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  144. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  145. package/dist/cjs/instructions/cancelRental.js +32 -23
  146. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  147. package/dist/cjs/instructions/claimBorrower.js +47 -21
  148. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  149. package/dist/cjs/instructions/claimContract.js +56 -0
  150. package/dist/cjs/instructions/claimContract.js.map +1 -0
  151. package/dist/cjs/instructions/closeBorrower.js +21 -23
  152. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  153. package/dist/cjs/instructions/closeContract.js +94 -21
  154. package/dist/cjs/instructions/closeContract.js.map +1 -1
  155. package/dist/cjs/instructions/closeContractThread.js +64 -0
  156. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  157. package/dist/cjs/instructions/closeRental.js +35 -46
  158. package/dist/cjs/instructions/closeRental.js.map +1 -1
  159. package/dist/cjs/instructions/createAffiliate.js +73 -0
  160. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  161. package/dist/cjs/instructions/createBorrower.js +46 -0
  162. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  163. package/dist/cjs/instructions/createContract.js +45 -39
  164. package/dist/cjs/instructions/createContract.js.map +1 -1
  165. package/dist/cjs/instructions/createContractThread.js +102 -0
  166. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  167. package/dist/cjs/instructions/deleteBorrower.js +13 -13
  168. package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
  169. package/dist/cjs/instructions/deleteConfig.js +16 -5
  170. package/dist/cjs/instructions/deleteConfig.js.map +1 -1
  171. package/dist/cjs/instructions/deleteRental.js +1 -4
  172. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  173. package/dist/cjs/instructions/index.js +49 -0
  174. package/dist/cjs/instructions/index.js.map +1 -0
  175. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  176. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  177. package/dist/cjs/instructions/reserveRental.js +95 -71
  178. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  179. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  180. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  181. package/dist/cjs/instructions/updateBorrower.js +44 -38
  182. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  183. package/dist/cjs/instructions/updateConfig.js +0 -4
  184. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  185. package/dist/cjs/instructions/updateContract.js +20 -36
  186. package/dist/cjs/instructions/updateContract.js.map +1 -1
  187. package/dist/cjs/instructions/updateContractThread.js +60 -0
  188. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  189. package/dist/cjs/kit/index.js +68 -0
  190. package/dist/cjs/kit/index.js.map +1 -0
  191. package/dist/cjs/legacy/index.js +125 -0
  192. package/dist/cjs/legacy/index.js.map +1 -0
  193. package/dist/cjs/package.json +5 -3
  194. package/dist/cjs/params/amount.js +4 -4
  195. package/dist/cjs/params/index.js +21 -0
  196. package/dist/cjs/params/index.js.map +1 -0
  197. package/dist/cjs/params/sol.js +71 -0
  198. package/dist/cjs/params/sol.js.map +1 -0
  199. package/dist/cjs/pda/constants.js +7 -2
  200. package/dist/cjs/pda/constants.js.map +1 -1
  201. package/dist/cjs/pda/index.js +10 -22
  202. package/dist/cjs/pda/index.js.map +1 -1
  203. package/dist/cjs/pda/lookupTable.js +3 -2
  204. package/dist/cjs/pda/lookupTable.js.map +1 -1
  205. package/dist/cjs/pda/sage.js +11 -10
  206. package/dist/cjs/pda/sage.js.map +1 -1
  207. package/dist/cjs/pda/slyvault.js +5 -49
  208. package/dist/cjs/pda/slyvault.js.map +1 -1
  209. package/dist/cjs/pda/srsly.js +39 -19
  210. package/dist/cjs/pda/srsly.js.map +1 -1
  211. package/dist/cjs/pda/thread.js +41 -31
  212. package/dist/cjs/pda/thread.js.map +1 -1
  213. package/dist/cjs/pda/token.js +5 -4
  214. package/dist/cjs/pda/token.js.map +1 -1
  215. package/dist/cjs/utils/addresses.js +3 -2
  216. package/dist/cjs/utils/addresses.js.map +1 -1
  217. package/dist/cjs/utils/config.js +20 -2
  218. package/dist/cjs/utils/config.js.map +1 -1
  219. package/dist/cjs/utils/discountAuth.js +161 -0
  220. package/dist/cjs/utils/discountAuth.js.map +1 -0
  221. package/dist/cjs/utils/index.js +16 -1
  222. package/dist/cjs/utils/index.js.map +1 -1
  223. package/dist/cjs/utils/instructionResult.js +76 -0
  224. package/dist/cjs/utils/instructionResult.js.map +1 -0
  225. package/dist/cjs/utils/instructions.js +12 -17
  226. package/dist/cjs/utils/instructions.js.map +1 -1
  227. package/dist/cjs/utils/rental.js +49 -0
  228. package/dist/cjs/utils/rental.js.map +1 -0
  229. package/dist/cjs/utils/signer.js +16 -9
  230. package/dist/cjs/utils/signer.js.map +1 -1
  231. package/dist/cjs/version.js +1 -1
  232. package/dist/esm/accounts/borrower.js +55 -1
  233. package/dist/esm/accounts/borrower.js.map +1 -1
  234. package/dist/esm/accounts/config.js +48 -1
  235. package/dist/esm/accounts/config.js.map +1 -1
  236. package/dist/esm/accounts/contract.js +58 -1
  237. package/dist/esm/accounts/contract.js.map +1 -1
  238. package/dist/esm/accounts/index.js +8 -0
  239. package/dist/esm/accounts/index.js.map +1 -0
  240. package/dist/esm/accounts/member.js +9 -0
  241. package/dist/esm/accounts/member.js.map +1 -0
  242. package/dist/esm/accounts/rental.js +55 -1
  243. package/dist/esm/accounts/rental.js.map +1 -1
  244. package/dist/esm/accounts/thread.js +34 -0
  245. package/dist/esm/accounts/thread.js.map +1 -0
  246. package/dist/esm/demos.js +415 -64
  247. package/dist/esm/demos.js.map +1 -1
  248. package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
  249. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  250. package/dist/esm/generated/codama/accounts/configState.js +53 -56
  251. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  252. package/dist/esm/generated/codama/accounts/contractState.js +53 -57
  253. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  254. package/dist/esm/generated/codama/accounts/fleet.js +41 -38
  255. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
  256. package/dist/esm/generated/codama/accounts/index.js +4 -6
  257. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  258. package/dist/esm/generated/codama/accounts/rentalState.js +43 -40
  259. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  260. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  261. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  262. package/dist/esm/generated/codama/errors/index.js +1 -1
  263. package/dist/esm/generated/codama/errors/srsly.js +70 -49
  264. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  265. package/dist/esm/generated/codama/index.js +5 -5
  266. package/dist/esm/generated/codama/instructions/acceptRental.js +81 -157
  267. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  268. package/dist/esm/generated/codama/instructions/activateRental.js +169 -34
  269. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  270. package/dist/esm/generated/codama/instructions/cancelRental.js +71 -54
  271. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  272. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  273. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  274. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  275. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  276. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  277. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  278. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  279. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  280. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  281. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  282. package/dist/esm/generated/codama/instructions/closeRental.js +12 -127
  283. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  284. package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
  285. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  286. package/dist/esm/generated/codama/instructions/createConfig.js +24 -24
  287. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  288. package/dist/esm/generated/codama/instructions/createContract.js +62 -32
  289. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  290. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  291. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  292. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  293. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  294. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  295. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  296. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  297. package/dist/esm/generated/codama/instructions/deleteRental.js +10 -10
  298. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  299. package/dist/esm/generated/codama/instructions/index.js +25 -25
  300. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  301. package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
  302. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  303. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  304. package/dist/esm/generated/codama/instructions/releaseRental.js +8 -8
  305. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  306. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  307. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  308. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  309. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  310. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  311. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  312. package/dist/esm/generated/codama/instructions/updateContract.js +20 -28
  313. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  314. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  315. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  316. package/dist/esm/generated/codama/programs/index.js +1 -1
  317. package/dist/esm/generated/codama/programs/srsly.js +42 -50
  318. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  319. package/dist/esm/generated/codama/shared/index.js +9 -9
  320. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  321. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  322. package/dist/esm/generated/codama/types/cargoStats.js +19 -19
  323. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  324. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  325. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  326. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  327. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  328. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  329. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  330. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  331. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  332. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  333. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  334. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  335. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  336. package/dist/esm/generated/codama/types/contractUpdated.js +10 -10
  337. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  338. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  339. package/dist/esm/generated/codama/types/fieldUpdate.js +5 -5
  340. package/dist/esm/generated/codama/types/fleet.js +55 -0
  341. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  342. package/dist/esm/generated/codama/types/index.js +33 -29
  343. package/dist/esm/generated/codama/types/index.js.map +1 -1
  344. package/dist/esm/generated/codama/types/miscStats.js +23 -23
  345. package/dist/esm/generated/codama/types/movementStats.js +15 -15
  346. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
  347. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  348. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  349. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  350. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  351. package/dist/esm/generated/codama/types/rentalActivated.js +9 -7
  352. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
  353. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  354. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  355. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  356. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  357. package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
  358. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  359. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  360. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  361. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  362. package/dist/esm/generated/codama/types/schedule.js +15 -15
  363. package/dist/esm/generated/codama/types/shipCounts.js +21 -21
  364. package/dist/esm/generated/codama/types/shipStats.js +8 -8
  365. package/dist/esm/generated/codama/types/signal.js +28 -14
  366. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  367. package/dist/esm/generated/codama/types/thread.js +57 -0
  368. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  369. package/dist/esm/generated/codama/types/trigger.js +37 -37
  370. package/dist/esm/index.js +1 -84
  371. package/dist/esm/index.js.map +1 -1
  372. package/dist/esm/instructions/acceptRental.js +91 -86
  373. package/dist/esm/instructions/acceptRental.js.map +1 -1
  374. package/dist/esm/instructions/activateRental.js +95 -0
  375. package/dist/esm/instructions/activateRental.js.map +1 -0
  376. package/dist/esm/instructions/approveAffiliate.js +7 -0
  377. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  378. package/dist/esm/instructions/cancelRental.js +33 -24
  379. package/dist/esm/instructions/cancelRental.js.map +1 -1
  380. package/dist/esm/instructions/claimBorrower.js +49 -23
  381. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  382. package/dist/esm/instructions/claimContract.js +53 -0
  383. package/dist/esm/instructions/claimContract.js.map +1 -0
  384. package/dist/esm/instructions/closeBorrower.js +22 -24
  385. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  386. package/dist/esm/instructions/closeContract.js +63 -23
  387. package/dist/esm/instructions/closeContract.js.map +1 -1
  388. package/dist/esm/instructions/closeContractThread.js +61 -0
  389. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  390. package/dist/esm/instructions/closeRental.js +36 -47
  391. package/dist/esm/instructions/closeRental.js.map +1 -1
  392. package/dist/esm/instructions/createAffiliate.js +70 -0
  393. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  394. package/dist/esm/instructions/createBorrower.js +43 -0
  395. package/dist/esm/instructions/createBorrower.js.map +1 -0
  396. package/dist/esm/instructions/createContract.js +47 -41
  397. package/dist/esm/instructions/createContract.js.map +1 -1
  398. package/dist/esm/instructions/createContractThread.js +99 -0
  399. package/dist/esm/instructions/createContractThread.js.map +1 -0
  400. package/dist/esm/instructions/deleteBorrower.js +13 -13
  401. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  402. package/dist/esm/instructions/deleteConfig.js +17 -6
  403. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  404. package/dist/esm/instructions/deleteRental.js +1 -4
  405. package/dist/esm/instructions/deleteRental.js.map +1 -1
  406. package/dist/esm/instructions/index.js +33 -0
  407. package/dist/esm/instructions/index.js.map +1 -0
  408. package/dist/esm/instructions/removeAffiliate.js +7 -0
  409. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  410. package/dist/esm/instructions/reserveRental.js +97 -73
  411. package/dist/esm/instructions/reserveRental.js.map +1 -1
  412. package/dist/esm/instructions/updateAffiliate.js +54 -0
  413. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  414. package/dist/esm/instructions/updateBorrower.js +45 -39
  415. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  416. package/dist/esm/instructions/updateConfig.js +0 -4
  417. package/dist/esm/instructions/updateConfig.js.map +1 -1
  418. package/dist/esm/instructions/updateContract.js +20 -36
  419. package/dist/esm/instructions/updateContract.js.map +1 -1
  420. package/dist/esm/instructions/updateContractThread.js +57 -0
  421. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  422. package/dist/esm/kit/index.js +26 -0
  423. package/dist/esm/kit/index.js.map +1 -0
  424. package/dist/esm/legacy/index.js +84 -0
  425. package/dist/esm/legacy/index.js.map +1 -0
  426. package/dist/esm/package.json +5 -3
  427. package/dist/esm/params/amount.js +4 -4
  428. package/dist/esm/params/index.js +5 -0
  429. package/dist/esm/params/index.js.map +1 -0
  430. package/dist/esm/params/sol.js +68 -0
  431. package/dist/esm/params/sol.js.map +1 -0
  432. package/dist/esm/pda/constants.js +6 -1
  433. package/dist/esm/pda/constants.js.map +1 -1
  434. package/dist/esm/pda/index.js +4 -22
  435. package/dist/esm/pda/index.js.map +1 -1
  436. package/dist/esm/pda/lookupTable.js +3 -2
  437. package/dist/esm/pda/lookupTable.js.map +1 -1
  438. package/dist/esm/pda/sage.js +11 -10
  439. package/dist/esm/pda/sage.js.map +1 -1
  440. package/dist/esm/pda/slyvault.js +2 -47
  441. package/dist/esm/pda/slyvault.js.map +1 -1
  442. package/dist/esm/pda/srsly.js +38 -19
  443. package/dist/esm/pda/srsly.js.map +1 -1
  444. package/dist/esm/pda/thread.js +40 -31
  445. package/dist/esm/pda/thread.js.map +1 -1
  446. package/dist/esm/pda/token.js +5 -4
  447. package/dist/esm/pda/token.js.map +1 -1
  448. package/dist/esm/utils/addresses.js +3 -2
  449. package/dist/esm/utils/addresses.js.map +1 -1
  450. package/dist/esm/utils/config.js +19 -2
  451. package/dist/esm/utils/config.js.map +1 -1
  452. package/dist/esm/utils/discountAuth.js +155 -0
  453. package/dist/esm/utils/discountAuth.js.map +1 -0
  454. package/dist/esm/utils/index.js +7 -1
  455. package/dist/esm/utils/index.js.map +1 -1
  456. package/dist/esm/utils/instructionResult.js +72 -0
  457. package/dist/esm/utils/instructionResult.js.map +1 -0
  458. package/dist/esm/utils/instructions.js +12 -17
  459. package/dist/esm/utils/instructions.js.map +1 -1
  460. package/dist/esm/utils/rental.js +45 -0
  461. package/dist/esm/utils/rental.js.map +1 -0
  462. package/dist/esm/utils/signer.js +16 -9
  463. package/dist/esm/utils/signer.js.map +1 -1
  464. package/dist/esm/version.js +1 -1
  465. package/dist/idl/srsly.json +2119 -3040
  466. package/dist/types/accounts/borrower.d.ts +19 -0
  467. package/dist/types/accounts/borrower.d.ts.map +1 -1
  468. package/dist/types/accounts/config.d.ts +19 -0
  469. package/dist/types/accounts/config.d.ts.map +1 -1
  470. package/dist/types/accounts/contract.d.ts +19 -0
  471. package/dist/types/accounts/contract.d.ts.map +1 -1
  472. package/dist/types/accounts/index.d.ts +8 -0
  473. package/dist/types/accounts/index.d.ts.map +1 -0
  474. package/dist/types/accounts/member.d.ts +9 -0
  475. package/dist/types/accounts/member.d.ts.map +1 -0
  476. package/dist/types/accounts/rental.d.ts +19 -0
  477. package/dist/types/accounts/rental.d.ts.map +1 -1
  478. package/dist/types/accounts/thread.d.ts +21 -0
  479. package/dist/types/accounts/thread.d.ts.map +1 -0
  480. package/dist/types/demos.d.ts +53 -4
  481. package/dist/types/demos.d.ts.map +1 -1
  482. package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
  483. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  484. package/dist/types/generated/codama/accounts/configState.d.ts +8 -21
  485. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  486. package/dist/types/generated/codama/accounts/contractState.d.ts +59 -79
  487. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  488. package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
  489. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
  490. package/dist/types/generated/codama/accounts/index.d.ts +4 -6
  491. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  492. package/dist/types/generated/codama/accounts/rentalState.d.ts +45 -42
  493. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  494. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  495. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  496. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  497. package/dist/types/generated/codama/errors/srsly.d.ts +55 -41
  498. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  499. package/dist/types/generated/codama/index.d.ts +5 -5
  500. package/dist/types/generated/codama/instructions/acceptRental.d.ts +61 -77
  501. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  502. package/dist/types/generated/codama/instructions/activateRental.d.ts +78 -34
  503. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  504. package/dist/types/generated/codama/instructions/cancelRental.d.ts +39 -24
  505. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  506. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  507. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  508. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  509. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  510. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  511. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  512. package/dist/types/generated/codama/instructions/closeContract.d.ts +65 -25
  513. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  514. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  515. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  516. package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -62
  517. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  518. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  519. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  520. package/dist/types/generated/codama/instructions/createConfig.d.ts +5 -5
  521. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  522. package/dist/types/generated/codama/instructions/createContract.d.ts +40 -40
  523. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  524. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  525. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  526. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  527. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  528. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  529. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  530. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  531. package/dist/types/generated/codama/instructions/deleteRental.d.ts +6 -3
  532. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  533. package/dist/types/generated/codama/instructions/index.d.ts +25 -25
  534. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  535. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
  536. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  537. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  538. package/dist/types/generated/codama/instructions/releaseRental.d.ts +2 -2
  539. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  540. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  541. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  542. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  543. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  544. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  545. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  546. package/dist/types/generated/codama/instructions/updateContract.d.ts +22 -28
  547. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  548. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  549. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  550. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  551. package/dist/types/generated/codama/programs/srsly.d.ts +37 -39
  552. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  553. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  554. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  555. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  556. package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
  557. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  558. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  559. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  560. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  561. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  562. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  563. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  564. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  565. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  566. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  567. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  568. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  569. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  570. package/dist/types/generated/codama/types/contractUpdated.d.ts +2 -2
  571. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  572. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  573. package/dist/types/generated/codama/types/fieldUpdate.d.ts +1 -1
  574. package/dist/types/generated/codama/types/fleet.d.ts +52 -0
  575. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  576. package/dist/types/generated/codama/types/index.d.ts +33 -29
  577. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  578. package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
  579. package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
  580. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +1 -1
  581. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  582. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  583. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  584. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  585. package/dist/types/generated/codama/types/rentalActivated.d.ts +8 -2
  586. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
  587. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  588. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  589. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  590. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  591. package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
  592. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  593. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  594. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  595. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  596. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  597. package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
  598. package/dist/types/generated/codama/types/shipStats.d.ts +2 -2
  599. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  600. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  601. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  602. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  603. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  604. package/dist/types/index.d.ts +1 -37
  605. package/dist/types/index.d.ts.map +1 -1
  606. package/dist/types/instructions/acceptRental.d.ts +33 -33
  607. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  608. package/dist/types/instructions/activateRental.d.ts +46 -0
  609. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  610. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  611. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  612. package/dist/types/instructions/cancelRental.d.ts +10 -15
  613. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  614. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  615. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  616. package/dist/types/instructions/claimContract.d.ts +40 -0
  617. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  618. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  619. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  620. package/dist/types/instructions/closeContract.d.ts +8 -15
  621. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  622. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  623. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  624. package/dist/types/instructions/closeRental.d.ts +11 -12
  625. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  626. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  627. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  628. package/dist/types/instructions/createBorrower.d.ts +36 -0
  629. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  630. package/dist/types/instructions/createContract.d.ts +27 -43
  631. package/dist/types/instructions/createContract.d.ts.map +1 -1
  632. package/dist/types/instructions/createContractThread.d.ts +52 -0
  633. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  634. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  635. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  636. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  637. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  638. package/dist/types/instructions/deleteRental.d.ts +3 -2
  639. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  640. package/dist/types/instructions/index.d.ts +33 -0
  641. package/dist/types/instructions/index.d.ts.map +1 -0
  642. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  643. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  644. package/dist/types/instructions/reserveRental.d.ts +43 -29
  645. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  646. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  647. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  648. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  649. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  650. package/dist/types/instructions/updateConfig.d.ts +0 -13
  651. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  652. package/dist/types/instructions/updateContract.d.ts +22 -35
  653. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  654. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  655. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  656. package/dist/types/kit/index.d.ts +25 -0
  657. package/dist/types/kit/index.d.ts.map +1 -0
  658. package/dist/types/legacy/index.d.ts +63 -0
  659. package/dist/types/legacy/index.d.ts.map +1 -0
  660. package/dist/types/params/amount.d.ts +3 -3
  661. package/dist/types/params/index.d.ts +5 -0
  662. package/dist/types/params/index.d.ts.map +1 -0
  663. package/dist/types/params/sol.d.ts +34 -0
  664. package/dist/types/params/sol.d.ts.map +1 -0
  665. package/dist/types/pda/constants.d.ts +6 -1
  666. package/dist/types/pda/constants.d.ts.map +1 -1
  667. package/dist/types/pda/index.d.ts +5 -22
  668. package/dist/types/pda/index.d.ts.map +1 -1
  669. package/dist/types/pda/lookupTable.d.ts +2 -1
  670. package/dist/types/pda/lookupTable.d.ts.map +1 -1
  671. package/dist/types/pda/sage.d.ts +6 -5
  672. package/dist/types/pda/sage.d.ts.map +1 -1
  673. package/dist/types/pda/slyvault.d.ts +2 -23
  674. package/dist/types/pda/slyvault.d.ts.map +1 -1
  675. package/dist/types/pda/srsly.d.ts +21 -8
  676. package/dist/types/pda/srsly.d.ts.map +1 -1
  677. package/dist/types/pda/thread.d.ts +18 -18
  678. package/dist/types/pda/thread.d.ts.map +1 -1
  679. package/dist/types/pda/token.d.ts +2 -1
  680. package/dist/types/pda/token.d.ts.map +1 -1
  681. package/dist/types/utils/addresses.d.ts +5 -1
  682. package/dist/types/utils/addresses.d.ts.map +1 -1
  683. package/dist/types/utils/config.d.ts +48 -0
  684. package/dist/types/utils/config.d.ts.map +1 -1
  685. package/dist/types/utils/discountAuth.d.ts +94 -0
  686. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  687. package/dist/types/utils/index.d.ts +4 -1
  688. package/dist/types/utils/index.d.ts.map +1 -1
  689. package/dist/types/utils/instructionResult.d.ts +57 -0
  690. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  691. package/dist/types/utils/instructions.d.ts +16 -18
  692. package/dist/types/utils/instructions.d.ts.map +1 -1
  693. package/dist/types/utils/rental.d.ts +22 -0
  694. package/dist/types/utils/rental.d.ts.map +1 -0
  695. package/dist/types/utils/signer.d.ts +5 -2
  696. package/dist/types/utils/signer.d.ts.map +1 -1
  697. package/dist/types/version.d.ts +1 -1
  698. package/package.json +38 -21
  699. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  700. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  701. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  702. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  703. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  704. package/dist/cjs/generated/codama/instructions/claimRental.js +0 -361
  705. package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
  706. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  707. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  708. package/dist/cjs/generated/codama/instructions/payRental.js +0 -290
  709. package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
  710. package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -252
  711. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
  712. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  713. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  714. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  715. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  716. package/dist/cjs/generated/codama/types/memberType.js +0 -57
  717. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  718. package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
  719. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
  720. package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
  721. package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
  722. package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
  723. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
  724. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
  725. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  726. package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
  727. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
  728. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  729. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  730. package/dist/cjs/instructions/claimRental.js +0 -155
  731. package/dist/cjs/instructions/claimRental.js.map +0 -1
  732. package/dist/cjs/instructions/discountBorrower.js +0 -75
  733. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  734. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  735. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  736. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  737. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  738. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  739. package/dist/esm/generated/codama/instructions/claimRental.js +0 -351
  740. package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
  741. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  742. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  743. package/dist/esm/generated/codama/instructions/payRental.js +0 -280
  744. package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
  745. package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -242
  746. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
  747. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  748. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  749. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  750. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  751. package/dist/esm/generated/codama/types/memberType.js +0 -50
  752. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  753. package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
  754. package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
  755. package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
  756. package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
  757. package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
  758. package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
  759. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
  760. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  761. package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
  762. package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
  763. package/dist/esm/instructions/claimContractPayments.js +0 -76
  764. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  765. package/dist/esm/instructions/claimRental.js +0 -152
  766. package/dist/esm/instructions/claimRental.js.map +0 -1
  767. package/dist/esm/instructions/discountBorrower.js +0 -72
  768. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  769. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  770. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  771. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  772. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  773. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  774. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  775. package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -136
  776. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
  777. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  778. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  779. package/dist/types/generated/codama/instructions/payRental.d.ts +0 -140
  780. package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
  781. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -102
  782. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
  783. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  784. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  785. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  786. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  787. package/dist/types/generated/codama/types/memberType.d.ts +0 -57
  788. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  789. package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
  790. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
  791. package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
  792. package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
  793. package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
  794. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
  795. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
  796. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
  797. package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
  798. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
  799. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  800. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  801. package/dist/types/instructions/claimRental.d.ts +0 -88
  802. package/dist/types/instructions/claimRental.d.ts.map +0 -1
  803. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  804. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -4,21 +4,23 @@
4
4
  * Thin convenience wrapper around Codama-generated acceptRental instruction.
5
5
  * Accepts a rental contract and begins the rental period.
6
6
  */
7
- import { address } from '@solana/kit';
8
- import { createRpc } from '../utils/rpc';
9
- import { getAcceptRentalInstructionAsync, getScheduleRentalInstructionAsync } from '../generated/codama/instructions';
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getAcceptRentalInstructionAsync } from '../generated/codama/instructions';
10
9
  import { mergeConfig, getAddresses } from '../utils/config';
11
10
  import { toTransactionSigner } from '../utils/signer';
11
+ import { convertAmount } from '../params/amount';
12
12
  import { convertDuration } from '../params/duration';
13
13
  import { fetchFleet } from '../accounts/fleet';
14
14
  import { fetchContract } from '../accounts/contract';
15
15
  import { fetchConfig } from '../accounts/config';
16
- import { fetchBorrowerState } from '../generated/codama/accounts';
16
+ import { fetchRental } from '../accounts/rental';
17
17
  import { deriveGameAccounts } from '../pda/sage';
18
- import { deriveRental, deriveRentalAuthority, deriveBorrowerState } from '../pda/srsly';
18
+ import { deriveActiveRental, deriveBorrowerState, deriveRentalAuthority } from '../pda/srsly';
19
19
  import { deriveAssociatedTokenAccount } from '../pda/token';
20
- import { deriveRentalThread } from '../pda/thread';
20
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
21
21
  import { prepareInstructions } from '../utils/instructions';
22
+ import { deserializeDiscountAuth } from '../utils/discountAuth';
23
+ import { RentalStatus } from '../generated/codama/types';
22
24
  /**
23
25
  * Accept a rental contract
24
26
  *
@@ -28,13 +30,13 @@ import { prepareInstructions } from '../utils/instructions';
28
30
  *
29
31
  * This function automatically fetches the contract and config to get required
30
32
  * data (fleet, vault, gameId), then derives all SAGE accounts (profile faction,
31
- * starbase, starbase player) and the rental thread for automated payments.
33
+ * starbase, starbase player) and the contract thread for automated payments.
32
34
  *
33
35
  * @param params - Rental acceptance parameters
34
36
  * @param config - Optional SDK configuration overrides
35
37
  * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
36
38
  *
37
- * @demo
39
+ * @example
38
40
  * ```typescript
39
41
  * // Accept a 7-day rental (borrowerProfile auto-fetched)
40
42
  * const ixs = await acceptRental({
@@ -44,27 +46,6 @@ import { prepareInstructions } from '../utils/instructions';
44
46
  * computeUnits: 400_000
45
47
  * });
46
48
  * ```
47
- *
48
- * @example
49
- * ```typescript
50
- * // Accept a 7-day rental (fleet and vault auto-fetched)
51
- * const ixs = await acceptRental({
52
- * borrower: wallet,
53
- * borrowerProfile: borrowerProfileAddress,
54
- * contract: contractAddress,
55
- * duration: { days: 7 }
56
- * });
57
- *
58
- * // With referrer and compute budget
59
- * const ixs2 = await acceptRental({
60
- * borrower: wallet,
61
- * borrowerProfile: borrowerProfileAddress,
62
- * contract: contractAddress,
63
- * referrer: referrerAddress,
64
- * duration: { weeks: 2 },
65
- * computeUnits: 400_000
66
- * });
67
- * ```
68
49
  */
69
50
  export async function acceptRental(params, config) {
70
51
  // Merge config
@@ -81,93 +62,117 @@ export async function acceptRental(params, config) {
81
62
  }
82
63
  // Convert borrower to transaction signer
83
64
  const borrowerSigner = toTransactionSigner(params.borrower);
84
- // Fetch or use provided borrower profile
85
- let borrowerProfile;
86
- if (params.borrowerProfile) {
87
- // User provided profile - use it directly
88
- borrowerProfile = address(params.borrowerProfile);
89
- }
90
- else {
91
- // Fetch borrower_state to get profile
92
- const borrowerStateAddress = await deriveBorrowerState(borrowerSigner.address);
93
- const rpc = createRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
94
- const borrowerState = await fetchBorrowerState(rpc, borrowerStateAddress);
95
- // Check if borrowerProfile is set (Option type check)
96
- const profileOption = borrowerState.data.borrowerProfile;
97
- if (!profileOption || (typeof profileOption === 'object' && '__option' in profileOption && profileOption.__option === 'None')) {
98
- throw new Error('Borrower profile not set. Please run borrower-update to set your SAGE profile.');
99
- }
100
- // Extract value from Some variant
101
- borrowerProfile = typeof profileOption === 'object' && 'value' in profileOption ? profileOption.value : profileOption;
102
- }
103
65
  // Fetch config to get vault
104
66
  const configAccount = await fetchConfig(finalConfig.rpcUrl);
105
67
  const vault = configAccount.data.slyvault;
106
- // Fetch contract to get fleet, gameId, ownerProfile
68
+ // Fetch contract to get fleet, gameId
107
69
  const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
108
70
  const fleet = contractAccount.data.fleet;
109
71
  const gameId = contractAccount.data.gameId;
72
+ // Client-side rate safety check
73
+ if (params.rate != null) {
74
+ const expectedRate = convertAmount(params.rate);
75
+ const contractRate = BigInt(contractAccount.data.rate);
76
+ if (expectedRate !== contractRate) {
77
+ throw new Error(`Contract rate mismatch: expected ${expectedRate} stardust but contract has ${contractRate} stardust. The rate may have changed since you last fetched it.`);
78
+ }
79
+ }
110
80
  // Fetch fleet data for faction (needed to derive SAGE accounts)
111
81
  const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
112
82
  const faction = fleetState.faction;
83
+ // Use param if provided, fallback to fleet.subProfile (current occupant's profile)
84
+ let borrowerProfile;
85
+ if (params.borrowerProfile) {
86
+ borrowerProfile = address(params.borrowerProfile);
87
+ }
88
+ else {
89
+ borrowerProfile = fleetState.subProfile;
90
+ }
113
91
  // Derive all SAGE game accounts (profile faction, starbase, starbase player)
114
92
  const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
115
- // Derive rental and rental authority PDAs
116
- const rental = await deriveRental(params.contract, borrowerSigner.address);
93
+ // Derive active rental PDA (no more slot logic)
94
+ const rentalState = await deriveActiveRental(params.contract);
95
+ // Resolve expiredBorrowerState: use param if provided, otherwise auto-detect
96
+ // When the same borrower re-rents their own expired contract, skip passing
97
+ // expiredBorrowerState to avoid Anchor's duplicate mutable account error.
98
+ const borrowerStatePda = await deriveBorrowerState(borrowerSigner);
99
+ let expiredBorrowerState;
100
+ if (params.expiredBorrowerState) {
101
+ const explicit = address(params.expiredBorrowerState);
102
+ // Don't pass if it matches the current borrower's state (same-borrower re-rent)
103
+ if (explicit !== borrowerStatePda) {
104
+ expiredBorrowerState = explicit;
105
+ }
106
+ }
107
+ else {
108
+ try {
109
+ const activeRental = await fetchRental(rentalState, finalConfig.rpcUrl);
110
+ if (activeRental.data.status !== RentalStatus.Available) {
111
+ // Only pass as separate account if it's a DIFFERENT borrower's state
112
+ if (activeRental.data.borrowerState !== borrowerStatePda) {
113
+ expiredBorrowerState = activeRental.data.borrowerState;
114
+ }
115
+ }
116
+ }
117
+ catch {
118
+ // Rental state doesn't exist or can't be fetched — no expired rental to replace
119
+ }
120
+ }
121
+ // Derive rental authority PDA
117
122
  const rentalAuthority = await deriveRentalAuthority();
118
- // Derive rental thread for automated payments
119
- const rentalThread = await deriveRentalThread(rental, rentalAuthority);
123
+ // Derive contract thread and close_rental fiber (fiber index 1) — only if thread configured
124
+ const thread = address(contractAccount.data.thread);
125
+ const hasThread = thread !== '11111111111111111111111111111111';
126
+ const contractThread = hasThread ? await deriveContractThread(params.contract, rentalAuthority) : undefined;
127
+ const closeRentalFiber = hasThread && contractThread ? await deriveFiber(contractThread, 1) : undefined;
120
128
  // Convert duration parameter
121
129
  const durationSeconds = convertDuration(params.duration);
122
- // Get network-specific addresses
130
+ // Get network-specific addresses (atlasMint sourced from on-chain config)
131
+ const atlasMint = configAccount.data.atlasMint;
123
132
  const addresses = getAddresses(config);
124
- const atlasMint = address(addresses.atlasMint);
125
133
  const sageProgram = address(addresses.sage);
126
134
  const programAddress = address(addresses.srsly);
127
- // Optional referrer
135
+ // Deserialize discount auth if provided
136
+ let discountAuth = null;
137
+ if (params.discountAuth) {
138
+ discountAuth = deserializeDiscountAuth(params.discountAuth);
139
+ }
128
140
  const referrer = params.referrer ? address(params.referrer) : undefined;
129
- // Determine if we need to include scheduleRental
130
- // Either explicitly requested or contract requires automation
131
- const shouldSchedule = params.autoSchedule || contractAccount.data.requiresAutomation;
132
141
  // Derive vault token account (ATA)
133
142
  const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
143
+ // Derive contract token account (ATA of contract PDA)
144
+ const contractAddress = address(params.contract);
145
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
146
+ // Derive borrower token account (ATA)
147
+ const borrowerTokenAccount = await deriveAssociatedTokenAccount(borrowerSigner.address, atlasMint);
134
148
  // Call Codama-generated acceptRental instruction
135
149
  const acceptRentalIx = await getAcceptRentalInstructionAsync({
136
150
  borrower: borrowerSigner,
137
- borrowerProfile,
138
- borrowerProfileFaction: gameAccounts.profileFaction,
151
+ borrowerTokenAccount,
139
152
  fleet: address(fleet),
140
- contract: address(params.contract),
141
- gameId: address(gameId),
142
- starbase: gameAccounts.starbase,
143
- starbasePlayer: gameAccounts.starbasePlayer,
153
+ expiredBorrowerState,
154
+ contract: contractAddress,
155
+ rentalState,
144
156
  vault: address(vault),
145
157
  vaultTokenAccount,
158
+ contractTokenAccount,
159
+ ...(contractThread && { contractThread }),
160
+ ...(closeRentalFiber && { closeRentalFiber }),
146
161
  referrer,
147
- mint: atlasMint,
148
162
  sageProgram,
149
163
  duration: BigInt(durationSeconds),
150
- rebateAuth: null
164
+ discountAuth
151
165
  }, { programAddress });
152
- // If auto-schedule is enabled, bundle scheduleRental instruction
153
- if (shouldSchedule) {
154
- const scheduleRentalIx = await getScheduleRentalInstructionAsync({
155
- payer: borrowerSigner,
156
- mint: atlasMint,
157
- contract: address(params.contract),
158
- fleet: address(fleet),
159
- rentalState: rental,
160
- rentalThread,
161
- borrowerProfileFaction: gameAccounts.profileFaction,
162
- sageProgram
163
- }, { programAddress });
164
- // Return both instructions as array
165
- return prepareInstructions([acceptRentalIx, scheduleRentalIx], {
166
- computeUnits: params.computeUnits,
167
- PublicKey: finalConfig.PublicKey
168
- });
169
- }
170
- // Prepare single instruction with optional compute budget and web3.js conversion
166
+ // Append SAGE pass-through accounts as remaining accounts
167
+ const sageRemainingAccounts = [
168
+ { address: borrowerProfile, role: AccountRole.READONLY },
169
+ { address: gameAccounts.profileFaction, role: AccountRole.READONLY },
170
+ { address: address(gameId), role: AccountRole.READONLY },
171
+ { address: gameAccounts.starbase, role: AccountRole.READONLY },
172
+ { address: gameAccounts.starbasePlayer, role: AccountRole.WRITABLE },
173
+ ];
174
+ acceptRentalIx.accounts.push(...sageRemainingAccounts);
175
+ // Prepare instruction with optional compute budget
171
176
  return prepareInstructions(acceptRentalIx, {
172
177
  computeUnits: params.computeUnits,
173
178
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @purpose Simplified activateRental instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated activateRental instruction.
5
+ * Manually activates a queued rental when automation is delayed or unavailable.
6
+ */
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getActivateRentalInstructionAsync } from '../generated/codama/instructions';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
+ import { toTransactionSigner } from '../utils/signer';
11
+ import { prepareInstructions } from '../utils/instructions';
12
+ import { fetchConfig } from '../accounts/config';
13
+ import { fetchContract } from '../accounts/contract';
14
+ import { fetchFleet } from '../accounts/fleet';
15
+ import { fetchRental } from '../accounts/rental';
16
+ import { deriveGameAccounts } from '../pda/sage';
17
+ import { deriveActiveRental, deriveQueuedRental, deriveRentalAuthority } from '../pda/srsly';
18
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
19
+ import { deriveAssociatedTokenAccount } from '../pda/token';
20
+ /**
21
+ * Manually activate a queued rental
22
+ *
23
+ * This is a fallback for when the Antegen automation thread is delayed.
24
+ * Anyone can call this — it's permissionless. The queued rental will be
25
+ * promoted to active, the fleet will be delegated to the borrower in SAGE,
26
+ * and deferred fees will be paid.
27
+ *
28
+ * @param params - Activate rental parameters
29
+ * @param config - Optional SDK configuration overrides
30
+ * @returns Kit instruction (or web3.js if PublicKey in config)
31
+ */
32
+ export async function activateRental(params, config) {
33
+ const finalConfig = mergeConfig(config);
34
+ if (!params.payer) {
35
+ throw new Error('payer is required');
36
+ }
37
+ if (!params.contract) {
38
+ throw new Error('contract is required');
39
+ }
40
+ if (!params.borrowerProfile) {
41
+ throw new Error('borrowerProfile is required for manual activation');
42
+ }
43
+ const payerSigner = toTransactionSigner(params.payer);
44
+ const addresses = getAddresses(config);
45
+ const programAddress = address(addresses.srsly);
46
+ const contractAddress = address(params.contract);
47
+ // Fetch config and contract
48
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
49
+ const atlasMint = configAccount.data.atlasMint;
50
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
51
+ // Derive rental PDAs
52
+ const activeRental = await deriveActiveRental(contractAddress);
53
+ const queuedRental = await deriveQueuedRental(contractAddress);
54
+ const rentalAuthority = await deriveRentalAuthority();
55
+ // Derive thread PDAs — only if thread configured
56
+ const thread = address(contractAccount.data.thread);
57
+ const hasThread = thread !== '11111111111111111111111111111111';
58
+ const contractThread = hasThread ? await deriveContractThread(contractAddress, rentalAuthority) : undefined;
59
+ const closeRentalFiber = hasThread && contractThread ? await deriveFiber(contractThread, 1) : undefined;
60
+ // Fetch queued rental to get borrower info
61
+ const queuedRentalAccount = await fetchRental(queuedRental, finalConfig.rpcUrl);
62
+ // Derive SAGE accounts from borrowerProfile + fleet faction
63
+ const borrowerProfileAddr = address(params.borrowerProfile);
64
+ const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
65
+ const gameAccounts = await deriveGameAccounts(borrowerProfileAddr, fleetState.faction, contractAccount.data.gameId);
66
+ // Get vault from config and derive vault token account
67
+ const vault = configAccount.data.slyvault;
68
+ const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
69
+ const kitInstruction = await getActivateRentalInstructionAsync({
70
+ payer: payerSigner,
71
+ contract: contractAddress,
72
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
73
+ mint: atlasMint,
74
+ borrowerProfile: borrowerProfileAddr,
75
+ borrowerProfileFaction: gameAccounts.profileFaction,
76
+ fleet: contractAccount.data.fleet,
77
+ gameId: contractAccount.data.gameId,
78
+ ...(contractThread && { contractThread }),
79
+ ...(closeRentalFiber && { closeRentalFiber }),
80
+ vault,
81
+ vaultTokenAccount,
82
+ sageProgram: address(addresses.sage),
83
+ }, { programAddress });
84
+ // Append starbase + starbasePlayer as remaining accounts (for fiber 1 building)
85
+ const sageRemainingAccounts = [
86
+ { address: gameAccounts.starbase, role: AccountRole.READONLY },
87
+ { address: gameAccounts.starbasePlayer, role: AccountRole.READONLY },
88
+ ];
89
+ kitInstruction.accounts.push(...sageRemainingAccounts);
90
+ return prepareInstructions(kitInstruction, {
91
+ computeUnits: params.computeUnits,
92
+ PublicKey: finalConfig.PublicKey
93
+ });
94
+ }
95
+ //# sourceMappingURL=activateRental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @purpose Approve and activate an affiliate
3
+ *
4
+ * Re-exports slyvault's approveAffiliate instruction.
5
+ */
6
+ export { approveAffiliate, } from '@wuwei-labs/slyvault';
7
+ //# sourceMappingURL=approveAffiliate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approveAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/approveAffiliate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC"}
@@ -8,24 +8,23 @@ import { address } from '@solana/kit';
8
8
  import { getCancelRentalInstructionAsync } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
- import { deriveRental, deriveRentalAuthority } from '../pda/srsly';
12
- import { deriveRentalThread } from '../pda/thread';
11
+ import { deriveActiveRental } from '../pda/srsly';
12
+ import { deriveAssociatedTokenAccount } from '../pda/token';
13
13
  import { prepareInstructions } from '../utils/instructions';
14
14
  import { convertDuration } from '../params/duration';
15
+ import { fetchConfig } from '../accounts/config';
16
+ import { fetchContract } from '../accounts/contract';
15
17
  /**
16
18
  * Cancel a rental
17
19
  *
18
- * Allows a borrower to cancel an active rental.
20
+ * Allows a borrower to cancel an active rental. Always targets the active
21
+ * rental PDA (no more slot detection needed).
19
22
  *
20
23
  * **Cancellation Behavior:**
21
- * - `cancelDelay = 0`: Instant cancellation (requires `allowInstantCancel` on contract)
22
- * - Sets `Trigger::Immediate` so `rental_pay` fires immediately
23
- * - Returns `InstantCancelNotAllowed` error if contract doesn't allow it
24
- * - `cancelDelay > 0`: Deferred cancellation
25
- * - Rental continues until `now + cancelDelay`
26
- * - Existing Cron trigger handles cleanup when `end_time` is reached
24
+ * - `cancelDelay = 0`: Instant cancellation
25
+ * - `cancelDelay > 0`: Deferred cancellation, rental continues until `now + cancelDelay`
27
26
  *
28
- * Both paths refund the borrower for unused time. Owner gets paid when `rental_pay` fires.
27
+ * Both paths refund the borrower for unused time.
29
28
  *
30
29
  * @param params - Cancellation parameters (borrower, contract, cancelDelay)
31
30
  * @param config - Optional SDK configuration overrides
@@ -33,13 +32,13 @@ import { convertDuration } from '../params/duration';
33
32
  *
34
33
  * @example
35
34
  * ```typescript
36
- * // Deferred cancellation (cancel after 1 hour - default)
35
+ * // Default cancellation (uses contract's cancelDelayMin)
37
36
  * const ix = await cancelRental({
38
37
  * borrower: borrowerWallet,
39
38
  * contract: contractAddress
40
39
  * });
41
40
  *
42
- * // Instant cancellation (requires allowInstantCancel on contract)
41
+ * // Instant cancellation
43
42
  * const ix2 = await cancelRental({
44
43
  * borrower: borrowerWallet,
45
44
  * contract: contractAddress,
@@ -66,27 +65,37 @@ export async function cancelRental(params, config) {
66
65
  }
67
66
  // Convert borrower to transaction signer
68
67
  const borrowerSigner = toTransactionSigner(params.borrower);
69
- // Get network-specific addresses
68
+ // Get atlasMint from on-chain config
69
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
70
+ const atlasMint = configAccount.data.atlasMint;
70
71
  const addresses = getAddresses(config);
71
- const atlasMint = address(addresses.atlasMint);
72
72
  const programAddress = address(addresses.srsly);
73
- // Derive rental thread (only PDA not auto-derived by Codama)
74
- const rentalState = await deriveRental(params.contract, borrowerSigner.address);
75
- const rentalAuthority = await deriveRentalAuthority();
76
- const rentalThread = await deriveRentalThread(rentalState, rentalAuthority);
73
+ // Fetch contract to get fleet
74
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
75
+ const fleet = contractAccount.data.fleet;
76
+ // Derive active rental PDA (no more slot logic)
77
+ const rentalState = await deriveActiveRental(params.contract);
78
+ // Derive contract token account (ATA of contract PDA)
79
+ const contractAddress = address(params.contract);
80
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
77
81
  // Convert duration to seconds (supports { hours: 1 }, { days: 1 }, etc.)
78
- // Default to 1 hour if not specified (safer than instant cancel which requires flag)
82
+ // Default to contract's cancelDelayMin if not specified
79
83
  const cancelDelay = params.cancelDelay !== undefined
80
84
  ? BigInt(convertDuration(params.cancelDelay))
81
- : BigInt(convertDuration({ hours: 1 }));
85
+ : contractAccount.data.cancelDelayMin;
86
+ // Resolve contract thread (system_program::ID means no thread configured)
87
+ const thread = address(contractAccount.data.thread);
88
+ const hasThread = thread !== '11111111111111111111111111111111';
82
89
  // Call Codama-generated instruction
83
- // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount,
84
- // rentalState, rentalTokenAccount, rentalAuthority, antegenProgram, tokenProgram
90
+ // Note: Codama auto-derives config, borrowerState, borrowerTokenAccount, rentalAuthority
85
91
  const kitInstruction = await getCancelRentalInstructionAsync({
86
92
  mint: atlasMint,
87
93
  borrower: borrowerSigner,
88
- rentalThread,
89
- contract: address(params.contract),
94
+ rentalState,
95
+ contractTokenAccount,
96
+ contract: contractAddress,
97
+ fleet: address(fleet),
98
+ ...(hasThread && { contractThread: thread }),
90
99
  cancelDelay,
91
100
  }, { programAddress });
92
101
  return prepareInstructions(kitInstruction, {
@@ -1 +1 @@
1
- {"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAyCzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,6DAA6D;IAC7D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAE5E,yEAAyE;IACzE,qFAAqF;IACrF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,oCAAoC;IACpC,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D;QACE,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,cAAc;QACxB,YAAY;QACZ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cancelRental.js","sourceRoot":"","sources":["../../../src/instructions/cancelRental.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,16 @@
2
2
  * @purpose Simplified claimBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated claimBorrower instruction.
5
- * Allows borrowers to claim accumulated ATLAS from their managed token account.
5
+ * Allows claiming accumulated ATLAS from a borrower's managed token account.
6
+ * When close is true, bundles a closeBorrower instruction to also close the
7
+ * managed ATA and BorrowerState in a single transaction.
6
8
  */
7
9
  import { address } from '@solana/kit';
8
- import { getClaimBorrowerInstructionAsync } from '../generated/codama/instructions';
10
+ import { getClaimBorrowerInstructionAsync, getCloseBorrowerInstructionAsync } from '../generated/codama/instructions';
9
11
  import { mergeConfig, getAddresses } from '../utils/config';
10
- import { toTransactionSigner } from '../utils/signer';
12
+ import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
13
  import { prepareInstructions } from '../utils/instructions';
14
+ import { fetchConfig } from '../accounts/config';
12
15
  /**
13
16
  * Claim borrower ATLAS refunds
14
17
  *
@@ -17,45 +20,68 @@ import { prepareInstructions } from '../utils/instructions';
17
20
  * account (an ATA with the borrower_state as authority). This instruction
18
21
  * transfers those funds to the borrower's personal wallet.
19
22
  *
23
+ * The payer and borrower can be different accounts, allowing a third party
24
+ * to pay for the claim transaction on behalf of the borrower.
25
+ *
26
+ * When close is true, a closeBorrower instruction is bundled to also close
27
+ * the managed ATA and BorrowerState PDA in the same transaction.
28
+ *
20
29
  * @param params - Borrower claim parameters
21
30
  * @param config - Optional SDK configuration overrides
22
31
  * @returns Kit instruction (or web3.js if PublicKey in config)
23
32
  *
24
33
  * @example
25
34
  * ```typescript
26
- * // Claim accumulated ATLAS refunds
35
+ * // Self-claim: payer is the borrower
27
36
  * const ix = await claimBorrower({
28
- * borrower: borrowerWallet
37
+ * payer: borrowerWallet,
29
38
  * });
30
39
  *
31
- * // With web3.js
32
- * import { PublicKey } from '@solana/web3.js';
33
- * setSdkConfig({ network: 'mainnet-beta', PublicKey });
34
- * const web3Ix = await claimBorrower({
35
- * borrower: keypair
40
+ * // Third-party claim: someone else pays
41
+ * const ix2 = await claimBorrower({
42
+ * payer: relayerWallet,
43
+ * borrower: "BORROWER_ADDRESS"
44
+ * });
45
+ *
46
+ * // Claim and close the BorrowerState account
47
+ * const ix3 = await claimBorrower({
48
+ * payer: borrowerWallet,
49
+ * close: true
36
50
  * });
37
51
  * ```
38
52
  */
39
53
  export async function claimBorrower(params, config) {
40
- // Merge config
41
54
  const finalConfig = mergeConfig(config);
42
- // Validate required params
43
- if (!params.borrower) {
44
- throw new Error('borrower is required');
55
+ if (!params.payer) {
56
+ throw new Error('payer is required');
45
57
  }
46
- // Convert borrower to transaction signer
47
- const borrowerSigner = toTransactionSigner(params.borrower);
48
- // Get network-specific addresses
58
+ const payerSigner = toTransactionSigner(params.payer);
59
+ const borrowerAddress = params.borrower
60
+ ? address(params.borrower)
61
+ : getSignerAddress(payerSigner);
62
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
63
+ const atlasMint = configAccount.data.atlasMint;
49
64
  const addresses = getAddresses(config);
50
- const atlasMint = address(addresses.atlasMint);
51
65
  const programAddress = address(addresses.srsly);
52
- // Call Codama-generated instruction
53
- // Most accounts are auto-derived (config, borrowerState, managed account, destination)
54
- const kitInstruction = await getClaimBorrowerInstructionAsync({
55
- borrower: borrowerSigner,
66
+ // Build claim instruction
67
+ const claimIx = await getClaimBorrowerInstructionAsync({
68
+ payer: payerSigner,
69
+ borrower: borrowerAddress,
56
70
  mint: atlasMint,
57
71
  }, { programAddress });
58
- return prepareInstructions(kitInstruction, {
72
+ // If close requested, bundle a closeBorrower instruction after the claim
73
+ if (params.close) {
74
+ const closeIx = await getCloseBorrowerInstructionAsync({
75
+ payer: payerSigner,
76
+ borrower: borrowerAddress,
77
+ mint: atlasMint,
78
+ }, { programAddress });
79
+ return prepareInstructions([claimIx, closeIx], {
80
+ computeUnits: params.computeUnits,
81
+ PublicKey: finalConfig.PublicKey
82
+ });
83
+ }
84
+ return prepareInstructions(claimIx, {
59
85
  computeUnits: params.computeUnits,
60
86
  PublicKey: finalConfig.PublicKey
61
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAmB5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,oCAAoC;IACpC,uFAAuF;IACvF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D;QACE,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"claimBorrower.js","sourceRoot":"","sources":["../../../src/instructions/claimBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,yEAAyE;IACzE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,gCAAgC,CACpD;YACE,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,SAAS;SAChB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,OAAO,mBAAmB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YAC7C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,EAAE;QAClC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}