@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
@@ -2,50 +2,48 @@
2
2
  * @purpose Simplified reserveRental instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated reserveRental instruction.
5
- * Reserves a rental contract using points or ATLAS for a GBM-style auction.
5
+ * Reserves a rental contract using ATLAS for a GBM-style auction.
6
6
  */
7
- import { address } from '@solana/kit';
8
- import { createRpc } from '../utils/rpc';
7
+ import { AccountRole, address } from '@solana/kit';
9
8
  import { getReserveRentalInstructionAsync } from '../generated/codama/instructions';
10
9
  import { mergeConfig, getAddresses } from '../utils/config';
11
10
  import { toTransactionSigner } from '../utils/signer';
11
+ import { convertAmount } from '../params/amount';
12
+ import { convertDuration } from '../params/duration';
12
13
  import { fetchContract } from '../accounts/contract';
13
14
  import { fetchConfig } from '../accounts/config';
14
- import { fetchBorrowerState } from '../generated/codama/accounts';
15
- import { deriveBorrowerState } from '../pda/srsly';
15
+ import { fetchFleet } from '../accounts/fleet';
16
+ import { fetchBorrower } from '../accounts/borrower';
17
+ import { fetchRental } from '../accounts/rental';
18
+ import { RentalStatus } from '../generated/codama/types';
19
+ import { deriveGameAccounts } from '../pda/sage';
20
+ import { deriveQueuedRental, deriveRentalAuthority } from '../pda/srsly';
16
21
  import { deriveAssociatedTokenAccount } from '../pda/token';
22
+ import { deriveContractThread, deriveFiber } from '../pda/thread';
17
23
  import { prepareInstructions } from '../utils/instructions';
24
+ import { deserializeDiscountAuth } from '../utils/discountAuth';
18
25
  /**
19
26
  * Reserve a rental contract via GBM-style auction
20
27
  *
21
- * Allows a user to reserve (bid on) a rental contract using either
22
- * accumulated capture points or ATLAS tokens. Winners get an exclusive
23
- * reservation window to accept the rental once the current rental ends.
28
+ * Allows a user to reserve (bid on) a rental contract using ATLAS tokens.
29
+ * Winners get an exclusive reservation window to accept the rental once
30
+ * the current rental ends.
24
31
  *
25
- * The reservation type is determined by the `useAtlas` parameter:
26
- * - If `useAtlas=false` (default): Uses capture points from borrower state
27
- * - If `useAtlas=true`: Transfers ATLAS from challenger's wallet
32
+ * The reservation uses the queued rental PDA and requires the contract
33
+ * thread and activate_rental fiber for scheduling.
28
34
  *
29
35
  * @param params - Reservation parameters
30
36
  * @param config - Optional SDK configuration overrides
31
37
  * @returns Array of instructions (Kit format or web3.js if PublicKey in config)
32
38
  *
33
- * @demo
39
+ * @example
34
40
  * ```typescript
35
- * // Reserve with 5 points
41
+ * // Reserve with 5 ATLAS for a 7-day rental
36
42
  * const ixs = await reserveRental({
37
43
  * challenger: wallet,
38
44
  * contract: "CONTRACT_ADDRESS",
39
- * amount: 5, // 5 points deducted from borrower state
40
- * useAtlas: false
41
- * });
42
- *
43
- * // Reserve with 5 point-equivalents in ATLAS
44
- * const ixs2 = await reserveRental({
45
- * challenger: wallet,
46
- * contract: "CONTRACT_ADDRESS",
47
- * amount: 5, // 5 * atlas_per_point = ATLAS lamports transferred
48
- * useAtlas: true,
45
+ * amount: 5,
46
+ * duration: { days: 7 },
49
47
  * computeUnits: 200_000
50
48
  * });
51
49
  * ```
@@ -60,71 +58,97 @@ export async function reserveRental(params, config) {
60
58
  if (!params.contract) {
61
59
  throw new Error('contract is required');
62
60
  }
63
- if (params.amount === undefined || params.amount === null) {
64
- throw new Error('amount is required');
61
+ if (!params.borrowerProfile) {
62
+ throw new Error('borrowerProfile is required for reserveRental');
63
+ }
64
+ if (!params.duration) {
65
+ throw new Error('duration is required');
66
+ }
67
+ const bidPoints = params.bidPoints ?? 0;
68
+ const bidAtlasValue = params.bidAtlas ? convertAmount(params.bidAtlas) : 0n;
69
+ if (bidPoints === 0 && bidAtlasValue === 0n) {
70
+ throw new Error('Must provide either bidPoints or bidAtlas');
71
+ }
72
+ if (bidPoints > 0 && bidAtlasValue > 0n) {
73
+ throw new Error('bidPoints and bidAtlas are mutually exclusive');
65
74
  }
66
75
  // Convert challenger to transaction signer
67
76
  const challengerSigner = toTransactionSigner(params.challenger);
68
77
  // Get network-specific addresses
69
78
  const addresses = getAddresses(config);
70
- const atlasMint = address(addresses.atlasMint);
71
79
  const programAddress = address(addresses.srsly);
72
- // Derive challenger state PDA
73
- const challengerState = await deriveBorrowerState(challengerSigner.address);
74
- // Fetch contract to get contract token account
75
- const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
76
- const contractTokenAccount = contractAccount.data.contractTokenAccount;
77
- // Fetch config for mint validation
80
+ const sageProgram = address(addresses.sage);
81
+ // Fetch config for mint
78
82
  const configAccount = await fetchConfig(finalConfig.rpcUrl);
79
- // Derive challenger's managed token account (used for receiving ATLAS bonuses)
80
- const challengerManagedTokenAccount = await deriveAssociatedTokenAccount(challengerState, atlasMint);
81
- // Convert amount based on reservation type
82
- // - Points: use raw number as-is
83
- // - ATLAS: multiply by atlas_per_point to get lamports
84
- const amountValue = params.useAtlas
85
- ? BigInt(params.amount) * BigInt(configAccount.data.atlasPerPoint) // point-equivalents → lamports
86
- : BigInt(params.amount); // points stay as-is
83
+ const atlasMint = configAccount.data.atlasMint;
84
+ // Fetch contract to get contractTokenAccount
85
+ const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
86
+ // Derive queued rental PDA
87
+ const rentalState = await deriveQueuedRental(params.contract);
88
+ // Derive rental authority
89
+ const rentalAuthority = await deriveRentalAuthority();
90
+ // Derive contract thread and activate_rental fiber (fiber index 2)
91
+ const contractThread = await deriveContractThread(params.contract, rentalAuthority);
92
+ const activateRentalFiber = await deriveFiber(contractThread, 2);
93
+ // Derive contract token account (ATA of contract PDA)
94
+ const contractAddress = address(params.contract);
95
+ const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
96
+ // Derive challenger's token account
97
+ const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
98
+ // Convert duration to seconds
99
+ const durationSeconds = convertDuration(params.duration);
100
+ // Deserialize discount auth if provided
101
+ let discountAuth = null;
102
+ if (params.discountAuth) {
103
+ discountAuth = deserializeDiscountAuth(params.discountAuth);
104
+ }
105
+ const referrer = params.referrer ? address(params.referrer) : undefined;
87
106
  // Build instruction input
88
107
  const instructionInput = {
89
108
  challenger: challengerSigner,
90
- mint: atlasMint,
91
- contract: address(params.contract),
92
- challengerState,
93
- challengerManagedTokenAccount,
94
- contractTokenAccount: address(contractTokenAccount),
95
- amount: amountValue,
96
- // Optional accounts based on reservation type
97
- challengerTokenAccount: undefined,
98
- defenderState: undefined,
99
- defenderManagedTokenAccount: undefined,
109
+ contract: contractAddress,
110
+ contractThread,
111
+ activateRentalFiber,
112
+ contractTokenAccount,
113
+ challengerTokenAccount,
114
+ rentalState,
115
+ referrer,
116
+ sageProgram,
117
+ bidPoints,
118
+ bidAtlas: bidAtlasValue,
119
+ duration: BigInt(durationSeconds),
120
+ discountAuth,
100
121
  };
101
- // If using ATLAS, include challenger's token account
102
- if (params.useAtlas) {
103
- const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
104
- instructionInput.challengerTokenAccount = challengerTokenAccount;
105
- }
106
- // If there's a current reservation holder, we need to provide defender accounts
107
- if (contractAccount.data.reservationHolder &&
108
- typeof contractAccount.data.reservationHolder === 'object' &&
109
- '__option' in contractAccount.data.reservationHolder &&
110
- contractAccount.data.reservationHolder.__option === 'Some') {
111
- const defenderState = contractAccount.data.reservationHolder.value;
112
- instructionInput.defenderState = defenderState;
113
- // Fetch defender state to get their managed token account
114
- const rpc = createRpc(finalConfig.rpcUrl || 'https://api.devnet.solana.com');
115
- try {
116
- const defenderStateAccount = await fetchBorrowerState(rpc, defenderState);
117
- if (defenderStateAccount.data.managedTokenAccount) {
118
- instructionInput.defenderManagedTokenAccount = defenderStateAccount.data.managedTokenAccount;
119
- }
120
- }
121
- catch {
122
- // Defender state might not exist or be readable, continue without it
122
+ // If there's a current queued reservation, provide defender accounts
123
+ // Fetch queued rental to check if there's an existing reservation holder
124
+ try {
125
+ const queuedRental = await fetchRental(rentalState, finalConfig.rpcUrl);
126
+ if (queuedRental.data.status === RentalStatus.Queued) {
127
+ const defenderBorrowerState = queuedRental.data.borrowerState;
128
+ instructionInput.defenderState = defenderBorrowerState;
129
+ // Fetch defender's managed token account from their borrower state
130
+ const defenderAccount = await fetchBorrower(defenderBorrowerState, finalConfig.rpcUrl);
131
+ instructionInput.defenderManagedTokenAccount = defenderAccount.data.managedTokenAccount;
123
132
  }
124
133
  }
134
+ catch {
135
+ // Queued rental doesn't exist or is Available — no defender
136
+ }
137
+ // Derive SAGE accounts for remaining_accounts
138
+ const borrowerProfileAddr = address(params.borrowerProfile);
139
+ const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
140
+ const gameAccounts = await deriveGameAccounts(borrowerProfileAddr, fleetState.faction, contractAccount.data.gameId);
125
141
  // Call Codama-generated instruction
126
142
  const kitInstruction = await getReserveRentalInstructionAsync(instructionInput, { programAddress });
127
- // Prepare instructions with optional compute budget and web3.js conversion
143
+ // Append SAGE accounts as remaining_accounts
144
+ const sageRemainingAccounts = [
145
+ { address: borrowerProfileAddr, role: AccountRole.READONLY },
146
+ { address: gameAccounts.profileFaction, role: AccountRole.READONLY },
147
+ { address: gameAccounts.starbase, role: AccountRole.READONLY },
148
+ { address: gameAccounts.starbasePlayer, role: AccountRole.READONLY },
149
+ ];
150
+ kitInstruction.accounts.push(...sageRemainingAccounts);
151
+ // Prepare instructions with optional compute budget
128
152
  return prepareInstructions(kitInstruction, {
129
153
  computeUnits: params.computeUnits,
130
154
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @purpose Update affiliate settings (discount authority, authority transfer)
3
+ *
4
+ * Convenience wrapper around slyvault's affiliateUpdate instruction.
5
+ * Auto-fetches vault from affiliate member state.
6
+ */
7
+ import { address } from '@solana/kit';
8
+ import { affiliateUpdate, fetchMember, } from '@wuwei-labs/slyvault';
9
+ import { mergeConfig } from '../utils/config';
10
+ /**
11
+ * Update affiliate settings or transfer authority
12
+ *
13
+ * Auto-fetches the vault address from the affiliate member state.
14
+ * Validates that the member is an Affiliate type before proceeding.
15
+ *
16
+ * @param params - Update parameters
17
+ * @param config - Optional SDK configuration overrides
18
+ * @returns Prepared instruction(s)
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { updateAffiliate } from '@wuwei-labs/srsly';
23
+ *
24
+ * // Set discount authority for affiliate
25
+ * const ix = await updateAffiliate({
26
+ * authority: affiliateWallet,
27
+ * affiliateState: "AFFILIATE_STATE_PDA",
28
+ * discountAuthority: "DISCOUNT_AUTHORITY_ADDRESS"
29
+ * });
30
+ * ```
31
+ */
32
+ export async function updateAffiliate(params, config) {
33
+ const finalConfig = mergeConfig(config);
34
+ if (!params.authority)
35
+ throw new Error('authority is required');
36
+ if (!params.affiliateState)
37
+ throw new Error('affiliateState is required');
38
+ // Fetch affiliate member state to get vault
39
+ const { data: memberState } = await fetchMember(address(params.affiliateState), finalConfig.rpcUrl);
40
+ // Validate member is Affiliate type
41
+ if (memberState.memberType.__kind !== 'Affiliate') {
42
+ throw new Error('Member is not an Affiliate type - use updateMember for Normal members');
43
+ }
44
+ // Delegate to slyvault affiliateUpdate
45
+ return affiliateUpdate({
46
+ authority: params.authority,
47
+ vault: memberState.vault,
48
+ memberState: address(params.affiliateState),
49
+ discountAuthority: params.discountAuthority,
50
+ newAuthority: params.newAuthority,
51
+ computeUnits: params.computeUnits,
52
+ });
53
+ }
54
+ //# sourceMappingURL=updateAffiliate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateAffiliate.js","sourceRoot":"","sources":["../../../src/instructions/updateAffiliate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,eAAe,EACf,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAsC9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAE1E,4CAA4C;IAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAC7C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAC9B,WAAW,CAAC,MAAM,CACnB,CAAC;IAEF,oCAAoC;IACpC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,uCAAuC;IACvC,OAAO,eAAe,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;QAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC"}
@@ -2,54 +2,42 @@
2
2
  * @purpose Simplified updateBorrower instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated updateBorrower instruction.
5
- * Updates the borrower's refund destination and/or profile.
5
+ * Updates the borrower's SAGE profile addresses.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
- import { getUpdateBorrowerInstructionAsync } from '../generated/codama/instructions';
8
+ import { getUpdateBorrowerInstruction } from '../generated/codama/instructions';
9
9
  import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { prepareInstructions } from '../utils/instructions';
12
+ import { deriveBorrowerState } from '../pda/srsly';
12
13
  /**
13
14
  * Update borrower account
14
15
  *
15
- * Updates the borrower's SAGE profile and/or refund destination.
16
- * The SAGE profile is required for rental operations. The refund destination
17
- * will be used for refunds and payment claims if initialized.
16
+ * Updates the borrower's SAGE-related addresses. These addresses are stored
17
+ * on-chain in the BorrowerState and used during rental operations.
18
18
  *
19
- * This function automatically derives the borrower state PDA.
19
+ * This is a synchronous instruction (no async account resolution needed).
20
+ * The borrower state PDA is derived from the borrower's address.
20
21
  *
21
22
  * @param params - Update borrower parameters
22
23
  * @param config - Optional SDK configuration overrides
23
24
  * @returns Kit instruction (or web3.js if PublicKey in config)
24
25
  *
25
- * @demo
26
+ * @example
26
27
  * ```typescript
27
28
  * // Update borrower's SAGE profile
28
29
  * const ix = await updateBorrower({
29
30
  * borrower: wallet,
30
31
  * borrowerProfile: "NEW_BORROWER_PROFILE_ADDRESS"
31
32
  * });
32
- * ```
33
- *
34
- * @example
35
- * ```typescript
36
- * // Set SAGE profile
37
- * const ix = await updateBorrower({
38
- * borrower: borrowerWallet,
39
- * borrowerProfile: borrowerProfileAddress
40
- * });
41
33
  *
42
- * // Set refund destination
34
+ * // Update all SAGE addresses at once
43
35
  * const ix2 = await updateBorrower({
44
- * borrower: borrowerWallet,
45
- * refundDestination: newTokenAccount
46
- * });
47
- *
48
- * // Update both
49
- * const ix3 = await updateBorrower({
50
- * borrower: borrowerWallet,
51
- * borrowerProfile: borrowerProfileAddress,
52
- * refundDestination: newTokenAccount
36
+ * borrower: wallet,
37
+ * borrowerProfile: profileAddr,
38
+ * borrowerProfileFaction: factionAddr,
39
+ * starbase: starbaseAddr,
40
+ * starbasePlayer: starbasePlayerAddr
53
41
  * });
54
42
  * ```
55
43
  */
@@ -60,24 +48,42 @@ export async function updateBorrower(params, config) {
60
48
  if (!params.borrower) {
61
49
  throw new Error('borrower is required');
62
50
  }
51
+ // At least one field must be updated
52
+ if (params.borrowerProfile === undefined &&
53
+ params.borrowerProfileFaction === undefined &&
54
+ params.starbase === undefined &&
55
+ params.starbasePlayer === undefined) {
56
+ throw new Error('At least one SAGE address field must be provided to update');
57
+ }
63
58
  // Convert borrower to transaction signer
64
59
  const borrowerSigner = toTransactionSigner(params.borrower);
65
- // Get network-specific addresses
60
+ // Get program address
66
61
  const addresses = getAddresses(config);
67
- const atlasMint = address(addresses.atlasMint);
68
62
  const programAddress = address(addresses.srsly);
69
- // Call Codama-generated instruction
70
- // Note: borrowerState will be auto-derived by Codama
71
- // NOTE: borrowerProfile will be added once Codama types are regenerated
72
- const instructionAccounts = {
63
+ // Derive borrower state PDA
64
+ const borrowerState = await deriveBorrowerState(borrowerSigner.address);
65
+ // Build data args: null means "don't update" (Option::None)
66
+ const borrowerProfile = params.borrowerProfile
67
+ ? address(params.borrowerProfile)
68
+ : null;
69
+ const borrowerProfileFaction = params.borrowerProfileFaction
70
+ ? address(params.borrowerProfileFaction)
71
+ : null;
72
+ const starbase = params.starbase
73
+ ? address(params.starbase)
74
+ : null;
75
+ const starbasePlayer = params.starbasePlayer
76
+ ? address(params.starbasePlayer)
77
+ : null;
78
+ // Call Codama-generated instruction (sync - not async)
79
+ const kitInstruction = getUpdateBorrowerInstruction({
73
80
  borrower: borrowerSigner,
74
- mint: atlasMint,
75
- };
76
- // Add borrowerProfile if provided
77
- if (params.borrowerProfile) {
78
- instructionAccounts.borrowerProfile = address(params.borrowerProfile);
79
- }
80
- const kitInstruction = await getUpdateBorrowerInstructionAsync(instructionAccounts, { programAddress });
81
+ borrowerState,
82
+ borrowerProfile,
83
+ borrowerProfileFaction,
84
+ starbase,
85
+ starbasePlayer,
86
+ }, { programAddress });
81
87
  return prepareInstructions(kitInstruction, {
82
88
  computeUnits: params.computeUnits,
83
89
  PublicKey: finalConfig.PublicKey
@@ -1 +1 @@
1
- {"version":3,"file":"updateBorrower.js","sourceRoot":"","sources":["../../../src/instructions/updateBorrower.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;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA+B5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;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,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,qDAAqD;IACrD,wEAAwE;IACxE,MAAM,mBAAmB,GAAQ;QAC/B,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,SAAS;KAChB,CAAC;IAEF,kCAAkC;IAClC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,mBAAmB,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D,mBAAmB,EACnB,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":"updateBorrower.js","sourceRoot":"","sources":["../../../src/instructions/updateBorrower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,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,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAwCnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;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,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,qCAAqC;IACrC,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,MAAM,CAAC,sBAAsB,KAAK,SAAS;QAC3C,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC7B,MAAM,CAAC,cAAc,KAAK,SAAS,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5D,sBAAsB;IACtB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExE,4DAA4D;IAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe;QAC5C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB;QAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAiC,CAAC;QACnD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAC9B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc;QAC1C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAyB,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;IAET,uDAAuD;IACvD,MAAM,cAAc,GAAG,4BAA4B,CACjD;QACE,QAAQ,EAAE,cAAc;QACxB,aAAa;QACb,eAAe;QACf,sBAAsB;QACtB,QAAQ;QACR,cAAc;KACf,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"}
@@ -78,18 +78,14 @@ export async function updateConfig(params, config) {
78
78
  rentalDurationMinSeconds: toOption(params.rentalDurationMinSeconds),
79
79
  rentalDurationMaxSeconds: toOption(params.rentalDurationMaxSeconds),
80
80
  atlasMint: toOption(atlasMintAddress),
81
- defaultPaymentFrequency: toOption(params.defaultPaymentFrequency),
82
- allowedFrequencies: toOption(params.allowedFrequencies),
83
81
  reservationsEnabled: toOption(params.reservationsEnabled),
84
82
  pointsPerDay: toOption(params.pointsPerDay),
85
83
  cancellationPenalty: toOption(params.cancellationPenalty),
86
- reservationWindowHours: toOption(params.reservationWindowHours),
87
84
  minCaptureThreshold: toOption(params.minCaptureThreshold),
88
85
  weightBase: toOption(params.weightBase),
89
86
  weightMultiplier: toOption(params.weightMultiplier),
90
87
  maxWeight: toOption(params.maxWeight),
91
88
  captureRateBps: toOption(params.captureRateBps),
92
- maxDiscountBps: toOption(params.maxDiscountBps),
93
89
  atlasPerPoint: toOption(params.atlasPerPoint),
94
90
  }, { programAddress });
95
91
  return prepareInstructions(kitInstruction, {
@@ -1 +1 @@
1
- {"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * @purpose Simplified updateContract instruction wrapper
3
3
  *
4
4
  * Thin convenience wrapper around Codama-generated updateContract instruction.
5
- * Allows updating any subset of contract fields while a contract has no active rental.
5
+ * Allows updating any subset of contract fields. Can be called by owner or delegate.
6
6
  */
7
7
  import { address } from '@solana/kit';
8
8
  import { getUpdateContractInstructionAsync } from '../generated/codama/instructions';
@@ -10,13 +10,12 @@ import { mergeConfig, getAddresses } from '../utils/config';
10
10
  import { toTransactionSigner } from '../utils/signer';
11
11
  import { convertAmount } from '../params/amount';
12
12
  import { convertDuration } from '../params/duration';
13
- import { normalizeSchedule } from '../params/schedule';
14
13
  import { prepareInstructions } from '../utils/instructions';
15
14
  /**
16
15
  * Update an existing rental contract
17
16
  *
18
- * Allows the contract owner to update any subset of contract settings.
19
- * Contract must not have an active rental.
17
+ * Allows the contract authority (owner or delegate) to update contract settings.
18
+ * Delegates are restricted to rate-only updates.
20
19
  *
21
20
  * @param params - Contract update parameters
22
21
  * @param config - Optional SDK configuration overrides
@@ -24,29 +23,20 @@ import { prepareInstructions } from '../utils/instructions';
24
23
  *
25
24
  * @example
26
25
  * ```typescript
27
- * // Update only the rate
26
+ * // Update only the rate (works for both owner and delegate)
28
27
  * const ix = await updateContract({
29
- * owner: wallet,
28
+ * authority: wallet,
30
29
  * contract: contractAddress,
31
30
  * rate: 150 // Increase rate to 150 ATLAS
32
31
  * });
33
32
  *
34
- * // Update multiple fields
33
+ * // Update multiple fields (owner only)
35
34
  * const ix2 = await updateContract({
36
- * owner: wallet,
35
+ * authority: wallet,
37
36
  * contract: contractAddress,
38
37
  * rate: 100,
39
38
  * durationMax: { days: 60 },
40
- * paymentsFreq: '@weekly'
41
- * });
42
- *
43
- * // With web3.js
44
- * import { PublicKey } from '@solana/web3.js';
45
- * setSdkConfig({ network: 'mainnet-beta', PublicKey });
46
- * const web3Ix = await updateContract({
47
- * owner: keypair,
48
- * contract: contractPubkey,
49
- * rate: { atlas: 2.5 }
39
+ * reservationsDisabled: false
50
40
  * });
51
41
  * ```
52
42
  */
@@ -54,8 +44,8 @@ export async function updateContract(params, config) {
54
44
  // Merge config
55
45
  const finalConfig = mergeConfig(config);
56
46
  // Validate required params
57
- if (!params.owner) {
58
- throw new Error('owner is required');
47
+ if (!params.authority) {
48
+ throw new Error('authority is required');
59
49
  }
60
50
  if (!params.contract) {
61
51
  throw new Error('contract is required');
@@ -64,19 +54,17 @@ export async function updateContract(params, config) {
64
54
  if (params.rate === undefined &&
65
55
  params.durationMin === undefined &&
66
56
  params.durationMax === undefined &&
67
- params.paymentsFreq === undefined &&
68
- params.allowInstantCancel === undefined &&
57
+ params.cancelDelayMin === undefined &&
69
58
  params.reservationsDisabled === undefined &&
70
- params.requiresAutomation === undefined) {
59
+ params.toClose === undefined) {
71
60
  throw new Error('At least one field must be provided to update');
72
61
  }
73
- // Convert owner to transaction signer
74
- const ownerSigner = toTransactionSigner(params.owner);
62
+ // Convert authority to transaction signer
63
+ const authoritySigner = toTransactionSigner(params.authority);
75
64
  // Convert optional parameters
76
65
  const rateStardust = params.rate !== undefined ? convertAmount(params.rate) : null;
77
66
  const durationMinSeconds = params.durationMin !== undefined ? BigInt(convertDuration(params.durationMin)) : null;
78
67
  const durationMaxSeconds = params.durationMax !== undefined ? BigInt(convertDuration(params.durationMax)) : null;
79
- const normalizedSchedule = params.paymentsFreq !== undefined ? normalizeSchedule(params.paymentsFreq) : null;
80
68
  // Validate duration logic if both are being updated
81
69
  if (durationMinSeconds !== null && durationMaxSeconds !== null) {
82
70
  if (durationMaxSeconds < durationMinSeconds) {
@@ -86,24 +74,20 @@ export async function updateContract(params, config) {
86
74
  // Get network-specific addresses
87
75
  const addresses = getAddresses(config);
88
76
  const programAddress = address(addresses.srsly);
89
- // Convert allowInstantCancel to minCancelDelay (inverse logic)
90
- // If instant cancel is allowed, delay=0; if disabled, delay=1
91
- // null means don't update
92
- const minCancelDelay = params.allowInstantCancel !== undefined
93
- ? (params.allowInstantCancel ? 0n : 1n)
77
+ // Convert cancelDelayMin duration to seconds (null means don't update)
78
+ const cancelDelayMinSeconds = params.cancelDelayMin !== undefined
79
+ ? BigInt(convertDuration(params.cancelDelayMin))
94
80
  : null;
95
81
  // Call Codama-generated instruction
96
- // Note: generated code uses 'authority' to allow owner OR delegate
97
82
  const kitInstruction = await getUpdateContractInstructionAsync({
98
- authority: ownerSigner,
83
+ authority: authoritySigner,
99
84
  contract: address(params.contract),
100
85
  rate: rateStardust,
101
86
  durationMinSeconds,
102
87
  durationMaxSeconds,
103
- paymentsFreq: normalizedSchedule,
104
- minCancelDelay,
88
+ cancelDelayMin: cancelDelayMinSeconds,
105
89
  reservationsDisabled: params.reservationsDisabled ?? null,
106
- requiresAutomation: params.requiresAutomation ?? null,
90
+ toClose: params.toClose ?? null,
107
91
  }, { programAddress });
108
92
  return prepareInstructions(kitInstruction, {
109
93
  computeUnits: params.computeUnits,
@@ -1 +1 @@
1
- {"version":3,"file":"updateContract.js","sourceRoot":"","sources":["../../../src/instructions/updateContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateContract.js","sourceRoot":"","sources":["../../../src/instructions/updateContract.ts"],"names":[],"mappings":"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"}