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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (859) hide show
  1. package/README.md +38 -0
  2. package/dist/cjs/accounts/borrower.js +55 -0
  3. package/dist/cjs/accounts/borrower.js.map +1 -1
  4. package/dist/cjs/accounts/config.js +50 -2
  5. package/dist/cjs/accounts/config.js.map +1 -1
  6. package/dist/cjs/accounts/contract.js +58 -0
  7. package/dist/cjs/accounts/contract.js.map +1 -1
  8. package/dist/cjs/accounts/index.js +24 -0
  9. package/dist/cjs/accounts/index.js.map +1 -0
  10. package/dist/cjs/accounts/member.js +16 -0
  11. package/dist/cjs/accounts/member.js.map +1 -0
  12. package/dist/cjs/accounts/rental.js +55 -0
  13. package/dist/cjs/accounts/rental.js.map +1 -1
  14. package/dist/cjs/accounts/thread.js +37 -0
  15. package/dist/cjs/accounts/thread.js.map +1 -0
  16. package/dist/cjs/demos.js +418 -53
  17. package/dist/cjs/demos.js.map +1 -1
  18. package/dist/cjs/generated/codama/accounts/borrowerState.js +23 -26
  19. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/configState.js +53 -53
  21. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/contractState.js +52 -48
  23. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  24. package/dist/cjs/generated/codama/accounts/fleet.js +39 -36
  25. package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/index.js +0 -4
  27. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/rentalState.js +42 -34
  29. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  30. package/dist/cjs/generated/codama/accounts/thread.js +41 -50
  31. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  32. package/dist/cjs/generated/codama/errors/srsly.js +88 -34
  33. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  34. package/dist/cjs/generated/codama/instructions/acceptRental.js +68 -157
  35. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/activateRental.js +328 -0
  37. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -0
  38. package/dist/cjs/generated/codama/instructions/cancelRental.js +70 -53
  39. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
  41. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  42. package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +41 -69
  43. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  44. package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
  45. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
  46. package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
  47. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  49. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  50. package/dist/cjs/generated/codama/instructions/closeRental.js +9 -119
  51. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  52. package/dist/cjs/generated/codama/instructions/{claimBorrowerPayments.js → createBorrower.js} +45 -73
  53. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  54. package/dist/cjs/generated/codama/instructions/createConfig.js +56 -20
  55. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  56. package/dist/cjs/generated/codama/instructions/createContract.js +59 -27
  57. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  58. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  59. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  60. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
  61. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  62. package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
  63. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  64. package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
  65. package/dist/cjs/generated/codama/instructions/deleteRental.js +7 -7
  66. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  67. package/dist/cjs/generated/codama/instructions/index.js +7 -4
  68. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  69. package/dist/cjs/generated/codama/instructions/invalidateRental.js +5 -5
  70. package/dist/cjs/generated/codama/instructions/{payRental.js → processContract.js} +91 -117
  71. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  72. package/dist/cjs/generated/codama/instructions/releaseRental.js +8 -49
  73. package/dist/cjs/generated/codama/instructions/releaseRental.js.map +1 -1
  74. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  75. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  76. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  77. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  78. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  79. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  80. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  81. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -23
  82. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  83. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  84. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  85. package/dist/cjs/generated/codama/programs/srsly.js +49 -53
  86. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  87. package/dist/cjs/generated/codama/shared/index.js +8 -8
  88. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  89. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  90. package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
  91. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  92. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  93. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  94. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  95. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  96. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  97. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  98. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  99. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  100. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  101. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  102. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  103. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  104. package/dist/cjs/generated/codama/types/contractUpdated.js +9 -30
  105. package/dist/cjs/generated/codama/types/contractUpdated.js.map +1 -1
  106. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  107. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  108. package/dist/cjs/generated/codama/types/fieldUpdate.js +29 -0
  109. package/dist/cjs/generated/codama/types/fieldUpdate.js.map +1 -0
  110. package/dist/cjs/generated/codama/types/fleet.js +60 -0
  111. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  112. package/dist/cjs/generated/codama/types/index.js +13 -6
  113. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  114. package/dist/cjs/generated/codama/types/miscStats.js +22 -22
  115. package/dist/cjs/generated/codama/types/movementStats.js +14 -14
  116. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
  117. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  118. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  119. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  120. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  121. package/dist/cjs/generated/codama/types/rentalActivated.js +33 -0
  122. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -0
  123. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  124. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  125. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  126. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  127. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  128. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  129. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  130. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  131. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  132. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  133. package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
  134. package/dist/cjs/generated/codama/types/shipStats.js +6 -6
  135. package/dist/cjs/generated/codama/types/signal.js +26 -12
  136. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  137. package/dist/cjs/generated/codama/types/thread.js +62 -0
  138. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  139. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  140. package/dist/cjs/index.js +4 -178
  141. package/dist/cjs/index.js.map +1 -1
  142. package/dist/cjs/instructions/acceptRental.js +94 -65
  143. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  144. package/dist/cjs/instructions/activateRental.js +98 -0
  145. package/dist/cjs/instructions/activateRental.js.map +1 -0
  146. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  147. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  148. package/dist/cjs/instructions/cancelRental.js +32 -23
  149. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  150. package/dist/cjs/instructions/claimBorrower.js +47 -21
  151. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  152. package/dist/cjs/instructions/claimContract.js +56 -0
  153. package/dist/cjs/instructions/claimContract.js.map +1 -0
  154. package/dist/cjs/instructions/closeBorrower.js +21 -23
  155. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  156. package/dist/cjs/instructions/closeContract.js +94 -21
  157. package/dist/cjs/instructions/closeContract.js.map +1 -1
  158. package/dist/cjs/instructions/closeContractThread.js +64 -0
  159. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  160. package/dist/cjs/instructions/closeRental.js +35 -30
  161. package/dist/cjs/instructions/closeRental.js.map +1 -1
  162. package/dist/cjs/instructions/createAffiliate.js +73 -0
  163. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  164. package/dist/cjs/instructions/createBorrower.js +46 -0
  165. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  166. package/dist/cjs/instructions/createConfig.js +12 -0
  167. package/dist/cjs/instructions/createConfig.js.map +1 -1
  168. package/dist/cjs/instructions/createContract.js +46 -35
  169. package/dist/cjs/instructions/createContract.js.map +1 -1
  170. package/dist/cjs/instructions/createContractThread.js +102 -0
  171. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  172. package/dist/cjs/instructions/deleteBorrower.js +13 -13
  173. package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
  174. package/dist/cjs/instructions/deleteConfig.js +16 -5
  175. package/dist/cjs/instructions/deleteConfig.js.map +1 -1
  176. package/dist/cjs/instructions/deleteRental.js +1 -4
  177. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  178. package/dist/cjs/instructions/index.js +49 -0
  179. package/dist/cjs/instructions/index.js.map +1 -0
  180. package/dist/cjs/instructions/invalidateRental.js +16 -29
  181. package/dist/cjs/instructions/invalidateRental.js.map +1 -1
  182. package/dist/cjs/instructions/releaseRental.js +20 -53
  183. package/dist/cjs/instructions/releaseRental.js.map +1 -1
  184. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  185. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  186. package/dist/cjs/instructions/reserveRental.js +95 -71
  187. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  188. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  189. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  190. package/dist/cjs/instructions/updateBorrower.js +44 -38
  191. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  192. package/dist/cjs/instructions/updateConfig.js +0 -4
  193. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  194. package/dist/cjs/instructions/updateContract.js +22 -30
  195. package/dist/cjs/instructions/updateContract.js.map +1 -1
  196. package/dist/cjs/instructions/updateContractThread.js +60 -0
  197. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  198. package/dist/cjs/kit/index.js +68 -0
  199. package/dist/cjs/kit/index.js.map +1 -0
  200. package/dist/cjs/legacy/index.js +125 -0
  201. package/dist/cjs/legacy/index.js.map +1 -0
  202. package/dist/cjs/package.json +6 -3
  203. package/dist/cjs/params/amount.js +4 -4
  204. package/dist/cjs/params/index.js +21 -0
  205. package/dist/cjs/params/index.js.map +1 -0
  206. package/dist/cjs/params/sol.js +71 -0
  207. package/dist/cjs/params/sol.js.map +1 -0
  208. package/dist/cjs/pda/constants.js +7 -2
  209. package/dist/cjs/pda/constants.js.map +1 -1
  210. package/dist/cjs/pda/index.js +13 -22
  211. package/dist/cjs/pda/index.js.map +1 -1
  212. package/dist/cjs/pda/lookupTable.js +60 -0
  213. package/dist/cjs/pda/lookupTable.js.map +1 -0
  214. package/dist/cjs/pda/sage.js +11 -10
  215. package/dist/cjs/pda/sage.js.map +1 -1
  216. package/dist/cjs/pda/slyvault.js +5 -49
  217. package/dist/cjs/pda/slyvault.js.map +1 -1
  218. package/dist/cjs/pda/srsly.js +39 -19
  219. package/dist/cjs/pda/srsly.js.map +1 -1
  220. package/dist/cjs/pda/thread.js +41 -31
  221. package/dist/cjs/pda/thread.js.map +1 -1
  222. package/dist/cjs/pda/token.js +5 -4
  223. package/dist/cjs/pda/token.js.map +1 -1
  224. package/dist/cjs/utils/addresses.js +8 -1
  225. package/dist/cjs/utils/addresses.js.map +1 -1
  226. package/dist/cjs/utils/config.js +20 -2
  227. package/dist/cjs/utils/config.js.map +1 -1
  228. package/dist/cjs/utils/discountAuth.js +161 -0
  229. package/dist/cjs/utils/discountAuth.js.map +1 -0
  230. package/dist/cjs/utils/index.js +20 -1
  231. package/dist/cjs/utils/index.js.map +1 -1
  232. package/dist/cjs/utils/instructionResult.js +76 -0
  233. package/dist/cjs/utils/instructionResult.js.map +1 -0
  234. package/dist/cjs/utils/instructions.js +12 -17
  235. package/dist/cjs/utils/instructions.js.map +1 -1
  236. package/dist/cjs/utils/lookupTable.js +13 -1
  237. package/dist/cjs/utils/lookupTable.js.map +1 -1
  238. package/dist/cjs/utils/rental.js +49 -0
  239. package/dist/cjs/utils/rental.js.map +1 -0
  240. package/dist/cjs/utils/signer.js +16 -9
  241. package/dist/cjs/utils/signer.js.map +1 -1
  242. package/dist/cjs/version.js +1 -1
  243. package/dist/esm/accounts/borrower.js +55 -1
  244. package/dist/esm/accounts/borrower.js.map +1 -1
  245. package/dist/esm/accounts/config.js +48 -1
  246. package/dist/esm/accounts/config.js.map +1 -1
  247. package/dist/esm/accounts/contract.js +58 -1
  248. package/dist/esm/accounts/contract.js.map +1 -1
  249. package/dist/esm/accounts/index.js +8 -0
  250. package/dist/esm/accounts/index.js.map +1 -0
  251. package/dist/esm/accounts/member.js +9 -0
  252. package/dist/esm/accounts/member.js.map +1 -0
  253. package/dist/esm/accounts/rental.js +55 -1
  254. package/dist/esm/accounts/rental.js.map +1 -1
  255. package/dist/esm/accounts/thread.js +34 -0
  256. package/dist/esm/accounts/thread.js.map +1 -0
  257. package/dist/esm/demos.js +417 -52
  258. package/dist/esm/demos.js.map +1 -1
  259. package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
  260. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  261. package/dist/esm/generated/codama/accounts/configState.js +53 -54
  262. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  263. package/dist/esm/generated/codama/accounts/contractState.js +53 -49
  264. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  265. package/dist/esm/generated/codama/accounts/fleet.js +41 -38
  266. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
  267. package/dist/esm/generated/codama/accounts/index.js +4 -8
  268. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  269. package/dist/esm/generated/codama/accounts/rentalState.js +43 -34
  270. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  271. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  272. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  273. package/dist/esm/generated/codama/errors/index.js +1 -1
  274. package/dist/esm/generated/codama/errors/srsly.js +88 -34
  275. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  276. package/dist/esm/generated/codama/index.js +5 -5
  277. package/dist/esm/generated/codama/instructions/acceptRental.js +72 -161
  278. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  279. package/dist/esm/generated/codama/instructions/activateRental.js +318 -0
  280. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -0
  281. package/dist/esm/generated/codama/instructions/cancelRental.js +73 -56
  282. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  283. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  284. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  285. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  286. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  287. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  288. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  289. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  290. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  291. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  292. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  293. package/dist/esm/generated/codama/instructions/closeRental.js +12 -122
  294. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  295. package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
  296. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  297. package/dist/esm/generated/codama/instructions/createConfig.js +59 -23
  298. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  299. package/dist/esm/generated/codama/instructions/createContract.js +62 -30
  300. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  301. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  302. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  303. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  304. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  305. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  306. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  307. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  308. package/dist/esm/generated/codama/instructions/deleteRental.js +10 -10
  309. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  310. package/dist/esm/generated/codama/instructions/index.js +25 -22
  311. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  312. package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
  313. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  314. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  315. package/dist/esm/generated/codama/instructions/releaseRental.js +11 -52
  316. package/dist/esm/generated/codama/instructions/releaseRental.js.map +1 -1
  317. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  318. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  319. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  320. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  321. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  322. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  323. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  324. package/dist/esm/generated/codama/instructions/updateContract.js +20 -26
  325. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  326. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  327. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  328. package/dist/esm/generated/codama/programs/index.js +1 -1
  329. package/dist/esm/generated/codama/programs/srsly.js +50 -54
  330. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  331. package/dist/esm/generated/codama/shared/index.js +9 -9
  332. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  333. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  334. package/dist/esm/generated/codama/types/cargoStats.js +19 -19
  335. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  336. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  337. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  338. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  339. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  340. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  341. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  342. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  343. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  344. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  345. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  346. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  347. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  348. package/dist/esm/generated/codama/types/contractUpdated.js +10 -31
  349. package/dist/esm/generated/codama/types/contractUpdated.js.map +1 -1
  350. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  351. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  352. package/dist/esm/generated/codama/types/fieldUpdate.js +24 -0
  353. package/dist/esm/generated/codama/types/fieldUpdate.js.map +1 -0
  354. package/dist/esm/generated/codama/types/fleet.js +55 -0
  355. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  356. package/dist/esm/generated/codama/types/index.js +33 -26
  357. package/dist/esm/generated/codama/types/index.js.map +1 -1
  358. package/dist/esm/generated/codama/types/miscStats.js +23 -23
  359. package/dist/esm/generated/codama/types/movementStats.js +15 -15
  360. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
  361. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  362. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  363. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  364. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  365. package/dist/esm/generated/codama/types/rentalActivated.js +28 -0
  366. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -0
  367. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  368. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  369. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  370. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  371. package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
  372. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  373. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  374. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  375. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  376. package/dist/esm/generated/codama/types/schedule.js +15 -15
  377. package/dist/esm/generated/codama/types/shipCounts.js +21 -21
  378. package/dist/esm/generated/codama/types/shipStats.js +8 -8
  379. package/dist/esm/generated/codama/types/signal.js +28 -14
  380. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  381. package/dist/esm/generated/codama/types/thread.js +57 -0
  382. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  383. package/dist/esm/generated/codama/types/trigger.js +37 -37
  384. package/dist/esm/index.js +1 -79
  385. package/dist/esm/index.js.map +1 -1
  386. package/dist/esm/instructions/acceptRental.js +97 -68
  387. package/dist/esm/instructions/acceptRental.js.map +1 -1
  388. package/dist/esm/instructions/activateRental.js +95 -0
  389. package/dist/esm/instructions/activateRental.js.map +1 -0
  390. package/dist/esm/instructions/approveAffiliate.js +7 -0
  391. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  392. package/dist/esm/instructions/cancelRental.js +33 -24
  393. package/dist/esm/instructions/cancelRental.js.map +1 -1
  394. package/dist/esm/instructions/claimBorrower.js +49 -23
  395. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  396. package/dist/esm/instructions/claimContract.js +53 -0
  397. package/dist/esm/instructions/claimContract.js.map +1 -0
  398. package/dist/esm/instructions/closeBorrower.js +22 -24
  399. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  400. package/dist/esm/instructions/closeContract.js +63 -23
  401. package/dist/esm/instructions/closeContract.js.map +1 -1
  402. package/dist/esm/instructions/closeContractThread.js +61 -0
  403. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  404. package/dist/esm/instructions/closeRental.js +36 -31
  405. package/dist/esm/instructions/closeRental.js.map +1 -1
  406. package/dist/esm/instructions/createAffiliate.js +70 -0
  407. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  408. package/dist/esm/instructions/createBorrower.js +43 -0
  409. package/dist/esm/instructions/createBorrower.js.map +1 -0
  410. package/dist/esm/instructions/createConfig.js +12 -0
  411. package/dist/esm/instructions/createConfig.js.map +1 -1
  412. package/dist/esm/instructions/createContract.js +48 -37
  413. package/dist/esm/instructions/createContract.js.map +1 -1
  414. package/dist/esm/instructions/createContractThread.js +99 -0
  415. package/dist/esm/instructions/createContractThread.js.map +1 -0
  416. package/dist/esm/instructions/deleteBorrower.js +13 -13
  417. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  418. package/dist/esm/instructions/deleteConfig.js +17 -6
  419. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  420. package/dist/esm/instructions/deleteRental.js +1 -4
  421. package/dist/esm/instructions/deleteRental.js.map +1 -1
  422. package/dist/esm/instructions/index.js +33 -0
  423. package/dist/esm/instructions/index.js.map +1 -0
  424. package/dist/esm/instructions/invalidateRental.js +17 -30
  425. package/dist/esm/instructions/invalidateRental.js.map +1 -1
  426. package/dist/esm/instructions/releaseRental.js +20 -53
  427. package/dist/esm/instructions/releaseRental.js.map +1 -1
  428. package/dist/esm/instructions/removeAffiliate.js +7 -0
  429. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  430. package/dist/esm/instructions/reserveRental.js +97 -73
  431. package/dist/esm/instructions/reserveRental.js.map +1 -1
  432. package/dist/esm/instructions/updateAffiliate.js +54 -0
  433. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  434. package/dist/esm/instructions/updateBorrower.js +45 -39
  435. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  436. package/dist/esm/instructions/updateConfig.js +0 -4
  437. package/dist/esm/instructions/updateConfig.js.map +1 -1
  438. package/dist/esm/instructions/updateContract.js +22 -30
  439. package/dist/esm/instructions/updateContract.js.map +1 -1
  440. package/dist/esm/instructions/updateContractThread.js +57 -0
  441. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  442. package/dist/esm/kit/index.js +26 -0
  443. package/dist/esm/kit/index.js.map +1 -0
  444. package/dist/esm/legacy/index.js +84 -0
  445. package/dist/esm/legacy/index.js.map +1 -0
  446. package/dist/esm/package.json +6 -3
  447. package/dist/esm/params/amount.js +4 -4
  448. package/dist/esm/params/index.js +5 -0
  449. package/dist/esm/params/index.js.map +1 -0
  450. package/dist/esm/params/sol.js +68 -0
  451. package/dist/esm/params/sol.js.map +1 -0
  452. package/dist/esm/pda/constants.js +6 -1
  453. package/dist/esm/pda/constants.js.map +1 -1
  454. package/dist/esm/pda/index.js +6 -22
  455. package/dist/esm/pda/index.js.map +1 -1
  456. package/dist/esm/pda/lookupTable.js +57 -0
  457. package/dist/esm/pda/lookupTable.js.map +1 -0
  458. package/dist/esm/pda/sage.js +11 -10
  459. package/dist/esm/pda/sage.js.map +1 -1
  460. package/dist/esm/pda/slyvault.js +2 -47
  461. package/dist/esm/pda/slyvault.js.map +1 -1
  462. package/dist/esm/pda/srsly.js +38 -19
  463. package/dist/esm/pda/srsly.js.map +1 -1
  464. package/dist/esm/pda/thread.js +40 -31
  465. package/dist/esm/pda/thread.js.map +1 -1
  466. package/dist/esm/pda/token.js +5 -4
  467. package/dist/esm/pda/token.js.map +1 -1
  468. package/dist/esm/utils/addresses.js +8 -1
  469. package/dist/esm/utils/addresses.js.map +1 -1
  470. package/dist/esm/utils/config.js +19 -2
  471. package/dist/esm/utils/config.js.map +1 -1
  472. package/dist/esm/utils/discountAuth.js +155 -0
  473. package/dist/esm/utils/discountAuth.js.map +1 -0
  474. package/dist/esm/utils/index.js +9 -1
  475. package/dist/esm/utils/index.js.map +1 -1
  476. package/dist/esm/utils/instructionResult.js +72 -0
  477. package/dist/esm/utils/instructionResult.js.map +1 -0
  478. package/dist/esm/utils/instructions.js +12 -17
  479. package/dist/esm/utils/instructions.js.map +1 -1
  480. package/dist/esm/utils/lookupTable.js +13 -1
  481. package/dist/esm/utils/lookupTable.js.map +1 -1
  482. package/dist/esm/utils/rental.js +45 -0
  483. package/dist/esm/utils/rental.js.map +1 -0
  484. package/dist/esm/utils/signer.js +16 -9
  485. package/dist/esm/utils/signer.js.map +1 -1
  486. package/dist/esm/version.js +1 -1
  487. package/dist/idl/srsly.json +2319 -2089
  488. package/dist/types/accounts/borrower.d.ts +19 -0
  489. package/dist/types/accounts/borrower.d.ts.map +1 -1
  490. package/dist/types/accounts/config.d.ts +19 -0
  491. package/dist/types/accounts/config.d.ts.map +1 -1
  492. package/dist/types/accounts/contract.d.ts +19 -0
  493. package/dist/types/accounts/contract.d.ts.map +1 -1
  494. package/dist/types/accounts/index.d.ts +8 -0
  495. package/dist/types/accounts/index.d.ts.map +1 -0
  496. package/dist/types/accounts/member.d.ts +9 -0
  497. package/dist/types/accounts/member.d.ts.map +1 -0
  498. package/dist/types/accounts/rental.d.ts +19 -0
  499. package/dist/types/accounts/rental.d.ts.map +1 -1
  500. package/dist/types/accounts/thread.d.ts +21 -0
  501. package/dist/types/accounts/thread.d.ts.map +1 -0
  502. package/dist/types/demos.d.ts +53 -2
  503. package/dist/types/demos.d.ts.map +1 -1
  504. package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
  505. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  506. package/dist/types/generated/codama/accounts/configState.d.ts +18 -21
  507. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  508. package/dist/types/generated/codama/accounts/contractState.d.ts +63 -59
  509. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  510. package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
  511. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
  512. package/dist/types/generated/codama/accounts/index.d.ts +4 -8
  513. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  514. package/dist/types/generated/codama/accounts/rentalState.d.ts +50 -31
  515. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  516. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  517. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  518. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  519. package/dist/types/generated/codama/errors/srsly.d.ts +64 -28
  520. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  521. package/dist/types/generated/codama/index.d.ts +5 -5
  522. package/dist/types/generated/codama/instructions/acceptRental.d.ts +59 -79
  523. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  524. package/dist/types/generated/codama/instructions/activateRental.d.ts +134 -0
  525. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -0
  526. package/dist/types/generated/codama/instructions/cancelRental.d.ts +40 -25
  527. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  528. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  529. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  530. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  531. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  532. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  533. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  534. package/dist/types/generated/codama/instructions/closeContract.d.ts +67 -24
  535. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  536. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  537. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  538. package/dist/types/generated/codama/instructions/closeRental.d.ts +23 -52
  539. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  540. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  541. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  542. package/dist/types/generated/codama/instructions/createConfig.d.ts +36 -15
  543. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  544. package/dist/types/generated/codama/instructions/createContract.d.ts +43 -36
  545. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  546. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  547. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  548. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  549. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  550. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  551. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  552. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  553. package/dist/types/generated/codama/instructions/deleteRental.d.ts +6 -3
  554. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  555. package/dist/types/generated/codama/instructions/index.d.ts +25 -22
  556. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  557. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
  558. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  559. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  560. package/dist/types/generated/codama/instructions/releaseRental.d.ts +42 -49
  561. package/dist/types/generated/codama/instructions/releaseRental.d.ts.map +1 -1
  562. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  563. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  564. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  565. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  566. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  567. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  568. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  569. package/dist/types/generated/codama/instructions/updateContract.d.ts +24 -24
  570. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  571. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  572. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  573. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  574. package/dist/types/generated/codama/programs/srsly.d.ts +44 -39
  575. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  576. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  577. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  578. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  579. package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
  580. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  581. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  582. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  583. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  584. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  585. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  586. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  587. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  588. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  589. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  590. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  591. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  592. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  593. package/dist/types/generated/codama/types/contractUpdated.d.ts +6 -25
  594. package/dist/types/generated/codama/types/contractUpdated.d.ts.map +1 -1
  595. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  596. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  597. package/dist/types/generated/codama/types/fieldUpdate.d.ts +20 -0
  598. package/dist/types/generated/codama/types/fieldUpdate.d.ts.map +1 -0
  599. package/dist/types/generated/codama/types/fleet.d.ts +52 -0
  600. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  601. package/dist/types/generated/codama/types/index.d.ts +33 -26
  602. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  603. package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
  604. package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
  605. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +1 -1
  606. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  607. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  608. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  609. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  610. package/dist/types/generated/codama/types/rentalActivated.d.ts +24 -0
  611. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -0
  612. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  613. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  614. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  615. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  616. package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
  617. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  618. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  619. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  620. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  621. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  622. package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
  623. package/dist/types/generated/codama/types/shipStats.d.ts +2 -2
  624. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  625. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  626. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  627. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  628. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  629. package/dist/types/index.d.ts +1 -36
  630. package/dist/types/index.d.ts.map +1 -1
  631. package/dist/types/instructions/acceptRental.d.ts +33 -25
  632. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  633. package/dist/types/instructions/activateRental.d.ts +46 -0
  634. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  635. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  636. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  637. package/dist/types/instructions/cancelRental.d.ts +10 -15
  638. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  639. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  640. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  641. package/dist/types/instructions/claimContract.d.ts +40 -0
  642. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  643. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  644. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  645. package/dist/types/instructions/closeContract.d.ts +8 -15
  646. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  647. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  648. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  649. package/dist/types/instructions/closeRental.d.ts +11 -12
  650. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  651. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  652. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  653. package/dist/types/instructions/createBorrower.d.ts +36 -0
  654. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  655. package/dist/types/instructions/createConfig.d.ts +10 -0
  656. package/dist/types/instructions/createConfig.d.ts.map +1 -1
  657. package/dist/types/instructions/createContract.d.ts +34 -42
  658. package/dist/types/instructions/createContract.d.ts.map +1 -1
  659. package/dist/types/instructions/createContractThread.d.ts +52 -0
  660. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  661. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  662. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  663. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  664. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  665. package/dist/types/instructions/deleteRental.d.ts +3 -2
  666. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  667. package/dist/types/instructions/index.d.ts +33 -0
  668. package/dist/types/instructions/index.d.ts.map +1 -0
  669. package/dist/types/instructions/invalidateRental.d.ts +12 -15
  670. package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
  671. package/dist/types/instructions/releaseRental.d.ts +19 -39
  672. package/dist/types/instructions/releaseRental.d.ts.map +1 -1
  673. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  674. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  675. package/dist/types/instructions/reserveRental.d.ts +43 -29
  676. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  677. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  678. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  679. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  680. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  681. package/dist/types/instructions/updateConfig.d.ts +0 -13
  682. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  683. package/dist/types/instructions/updateContract.d.ts +24 -31
  684. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  685. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  686. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  687. package/dist/types/kit/index.d.ts +25 -0
  688. package/dist/types/kit/index.d.ts.map +1 -0
  689. package/dist/types/legacy/index.d.ts +63 -0
  690. package/dist/types/legacy/index.d.ts.map +1 -0
  691. package/dist/types/params/amount.d.ts +3 -3
  692. package/dist/types/params/index.d.ts +5 -0
  693. package/dist/types/params/index.d.ts.map +1 -0
  694. package/dist/types/params/sol.d.ts +34 -0
  695. package/dist/types/params/sol.d.ts.map +1 -0
  696. package/dist/types/pda/constants.d.ts +6 -1
  697. package/dist/types/pda/constants.d.ts.map +1 -1
  698. package/dist/types/pda/index.d.ts +6 -22
  699. package/dist/types/pda/index.d.ts.map +1 -1
  700. package/dist/types/pda/lookupTable.d.ts +30 -0
  701. package/dist/types/pda/lookupTable.d.ts.map +1 -0
  702. package/dist/types/pda/sage.d.ts +6 -5
  703. package/dist/types/pda/sage.d.ts.map +1 -1
  704. package/dist/types/pda/slyvault.d.ts +2 -23
  705. package/dist/types/pda/slyvault.d.ts.map +1 -1
  706. package/dist/types/pda/srsly.d.ts +21 -8
  707. package/dist/types/pda/srsly.d.ts.map +1 -1
  708. package/dist/types/pda/thread.d.ts +18 -18
  709. package/dist/types/pda/thread.d.ts.map +1 -1
  710. package/dist/types/pda/token.d.ts +2 -1
  711. package/dist/types/pda/token.d.ts.map +1 -1
  712. package/dist/types/utils/addresses.d.ts +7 -1
  713. package/dist/types/utils/addresses.d.ts.map +1 -1
  714. package/dist/types/utils/config.d.ts +48 -0
  715. package/dist/types/utils/config.d.ts.map +1 -1
  716. package/dist/types/utils/discountAuth.d.ts +94 -0
  717. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  718. package/dist/types/utils/index.d.ts +5 -1
  719. package/dist/types/utils/index.d.ts.map +1 -1
  720. package/dist/types/utils/instructionResult.d.ts +57 -0
  721. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  722. package/dist/types/utils/instructions.d.ts +16 -18
  723. package/dist/types/utils/instructions.d.ts.map +1 -1
  724. package/dist/types/utils/rental.d.ts +22 -0
  725. package/dist/types/utils/rental.d.ts.map +1 -0
  726. package/dist/types/utils/signer.d.ts +5 -2
  727. package/dist/types/utils/signer.d.ts.map +1 -1
  728. package/dist/types/version.d.ts +1 -1
  729. package/package.json +38 -20
  730. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  731. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  732. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  733. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  734. package/dist/cjs/generated/codama/instructions/captureRental.js +0 -129
  735. package/dist/cjs/generated/codama/instructions/captureRental.js.map +0 -1
  736. package/dist/cjs/generated/codama/instructions/claimBorrowerPayments.js.map +0 -1
  737. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  738. package/dist/cjs/generated/codama/instructions/claimRental.js +0 -364
  739. package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
  740. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  741. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  742. package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
  743. package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -241
  744. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
  745. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  746. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  747. package/dist/cjs/generated/codama/types/capturedFlagData.js +0 -31
  748. package/dist/cjs/generated/codama/types/capturedFlagData.js.map +0 -1
  749. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  750. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  751. package/dist/cjs/generated/codama/types/memberType.js +0 -57
  752. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  753. package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
  754. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
  755. package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
  756. package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
  757. package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
  758. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
  759. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
  760. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  761. package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
  762. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
  763. package/dist/cjs/instructions/captureRental.js +0 -85
  764. package/dist/cjs/instructions/captureRental.js.map +0 -1
  765. package/dist/cjs/instructions/claimBorrowerPayments.js +0 -69
  766. package/dist/cjs/instructions/claimBorrowerPayments.js.map +0 -1
  767. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  768. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  769. package/dist/cjs/instructions/claimRental.js +0 -135
  770. package/dist/cjs/instructions/claimRental.js.map +0 -1
  771. package/dist/cjs/instructions/discountBorrower.js +0 -75
  772. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  773. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  774. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  775. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  776. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  777. package/dist/esm/generated/codama/instructions/captureRental.js +0 -119
  778. package/dist/esm/generated/codama/instructions/captureRental.js.map +0 -1
  779. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  780. package/dist/esm/generated/codama/instructions/claimRental.js +0 -354
  781. package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
  782. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  783. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  784. package/dist/esm/generated/codama/instructions/payRental.js +0 -240
  785. package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
  786. package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -231
  787. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
  788. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  789. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  790. package/dist/esm/generated/codama/types/capturedFlagData.js +0 -26
  791. package/dist/esm/generated/codama/types/capturedFlagData.js.map +0 -1
  792. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  793. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  794. package/dist/esm/generated/codama/types/memberType.js +0 -50
  795. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  796. package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
  797. package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
  798. package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
  799. package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
  800. package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
  801. package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
  802. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
  803. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  804. package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
  805. package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
  806. package/dist/esm/instructions/captureRental.js +0 -82
  807. package/dist/esm/instructions/captureRental.js.map +0 -1
  808. package/dist/esm/instructions/claimContractPayments.js +0 -76
  809. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  810. package/dist/esm/instructions/claimRental.js +0 -132
  811. package/dist/esm/instructions/claimRental.js.map +0 -1
  812. package/dist/esm/instructions/discountBorrower.js +0 -72
  813. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  814. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  815. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  816. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  817. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  818. package/dist/types/generated/codama/instructions/captureRental.d.ts +0 -59
  819. package/dist/types/generated/codama/instructions/captureRental.d.ts.map +0 -1
  820. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts +0 -75
  821. package/dist/types/generated/codama/instructions/claimBorrowerPayments.d.ts.map +0 -1
  822. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  823. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  824. package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -132
  825. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
  826. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  827. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  828. package/dist/types/generated/codama/instructions/payRental.d.ts +0 -118
  829. package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
  830. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -98
  831. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
  832. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  833. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  834. package/dist/types/generated/codama/types/capturedFlagData.d.ts +0 -35
  835. package/dist/types/generated/codama/types/capturedFlagData.d.ts.map +0 -1
  836. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  837. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  838. package/dist/types/generated/codama/types/memberType.d.ts +0 -57
  839. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  840. package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
  841. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
  842. package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
  843. package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
  844. package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
  845. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
  846. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
  847. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
  848. package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
  849. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
  850. package/dist/types/instructions/captureRental.d.ts +0 -58
  851. package/dist/types/instructions/captureRental.d.ts.map +0 -1
  852. package/dist/types/instructions/claimBorrowerPayments.d.ts +0 -59
  853. package/dist/types/instructions/claimBorrowerPayments.d.ts.map +0 -1
  854. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  855. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  856. package/dist/types/instructions/claimRental.d.ts +0 -97
  857. package/dist/types/instructions/claimRental.d.ts.map +0 -1
  858. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  859. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose Discount authorization helper for server-side signing
4
+ * @module utils/discountAuth
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.createDiscount = createDiscount;
8
+ exports.deserializeDiscountAuth = deserializeDiscountAuth;
9
+ exports.serializeDiscountAuth = serializeDiscountAuth;
10
+ exports.isSerializedDiscountAuth = isSerializedDiscountAuth;
11
+ const kit_1 = require("@solana/kit");
12
+ const slyvault_1 = require("@wuwei-labs/slyvault");
13
+ const config_1 = require("./config");
14
+ const rpc_1 = require("./rpc");
15
+ /**
16
+ * Parse a stringified keypair (JSON array of bytes) into a KeyPairSigner
17
+ */
18
+ async function parseKeypairString(keypairString) {
19
+ try {
20
+ const bytes = JSON.parse(keypairString);
21
+ if (!Array.isArray(bytes) || bytes.length !== 64) {
22
+ throw new Error('Invalid keypair: expected array of 64 bytes');
23
+ }
24
+ return await (0, kit_1.createKeyPairSignerFromBytes)(new Uint8Array(bytes));
25
+ }
26
+ catch (e) {
27
+ throw new Error(`Failed to parse keypair string: ${e.message}`);
28
+ }
29
+ }
30
+ /**
31
+ * Browser-compatible base64 encoding (Uint8Array -> string)
32
+ */
33
+ function uint8ArrayToBase64(bytes) {
34
+ let binary = '';
35
+ for (let i = 0; i < bytes.length; i++) {
36
+ binary += String.fromCharCode(bytes[i]);
37
+ }
38
+ return btoa(binary);
39
+ }
40
+ /**
41
+ * Browser-compatible base64 decoding (string -> Uint8Array)
42
+ */
43
+ function base64ToUint8Array(base64) {
44
+ const binary = atob(base64);
45
+ const bytes = new Uint8Array(binary.length);
46
+ for (let i = 0; i < binary.length; i++) {
47
+ bytes[i] = binary.charCodeAt(i);
48
+ }
49
+ return bytes;
50
+ }
51
+ /**
52
+ * Create a signed discount authorization
53
+ *
54
+ * Server-side helper that fetches the member to get the nonce,
55
+ * then creates a signed discount authorization in a JSON-serializable format.
56
+ *
57
+ * @param params - Discount parameters including member address
58
+ * @param config - Optional SDK configuration overrides
59
+ * @returns A SerializedDiscountAuth object ready for API transport
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import { createDiscount } from '@wuwei-labs/srsly';
64
+ *
65
+ * const discountAuth = await createDiscount({
66
+ * address: 'AFFILIATE_MEMBER_PDA',
67
+ * discount: 10, // 10%
68
+ * expirySlots: 1000, // ~6-7 minutes
69
+ * discountAuthority: serverKeypair,
70
+ * });
71
+ *
72
+ * // Ready to return via API - no serialization needed
73
+ * return discountAuth;
74
+ * ```
75
+ */
76
+ async function createDiscount(params, config) {
77
+ const finalConfig = (0, config_1.mergeConfig)(config);
78
+ const rpcUrl = (0, config_1.getRpcUrl)(finalConfig);
79
+ // Fetch member to get nonce
80
+ const memberAddr = (0, kit_1.address)(params.address);
81
+ const member = await (0, slyvault_1.fetchMember)(memberAddr, rpcUrl);
82
+ // Fetch current slot and compute absolute expiry
83
+ const rpc = (0, rpc_1.createRpc)(rpcUrl);
84
+ const currentSlot = await rpc.getSlot({ commitment: 'confirmed' }).send();
85
+ const expirySlot = currentSlot + BigInt(params.expirySlots);
86
+ // Convert discountAuthority to KeyPairSigner
87
+ let discountAuthority;
88
+ if (typeof params.discountAuthority === 'string') {
89
+ discountAuthority = await parseKeypairString(params.discountAuthority);
90
+ }
91
+ else if (params.discountAuthority instanceof Uint8Array) {
92
+ discountAuthority = await (0, kit_1.createKeyPairSignerFromBytes)(params.discountAuthority);
93
+ }
94
+ else if (Array.isArray(params.discountAuthority)) {
95
+ discountAuthority = await (0, kit_1.createKeyPairSignerFromBytes)(new Uint8Array(params.discountAuthority));
96
+ }
97
+ else if ('secretKey' in params.discountAuthority && params.discountAuthority.secretKey instanceof Uint8Array) {
98
+ // web3.js Keypair
99
+ discountAuthority = await (0, kit_1.createKeyPairSignerFromBytes)(params.discountAuthority.secretKey);
100
+ }
101
+ else {
102
+ // Already a KeyPairSigner
103
+ discountAuthority = params.discountAuthority;
104
+ }
105
+ // Create the raw discount auth
106
+ const contextAddr = (0, kit_1.address)(params.contextKey);
107
+ const raw = await (0, slyvault_1.createDiscountAuth)({
108
+ contextKey: contextAddr,
109
+ memberNonce: member.data.nonce,
110
+ discount: params.discount,
111
+ expirySlot,
112
+ discountAuthority,
113
+ });
114
+ // Return serialized format for API transport
115
+ return serializeDiscountAuth({ ...raw, context: contextAddr });
116
+ }
117
+ /**
118
+ * Deserialize a discount authorization from API format
119
+ *
120
+ * Converts the JSON-safe SerializedDiscountAuth back to the format
121
+ * expected by the on-chain program.
122
+ *
123
+ * @internal Used by acceptRental and claimRental
124
+ */
125
+ function deserializeDiscountAuth(serialized) {
126
+ return {
127
+ context: (0, kit_1.address)(serialized.context),
128
+ memberNonce: serialized.memberNonce,
129
+ discountBps: serialized.discountBps,
130
+ expirySlot: BigInt(serialized.expirySlot),
131
+ signature: base64ToUint8Array(serialized.signature),
132
+ };
133
+ }
134
+ /**
135
+ * Serialize a raw discount authorization to JSON-safe format
136
+ *
137
+ * Converts bigint expirySlot and Uint8Array signature to string representations
138
+ * suitable for API transport (JSON.stringify/JSON.parse safe).
139
+ *
140
+ * @param raw - Raw discount authorization with bigint/Uint8Array fields
141
+ * @returns SerializedDiscountAuth ready for JSON transport
142
+ */
143
+ function serializeDiscountAuth(raw) {
144
+ return {
145
+ context: raw.context,
146
+ memberNonce: raw.memberNonce,
147
+ discountBps: raw.discountBps,
148
+ expirySlot: raw.expirySlot.toString(),
149
+ signature: uint8ArrayToBase64(new Uint8Array(raw.signature)),
150
+ };
151
+ }
152
+ /**
153
+ * Check if a value is a SerializedDiscountAuth
154
+ */
155
+ function isSerializedDiscountAuth(value) {
156
+ return (typeof value === 'object' &&
157
+ value !== null &&
158
+ 'signature' in value &&
159
+ typeof value.signature === 'string');
160
+ }
161
+ //# sourceMappingURL=discountAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discountAuth.js","sourceRoot":"","sources":["../../../src/utils/discountAuth.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * @module utils
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isRpcDebugEnabled = exports.setRpcDebug = exports.createRpc = exports.prepareInstructions = exports.toAddress = exports.toWeb3Instruction = exports.isAddressString = exports.isKitSigner = exports.isWeb3jsSigner = exports.validateAddress = exports.toTransactionSigner = exports.ATLASNET_ADDRESSES = exports.MAINNET_ADDRESSES = exports.isValidNetwork = exports.isValidProgramSet = exports.getNetworkAddresses = exports.getProgramAddresses = exports.getAddresses = exports.mergeConfig = exports.clearSdkConfig = exports.getSdkConfig = exports.setSdkConfig = void 0;
7
+ exports.isSerializedDiscountAuth = exports.deserializeDiscountAuth = exports.serializeDiscountAuth = exports.createDiscount = exports.hasQueuedRental = exports.hasActiveRental = exports.getLookupTableAddress = exports.fetchLookupTable = exports.isRpcDebugEnabled = exports.setRpcDebug = exports.createRpc = exports.InstructionResult = exports.prepareInstructions = exports.toAddress = exports.toWeb3Instruction = exports.isAddressString = exports.isKitSigner = exports.isWeb3jsSigner = exports.validateAddress = exports.toTransactionSigner = exports.ATLASNET_ADDRESSES = exports.MAINNET_ADDRESSES = exports.isValidNetwork = exports.isValidProgramSet = exports.getNetworkAddresses = exports.getProgramAddresses = exports.getRpcUrl = exports.getAffiliateConfig = exports.getAddresses = exports.mergeConfig = exports.clearSdkConfig = exports.getSdkConfig = exports.setSdkConfig = void 0;
8
8
  // Configuration
9
9
  var config_1 = require("./config");
10
10
  Object.defineProperty(exports, "setSdkConfig", { enumerable: true, get: function () { return config_1.setSdkConfig; } });
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "getSdkConfig", { enumerable: true, get: function
12
12
  Object.defineProperty(exports, "clearSdkConfig", { enumerable: true, get: function () { return config_1.clearSdkConfig; } });
13
13
  Object.defineProperty(exports, "mergeConfig", { enumerable: true, get: function () { return config_1.mergeConfig; } });
14
14
  Object.defineProperty(exports, "getAddresses", { enumerable: true, get: function () { return config_1.getAddresses; } });
15
+ Object.defineProperty(exports, "getAffiliateConfig", { enumerable: true, get: function () { return config_1.getAffiliateConfig; } });
16
+ Object.defineProperty(exports, "getRpcUrl", { enumerable: true, get: function () { return config_1.getRpcUrl; } });
15
17
  // Network Addresses
16
18
  var addresses_1 = require("./addresses");
17
19
  Object.defineProperty(exports, "getProgramAddresses", { enumerable: true, get: function () { return addresses_1.getProgramAddresses; } });
@@ -34,9 +36,26 @@ Object.defineProperty(exports, "toAddress", { enumerable: true, get: function ()
34
36
  // Instruction Utilities
35
37
  var instructions_1 = require("./instructions");
36
38
  Object.defineProperty(exports, "prepareInstructions", { enumerable: true, get: function () { return instructions_1.prepareInstructions; } });
39
+ // Instruction Result
40
+ var instructionResult_1 = require("./instructionResult");
41
+ Object.defineProperty(exports, "InstructionResult", { enumerable: true, get: function () { return instructionResult_1.InstructionResult; } });
37
42
  // RPC Utilities
38
43
  var rpc_1 = require("./rpc");
39
44
  Object.defineProperty(exports, "createRpc", { enumerable: true, get: function () { return rpc_1.createRpc; } });
40
45
  Object.defineProperty(exports, "setRpcDebug", { enumerable: true, get: function () { return rpc_1.setRpcDebug; } });
41
46
  Object.defineProperty(exports, "isRpcDebugEnabled", { enumerable: true, get: function () { return rpc_1.isRpcDebugEnabled; } });
47
+ // Address Lookup Table Utilities
48
+ var lookupTable_1 = require("./lookupTable");
49
+ Object.defineProperty(exports, "fetchLookupTable", { enumerable: true, get: function () { return lookupTable_1.fetchLookupTable; } });
50
+ Object.defineProperty(exports, "getLookupTableAddress", { enumerable: true, get: function () { return lookupTable_1.getLookupTableAddress; } });
51
+ // Rental Utilities
52
+ var rental_1 = require("./rental");
53
+ Object.defineProperty(exports, "hasActiveRental", { enumerable: true, get: function () { return rental_1.hasActiveRental; } });
54
+ Object.defineProperty(exports, "hasQueuedRental", { enumerable: true, get: function () { return rental_1.hasQueuedRental; } });
55
+ // Discount Authorization Utilities
56
+ var discountAuth_1 = require("./discountAuth");
57
+ Object.defineProperty(exports, "createDiscount", { enumerable: true, get: function () { return discountAuth_1.createDiscount; } });
58
+ Object.defineProperty(exports, "serializeDiscountAuth", { enumerable: true, get: function () { return discountAuth_1.serializeDiscountAuth; } });
59
+ Object.defineProperty(exports, "deserializeDiscountAuth", { enumerable: true, get: function () { return discountAuth_1.deserializeDiscountAuth; } });
60
+ Object.defineProperty(exports, "isSerializedDiscountAuth", { enumerable: true, get: function () { return discountAuth_1.isSerializedDiscountAuth; } });
42
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gBAAgB;AAChB,mCAQkB;AAPhB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AAKd,oBAAoB;AACpB,yCAUqB;AATnB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAMpB,mBAAmB;AACnB,mCAOkB;AANhB,6GAAA,mBAAmB,OAAA;AACnB,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AAIjB,wBAAwB;AACxB,mCAMkB;AALhB,2GAAA,iBAAiB,OAAA;AACjB,mGAAA,SAAS,OAAA;AAMX,wBAAwB;AACxB,+CAGwB;AAFtB,mHAAA,mBAAmB,OAAA;AAIrB,gBAAgB;AAChB,6BAAkE;AAAzD,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,wGAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gBAAgB;AAChB,mCAWkB;AAVhB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AAMX,oBAAoB;AACpB,yCAUqB;AATnB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAMpB,mBAAmB;AACnB,mCAOkB;AANhB,6GAAA,mBAAmB,OAAA;AACnB,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AAIjB,wBAAwB;AACxB,mCAMkB;AALhB,2GAAA,iBAAiB,OAAA;AACjB,mGAAA,SAAS,OAAA;AAMX,wBAAwB;AACxB,+CAGwB;AAFtB,mHAAA,mBAAmB,OAAA;AAIrB,qBAAqB;AACrB,yDAG6B;AAF3B,sHAAA,iBAAiB,OAAA;AAInB,gBAAgB;AAChB,6BAAkE;AAAzD,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAElD,iCAAiC;AACjC,6CAIuB;AAHrB,+GAAA,gBAAgB,OAAA;AAChB,oHAAA,qBAAqB,OAAA;AAIvB,mBAAmB;AACnB,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA;AAGjB,mCAAmC;AACnC,+CASwB;AARtB,8GAAA,cAAc,OAAA;AACd,qHAAA,qBAAqB,OAAA;AACrB,uHAAA,uBAAuB,OAAA;AACvB,wHAAA,wBAAwB,OAAA"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /**
3
+ * @purpose InstructionResult - Array-like wrapper for @solana/kit Instructions with legacy conversion
4
+ *
5
+ * Provides native @solana/kit Instruction[] compatibility with optional .toLegacy() conversion
6
+ * for web3.js users.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.InstructionResult = void 0;
10
+ const config_1 = require("./config");
11
+ /**
12
+ * Convert a single @solana/kit Instruction to legacy web3.js format
13
+ */
14
+ function convertToLegacy(instruction, PublicKey) {
15
+ const accounts = instruction.accounts || [];
16
+ const data = instruction.data || new Uint8Array();
17
+ return {
18
+ keys: accounts.map(account => ({
19
+ pubkey: new PublicKey(String(account.address)),
20
+ isWritable: (account.role & 1) === 1, // Check writable bit
21
+ isSigner: (account.role & 2) === 2 // Check signer bit
22
+ })),
23
+ programId: new PublicKey(String(instruction.programAddress)),
24
+ data
25
+ };
26
+ }
27
+ /**
28
+ * InstructionResult - Wrapper for @solana/kit Instructions with legacy conversion
29
+ *
30
+ * Contains a plain Instruction[] array accessible via `.instructions`.
31
+ * Supports iteration (`for...of`, spread) and `.toLegacy()` conversion for web3.js.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Kit users - access instructions directly
36
+ * const result = await createContract(params);
37
+ * for (const ix of result) { ... }
38
+ * // Or unwrap: result.instructions
39
+ *
40
+ * // Web3.js users - convert to legacy format
41
+ * import { PublicKey } from '@solana/web3.js';
42
+ * const legacyIxs = result.toLegacy(PublicKey);
43
+ * // Or if PublicKey is configured in SDK:
44
+ * setSdkConfig({ PublicKey });
45
+ * const legacyIxs = result.toLegacy();
46
+ * ```
47
+ */
48
+ class InstructionResult {
49
+ instructions;
50
+ constructor(instructions) {
51
+ this.instructions = instructions;
52
+ }
53
+ /**
54
+ * Convert to legacy web3.js instruction format
55
+ *
56
+ * @param PublicKey - Optional PublicKey constructor. If not provided,
57
+ * uses the PublicKey from SDK config (set via setSdkConfig)
58
+ * @returns Array of instructions in web3.js format
59
+ * @throws Error if no PublicKey is available
60
+ */
61
+ toLegacy(PublicKey) {
62
+ const pk = PublicKey || (0, config_1.getSdkConfig)().PublicKey;
63
+ if (!pk) {
64
+ throw new Error('PublicKey constructor required - pass it to toLegacy() or set in SDK config via setSdkConfig({ PublicKey })');
65
+ }
66
+ return this.instructions.map(ix => convertToLegacy(ix, pk));
67
+ }
68
+ get length() {
69
+ return this.instructions.length;
70
+ }
71
+ [Symbol.iterator]() {
72
+ return this.instructions[Symbol.iterator]();
73
+ }
74
+ }
75
+ exports.InstructionResult = InstructionResult;
76
+ //# sourceMappingURL=instructionResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructionResult.js","sourceRoot":"","sources":["../../../src/utils/instructionResult.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,qCAAmE;AAenE;;GAEG;AACH,SAAS,eAAe,CACtB,WAAwB,EACxB,SAA2C;IAE3C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;IAElD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,qBAAqB;YAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB;SACvD,CAAC,CAAC;QACH,SAAS,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,iBAAiB;IACnB,YAAY,CAAgB;IAErC,YAAY,YAA2B;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,SAA4C;QAE5C,MAAM,EAAE,GAAG,SAAS,IAAI,IAAA,qBAAY,GAAE,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9C,CAAC;CACF;AAlCD,8CAkCC"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
- * Shared utilities for preparing instructions with compute budget and web3.js conversion
3
+ * Shared utilities for preparing instructions with compute budget
4
4
  * @module utils/instructions
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.prepareInstructions = prepareInstructions;
8
- const web3js_1 = require("./web3js");
8
+ const instructionResult_1 = require("./instructionResult");
9
9
  /**
10
10
  * Compute Budget Program ID
11
11
  */
@@ -18,7 +18,7 @@ const SET_COMPUTE_UNIT_LIMIT_DISCRIMINATOR = 0x02;
18
18
  * Create a SetComputeUnitLimit instruction manually
19
19
  *
20
20
  * @param units - Compute units to allocate
21
- * @returns Kit instruction for setting compute unit limit
21
+ * @returns Instruction for setting compute unit limit
22
22
  */
23
23
  function createComputeBudgetInstruction(units) {
24
24
  // Encode u32 in little-endian format
@@ -39,26 +39,25 @@ function createComputeBudgetInstruction(units) {
39
39
  * This utility handles the common workflow of:
40
40
  * 1. Normalizing single instruction to array
41
41
  * 2. Optionally prepending compute budget instruction
42
- * 3. Optionally converting to web3.js format
42
+ * 3. Returning an InstructionResult that can be used directly with @solana/kit
43
+ * or converted to web3.js format via .toLegacy()
43
44
  *
44
45
  * @param instructions - Single instruction or array of instructions
45
- * @param options - Optional configuration for compute budget and web3.js conversion
46
- * @returns Prepared instruction array (Kit or web3.js format)
46
+ * @param options - Optional configuration for compute budget
47
+ * @returns InstructionResult (extends Instruction[], has .toLegacy() method)
47
48
  *
48
49
  * @example
49
50
  * ```typescript
50
- * // Just return kit instructions as array
51
+ * // Kit users - use result directly as Instruction[]
51
52
  * const ixs = prepareInstructions(acceptRentalIx);
53
+ * // ixs works with appendTransactionMessageInstruction()
52
54
  *
53
55
  * // Add compute budget
54
56
  * const ixs = prepareInstructions(acceptRentalIx, { computeUnits: 400_000 });
55
57
  *
56
- * // Convert to web3.js
58
+ * // Web3.js users - call .toLegacy()
57
59
  * import { PublicKey } from '@solana/web3.js';
58
- * const ixs = prepareInstructions(acceptRentalIx, { PublicKey });
59
- *
60
- * // Both compute budget and web3.js conversion
61
- * const ixs = prepareInstructions(acceptRentalIx, { computeUnits: 400_000, PublicKey });
60
+ * const legacyIxs = prepareInstructions(acceptRentalIx).toLegacy(PublicKey);
62
61
  * ```
63
62
  */
64
63
  function prepareInstructions(instructions, options) {
@@ -70,10 +69,6 @@ function prepareInstructions(instructions, options) {
70
69
  const computeBudgetIx = createComputeBudgetInstruction(options.computeUnits);
71
70
  finalIxs = [computeBudgetIx, ...ixArray];
72
71
  }
73
- // Optionally convert to web3.js format
74
- if (options?.PublicKey) {
75
- return finalIxs.map(ix => (0, web3js_1.toWeb3Instruction)(ix, options.PublicKey));
76
- }
77
- return finalIxs;
72
+ return new instructionResult_1.InstructionResult(finalIxs);
78
73
  }
79
74
  //# sourceMappingURL=instructions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../src/utils/instructions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkFH,kDAoBC;AAnGD,qCAAsH;AAGtH;;GAEG;AACH,MAAM,sBAAsB,GAAG,6CAA6C,CAAC;AAE7E;;GAEG;AACH,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAElD;;;;;GAKG;AACH,SAAS,8BAA8B,CAAC,KAAa;IACnD,qCAAqC;IACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,oCAAoC,CAAC;IAC/C,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAE/B,OAAO;QACL,cAAc,EAAE,sBAAsB;QACtC,IAAI;KACL,CAAC;AACJ,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,mBAAmB,CACjC,YAA+C,EAC/C,OAAgD;IAEhD,qBAAqB;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAE5E,gDAAgD;IAChD,IAAI,QAAQ,GAAqB,OAAO,CAAC;IACzC,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,8BAA8B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7E,QAAQ,GAAG,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,0BAAiB,EAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../src/utils/instructions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAgFH,kDAeC;AA5FD,2DAAwD;AAExD;;GAEG;AACH,MAAM,sBAAsB,GAAG,6CAAwD,CAAC;AAExF;;GAEG;AACH,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAElD;;;;;GAKG;AACH,SAAS,8BAA8B,CAAC,KAAa;IACnD,qCAAqC;IACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,oCAAoC,CAAC;IAC/C,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAE/B,OAAO;QACL,cAAc,EAAE,sBAAsB;QACtC,IAAI;KACL,CAAC;AACJ,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,mBAAmB,CACjC,YAAyC,EACzC,OAAoC;IAEpC,qBAAqB;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAE5E,gDAAgD;IAChD,IAAI,QAAQ,GAAkB,OAAO,CAAC;IACtC,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,8BAA8B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7E,QAAQ,GAAG,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,qCAAiB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
@@ -57,7 +57,7 @@ async function fetchLookupTable(rpcUrl) {
57
57
  // ALT format: https://docs.solanalabs.com/implemented-proposals/address-lookup-table
58
58
  // Header: 56 bytes (discriminator, deactivation_slot, last_extended_slot, etc.)
59
59
  // Addresses: remaining bytes, 32 bytes each
60
- const data = Buffer.from(accountInfo.value.data[0], 'base64');
60
+ const data = base64ToUint8Array(accountInfo.value.data[0]);
61
61
  // Skip 56-byte header to get to addresses
62
62
  const HEADER_SIZE = 56;
63
63
  const ADDRESS_SIZE = 32;
@@ -91,6 +91,18 @@ async function getLookupTableAddress(rpcUrl) {
91
91
  }
92
92
  return altAddress;
93
93
  }
94
+ /**
95
+ * Browser-compatible base64 to Uint8Array decoder
96
+ * Uses atob which is available in browsers and Node.js 16+
97
+ */
98
+ function base64ToUint8Array(base64) {
99
+ const binaryString = atob(base64);
100
+ const bytes = new Uint8Array(binaryString.length);
101
+ for (let i = 0; i < binaryString.length; i++) {
102
+ bytes[i] = binaryString.charCodeAt(i);
103
+ }
104
+ return bytes;
105
+ }
94
106
  /**
95
107
  * Simple base58 encoder for address bytes
96
108
  * Using a minimal implementation to avoid additional dependencies
@@ -1 +1 @@
1
- {"version":3,"file":"lookupTable.js","sourceRoot":"","sources":["../../../src/utils/lookupTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookupTable.js","sourceRoot":"","sources":["../../../src/utils/lookupTable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * Rental utility functions
4
+ * @module utils/rental
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.hasActiveRental = hasActiveRental;
8
+ exports.hasQueuedRental = hasQueuedRental;
9
+ const accounts_1 = require("../generated/codama/accounts");
10
+ const types_1 = require("../generated/codama/types");
11
+ const srsly_1 = require("../pda/srsly");
12
+ const rpc_1 = require("./rpc");
13
+ /**
14
+ * Check if a contract has an active rental.
15
+ *
16
+ * @param contract - The contract address
17
+ * @param rpcUrl - RPC URL to use for fetching rental state
18
+ * @returns true if active rental exists and has Active status
19
+ */
20
+ async function hasActiveRental(contract, rpcUrl) {
21
+ const rpc = (0, rpc_1.createRpc)(rpcUrl);
22
+ try {
23
+ const activeRentalPda = await (0, srsly_1.deriveActiveRental)(contract);
24
+ const rentalState = await (0, accounts_1.fetchRentalState)(rpc, activeRentalPda);
25
+ return rentalState.data.status === types_1.RentalStatus.Active;
26
+ }
27
+ catch {
28
+ return false;
29
+ }
30
+ }
31
+ /**
32
+ * Check if a contract has a queued rental reservation.
33
+ *
34
+ * @param contract - The contract address
35
+ * @param rpcUrl - RPC URL to use for fetching rental state
36
+ * @returns true if queued rental exists and has Queued status
37
+ */
38
+ async function hasQueuedRental(contract, rpcUrl) {
39
+ const rpc = (0, rpc_1.createRpc)(rpcUrl);
40
+ try {
41
+ const queuedRentalPda = await (0, srsly_1.deriveQueuedRental)(contract);
42
+ const rentalState = await (0, accounts_1.fetchRentalState)(rpc, queuedRentalPda);
43
+ return rentalState.data.status === types_1.RentalStatus.Queued;
44
+ }
45
+ catch {
46
+ return false;
47
+ }
48
+ }
49
+ //# sourceMappingURL=rental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../src/utils/rental.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAeH,0CAYC;AASD,0CAYC;AA7CD,2DAAgE;AAChE,qDAAyD;AACzD,wCAAsE;AACtE,+BAAkC;AAElC;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,oBAAY,CAAC,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,MAAc;IAEd,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,oBAAY,CAAC,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -39,26 +39,33 @@ function getSignerAddress(signer) {
39
39
  // Handle string address
40
40
  if (typeof signer === 'string') {
41
41
  validateAddress(signer);
42
- return signer;
42
+ return (0, kit_1.address)(signer);
43
43
  }
44
44
  // Handle object signers
45
45
  if (signer && typeof signer === 'object') {
46
- // web3.js Keypair/Wallet format
46
+ // web3.js Keypair/Wallet format (has publicKey.toBase58())
47
47
  if ('publicKey' in signer && signer.publicKey && typeof signer.publicKey.toBase58 === 'function') {
48
- const address = signer.publicKey.toBase58();
49
- validateAddress(address);
50
- return address;
48
+ const addr = signer.publicKey.toBase58();
49
+ validateAddress(addr);
50
+ return (0, kit_1.address)(addr);
51
+ }
52
+ // web3.js PublicKey format (has direct toBase58())
53
+ if ('toBase58' in signer && typeof signer.toBase58 === 'function') {
54
+ const addr = signer.toBase58();
55
+ validateAddress(addr);
56
+ return (0, kit_1.address)(addr);
51
57
  }
52
58
  // @solana/kit signer format
53
59
  if ('address' in signer) {
54
- const address = String(signer.address);
55
- validateAddress(address);
56
- return address;
60
+ const addr = String(signer.address);
61
+ validateAddress(addr);
62
+ return (0, kit_1.address)(addr);
57
63
  }
58
64
  }
59
65
  throw new Error('Invalid signer format. Expected:\n' +
60
66
  ' - string address\n' +
61
67
  ' - web3.js Keypair (with publicKey.toBase58())\n' +
68
+ ' - web3.js PublicKey (with toBase58())\n' +
62
69
  ' - @solana/kit TransactionSigner (with address property)');
63
70
  }
64
71
  /**
@@ -141,6 +148,6 @@ function toTransactionSigner(signer) {
141
148
  return signer;
142
149
  }
143
150
  // Otherwise, extract address and create noop signer (for browser/wallet cases)
144
- return (0, kit_1.createNoopSigner)((0, kit_1.address)(getSignerAddress(signer)));
151
+ return (0, kit_1.createNoopSigner)(getSignerAddress(signer));
145
152
  }
146
153
  //# sourceMappingURL=signer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // Auto-generated from package.json - DO NOT EDIT
5
5
  // Run "pnpm run generate:version" to update
6
- exports.VERSION = '3.0.0-beta.8';
6
+ exports.VERSION = '4.0.0-beta.1';
7
7
  //# sourceMappingURL=version.js.map
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * Fetches borrower state data from the SRSLY program.
5
5
  */
6
- import { fetchBorrowerState } from '../generated/codama/accounts';
6
+ import { getBase64Encoder } from '@solana/kit';
7
+ import { fetchBorrowerState, BORROWER_STATE_DISCRIMINATOR, getBorrowerStateDecoder } from '../generated/codama/accounts';
8
+ import { SRSLY_PROGRAM_ADDRESS } from '../generated/codama/programs/srsly';
7
9
  import { getRpcUrl } from '../utils/config';
8
10
  import { createRpc } from '../utils/rpc';
9
11
  import { deriveBorrowerState } from '../pda';
@@ -57,4 +59,56 @@ export async function fetchBorrower(address, rpcUrl) {
57
59
  }
58
60
  }
59
61
  }
62
+ /**
63
+ * Fetch all borrower state accounts from the SRSLY program
64
+ *
65
+ * Uses getProgramAccounts with a discriminator filter to find all BorrowerState accounts.
66
+ *
67
+ * @param rpcUrl - Optional RPC endpoint URL. If not provided, uses RPC from global config
68
+ * @returns Array of borrower states with their addresses
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const borrowers = await fetchAllBorrowers();
73
+ * console.log(`Found ${borrowers.length} borrowers`);
74
+ * borrowers.forEach(b => console.log(b.address, b.data.borrower));
75
+ * ```
76
+ */
77
+ export async function fetchAllBorrowers(rpcUrl) {
78
+ try {
79
+ const resolvedRpcUrl = rpcUrl || getRpcUrl();
80
+ const rpc = createRpc(resolvedRpcUrl);
81
+ const discriminatorBase64 = btoa(String.fromCharCode(...BORROWER_STATE_DISCRIMINATOR));
82
+ const response = await rpc.getProgramAccounts(SRSLY_PROGRAM_ADDRESS, {
83
+ encoding: 'base64',
84
+ filters: [
85
+ {
86
+ memcmp: {
87
+ offset: 0n,
88
+ bytes: discriminatorBase64,
89
+ encoding: 'base64',
90
+ },
91
+ },
92
+ ],
93
+ }).send();
94
+ const base64Encoder = getBase64Encoder();
95
+ const decoder = getBorrowerStateDecoder();
96
+ const accounts = Array.isArray(response) ? response : response.value;
97
+ const results = [];
98
+ for (const account of accounts) {
99
+ try {
100
+ const bytes = base64Encoder.encode(account.account.data[0]);
101
+ const decoded = decoder.decode(bytes);
102
+ results.push({ data: decoded, address: account.pubkey });
103
+ }
104
+ catch {
105
+ // Skip accounts that fail to decode
106
+ }
107
+ }
108
+ return results;
109
+ }
110
+ catch (error) {
111
+ throw new Error(`Failed to fetch all borrower states: ${error.message}`);
112
+ }
113
+ }
60
114
  //# sourceMappingURL=borrower.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAsB,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,MAAe;IAEf,0CAA0C;IAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IAEtC,iEAAiE;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAkB,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,WAAgB,EAAE,CAAC;QAC1B,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,OAAiB,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,YAAiB,EAAE,CAAC;YAC3B,oDAAoD;YACpD,MAAM,IAAI,KAAK,CACb,yDAAyD,OAAO,oBAAoB;gBACpF,UAAU,YAAY,CAAC,OAAO,EAAE,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"borrower.js","sourceRoot":"","sources":["../../../src/accounts/borrower.ts"],"names":[],"mappings":"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"}