@wuwei-labs/srsly 3.0.0-beta.9 → 4.0.0-beta.2

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 (819) 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/fleet.js +6 -37
  9. package/dist/cjs/accounts/fleet.js.map +1 -1
  10. package/dist/cjs/accounts/index.js +24 -0
  11. package/dist/cjs/accounts/index.js.map +1 -0
  12. package/dist/cjs/accounts/member.js +16 -0
  13. package/dist/cjs/accounts/member.js.map +1 -0
  14. package/dist/cjs/accounts/rental.js +55 -0
  15. package/dist/cjs/accounts/rental.js.map +1 -1
  16. package/dist/cjs/accounts/thread.js +37 -0
  17. package/dist/cjs/accounts/thread.js.map +1 -0
  18. package/dist/cjs/demos.js +426 -65
  19. package/dist/cjs/demos.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/borrowerState.js +23 -26
  21. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/configState.js +53 -55
  23. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  24. package/dist/cjs/generated/codama/accounts/contractState.js +52 -56
  25. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/fleet.js +39 -36
  27. package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/index.js +0 -2
  29. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  30. package/dist/cjs/generated/codama/accounts/rentalState.js +43 -38
  31. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  32. package/dist/cjs/generated/codama/accounts/thread.js +41 -50
  33. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  34. package/dist/cjs/generated/codama/errors/srsly.js +70 -49
  35. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/acceptRental.js +77 -153
  37. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  38. package/dist/cjs/generated/codama/instructions/activateRental.js +166 -31
  39. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/cancelRental.js +68 -51
  41. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  42. package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
  43. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  44. package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +41 -69
  45. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  46. package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
  47. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
  49. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  50. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  51. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  52. package/dist/cjs/generated/codama/instructions/closeRental.js +9 -124
  53. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  54. package/dist/cjs/generated/codama/instructions/createBorrower.js +197 -0
  55. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  56. package/dist/cjs/generated/codama/instructions/createConfig.js +21 -21
  57. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  58. package/dist/cjs/generated/codama/instructions/createContract.js +59 -29
  59. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  60. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  61. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  62. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
  63. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  64. package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
  65. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  66. package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
  67. package/dist/cjs/generated/codama/instructions/deleteRental.js +5 -5
  68. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  69. package/dist/cjs/generated/codama/instructions/index.js +6 -6
  70. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  71. package/dist/cjs/generated/codama/instructions/invalidateRental.js +5 -5
  72. package/dist/cjs/generated/codama/instructions/processContract.js +224 -0
  73. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  74. package/dist/cjs/generated/codama/instructions/releaseRental.js +5 -5
  75. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  76. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  77. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  78. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  79. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  80. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  81. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  82. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -25
  83. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  84. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  85. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  86. package/dist/cjs/generated/codama/programs/srsly.js +41 -49
  87. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  88. package/dist/cjs/generated/codama/shared/index.js +8 -8
  89. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  90. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  91. package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
  92. package/dist/cjs/generated/codama/types/combatStats.js +49 -0
  93. package/dist/cjs/generated/codama/types/combatStats.js.map +1 -0
  94. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  95. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  96. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  97. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  98. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  99. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  100. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  101. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  102. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  103. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  104. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  105. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  106. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  107. package/dist/cjs/generated/codama/types/contractUpdated.js +8 -8
  108. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  109. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  110. package/dist/cjs/generated/codama/types/fieldUpdate.js +4 -4
  111. package/dist/cjs/generated/codama/types/fleet.js +74 -0
  112. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  113. package/dist/cjs/generated/codama/types/index.js +11 -6
  114. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  115. package/dist/cjs/generated/codama/types/miscStats.js +22 -22
  116. package/dist/cjs/generated/codama/types/movementStats.js +14 -14
  117. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
  118. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  119. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  120. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  121. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  122. package/dist/cjs/generated/codama/types/rentalActivated.js +8 -6
  123. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
  124. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  125. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  126. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  127. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  128. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  129. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  130. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  131. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  132. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  133. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  134. package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
  135. package/dist/cjs/generated/codama/types/shipStats.js +8 -6
  136. package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
  137. package/dist/cjs/generated/codama/types/signal.js +26 -12
  138. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  139. package/dist/cjs/generated/codama/types/thread.js +62 -0
  140. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  141. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  142. package/dist/cjs/index.js +4 -185
  143. package/dist/cjs/index.js.map +1 -1
  144. package/dist/cjs/instructions/acceptRental.js +87 -82
  145. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  146. package/dist/cjs/instructions/activateRental.js +98 -0
  147. package/dist/cjs/instructions/activateRental.js.map +1 -0
  148. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  149. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  150. package/dist/cjs/instructions/cancelRental.js +32 -23
  151. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  152. package/dist/cjs/instructions/claimBorrower.js +47 -21
  153. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  154. package/dist/cjs/instructions/claimContract.js +56 -0
  155. package/dist/cjs/instructions/claimContract.js.map +1 -0
  156. package/dist/cjs/instructions/closeBorrower.js +21 -23
  157. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  158. package/dist/cjs/instructions/closeContract.js +94 -21
  159. package/dist/cjs/instructions/closeContract.js.map +1 -1
  160. package/dist/cjs/instructions/closeContractThread.js +64 -0
  161. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  162. package/dist/cjs/instructions/closeRental.js +35 -46
  163. package/dist/cjs/instructions/closeRental.js.map +1 -1
  164. package/dist/cjs/instructions/createAffiliate.js +73 -0
  165. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  166. package/dist/cjs/instructions/createBorrower.js +46 -0
  167. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  168. package/dist/cjs/instructions/createContract.js +45 -39
  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/removeAffiliate.js +11 -0
  181. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  182. package/dist/cjs/instructions/reserveRental.js +95 -71
  183. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  184. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  185. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  186. package/dist/cjs/instructions/updateBorrower.js +44 -38
  187. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  188. package/dist/cjs/instructions/updateConfig.js +0 -4
  189. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  190. package/dist/cjs/instructions/updateContract.js +20 -36
  191. package/dist/cjs/instructions/updateContract.js.map +1 -1
  192. package/dist/cjs/instructions/updateContractThread.js +60 -0
  193. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  194. package/dist/cjs/kit/index.js +68 -0
  195. package/dist/cjs/kit/index.js.map +1 -0
  196. package/dist/cjs/legacy/index.js +125 -0
  197. package/dist/cjs/legacy/index.js.map +1 -0
  198. package/dist/cjs/package.json +5 -3
  199. package/dist/cjs/params/amount.js +4 -4
  200. package/dist/cjs/params/index.js +21 -0
  201. package/dist/cjs/params/index.js.map +1 -0
  202. package/dist/cjs/params/sol.js +71 -0
  203. package/dist/cjs/params/sol.js.map +1 -0
  204. package/dist/cjs/pda/constants.js +7 -2
  205. package/dist/cjs/pda/constants.js.map +1 -1
  206. package/dist/cjs/pda/index.js +10 -22
  207. package/dist/cjs/pda/index.js.map +1 -1
  208. package/dist/cjs/pda/lookupTable.js +3 -2
  209. package/dist/cjs/pda/lookupTable.js.map +1 -1
  210. package/dist/cjs/pda/sage.js +11 -10
  211. package/dist/cjs/pda/sage.js.map +1 -1
  212. package/dist/cjs/pda/slyvault.js +5 -49
  213. package/dist/cjs/pda/slyvault.js.map +1 -1
  214. package/dist/cjs/pda/srsly.js +39 -19
  215. package/dist/cjs/pda/srsly.js.map +1 -1
  216. package/dist/cjs/pda/thread.js +41 -31
  217. package/dist/cjs/pda/thread.js.map +1 -1
  218. package/dist/cjs/pda/token.js +5 -4
  219. package/dist/cjs/pda/token.js.map +1 -1
  220. package/dist/cjs/utils/addresses.js +3 -2
  221. package/dist/cjs/utils/addresses.js.map +1 -1
  222. package/dist/cjs/utils/config.js +20 -2
  223. package/dist/cjs/utils/config.js.map +1 -1
  224. package/dist/cjs/utils/discountAuth.js +161 -0
  225. package/dist/cjs/utils/discountAuth.js.map +1 -0
  226. package/dist/cjs/utils/index.js +16 -1
  227. package/dist/cjs/utils/index.js.map +1 -1
  228. package/dist/cjs/utils/instructionResult.js +76 -0
  229. package/dist/cjs/utils/instructionResult.js.map +1 -0
  230. package/dist/cjs/utils/instructions.js +12 -17
  231. package/dist/cjs/utils/instructions.js.map +1 -1
  232. package/dist/cjs/utils/rental.js +49 -0
  233. package/dist/cjs/utils/rental.js.map +1 -0
  234. package/dist/cjs/utils/signer.js +16 -9
  235. package/dist/cjs/utils/signer.js.map +1 -1
  236. package/dist/cjs/version.js +1 -1
  237. package/dist/esm/accounts/borrower.js +55 -1
  238. package/dist/esm/accounts/borrower.js.map +1 -1
  239. package/dist/esm/accounts/config.js +48 -1
  240. package/dist/esm/accounts/config.js.map +1 -1
  241. package/dist/esm/accounts/contract.js +58 -1
  242. package/dist/esm/accounts/contract.js.map +1 -1
  243. package/dist/esm/accounts/fleet.js +7 -38
  244. package/dist/esm/accounts/fleet.js.map +1 -1
  245. package/dist/esm/accounts/index.js +8 -0
  246. package/dist/esm/accounts/index.js.map +1 -0
  247. package/dist/esm/accounts/member.js +9 -0
  248. package/dist/esm/accounts/member.js.map +1 -0
  249. package/dist/esm/accounts/rental.js +55 -1
  250. package/dist/esm/accounts/rental.js.map +1 -1
  251. package/dist/esm/accounts/thread.js +34 -0
  252. package/dist/esm/accounts/thread.js.map +1 -0
  253. package/dist/esm/demos.js +425 -64
  254. package/dist/esm/demos.js.map +1 -1
  255. package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
  256. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  257. package/dist/esm/generated/codama/accounts/configState.js +53 -56
  258. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  259. package/dist/esm/generated/codama/accounts/contractState.js +53 -57
  260. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  261. package/dist/esm/generated/codama/accounts/fleet.js +41 -38
  262. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
  263. package/dist/esm/generated/codama/accounts/index.js +4 -6
  264. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  265. package/dist/esm/generated/codama/accounts/rentalState.js +45 -40
  266. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  267. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  268. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  269. package/dist/esm/generated/codama/errors/index.js +1 -1
  270. package/dist/esm/generated/codama/errors/srsly.js +70 -49
  271. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  272. package/dist/esm/generated/codama/index.js +5 -5
  273. package/dist/esm/generated/codama/instructions/acceptRental.js +81 -157
  274. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  275. package/dist/esm/generated/codama/instructions/activateRental.js +169 -34
  276. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  277. package/dist/esm/generated/codama/instructions/cancelRental.js +71 -54
  278. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  279. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  280. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  281. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  282. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  283. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  284. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  285. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  286. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  287. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  288. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  289. package/dist/esm/generated/codama/instructions/closeRental.js +12 -127
  290. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  291. package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
  292. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  293. package/dist/esm/generated/codama/instructions/createConfig.js +24 -24
  294. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  295. package/dist/esm/generated/codama/instructions/createContract.js +62 -32
  296. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  297. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  298. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  299. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  300. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  301. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  302. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  303. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  304. package/dist/esm/generated/codama/instructions/deleteRental.js +8 -8
  305. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  306. package/dist/esm/generated/codama/instructions/index.js +25 -25
  307. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  308. package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
  309. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  310. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  311. package/dist/esm/generated/codama/instructions/releaseRental.js +8 -8
  312. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  313. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  314. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  315. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  316. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  317. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  318. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  319. package/dist/esm/generated/codama/instructions/updateContract.js +20 -28
  320. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  321. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  322. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  323. package/dist/esm/generated/codama/programs/index.js +1 -1
  324. package/dist/esm/generated/codama/programs/srsly.js +42 -50
  325. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  326. package/dist/esm/generated/codama/shared/index.js +9 -9
  327. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  328. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  329. package/dist/esm/generated/codama/types/cargoStats.js +19 -19
  330. package/dist/esm/generated/codama/types/combatStats.js +44 -0
  331. package/dist/esm/generated/codama/types/combatStats.js.map +1 -0
  332. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  333. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  334. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  335. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  336. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  337. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  338. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  339. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  340. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  341. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  342. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  343. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  344. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  345. package/dist/esm/generated/codama/types/contractUpdated.js +10 -10
  346. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  347. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  348. package/dist/esm/generated/codama/types/fieldUpdate.js +5 -5
  349. package/dist/esm/generated/codama/types/fleet.js +69 -0
  350. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  351. package/dist/esm/generated/codama/types/index.js +34 -29
  352. package/dist/esm/generated/codama/types/index.js.map +1 -1
  353. package/dist/esm/generated/codama/types/miscStats.js +23 -23
  354. package/dist/esm/generated/codama/types/movementStats.js +15 -15
  355. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
  356. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  357. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  358. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  359. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  360. package/dist/esm/generated/codama/types/rentalActivated.js +9 -7
  361. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
  362. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  363. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  364. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  365. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  366. package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
  367. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  368. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  369. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  370. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  371. package/dist/esm/generated/codama/types/schedule.js +15 -15
  372. package/dist/esm/generated/codama/types/shipCounts.js +21 -21
  373. package/dist/esm/generated/codama/types/shipStats.js +10 -8
  374. package/dist/esm/generated/codama/types/shipStats.js.map +1 -1
  375. package/dist/esm/generated/codama/types/signal.js +28 -14
  376. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  377. package/dist/esm/generated/codama/types/thread.js +57 -0
  378. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  379. package/dist/esm/generated/codama/types/trigger.js +37 -37
  380. package/dist/esm/index.js +1 -84
  381. package/dist/esm/index.js.map +1 -1
  382. package/dist/esm/instructions/acceptRental.js +91 -86
  383. package/dist/esm/instructions/acceptRental.js.map +1 -1
  384. package/dist/esm/instructions/activateRental.js +95 -0
  385. package/dist/esm/instructions/activateRental.js.map +1 -0
  386. package/dist/esm/instructions/approveAffiliate.js +7 -0
  387. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  388. package/dist/esm/instructions/cancelRental.js +33 -24
  389. package/dist/esm/instructions/cancelRental.js.map +1 -1
  390. package/dist/esm/instructions/claimBorrower.js +49 -23
  391. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  392. package/dist/esm/instructions/claimContract.js +53 -0
  393. package/dist/esm/instructions/claimContract.js.map +1 -0
  394. package/dist/esm/instructions/closeBorrower.js +22 -24
  395. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  396. package/dist/esm/instructions/closeContract.js +63 -23
  397. package/dist/esm/instructions/closeContract.js.map +1 -1
  398. package/dist/esm/instructions/closeContractThread.js +61 -0
  399. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  400. package/dist/esm/instructions/closeRental.js +36 -47
  401. package/dist/esm/instructions/closeRental.js.map +1 -1
  402. package/dist/esm/instructions/createAffiliate.js +70 -0
  403. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  404. package/dist/esm/instructions/createBorrower.js +43 -0
  405. package/dist/esm/instructions/createBorrower.js.map +1 -0
  406. package/dist/esm/instructions/createContract.js +47 -41
  407. package/dist/esm/instructions/createContract.js.map +1 -1
  408. package/dist/esm/instructions/createContractThread.js +99 -0
  409. package/dist/esm/instructions/createContractThread.js.map +1 -0
  410. package/dist/esm/instructions/deleteBorrower.js +13 -13
  411. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  412. package/dist/esm/instructions/deleteConfig.js +17 -6
  413. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  414. package/dist/esm/instructions/deleteRental.js +1 -4
  415. package/dist/esm/instructions/deleteRental.js.map +1 -1
  416. package/dist/esm/instructions/index.js +33 -0
  417. package/dist/esm/instructions/index.js.map +1 -0
  418. package/dist/esm/instructions/removeAffiliate.js +7 -0
  419. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  420. package/dist/esm/instructions/reserveRental.js +97 -73
  421. package/dist/esm/instructions/reserveRental.js.map +1 -1
  422. package/dist/esm/instructions/updateAffiliate.js +54 -0
  423. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  424. package/dist/esm/instructions/updateBorrower.js +45 -39
  425. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  426. package/dist/esm/instructions/updateConfig.js +0 -4
  427. package/dist/esm/instructions/updateConfig.js.map +1 -1
  428. package/dist/esm/instructions/updateContract.js +20 -36
  429. package/dist/esm/instructions/updateContract.js.map +1 -1
  430. package/dist/esm/instructions/updateContractThread.js +57 -0
  431. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  432. package/dist/esm/kit/index.js +26 -0
  433. package/dist/esm/kit/index.js.map +1 -0
  434. package/dist/esm/legacy/index.js +84 -0
  435. package/dist/esm/legacy/index.js.map +1 -0
  436. package/dist/esm/package.json +5 -3
  437. package/dist/esm/params/amount.js +4 -4
  438. package/dist/esm/params/index.js +5 -0
  439. package/dist/esm/params/index.js.map +1 -0
  440. package/dist/esm/params/sol.js +68 -0
  441. package/dist/esm/params/sol.js.map +1 -0
  442. package/dist/esm/pda/constants.js +6 -1
  443. package/dist/esm/pda/constants.js.map +1 -1
  444. package/dist/esm/pda/index.js +4 -22
  445. package/dist/esm/pda/index.js.map +1 -1
  446. package/dist/esm/pda/lookupTable.js +3 -2
  447. package/dist/esm/pda/lookupTable.js.map +1 -1
  448. package/dist/esm/pda/sage.js +11 -10
  449. package/dist/esm/pda/sage.js.map +1 -1
  450. package/dist/esm/pda/slyvault.js +2 -47
  451. package/dist/esm/pda/slyvault.js.map +1 -1
  452. package/dist/esm/pda/srsly.js +38 -19
  453. package/dist/esm/pda/srsly.js.map +1 -1
  454. package/dist/esm/pda/thread.js +40 -31
  455. package/dist/esm/pda/thread.js.map +1 -1
  456. package/dist/esm/pda/token.js +5 -4
  457. package/dist/esm/pda/token.js.map +1 -1
  458. package/dist/esm/utils/addresses.js +3 -2
  459. package/dist/esm/utils/addresses.js.map +1 -1
  460. package/dist/esm/utils/config.js +19 -2
  461. package/dist/esm/utils/config.js.map +1 -1
  462. package/dist/esm/utils/discountAuth.js +155 -0
  463. package/dist/esm/utils/discountAuth.js.map +1 -0
  464. package/dist/esm/utils/index.js +7 -1
  465. package/dist/esm/utils/index.js.map +1 -1
  466. package/dist/esm/utils/instructionResult.js +72 -0
  467. package/dist/esm/utils/instructionResult.js.map +1 -0
  468. package/dist/esm/utils/instructions.js +12 -17
  469. package/dist/esm/utils/instructions.js.map +1 -1
  470. package/dist/esm/utils/rental.js +45 -0
  471. package/dist/esm/utils/rental.js.map +1 -0
  472. package/dist/esm/utils/signer.js +16 -9
  473. package/dist/esm/utils/signer.js.map +1 -1
  474. package/dist/esm/version.js +1 -1
  475. package/dist/idl/srsly.json +2518 -3336
  476. package/dist/types/accounts/borrower.d.ts +19 -0
  477. package/dist/types/accounts/borrower.d.ts.map +1 -1
  478. package/dist/types/accounts/config.d.ts +19 -0
  479. package/dist/types/accounts/config.d.ts.map +1 -1
  480. package/dist/types/accounts/contract.d.ts +19 -0
  481. package/dist/types/accounts/contract.d.ts.map +1 -1
  482. package/dist/types/accounts/fleet.d.ts +5 -30
  483. package/dist/types/accounts/fleet.d.ts.map +1 -1
  484. package/dist/types/accounts/index.d.ts +8 -0
  485. package/dist/types/accounts/index.d.ts.map +1 -0
  486. package/dist/types/accounts/member.d.ts +9 -0
  487. package/dist/types/accounts/member.d.ts.map +1 -0
  488. package/dist/types/accounts/rental.d.ts +19 -0
  489. package/dist/types/accounts/rental.d.ts.map +1 -1
  490. package/dist/types/accounts/thread.d.ts +21 -0
  491. package/dist/types/accounts/thread.d.ts.map +1 -0
  492. package/dist/types/demos.d.ts +55 -4
  493. package/dist/types/demos.d.ts.map +1 -1
  494. package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
  495. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  496. package/dist/types/generated/codama/accounts/configState.d.ts +8 -21
  497. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  498. package/dist/types/generated/codama/accounts/contractState.d.ts +59 -79
  499. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  500. package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
  501. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
  502. package/dist/types/generated/codama/accounts/index.d.ts +4 -6
  503. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  504. package/dist/types/generated/codama/accounts/rentalState.d.ts +49 -42
  505. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  506. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  507. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  508. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  509. package/dist/types/generated/codama/errors/srsly.d.ts +55 -41
  510. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  511. package/dist/types/generated/codama/index.d.ts +5 -5
  512. package/dist/types/generated/codama/instructions/acceptRental.d.ts +61 -77
  513. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  514. package/dist/types/generated/codama/instructions/activateRental.d.ts +78 -34
  515. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  516. package/dist/types/generated/codama/instructions/cancelRental.d.ts +39 -24
  517. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  518. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  519. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  520. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  521. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  522. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  523. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  524. package/dist/types/generated/codama/instructions/closeContract.d.ts +65 -25
  525. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  526. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  527. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  528. package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -62
  529. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  530. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  531. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  532. package/dist/types/generated/codama/instructions/createConfig.d.ts +5 -5
  533. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  534. package/dist/types/generated/codama/instructions/createContract.d.ts +40 -40
  535. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  536. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  537. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  538. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  539. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  540. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  541. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  542. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  543. package/dist/types/generated/codama/instructions/deleteRental.d.ts +5 -2
  544. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  545. package/dist/types/generated/codama/instructions/index.d.ts +25 -25
  546. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  547. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
  548. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  549. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  550. package/dist/types/generated/codama/instructions/releaseRental.d.ts +2 -2
  551. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  552. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  553. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  554. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  555. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  556. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  557. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  558. package/dist/types/generated/codama/instructions/updateContract.d.ts +22 -28
  559. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  560. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  561. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  562. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  563. package/dist/types/generated/codama/programs/srsly.d.ts +37 -39
  564. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  565. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  566. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  567. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  568. package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
  569. package/dist/types/generated/codama/types/combatStats.d.ts +28 -0
  570. package/dist/types/generated/codama/types/combatStats.d.ts.map +1 -0
  571. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  572. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  573. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  574. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  575. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  576. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  577. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  578. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  579. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  580. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  581. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  582. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  583. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  584. package/dist/types/generated/codama/types/contractUpdated.d.ts +2 -2
  585. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  586. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  587. package/dist/types/generated/codama/types/fieldUpdate.d.ts +1 -1
  588. package/dist/types/generated/codama/types/fleet.d.ts +66 -0
  589. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  590. package/dist/types/generated/codama/types/index.d.ts +34 -29
  591. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  592. package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
  593. package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
  594. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +1 -1
  595. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  596. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  597. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  598. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  599. package/dist/types/generated/codama/types/rentalActivated.d.ts +8 -2
  600. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
  601. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  602. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  603. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  604. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  605. package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
  606. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  607. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  608. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  609. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  610. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  611. package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
  612. package/dist/types/generated/codama/types/shipStats.d.ts +4 -2
  613. package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
  614. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  615. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  616. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  617. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  618. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  619. package/dist/types/index.d.ts +1 -37
  620. package/dist/types/index.d.ts.map +1 -1
  621. package/dist/types/instructions/acceptRental.d.ts +33 -33
  622. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  623. package/dist/types/instructions/activateRental.d.ts +46 -0
  624. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  625. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  626. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  627. package/dist/types/instructions/cancelRental.d.ts +10 -15
  628. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  629. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  630. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  631. package/dist/types/instructions/claimContract.d.ts +40 -0
  632. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  633. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  634. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  635. package/dist/types/instructions/closeContract.d.ts +8 -15
  636. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  637. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  638. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  639. package/dist/types/instructions/closeRental.d.ts +11 -12
  640. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  641. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  642. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  643. package/dist/types/instructions/createBorrower.d.ts +36 -0
  644. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  645. package/dist/types/instructions/createContract.d.ts +27 -43
  646. package/dist/types/instructions/createContract.d.ts.map +1 -1
  647. package/dist/types/instructions/createContractThread.d.ts +52 -0
  648. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  649. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  650. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  651. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  652. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  653. package/dist/types/instructions/deleteRental.d.ts +3 -2
  654. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  655. package/dist/types/instructions/index.d.ts +33 -0
  656. package/dist/types/instructions/index.d.ts.map +1 -0
  657. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  658. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  659. package/dist/types/instructions/reserveRental.d.ts +43 -29
  660. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  661. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  662. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  663. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  664. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  665. package/dist/types/instructions/updateConfig.d.ts +0 -13
  666. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  667. package/dist/types/instructions/updateContract.d.ts +22 -35
  668. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  669. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  670. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  671. package/dist/types/kit/index.d.ts +25 -0
  672. package/dist/types/kit/index.d.ts.map +1 -0
  673. package/dist/types/legacy/index.d.ts +63 -0
  674. package/dist/types/legacy/index.d.ts.map +1 -0
  675. package/dist/types/params/amount.d.ts +3 -3
  676. package/dist/types/params/index.d.ts +5 -0
  677. package/dist/types/params/index.d.ts.map +1 -0
  678. package/dist/types/params/sol.d.ts +34 -0
  679. package/dist/types/params/sol.d.ts.map +1 -0
  680. package/dist/types/pda/constants.d.ts +6 -1
  681. package/dist/types/pda/constants.d.ts.map +1 -1
  682. package/dist/types/pda/index.d.ts +5 -22
  683. package/dist/types/pda/index.d.ts.map +1 -1
  684. package/dist/types/pda/lookupTable.d.ts +2 -1
  685. package/dist/types/pda/lookupTable.d.ts.map +1 -1
  686. package/dist/types/pda/sage.d.ts +6 -5
  687. package/dist/types/pda/sage.d.ts.map +1 -1
  688. package/dist/types/pda/slyvault.d.ts +2 -23
  689. package/dist/types/pda/slyvault.d.ts.map +1 -1
  690. package/dist/types/pda/srsly.d.ts +21 -8
  691. package/dist/types/pda/srsly.d.ts.map +1 -1
  692. package/dist/types/pda/thread.d.ts +18 -18
  693. package/dist/types/pda/thread.d.ts.map +1 -1
  694. package/dist/types/pda/token.d.ts +2 -1
  695. package/dist/types/pda/token.d.ts.map +1 -1
  696. package/dist/types/utils/addresses.d.ts +5 -1
  697. package/dist/types/utils/addresses.d.ts.map +1 -1
  698. package/dist/types/utils/config.d.ts +48 -0
  699. package/dist/types/utils/config.d.ts.map +1 -1
  700. package/dist/types/utils/discountAuth.d.ts +94 -0
  701. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  702. package/dist/types/utils/index.d.ts +4 -1
  703. package/dist/types/utils/index.d.ts.map +1 -1
  704. package/dist/types/utils/instructionResult.d.ts +57 -0
  705. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  706. package/dist/types/utils/instructions.d.ts +16 -18
  707. package/dist/types/utils/instructions.d.ts.map +1 -1
  708. package/dist/types/utils/rental.d.ts +22 -0
  709. package/dist/types/utils/rental.d.ts.map +1 -0
  710. package/dist/types/utils/signer.d.ts +5 -2
  711. package/dist/types/utils/signer.d.ts.map +1 -1
  712. package/dist/types/version.d.ts +1 -1
  713. package/package.json +38 -21
  714. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  715. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  716. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  717. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  718. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  719. package/dist/cjs/generated/codama/instructions/claimRental.js +0 -361
  720. package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
  721. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  722. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  723. package/dist/cjs/generated/codama/instructions/payRental.js +0 -290
  724. package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
  725. package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -252
  726. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
  727. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  728. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  729. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  730. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  731. package/dist/cjs/generated/codama/types/memberType.js +0 -57
  732. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  733. package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
  734. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
  735. package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
  736. package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
  737. package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
  738. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
  739. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
  740. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  741. package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
  742. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
  743. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  744. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  745. package/dist/cjs/instructions/claimRental.js +0 -155
  746. package/dist/cjs/instructions/claimRental.js.map +0 -1
  747. package/dist/cjs/instructions/discountBorrower.js +0 -75
  748. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  749. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  750. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  751. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  752. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  753. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  754. package/dist/esm/generated/codama/instructions/claimRental.js +0 -351
  755. package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
  756. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  757. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  758. package/dist/esm/generated/codama/instructions/payRental.js +0 -280
  759. package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
  760. package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -242
  761. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
  762. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  763. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  764. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  765. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  766. package/dist/esm/generated/codama/types/memberType.js +0 -50
  767. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  768. package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
  769. package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
  770. package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
  771. package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
  772. package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
  773. package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
  774. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
  775. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  776. package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
  777. package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
  778. package/dist/esm/instructions/claimContractPayments.js +0 -76
  779. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  780. package/dist/esm/instructions/claimRental.js +0 -152
  781. package/dist/esm/instructions/claimRental.js.map +0 -1
  782. package/dist/esm/instructions/discountBorrower.js +0 -72
  783. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  784. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  785. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  786. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  787. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  788. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  789. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  790. package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -136
  791. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
  792. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  793. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  794. package/dist/types/generated/codama/instructions/payRental.d.ts +0 -140
  795. package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
  796. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -102
  797. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
  798. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  799. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  800. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  801. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  802. package/dist/types/generated/codama/types/memberType.d.ts +0 -57
  803. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  804. package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
  805. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
  806. package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
  807. package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
  808. package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
  809. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
  810. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
  811. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
  812. package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
  813. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
  814. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  815. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  816. package/dist/types/instructions/claimRental.d.ts +0 -88
  817. package/dist/types/instructions/claimRental.d.ts.map +0 -1
  818. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  819. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -9,27 +9,25 @@ import { getCloseRentalInstructionAsync } from '../generated/codama/instructions
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { fetchContract } from '../accounts/contract';
12
+ import { fetchConfig } from '../accounts/config';
12
13
  import { fetchFleet } from '../accounts/fleet';
14
+ import { fetchRental } from '../accounts/rental';
13
15
  import { deriveGameAccounts } from '../pda/sage';
14
- import { deriveRental, deriveRentalAuthority, deriveBorrowerState } from '../pda/srsly';
15
- import { deriveRentalThread } from '../pda/thread';
16
+ import { deriveActiveRental, deriveBorrowerState } from '../pda/srsly';
16
17
  import { prepareInstructions } from '../utils/instructions';
17
- // System program ID constant
18
- const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
19
18
  /**
20
19
  * Close a rental
21
20
  *
22
21
  * Closes a completed rental and transfers the fleet back to the owner.
23
- * Payments are sent to the owner's token account.
22
+ * Always targets the active rental PDA.
24
23
  *
25
24
  * This function automatically:
26
- * - Fetches contract to get owner, ownerTokenAccount, fleet, gameId
27
- * - Fetches fleet to get faction for SAGE account derivation
25
+ * - Fetches contract to get owner, fleet, gameId
26
+ * - Fetches the active rental to get borrower (if not provided)
27
+ * - Fetches the borrower's SAGE profile from borrower_state
28
28
  * - Derives required SAGE accounts (starbase, starbase player)
29
- * - Derives rental thread for automated payments
30
- * - Codama auto-derives contractTokenAccount as ATA
31
29
  *
32
- * @param params - Rental closure parameters (payer, borrower, contract)
30
+ * @param params - Rental closure parameters (payer, contract)
33
31
  * @param config - Optional SDK configuration overrides
34
32
  * @returns Kit instruction (or web3.js if PublicKey in config)
35
33
  *
@@ -37,7 +35,6 @@ const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
37
35
  * ```typescript
38
36
  * const ix = await closeRental({
39
37
  * payer: ownerWallet,
40
- * borrower: borrowerAddress,
41
38
  * contract: contractAddress
42
39
  * });
43
40
  * ```
@@ -49,65 +46,57 @@ export async function closeRental(params, config) {
49
46
  if (!params.payer) {
50
47
  throw new Error('payer is required');
51
48
  }
52
- if (!params.borrower) {
53
- throw new Error('borrower is required');
54
- }
55
49
  if (!params.contract) {
56
50
  throw new Error('contract is required');
57
51
  }
58
52
  // Fetch contract to get owner, fleet, gameId
59
53
  const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
60
- const owner = contractAccount.data.owner;
61
54
  const fleet = contractAccount.data.fleet;
62
55
  const gameId = contractAccount.data.gameId;
63
56
  // Convert payer to transaction signer
64
57
  const payerSigner = toTransactionSigner(params.payer);
65
- // Fetch fleet data to get faction (for SAGE account derivation)
58
+ // Derive active rental PDA (no more slot logic)
59
+ const rentalState = await deriveActiveRental(params.contract);
60
+ // Get borrower - use provided value, or fetch from rental state, or fall back to payer
61
+ let borrower;
62
+ if (params.borrower) {
63
+ borrower = address(params.borrower);
64
+ }
65
+ else {
66
+ try {
67
+ const rental = await fetchRental(rentalState, finalConfig.rpcUrl);
68
+ borrower = rental.data.borrower;
69
+ }
70
+ catch {
71
+ // Rental state doesn't exist, fall back to payer
72
+ borrower = payerSigner.address;
73
+ }
74
+ }
75
+ // Derive borrower state PDA
76
+ const borrowerState = await deriveBorrowerState(borrower);
77
+ // Fetch fleet to get faction and derive SAGE accounts
78
+ // During an active rental, fleet.subProfile IS the current borrower's profile
66
79
  const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
80
+ const borrowerProfile = fleetState.subProfile.key;
67
81
  const faction = fleetState.faction;
68
- const ownerProfile = fleetState.ownerProfile;
69
- // Derive SAGE game accounts (we need owner's profile for starbase player)
70
- const gameAccounts = await deriveGameAccounts(ownerProfile, faction, gameId);
71
- // Derive rental and rental authority PDAs
72
- const rental = await deriveRental(params.contract, params.borrower);
73
- const rentalAuthority = await deriveRentalAuthority();
74
- // Derive borrower state PDA
75
- const borrowerState = await deriveBorrowerState(params.borrower);
76
- // Derive rental thread for automated payments
77
- const rentalThread = await deriveRentalThread(rental, rentalAuthority);
78
- // Get network-specific addresses
82
+ // Derive SAGE game accounts using borrower's profile
83
+ const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
84
+ // Get atlasMint from on-chain config
85
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
79
86
  const addresses = getAddresses(config);
80
- const atlasMint = address(addresses.atlasMint);
81
87
  const sageProgram = address(addresses.sage);
82
88
  const programAddress = address(addresses.srsly);
83
- // Determine queuedThread from the other slot's rental
84
- // If closing slot 0's rental, derive thread for slot 1's rental (and vice versa)
85
- const systemProgramId = address(SYSTEM_PROGRAM_ID);
86
- const slot0 = contractAccount.data.rentalSlot0;
87
- const slot1 = contractAccount.data.rentalSlot1;
88
- // Find the other slot's rental address (not the one we're closing)
89
- const otherSlotRental = slot0 === rental ? slot1 : slot0;
90
- // Derive queued thread - if other slot has a rental, derive its thread
91
- // Program will check data_is_empty() to determine if thread actually exists
92
- let queuedThread = systemProgramId;
93
- if (otherSlotRental !== systemProgramId) {
94
- queuedThread = await deriveRentalThread(otherSlotRental, rentalAuthority);
95
- }
96
89
  // Call Codama-generated instruction
97
- // Note: contractTokenAccount is auto-derived by Codama as ATA for contract + mint
98
90
  const kitInstruction = await getCloseRentalInstructionAsync({
99
91
  payer: payerSigner,
100
- mint: atlasMint,
101
- borrower: address(params.borrower),
92
+ borrower,
102
93
  borrowerState,
103
- owner: address(owner),
104
94
  contract: address(params.contract),
105
- rentalThread,
95
+ rentalState,
106
96
  fleet: address(fleet),
107
97
  gameId: address(gameId),
108
98
  starbase: gameAccounts.starbase,
109
99
  starbasePlayer: gameAccounts.starbasePlayer,
110
- queuedThread,
111
100
  sageProgram,
112
101
  }, { programAddress });
113
102
  return prepareInstructions(kitInstruction, {
@@ -1 +1 @@
1
- {"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @purpose Create a pending affiliate (Affiliate member) for SRSLY vault
3
+ *
4
+ * Wraps slyvault's initMember instruction with Affiliate type pre-configured.
5
+ * Auto-fetches vault and nonce from parent member state.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { initMember, fetchMember, } from '@wuwei-labs/slyvault';
9
+ import { mergeConfig } from '../utils/config';
10
+ /**
11
+ * Create a pending affiliate (Affiliate member)
12
+ *
13
+ * Creates a new Affiliate member state that references a parent Normal member.
14
+ * The affiliate must be approved by the parent member's authority using approveAffiliate.
15
+ *
16
+ * This function auto-fetches the vault address and parent member nonce from the
17
+ * parent member state, making it easier to use than the underlying initMember.
18
+ *
19
+ * @param params - Affiliate creation parameters
20
+ * @param config - Optional SDK configuration overrides
21
+ * @returns Prepared instruction(s)
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { createAffiliate } from '@wuwei-labs/srsly';
26
+ *
27
+ * // Create affiliate linked to parent member
28
+ * const ix = await createAffiliate({
29
+ * affiliate: wallet,
30
+ * parentMemberState: "PARENT_MEMBER_STATE_PDA",
31
+ * discountAuthority: "OPTIONAL_DISCOUNT_SIGNER", // optional, defaults to main authority
32
+ * // vault and nonce are auto-fetched from parent state
33
+ * });
34
+ * ```
35
+ */
36
+ export async function createAffiliate(params, config) {
37
+ const finalConfig = mergeConfig(config);
38
+ if (!params.affiliate)
39
+ throw new Error('affiliate is required');
40
+ if (!params.parentMemberState)
41
+ throw new Error('parentMemberState is required');
42
+ // Fetch parent member state to get vault and nonce
43
+ const { data: parentState } = await fetchMember(address(params.parentMemberState), finalConfig.rpcUrl);
44
+ // Validate parent is Normal type with affiliateEnabled
45
+ if (parentState.memberType.__kind !== 'Normal') {
46
+ throw new Error('Parent member is not a Normal member type');
47
+ }
48
+ if (!parentState.memberType.affiliateEnabled) {
49
+ throw new Error('Parent member does not have affiliates enabled');
50
+ }
51
+ // Get vault and nonce from parent state
52
+ const vaultAddress = parentState.vault;
53
+ const parentNonce = parentState.nonce;
54
+ // Call slyvault initMember with Affiliate type pre-configured
55
+ return initMember({
56
+ member: params.affiliate,
57
+ vault: vaultAddress,
58
+ nonce: params.nonce,
59
+ memberType: {
60
+ __kind: 'Affiliate',
61
+ parentMemberNonce: parentNonce,
62
+ percentageBps: 0,
63
+ claimableBalance: 0n,
64
+ isActive: false,
65
+ },
66
+ discountAuthority: params.discountAuthority,
67
+ computeUnits: params.computeUnits,
68
+ });
69
+ }
70
+ //# sourceMappingURL=createAffiliate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/createAffiliate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,UAAU,EACV,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAoC9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEhF,mDAAmD;IACnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAC7C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACjC,WAAW,CAAC,MAAM,CACnB,CAAC;IAEF,uDAAuD;IACvD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,wCAAwC;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;IACvC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;IAEtC,8DAA8D;IAC9D,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE;YACV,MAAM,EAAE,WAAW;YACnB,iBAAiB,EAAE,WAAW;YAC9B,aAAa,EAAE,CAAC;YAChB,gBAAgB,EAAE,EAAE;YACpB,QAAQ,EAAE,KAAK;SAChB;QACD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @purpose Simplified createBorrower instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated createBorrower instruction.
5
+ * Creates a BorrowerState PDA with managed token account for a borrower.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { getCreateBorrowerInstructionAsync } 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
+ /**
14
+ * Create a borrower state account
15
+ *
16
+ * Creates a BorrowerState PDA and an associated managed token account.
17
+ * The managed token account holds ATLAS refunds from reservation knockoffs.
18
+ *
19
+ * @param params - Borrower creation parameters
20
+ * @param config - Optional SDK configuration overrides
21
+ * @returns Kit instruction (or web3.js if PublicKey in config)
22
+ */
23
+ export async function createBorrower(params, config) {
24
+ const finalConfig = mergeConfig(config);
25
+ if (!params.borrower) {
26
+ throw new Error('borrower is required');
27
+ }
28
+ const borrowerSigner = toTransactionSigner(params.borrower);
29
+ // Get atlasMint from on-chain config
30
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
31
+ const atlasMint = configAccount.data.atlasMint;
32
+ const addresses = getAddresses(config);
33
+ const programAddress = address(addresses.srsly);
34
+ const kitInstruction = await getCreateBorrowerInstructionAsync({
35
+ borrower: borrowerSigner,
36
+ mint: atlasMint,
37
+ }, { programAddress });
38
+ return prepareInstructions(kitInstruction, {
39
+ computeUnits: params.computeUnits,
40
+ PublicKey: finalConfig.PublicKey
41
+ });
42
+ }
43
+ //# sourceMappingURL=createBorrower.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBorrower.js","sourceRoot":"","sources":["../../../src/instructions/createBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmBjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;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"}
@@ -5,14 +5,19 @@
5
5
  * Handles parameter conversion and optional web3.js compatibility.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
- import { getCreateContractInstructionAsync } from '../generated/codama/instructions';
8
+ import { getCreateContractInstructionAsync, getCreateContractThreadInstructionAsync } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
- import { toTransactionSigner } from '../utils/signer';
10
+ import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
11
  import { convertAmount, stardustToAtlas } from '../params/amount';
12
12
  import { convertDuration } from '../params/duration';
13
13
  import { normalizeSchedule } from '../params/schedule';
14
+ import { convertSol } from '../params/sol';
14
15
  import { fetchFleet } from '../accounts/fleet';
16
+ import { fetchConfig } from '../accounts/config';
15
17
  import { prepareInstructions } from '../utils/instructions';
18
+ import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
19
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
20
+ import { deriveAssociatedTokenAccount } from '../pda/token';
16
21
  /**
17
22
  * Create a rental contract for a Star Atlas fleet
18
23
  *
@@ -27,34 +32,9 @@ import { prepareInstructions } from '../utils/instructions';
27
32
  * const ix = await createContract({
28
33
  * owner: wallet,
29
34
  * fleet: fleetAddress,
30
- * // ownerProfile and gameId fetched automatically from fleet
31
35
  * rate: 100,
32
- * durationMax: { days: 30 },
33
- * paymentsFreq: '@daily'
36
+ * durationMax: { days: 30 }
34
37
  * });
35
- *
36
- * // Explicit ownerProfile and gameId (skips fetch)
37
- * const ix2 = await createContract({
38
- * owner: wallet,
39
- * fleet: fleetAddress,
40
- * ownerProfile: profileAddress, // Explicitly provided
41
- * gameId: gameAddress, // Explicitly provided
42
- * rate: 100,
43
- * durationMax: { days: 30 },
44
- * paymentsFreq: '@daily'
45
- * });
46
- *
47
- * // With web3.js
48
- * import { PublicKey } from '@solana/web3.js';
49
- * setSdkConfig({ network: 'atlasnet', PublicKey });
50
- * const web3Ix = await createContract({
51
- * owner: keypair,
52
- * fleet: fleetPubkey,
53
- * rate: 100,
54
- * durationMax: { days: 30 },
55
- * paymentsFreq: '@daily'
56
- * });
57
- * // web3Ix.keys[0].pubkey is a PublicKey instance
58
38
  * ```
59
39
  */
60
40
  export async function createContract(params, config) {
@@ -73,9 +53,6 @@ export async function createContract(params, config) {
73
53
  if (!params.durationMax) {
74
54
  throw new Error('durationMax is required');
75
55
  }
76
- if (!params.paymentsFreq) {
77
- throw new Error('paymentsFreq is required');
78
- }
79
56
  // Convert owner to transaction signer
80
57
  const ownerSigner = toTransactionSigner(params.owner);
81
58
  // Fetch fleet data (source of truth for ownerProfile and gameId)
@@ -94,19 +71,19 @@ export async function createContract(params, config) {
94
71
  ? convertDuration(params.durationMin)
95
72
  : 3600; // Default 1 hour
96
73
  const durationMaxSeconds = convertDuration(params.durationMax);
97
- const normalizedSchedule = normalizeSchedule(params.paymentsFreq);
98
74
  // Validate duration logic
99
75
  if (durationMaxSeconds < durationMinSeconds) {
100
76
  throw new Error(`durationMax (${durationMaxSeconds}s) must be >= durationMin (${durationMinSeconds}s)`);
101
77
  }
102
- // Get network-specific addresses
78
+ // Get atlasMint from on-chain config
79
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
80
+ const atlasMint = configAccount.data.atlasMint;
103
81
  const addresses = getAddresses(config);
104
- const atlasMint = address(addresses.atlasMint);
105
82
  const sageProgram = address(addresses.sage);
106
83
  const programAddress = address(addresses.srsly);
107
- // Convert minCancelDelay duration to seconds
108
- const minCancelDelaySeconds = params.minCancelDelay
109
- ? BigInt(convertDuration(params.minCancelDelay))
84
+ // Convert cancelDelayMin duration to seconds
85
+ const cancelDelayMinSeconds = params.cancelDelayMin !== undefined
86
+ ? BigInt(convertDuration(params.cancelDelayMin))
110
87
  : 1n; // Default 1 second (no instant cancel)
111
88
  // Call Codama-generated instruction
112
89
  const kitInstruction = await getCreateContractInstructionAsync({
@@ -119,12 +96,41 @@ export async function createContract(params, config) {
119
96
  rate: rateStardust,
120
97
  durationMin: BigInt(durationMinSeconds),
121
98
  durationMax: BigInt(durationMaxSeconds),
122
- paymentsFreq: normalizedSchedule,
123
99
  ownerKeyIndex: params.ownerKeyIndex ?? 0,
124
- minCancelDelay: minCancelDelaySeconds,
125
- reservationsDisabled: params.disableReservations ?? false,
126
- requiresAutomation: params.requiresAutomation ?? false
100
+ cancelDelayMin: cancelDelayMinSeconds,
101
+ reservationsDisabled: params.reservationsDisabled ?? true
127
102
  }, { programAddress });
103
+ // Default: bundle thread creation for automation
104
+ if (params.automated !== false) {
105
+ const paymentsFreq = normalizeSchedule(params.paymentsFreq ?? '@daily');
106
+ // Derive PDAs locally (contract doesn't exist on-chain yet)
107
+ const contractAddress = await deriveContract(params.fleet);
108
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
109
+ const rentalAuthority = await deriveRentalAuthority();
110
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
111
+ const fiber0 = await deriveFiber(contractThread, 0);
112
+ const closeRentalFiber = await deriveFiber(contractThread, 1);
113
+ const ownerAddress = getSignerAddress(params.owner);
114
+ const MINIMUM_THREAD_FUNDING = 40000000n;
115
+ const DEFAULT_EXECUTION_BUDGET = 2190000n; // 1 year daily @ 0.000006 SOL/tick
116
+ const threadIx = await getCreateContractThreadInstructionAsync({
117
+ payer: ownerSigner,
118
+ mint: atlasMint,
119
+ contract: contractAddress,
120
+ contractThread,
121
+ fiber0,
122
+ closeRentalFiber,
123
+ owner: ownerAddress,
124
+ contractTokenAccount,
125
+ sageProgram,
126
+ lamports: MINIMUM_THREAD_FUNDING + (params.threadLamports ? convertSol(params.threadLamports) : DEFAULT_EXECUTION_BUDGET),
127
+ paymentsFreq,
128
+ }, { programAddress });
129
+ return prepareInstructions([kitInstruction, threadIx], {
130
+ computeUnits: params.computeUnits,
131
+ PublicKey: finalConfig.PublicKey
132
+ });
133
+ }
128
134
  return prepareInstructions(kitInstruction, {
129
135
  computeUnits: params.computeUnits,
130
136
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @purpose Simplified createContractThread instruction wrapper
3
+ *
4
+ * Thin convenience wrapper around Codama-generated createContractThread instruction.
5
+ * Creates a per-contract automation thread with fiber-based dispatch.
6
+ */
7
+ import { AccountRole, address } from '@solana/kit';
8
+ import { getCreateContractThreadInstructionAsync } from '../generated/codama/instructions';
9
+ import { mergeConfig, getAddresses } from '../utils/config';
10
+ import { toTransactionSigner, getSignerAddress } from '../utils/signer';
11
+ import { prepareInstructions } from '../utils/instructions';
12
+ import { fetchConfig } from '../accounts/config';
13
+ import { fetchContract } from '../accounts/contract';
14
+ import { fetchFleet } from '../accounts/fleet';
15
+ import { fetchRental } from '../accounts/rental';
16
+ import { RentalStatus } from '../generated/codama/types';
17
+ import { deriveGameAccounts } from '../pda/sage';
18
+ import { deriveActiveRental } from '../pda/srsly';
19
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
20
+ import { deriveRentalAuthority } from '../pda/srsly';
21
+ import { normalizeSchedule } from '../params/schedule';
22
+ import { convertSol } from '../params/sol';
23
+ // Minimum: 3 fiber rents (~0.01 each) + thread rent (~0.01) = 0.04 SOL
24
+ const MINIMUM_THREAD_FUNDING = 40000000n;
25
+ const DEFAULT_EXECUTION_BUDGET = 2190000n; // 1 year daily @ 0.000006 SOL/tick
26
+ /**
27
+ * Create a per-contract automation thread
28
+ *
29
+ * Creates an Antegen thread with controller fiber (fiber 0, inline).
30
+ * Thread starts **paused** by default. Fiber 1 (rental_close) and
31
+ * fiber 2 (rental_activate) are created lazily when needed by
32
+ * rental_accept and rental_reserve respectively.
33
+ *
34
+ * @param params - Thread creation parameters
35
+ * @param config - Optional SDK configuration overrides
36
+ * @returns Kit instruction (or web3.js if PublicKey in config)
37
+ */
38
+ export async function createContractThread(params, config) {
39
+ const finalConfig = mergeConfig(config);
40
+ if (!params.owner) {
41
+ throw new Error('owner is required');
42
+ }
43
+ if (!params.contract) {
44
+ throw new Error('contract is required');
45
+ }
46
+ const ownerSigner = toTransactionSigner(params.owner);
47
+ const ownerAddress = getSignerAddress(params.owner);
48
+ // Get atlasMint and sage program from config
49
+ const configAccount = await fetchConfig(finalConfig.rpcUrl);
50
+ const atlasMint = configAccount.data.atlasMint;
51
+ const addresses = getAddresses(config);
52
+ const programAddress = address(addresses.srsly);
53
+ // Fetch contract to get managed_token_account
54
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
55
+ const contractAddress = address(params.contract);
56
+ // Derive thread and fiber PDAs
57
+ const rentalAuthority = await deriveRentalAuthority();
58
+ const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
59
+ const fiber0 = await deriveFiber(contractThread, 0);
60
+ const closeRentalFiber = await deriveFiber(contractThread, 1);
61
+ // Normalize schedule to cron string
62
+ const paymentsFreq = normalizeSchedule(params.paymentsFreq);
63
+ const kitInstruction = await getCreateContractThreadInstructionAsync({
64
+ payer: ownerSigner,
65
+ mint: atlasMint,
66
+ contract: contractAddress,
67
+ contractThread,
68
+ fiber0,
69
+ closeRentalFiber,
70
+ owner: ownerAddress,
71
+ contractTokenAccount: contractAccount.data.managedTokenAccount,
72
+ sageProgram: address(addresses.sage),
73
+ lamports: MINIMUM_THREAD_FUNDING + (params.lamports ? convertSol(params.lamports) : DEFAULT_EXECUTION_BUDGET),
74
+ paymentsFreq,
75
+ }, { programAddress });
76
+ // If active rental exists, append starbase + starbasePlayer as remaining_accounts
77
+ // (Rust reads them from remaining_accounts when building fiber 1 close instruction)
78
+ try {
79
+ const activeRentalPda = await deriveActiveRental(contractAddress);
80
+ const activeRental = await fetchRental(activeRentalPda, finalConfig.rpcUrl);
81
+ if (activeRental.data.status === RentalStatus.Active) {
82
+ const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
83
+ const gameAccounts = await deriveGameAccounts(fleetState.subProfile.key, fleetState.faction, contractAccount.data.gameId);
84
+ const sageRemainingAccounts = [
85
+ { address: gameAccounts.starbase, role: AccountRole.READONLY },
86
+ { address: gameAccounts.starbasePlayer, role: AccountRole.READONLY },
87
+ ];
88
+ kitInstruction.accounts.push(...sageRemainingAccounts);
89
+ }
90
+ }
91
+ catch {
92
+ // No active rental — remaining_accounts not needed
93
+ }
94
+ return prepareInstructions(kitInstruction, {
95
+ computeUnits: params.computeUnits,
96
+ PublicKey: finalConfig.PublicKey
97
+ });
98
+ }
99
+ //# sourceMappingURL=createContractThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContractThread.js","sourceRoot":"","sources":["../../../src/instructions/createContractThread.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * @purpose Simplified deleteBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated deleteBorrower instruction.
5
- * Allows admin OR borrower to delete borrower state for schema migrations.
6
- * Returns lamports to the borrower. Next rental will lazy-init fresh state.
5
+ * Admin-only instruction to delete borrower state for schema migrations.
6
+ * Uses UncheckedAccount to bypass deserialization for old-format accounts.
7
7
  */
8
8
  import { address } from '@solana/kit';
9
9
  import { getDeleteBorrowerInstructionAsync } from '../generated/codama/instructions';
@@ -11,10 +11,11 @@ import { mergeConfig, getAddresses } from '../utils/config';
11
11
  import { toTransactionSigner } from '../utils/signer';
12
12
  import { prepareInstructions } from '../utils/instructions';
13
13
  /**
14
- * Delete borrower state (admin only)
14
+ * Delete borrower state (admin-only for schema migrations)
15
15
  *
16
- * Used for schema migrations when BorrowerState structure changes.
17
- * Returns lamports to the borrower. Next rental will lazy-init fresh state.
16
+ * Used to delete old-format BorrowerState accounts that can't be deserialized
17
+ * with the current struct layout. Returns lamports to the borrower wallet.
18
+ * Uses UncheckedAccount to bypass deserialization.
18
19
  *
19
20
  * @param params - Delete borrower parameters
20
21
  * @param config - Optional SDK configuration overrides
@@ -22,32 +23,31 @@ import { prepareInstructions } from '../utils/instructions';
22
23
  *
23
24
  * @example
24
25
  * ```typescript
25
- * // Admin deletes borrower state for migration
26
26
  * const ix = await deleteBorrower({
27
27
  * admin: adminWallet,
28
- * borrower: "BORROWER_WALLET_ADDRESS"
28
+ * borrower: "BORROWER_WALLET_ADDRESS",
29
+ * borrowerState: "BORROWER_STATE_PDA_ADDRESS"
29
30
  * });
30
31
  * ```
31
32
  */
32
33
  export async function deleteBorrower(params, config) {
33
- // Merge config
34
34
  const finalConfig = mergeConfig(config);
35
- // Validate required params
36
35
  if (!params.admin) {
37
36
  throw new Error('admin is required');
38
37
  }
39
38
  if (!params.borrower) {
40
39
  throw new Error('borrower is required');
41
40
  }
42
- // Convert admin to transaction signer
41
+ if (!params.borrowerState) {
42
+ throw new Error('borrowerState is required');
43
+ }
43
44
  const adminSigner = toTransactionSigner(params.admin);
44
- // Get network-specific addresses
45
45
  const addresses = getAddresses(config);
46
46
  const programAddress = address(addresses.srsly);
47
- // Call Codama-generated instruction
48
47
  const kitInstruction = await getDeleteBorrowerInstructionAsync({
49
48
  admin: adminSigner,
50
- borrower: address(params.borrower)
49
+ borrower: address(params.borrower),
50
+ borrowerState: address(params.borrowerState),
51
51
  }, { programAddress });
52
52
  return prepareInstructions(kitInstruction, {
53
53
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"deleteBorrower.js","sourceRoot":"","sources":["../../../src/instructions/deleteBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA0B5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;KAC9C,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":"deleteBorrower.js","sourceRoot":"","sources":["../../../src/instructions/deleteBorrower.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA6B5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QAC7C,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAwB,CAAC;KACxD,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"}