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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (804) hide show
  1. package/README.md +38 -0
  2. package/dist/cjs/accounts/borrower.js +55 -0
  3. package/dist/cjs/accounts/borrower.js.map +1 -1
  4. package/dist/cjs/accounts/config.js +50 -2
  5. package/dist/cjs/accounts/config.js.map +1 -1
  6. package/dist/cjs/accounts/contract.js +58 -0
  7. package/dist/cjs/accounts/contract.js.map +1 -1
  8. package/dist/cjs/accounts/index.js +24 -0
  9. package/dist/cjs/accounts/index.js.map +1 -0
  10. package/dist/cjs/accounts/member.js +16 -0
  11. package/dist/cjs/accounts/member.js.map +1 -0
  12. package/dist/cjs/accounts/rental.js +55 -0
  13. package/dist/cjs/accounts/rental.js.map +1 -1
  14. package/dist/cjs/accounts/thread.js +37 -0
  15. package/dist/cjs/accounts/thread.js.map +1 -0
  16. package/dist/cjs/demos.js +416 -65
  17. package/dist/cjs/demos.js.map +1 -1
  18. package/dist/cjs/generated/codama/accounts/borrowerState.js +23 -26
  19. package/dist/cjs/generated/codama/accounts/borrowerState.js.map +1 -1
  20. package/dist/cjs/generated/codama/accounts/configState.js +53 -55
  21. package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
  22. package/dist/cjs/generated/codama/accounts/contractState.js +52 -56
  23. package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
  24. package/dist/cjs/generated/codama/accounts/fleet.js +39 -36
  25. package/dist/cjs/generated/codama/accounts/fleet.js.map +1 -1
  26. package/dist/cjs/generated/codama/accounts/index.js +0 -2
  27. package/dist/cjs/generated/codama/accounts/index.js.map +1 -1
  28. package/dist/cjs/generated/codama/accounts/rentalState.js +41 -38
  29. package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
  30. package/dist/cjs/generated/codama/accounts/thread.js +41 -50
  31. package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
  32. package/dist/cjs/generated/codama/errors/srsly.js +70 -49
  33. package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
  34. package/dist/cjs/generated/codama/instructions/acceptRental.js +77 -153
  35. package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
  36. package/dist/cjs/generated/codama/instructions/activateRental.js +166 -31
  37. package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
  38. package/dist/cjs/generated/codama/instructions/cancelRental.js +68 -51
  39. package/dist/cjs/generated/codama/instructions/cancelRental.js.map +1 -1
  40. package/dist/cjs/generated/codama/instructions/claimBorrower.js +26 -21
  41. package/dist/cjs/generated/codama/instructions/claimBorrower.js.map +1 -1
  42. package/dist/cjs/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +41 -69
  43. package/dist/cjs/generated/codama/instructions/claimContract.js.map +1 -0
  44. package/dist/cjs/generated/codama/instructions/closeBorrower.js +105 -6
  45. package/dist/cjs/generated/codama/instructions/closeBorrower.js.map +1 -1
  46. package/dist/cjs/generated/codama/instructions/closeContract.js +82 -34
  47. package/dist/cjs/generated/codama/instructions/closeContract.js.map +1 -1
  48. package/dist/cjs/generated/codama/instructions/closeContractThread.js +167 -0
  49. package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -0
  50. package/dist/cjs/generated/codama/instructions/closeRental.js +9 -124
  51. package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
  52. package/dist/cjs/generated/codama/instructions/createBorrower.js +197 -0
  53. package/dist/cjs/generated/codama/instructions/createBorrower.js.map +1 -0
  54. package/dist/cjs/generated/codama/instructions/createConfig.js +21 -21
  55. package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
  56. package/dist/cjs/generated/codama/instructions/createContract.js +59 -29
  57. package/dist/cjs/generated/codama/instructions/createContract.js.map +1 -1
  58. package/dist/cjs/generated/codama/instructions/createContractThread.js +317 -0
  59. package/dist/cjs/generated/codama/instructions/createContractThread.js.map +1 -0
  60. package/dist/cjs/generated/codama/instructions/deleteBorrower.js +5 -16
  61. package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
  62. package/dist/cjs/generated/codama/instructions/deleteConfig.js +15 -15
  63. package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
  64. package/dist/cjs/generated/codama/instructions/deleteContract.js +5 -5
  65. package/dist/cjs/generated/codama/instructions/deleteRental.js +7 -7
  66. package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
  67. package/dist/cjs/generated/codama/instructions/index.js +6 -6
  68. package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
  69. package/dist/cjs/generated/codama/instructions/invalidateRental.js +5 -5
  70. package/dist/cjs/generated/codama/instructions/processContract.js +224 -0
  71. package/dist/cjs/generated/codama/instructions/processContract.js.map +1 -0
  72. package/dist/cjs/generated/codama/instructions/releaseRental.js +5 -5
  73. package/dist/cjs/generated/codama/instructions/reserveRental.js +114 -59
  74. package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
  75. package/dist/cjs/generated/codama/instructions/setDelegate.js +6 -6
  76. package/dist/cjs/generated/codama/instructions/updateBorrower.js +14 -50
  77. package/dist/cjs/generated/codama/instructions/updateBorrower.js.map +1 -1
  78. package/dist/cjs/generated/codama/instructions/updateConfig.js +37 -55
  79. package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
  80. package/dist/cjs/generated/codama/instructions/updateContract.js +17 -25
  81. package/dist/cjs/generated/codama/instructions/updateContract.js.map +1 -1
  82. package/dist/cjs/generated/codama/instructions/updateContractThread.js +177 -0
  83. package/dist/cjs/generated/codama/instructions/updateContractThread.js.map +1 -0
  84. package/dist/cjs/generated/codama/programs/srsly.js +41 -49
  85. package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
  86. package/dist/cjs/generated/codama/shared/index.js +8 -8
  87. package/dist/cjs/generated/codama/types/atlasClaimed.js +8 -8
  88. package/dist/cjs/generated/codama/types/borrowerInitialized.js +4 -4
  89. package/dist/cjs/generated/codama/types/cargoStats.js +18 -18
  90. package/dist/cjs/generated/codama/types/contractClosed.js +6 -6
  91. package/dist/cjs/generated/codama/types/contractCreated.js +8 -8
  92. package/dist/cjs/generated/codama/types/contractDelegateSet.js +6 -6
  93. package/dist/cjs/generated/codama/types/contractPendingClose.js +31 -0
  94. package/dist/cjs/generated/codama/types/contractPendingClose.js.map +1 -0
  95. package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
  96. package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
  97. package/dist/cjs/generated/codama/types/contractThreadClosed.js +29 -0
  98. package/dist/cjs/generated/codama/types/contractThreadClosed.js.map +1 -0
  99. package/dist/cjs/generated/codama/types/contractThreadCreated.js +29 -0
  100. package/dist/cjs/generated/codama/types/contractThreadCreated.js.map +1 -0
  101. package/dist/cjs/generated/codama/types/contractThreadUpdated.js +39 -0
  102. package/dist/cjs/generated/codama/types/contractThreadUpdated.js.map +1 -0
  103. package/dist/cjs/generated/codama/types/contractUpdated.js +8 -8
  104. package/dist/cjs/generated/codama/types/discountAuthorization.js +35 -0
  105. package/dist/cjs/generated/codama/types/discountAuthorization.js.map +1 -0
  106. package/dist/cjs/generated/codama/types/fieldUpdate.js +4 -4
  107. package/dist/cjs/generated/codama/types/fleet.js +60 -0
  108. package/dist/cjs/generated/codama/types/fleet.js.map +1 -0
  109. package/dist/cjs/generated/codama/types/index.js +10 -6
  110. package/dist/cjs/generated/codama/types/index.js.map +1 -1
  111. package/dist/cjs/generated/codama/types/miscStats.js +22 -22
  112. package/dist/cjs/generated/codama/types/movementStats.js +14 -14
  113. package/dist/cjs/generated/codama/types/optionalNonSystemPubkey.js +2 -2
  114. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js +33 -0
  115. package/dist/cjs/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  116. package/dist/cjs/generated/codama/types/rentalAccepted.js +10 -18
  117. package/dist/cjs/generated/codama/types/rentalAccepted.js.map +1 -1
  118. package/dist/cjs/generated/codama/types/rentalActivated.js +8 -6
  119. package/dist/cjs/generated/codama/types/rentalActivated.js.map +1 -1
  120. package/dist/cjs/generated/codama/types/rentalCancelled.js +10 -10
  121. package/dist/cjs/generated/codama/types/rentalClosed.js +8 -8
  122. package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
  123. package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
  124. package/dist/cjs/generated/codama/types/rentalStatus.js +4 -3
  125. package/dist/cjs/generated/codama/types/rentalStatus.js.map +1 -1
  126. package/dist/cjs/generated/codama/types/reservationCreated.js +14 -10
  127. package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
  128. package/dist/cjs/generated/codama/types/reservationKnockoff.js +10 -10
  129. package/dist/cjs/generated/codama/types/schedule.js +14 -14
  130. package/dist/cjs/generated/codama/types/shipCounts.js +20 -20
  131. package/dist/cjs/generated/codama/types/shipStats.js +6 -6
  132. package/dist/cjs/generated/codama/types/signal.js +26 -12
  133. package/dist/cjs/generated/codama/types/signal.js.map +1 -1
  134. package/dist/cjs/generated/codama/types/thread.js +62 -0
  135. package/dist/cjs/generated/codama/types/thread.js.map +1 -0
  136. package/dist/cjs/generated/codama/types/trigger.js +36 -36
  137. package/dist/cjs/index.js +4 -185
  138. package/dist/cjs/index.js.map +1 -1
  139. package/dist/cjs/instructions/acceptRental.js +87 -82
  140. package/dist/cjs/instructions/acceptRental.js.map +1 -1
  141. package/dist/cjs/instructions/activateRental.js +98 -0
  142. package/dist/cjs/instructions/activateRental.js.map +1 -0
  143. package/dist/cjs/instructions/approveAffiliate.js +11 -0
  144. package/dist/cjs/instructions/approveAffiliate.js.map +1 -0
  145. package/dist/cjs/instructions/cancelRental.js +32 -23
  146. package/dist/cjs/instructions/cancelRental.js.map +1 -1
  147. package/dist/cjs/instructions/claimBorrower.js +47 -21
  148. package/dist/cjs/instructions/claimBorrower.js.map +1 -1
  149. package/dist/cjs/instructions/claimContract.js +56 -0
  150. package/dist/cjs/instructions/claimContract.js.map +1 -0
  151. package/dist/cjs/instructions/closeBorrower.js +21 -23
  152. package/dist/cjs/instructions/closeBorrower.js.map +1 -1
  153. package/dist/cjs/instructions/closeContract.js +94 -21
  154. package/dist/cjs/instructions/closeContract.js.map +1 -1
  155. package/dist/cjs/instructions/closeContractThread.js +64 -0
  156. package/dist/cjs/instructions/closeContractThread.js.map +1 -0
  157. package/dist/cjs/instructions/closeRental.js +35 -46
  158. package/dist/cjs/instructions/closeRental.js.map +1 -1
  159. package/dist/cjs/instructions/createAffiliate.js +73 -0
  160. package/dist/cjs/instructions/createAffiliate.js.map +1 -0
  161. package/dist/cjs/instructions/createBorrower.js +46 -0
  162. package/dist/cjs/instructions/createBorrower.js.map +1 -0
  163. package/dist/cjs/instructions/createContract.js +45 -39
  164. package/dist/cjs/instructions/createContract.js.map +1 -1
  165. package/dist/cjs/instructions/createContractThread.js +102 -0
  166. package/dist/cjs/instructions/createContractThread.js.map +1 -0
  167. package/dist/cjs/instructions/deleteBorrower.js +13 -13
  168. package/dist/cjs/instructions/deleteBorrower.js.map +1 -1
  169. package/dist/cjs/instructions/deleteConfig.js +16 -5
  170. package/dist/cjs/instructions/deleteConfig.js.map +1 -1
  171. package/dist/cjs/instructions/deleteRental.js +1 -4
  172. package/dist/cjs/instructions/deleteRental.js.map +1 -1
  173. package/dist/cjs/instructions/index.js +49 -0
  174. package/dist/cjs/instructions/index.js.map +1 -0
  175. package/dist/cjs/instructions/removeAffiliate.js +11 -0
  176. package/dist/cjs/instructions/removeAffiliate.js.map +1 -0
  177. package/dist/cjs/instructions/reserveRental.js +95 -71
  178. package/dist/cjs/instructions/reserveRental.js.map +1 -1
  179. package/dist/cjs/instructions/updateAffiliate.js +57 -0
  180. package/dist/cjs/instructions/updateAffiliate.js.map +1 -0
  181. package/dist/cjs/instructions/updateBorrower.js +44 -38
  182. package/dist/cjs/instructions/updateBorrower.js.map +1 -1
  183. package/dist/cjs/instructions/updateConfig.js +0 -4
  184. package/dist/cjs/instructions/updateConfig.js.map +1 -1
  185. package/dist/cjs/instructions/updateContract.js +20 -36
  186. package/dist/cjs/instructions/updateContract.js.map +1 -1
  187. package/dist/cjs/instructions/updateContractThread.js +60 -0
  188. package/dist/cjs/instructions/updateContractThread.js.map +1 -0
  189. package/dist/cjs/kit/index.js +68 -0
  190. package/dist/cjs/kit/index.js.map +1 -0
  191. package/dist/cjs/legacy/index.js +125 -0
  192. package/dist/cjs/legacy/index.js.map +1 -0
  193. package/dist/cjs/package.json +5 -3
  194. package/dist/cjs/params/amount.js +4 -4
  195. package/dist/cjs/params/index.js +21 -0
  196. package/dist/cjs/params/index.js.map +1 -0
  197. package/dist/cjs/params/sol.js +71 -0
  198. package/dist/cjs/params/sol.js.map +1 -0
  199. package/dist/cjs/pda/constants.js +7 -2
  200. package/dist/cjs/pda/constants.js.map +1 -1
  201. package/dist/cjs/pda/index.js +10 -22
  202. package/dist/cjs/pda/index.js.map +1 -1
  203. package/dist/cjs/pda/lookupTable.js +3 -2
  204. package/dist/cjs/pda/lookupTable.js.map +1 -1
  205. package/dist/cjs/pda/sage.js +11 -10
  206. package/dist/cjs/pda/sage.js.map +1 -1
  207. package/dist/cjs/pda/slyvault.js +5 -49
  208. package/dist/cjs/pda/slyvault.js.map +1 -1
  209. package/dist/cjs/pda/srsly.js +39 -19
  210. package/dist/cjs/pda/srsly.js.map +1 -1
  211. package/dist/cjs/pda/thread.js +41 -31
  212. package/dist/cjs/pda/thread.js.map +1 -1
  213. package/dist/cjs/pda/token.js +5 -4
  214. package/dist/cjs/pda/token.js.map +1 -1
  215. package/dist/cjs/utils/addresses.js +3 -2
  216. package/dist/cjs/utils/addresses.js.map +1 -1
  217. package/dist/cjs/utils/config.js +20 -2
  218. package/dist/cjs/utils/config.js.map +1 -1
  219. package/dist/cjs/utils/discountAuth.js +161 -0
  220. package/dist/cjs/utils/discountAuth.js.map +1 -0
  221. package/dist/cjs/utils/index.js +16 -1
  222. package/dist/cjs/utils/index.js.map +1 -1
  223. package/dist/cjs/utils/instructionResult.js +76 -0
  224. package/dist/cjs/utils/instructionResult.js.map +1 -0
  225. package/dist/cjs/utils/instructions.js +12 -17
  226. package/dist/cjs/utils/instructions.js.map +1 -1
  227. package/dist/cjs/utils/rental.js +49 -0
  228. package/dist/cjs/utils/rental.js.map +1 -0
  229. package/dist/cjs/utils/signer.js +16 -9
  230. package/dist/cjs/utils/signer.js.map +1 -1
  231. package/dist/cjs/version.js +1 -1
  232. package/dist/esm/accounts/borrower.js +55 -1
  233. package/dist/esm/accounts/borrower.js.map +1 -1
  234. package/dist/esm/accounts/config.js +48 -1
  235. package/dist/esm/accounts/config.js.map +1 -1
  236. package/dist/esm/accounts/contract.js +58 -1
  237. package/dist/esm/accounts/contract.js.map +1 -1
  238. package/dist/esm/accounts/index.js +8 -0
  239. package/dist/esm/accounts/index.js.map +1 -0
  240. package/dist/esm/accounts/member.js +9 -0
  241. package/dist/esm/accounts/member.js.map +1 -0
  242. package/dist/esm/accounts/rental.js +55 -1
  243. package/dist/esm/accounts/rental.js.map +1 -1
  244. package/dist/esm/accounts/thread.js +34 -0
  245. package/dist/esm/accounts/thread.js.map +1 -0
  246. package/dist/esm/demos.js +415 -64
  247. package/dist/esm/demos.js.map +1 -1
  248. package/dist/esm/generated/codama/accounts/borrowerState.js +24 -27
  249. package/dist/esm/generated/codama/accounts/borrowerState.js.map +1 -1
  250. package/dist/esm/generated/codama/accounts/configState.js +53 -56
  251. package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
  252. package/dist/esm/generated/codama/accounts/contractState.js +53 -57
  253. package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
  254. package/dist/esm/generated/codama/accounts/fleet.js +41 -38
  255. package/dist/esm/generated/codama/accounts/fleet.js.map +1 -1
  256. package/dist/esm/generated/codama/accounts/index.js +4 -6
  257. package/dist/esm/generated/codama/accounts/index.js.map +1 -1
  258. package/dist/esm/generated/codama/accounts/rentalState.js +43 -40
  259. package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
  260. package/dist/esm/generated/codama/accounts/thread.js +43 -52
  261. package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
  262. package/dist/esm/generated/codama/errors/index.js +1 -1
  263. package/dist/esm/generated/codama/errors/srsly.js +70 -49
  264. package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
  265. package/dist/esm/generated/codama/index.js +5 -5
  266. package/dist/esm/generated/codama/instructions/acceptRental.js +81 -157
  267. package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
  268. package/dist/esm/generated/codama/instructions/activateRental.js +169 -34
  269. package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
  270. package/dist/esm/generated/codama/instructions/cancelRental.js +71 -54
  271. package/dist/esm/generated/codama/instructions/cancelRental.js.map +1 -1
  272. package/dist/esm/generated/codama/instructions/claimBorrower.js +29 -24
  273. package/dist/esm/generated/codama/instructions/claimBorrower.js.map +1 -1
  274. package/dist/esm/generated/codama/instructions/{claimContractPayments.js → claimContract.js} +36 -64
  275. package/dist/esm/generated/codama/instructions/claimContract.js.map +1 -0
  276. package/dist/esm/generated/codama/instructions/closeBorrower.js +107 -9
  277. package/dist/esm/generated/codama/instructions/closeBorrower.js.map +1 -1
  278. package/dist/esm/generated/codama/instructions/closeContract.js +85 -37
  279. package/dist/esm/generated/codama/instructions/closeContract.js.map +1 -1
  280. package/dist/esm/generated/codama/instructions/closeContractThread.js +157 -0
  281. package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -0
  282. package/dist/esm/generated/codama/instructions/closeRental.js +12 -127
  283. package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
  284. package/dist/esm/generated/codama/instructions/createBorrower.js +187 -0
  285. package/dist/esm/generated/codama/instructions/createBorrower.js.map +1 -0
  286. package/dist/esm/generated/codama/instructions/createConfig.js +24 -24
  287. package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
  288. package/dist/esm/generated/codama/instructions/createContract.js +62 -32
  289. package/dist/esm/generated/codama/instructions/createContract.js.map +1 -1
  290. package/dist/esm/generated/codama/instructions/createContractThread.js +307 -0
  291. package/dist/esm/generated/codama/instructions/createContractThread.js.map +1 -0
  292. package/dist/esm/generated/codama/instructions/deleteBorrower.js +8 -19
  293. package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
  294. package/dist/esm/generated/codama/instructions/deleteConfig.js +18 -18
  295. package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
  296. package/dist/esm/generated/codama/instructions/deleteContract.js +8 -8
  297. package/dist/esm/generated/codama/instructions/deleteRental.js +10 -10
  298. package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
  299. package/dist/esm/generated/codama/instructions/index.js +25 -25
  300. package/dist/esm/generated/codama/instructions/index.js.map +1 -1
  301. package/dist/esm/generated/codama/instructions/invalidateRental.js +8 -8
  302. package/dist/esm/generated/codama/instructions/processContract.js +214 -0
  303. package/dist/esm/generated/codama/instructions/processContract.js.map +1 -0
  304. package/dist/esm/generated/codama/instructions/releaseRental.js +8 -8
  305. package/dist/esm/generated/codama/instructions/reserveRental.js +117 -62
  306. package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
  307. package/dist/esm/generated/codama/instructions/setDelegate.js +9 -9
  308. package/dist/esm/generated/codama/instructions/updateBorrower.js +17 -52
  309. package/dist/esm/generated/codama/instructions/updateBorrower.js.map +1 -1
  310. package/dist/esm/generated/codama/instructions/updateConfig.js +40 -58
  311. package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
  312. package/dist/esm/generated/codama/instructions/updateContract.js +20 -28
  313. package/dist/esm/generated/codama/instructions/updateContract.js.map +1 -1
  314. package/dist/esm/generated/codama/instructions/updateContractThread.js +167 -0
  315. package/dist/esm/generated/codama/instructions/updateContractThread.js.map +1 -0
  316. package/dist/esm/generated/codama/programs/index.js +1 -1
  317. package/dist/esm/generated/codama/programs/srsly.js +42 -50
  318. package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
  319. package/dist/esm/generated/codama/shared/index.js +9 -9
  320. package/dist/esm/generated/codama/types/atlasClaimed.js +9 -9
  321. package/dist/esm/generated/codama/types/borrowerInitialized.js +5 -5
  322. package/dist/esm/generated/codama/types/cargoStats.js +19 -19
  323. package/dist/esm/generated/codama/types/contractClosed.js +7 -7
  324. package/dist/esm/generated/codama/types/contractCreated.js +9 -9
  325. package/dist/esm/generated/codama/types/contractDelegateSet.js +7 -7
  326. package/dist/esm/generated/codama/types/contractPendingClose.js +26 -0
  327. package/dist/esm/generated/codama/types/contractPendingClose.js.map +1 -0
  328. package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
  329. package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
  330. package/dist/esm/generated/codama/types/contractThreadClosed.js +24 -0
  331. package/dist/esm/generated/codama/types/contractThreadClosed.js.map +1 -0
  332. package/dist/esm/generated/codama/types/contractThreadCreated.js +24 -0
  333. package/dist/esm/generated/codama/types/contractThreadCreated.js.map +1 -0
  334. package/dist/esm/generated/codama/types/contractThreadUpdated.js +34 -0
  335. package/dist/esm/generated/codama/types/contractThreadUpdated.js.map +1 -0
  336. package/dist/esm/generated/codama/types/contractUpdated.js +10 -10
  337. package/dist/esm/generated/codama/types/discountAuthorization.js +30 -0
  338. package/dist/esm/generated/codama/types/discountAuthorization.js.map +1 -0
  339. package/dist/esm/generated/codama/types/fieldUpdate.js +5 -5
  340. package/dist/esm/generated/codama/types/fleet.js +55 -0
  341. package/dist/esm/generated/codama/types/fleet.js.map +1 -0
  342. package/dist/esm/generated/codama/types/index.js +33 -29
  343. package/dist/esm/generated/codama/types/index.js.map +1 -1
  344. package/dist/esm/generated/codama/types/miscStats.js +23 -23
  345. package/dist/esm/generated/codama/types/movementStats.js +15 -15
  346. package/dist/esm/generated/codama/types/optionalNonSystemPubkey.js +3 -3
  347. package/dist/esm/generated/codama/types/queuedRentalRefunded.js +28 -0
  348. package/dist/esm/generated/codama/types/queuedRentalRefunded.js.map +1 -0
  349. package/dist/esm/generated/codama/types/rentalAccepted.js +11 -19
  350. package/dist/esm/generated/codama/types/rentalAccepted.js.map +1 -1
  351. package/dist/esm/generated/codama/types/rentalActivated.js +9 -7
  352. package/dist/esm/generated/codama/types/rentalActivated.js.map +1 -1
  353. package/dist/esm/generated/codama/types/rentalCancelled.js +11 -11
  354. package/dist/esm/generated/codama/types/rentalClosed.js +9 -9
  355. package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
  356. package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
  357. package/dist/esm/generated/codama/types/rentalStatus.js +5 -4
  358. package/dist/esm/generated/codama/types/rentalStatus.js.map +1 -1
  359. package/dist/esm/generated/codama/types/reservationCreated.js +15 -11
  360. package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
  361. package/dist/esm/generated/codama/types/reservationKnockoff.js +11 -11
  362. package/dist/esm/generated/codama/types/schedule.js +15 -15
  363. package/dist/esm/generated/codama/types/shipCounts.js +21 -21
  364. package/dist/esm/generated/codama/types/shipStats.js +8 -8
  365. package/dist/esm/generated/codama/types/signal.js +28 -14
  366. package/dist/esm/generated/codama/types/signal.js.map +1 -1
  367. package/dist/esm/generated/codama/types/thread.js +57 -0
  368. package/dist/esm/generated/codama/types/thread.js.map +1 -0
  369. package/dist/esm/generated/codama/types/trigger.js +37 -37
  370. package/dist/esm/index.js +1 -84
  371. package/dist/esm/index.js.map +1 -1
  372. package/dist/esm/instructions/acceptRental.js +91 -86
  373. package/dist/esm/instructions/acceptRental.js.map +1 -1
  374. package/dist/esm/instructions/activateRental.js +95 -0
  375. package/dist/esm/instructions/activateRental.js.map +1 -0
  376. package/dist/esm/instructions/approveAffiliate.js +7 -0
  377. package/dist/esm/instructions/approveAffiliate.js.map +1 -0
  378. package/dist/esm/instructions/cancelRental.js +33 -24
  379. package/dist/esm/instructions/cancelRental.js.map +1 -1
  380. package/dist/esm/instructions/claimBorrower.js +49 -23
  381. package/dist/esm/instructions/claimBorrower.js.map +1 -1
  382. package/dist/esm/instructions/claimContract.js +53 -0
  383. package/dist/esm/instructions/claimContract.js.map +1 -0
  384. package/dist/esm/instructions/closeBorrower.js +22 -24
  385. package/dist/esm/instructions/closeBorrower.js.map +1 -1
  386. package/dist/esm/instructions/closeContract.js +63 -23
  387. package/dist/esm/instructions/closeContract.js.map +1 -1
  388. package/dist/esm/instructions/closeContractThread.js +61 -0
  389. package/dist/esm/instructions/closeContractThread.js.map +1 -0
  390. package/dist/esm/instructions/closeRental.js +36 -47
  391. package/dist/esm/instructions/closeRental.js.map +1 -1
  392. package/dist/esm/instructions/createAffiliate.js +70 -0
  393. package/dist/esm/instructions/createAffiliate.js.map +1 -0
  394. package/dist/esm/instructions/createBorrower.js +43 -0
  395. package/dist/esm/instructions/createBorrower.js.map +1 -0
  396. package/dist/esm/instructions/createContract.js +47 -41
  397. package/dist/esm/instructions/createContract.js.map +1 -1
  398. package/dist/esm/instructions/createContractThread.js +99 -0
  399. package/dist/esm/instructions/createContractThread.js.map +1 -0
  400. package/dist/esm/instructions/deleteBorrower.js +13 -13
  401. package/dist/esm/instructions/deleteBorrower.js.map +1 -1
  402. package/dist/esm/instructions/deleteConfig.js +17 -6
  403. package/dist/esm/instructions/deleteConfig.js.map +1 -1
  404. package/dist/esm/instructions/deleteRental.js +1 -4
  405. package/dist/esm/instructions/deleteRental.js.map +1 -1
  406. package/dist/esm/instructions/index.js +33 -0
  407. package/dist/esm/instructions/index.js.map +1 -0
  408. package/dist/esm/instructions/removeAffiliate.js +7 -0
  409. package/dist/esm/instructions/removeAffiliate.js.map +1 -0
  410. package/dist/esm/instructions/reserveRental.js +97 -73
  411. package/dist/esm/instructions/reserveRental.js.map +1 -1
  412. package/dist/esm/instructions/updateAffiliate.js +54 -0
  413. package/dist/esm/instructions/updateAffiliate.js.map +1 -0
  414. package/dist/esm/instructions/updateBorrower.js +45 -39
  415. package/dist/esm/instructions/updateBorrower.js.map +1 -1
  416. package/dist/esm/instructions/updateConfig.js +0 -4
  417. package/dist/esm/instructions/updateConfig.js.map +1 -1
  418. package/dist/esm/instructions/updateContract.js +20 -36
  419. package/dist/esm/instructions/updateContract.js.map +1 -1
  420. package/dist/esm/instructions/updateContractThread.js +57 -0
  421. package/dist/esm/instructions/updateContractThread.js.map +1 -0
  422. package/dist/esm/kit/index.js +26 -0
  423. package/dist/esm/kit/index.js.map +1 -0
  424. package/dist/esm/legacy/index.js +84 -0
  425. package/dist/esm/legacy/index.js.map +1 -0
  426. package/dist/esm/package.json +5 -3
  427. package/dist/esm/params/amount.js +4 -4
  428. package/dist/esm/params/index.js +5 -0
  429. package/dist/esm/params/index.js.map +1 -0
  430. package/dist/esm/params/sol.js +68 -0
  431. package/dist/esm/params/sol.js.map +1 -0
  432. package/dist/esm/pda/constants.js +6 -1
  433. package/dist/esm/pda/constants.js.map +1 -1
  434. package/dist/esm/pda/index.js +4 -22
  435. package/dist/esm/pda/index.js.map +1 -1
  436. package/dist/esm/pda/lookupTable.js +3 -2
  437. package/dist/esm/pda/lookupTable.js.map +1 -1
  438. package/dist/esm/pda/sage.js +11 -10
  439. package/dist/esm/pda/sage.js.map +1 -1
  440. package/dist/esm/pda/slyvault.js +2 -47
  441. package/dist/esm/pda/slyvault.js.map +1 -1
  442. package/dist/esm/pda/srsly.js +38 -19
  443. package/dist/esm/pda/srsly.js.map +1 -1
  444. package/dist/esm/pda/thread.js +40 -31
  445. package/dist/esm/pda/thread.js.map +1 -1
  446. package/dist/esm/pda/token.js +5 -4
  447. package/dist/esm/pda/token.js.map +1 -1
  448. package/dist/esm/utils/addresses.js +3 -2
  449. package/dist/esm/utils/addresses.js.map +1 -1
  450. package/dist/esm/utils/config.js +19 -2
  451. package/dist/esm/utils/config.js.map +1 -1
  452. package/dist/esm/utils/discountAuth.js +155 -0
  453. package/dist/esm/utils/discountAuth.js.map +1 -0
  454. package/dist/esm/utils/index.js +7 -1
  455. package/dist/esm/utils/index.js.map +1 -1
  456. package/dist/esm/utils/instructionResult.js +72 -0
  457. package/dist/esm/utils/instructionResult.js.map +1 -0
  458. package/dist/esm/utils/instructions.js +12 -17
  459. package/dist/esm/utils/instructions.js.map +1 -1
  460. package/dist/esm/utils/rental.js +45 -0
  461. package/dist/esm/utils/rental.js.map +1 -0
  462. package/dist/esm/utils/signer.js +16 -9
  463. package/dist/esm/utils/signer.js.map +1 -1
  464. package/dist/esm/version.js +1 -1
  465. package/dist/idl/srsly.json +2119 -3040
  466. package/dist/types/accounts/borrower.d.ts +19 -0
  467. package/dist/types/accounts/borrower.d.ts.map +1 -1
  468. package/dist/types/accounts/config.d.ts +19 -0
  469. package/dist/types/accounts/config.d.ts.map +1 -1
  470. package/dist/types/accounts/contract.d.ts +19 -0
  471. package/dist/types/accounts/contract.d.ts.map +1 -1
  472. package/dist/types/accounts/index.d.ts +8 -0
  473. package/dist/types/accounts/index.d.ts.map +1 -0
  474. package/dist/types/accounts/member.d.ts +9 -0
  475. package/dist/types/accounts/member.d.ts.map +1 -0
  476. package/dist/types/accounts/rental.d.ts +19 -0
  477. package/dist/types/accounts/rental.d.ts.map +1 -1
  478. package/dist/types/accounts/thread.d.ts +21 -0
  479. package/dist/types/accounts/thread.d.ts.map +1 -0
  480. package/dist/types/demos.d.ts +53 -4
  481. package/dist/types/demos.d.ts.map +1 -1
  482. package/dist/types/generated/codama/accounts/borrowerState.d.ts +6 -15
  483. package/dist/types/generated/codama/accounts/borrowerState.d.ts.map +1 -1
  484. package/dist/types/generated/codama/accounts/configState.d.ts +8 -21
  485. package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
  486. package/dist/types/generated/codama/accounts/contractState.d.ts +59 -79
  487. package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
  488. package/dist/types/generated/codama/accounts/fleet.d.ts +5 -2
  489. package/dist/types/generated/codama/accounts/fleet.d.ts.map +1 -1
  490. package/dist/types/generated/codama/accounts/index.d.ts +4 -6
  491. package/dist/types/generated/codama/accounts/index.d.ts.map +1 -1
  492. package/dist/types/generated/codama/accounts/rentalState.d.ts +45 -42
  493. package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
  494. package/dist/types/generated/codama/accounts/thread.d.ts +5 -8
  495. package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
  496. package/dist/types/generated/codama/errors/index.d.ts +1 -1
  497. package/dist/types/generated/codama/errors/srsly.d.ts +55 -41
  498. package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
  499. package/dist/types/generated/codama/index.d.ts +5 -5
  500. package/dist/types/generated/codama/instructions/acceptRental.d.ts +61 -77
  501. package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
  502. package/dist/types/generated/codama/instructions/activateRental.d.ts +78 -34
  503. package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
  504. package/dist/types/generated/codama/instructions/cancelRental.d.ts +39 -24
  505. package/dist/types/generated/codama/instructions/cancelRental.d.ts.map +1 -1
  506. package/dist/types/generated/codama/instructions/claimBorrower.d.ts +27 -35
  507. package/dist/types/generated/codama/instructions/claimBorrower.d.ts.map +1 -1
  508. package/dist/types/generated/codama/instructions/claimContract.d.ts +79 -0
  509. package/dist/types/generated/codama/instructions/claimContract.d.ts.map +1 -0
  510. package/dist/types/generated/codama/instructions/closeBorrower.d.ts +51 -11
  511. package/dist/types/generated/codama/instructions/closeBorrower.d.ts.map +1 -1
  512. package/dist/types/generated/codama/instructions/closeContract.d.ts +65 -25
  513. package/dist/types/generated/codama/instructions/closeContract.d.ts.map +1 -1
  514. package/dist/types/generated/codama/instructions/closeContractThread.d.ts +70 -0
  515. package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -0
  516. package/dist/types/generated/codama/instructions/closeRental.d.ts +20 -62
  517. package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
  518. package/dist/types/generated/codama/instructions/createBorrower.d.ts +71 -0
  519. package/dist/types/generated/codama/instructions/createBorrower.d.ts.map +1 -0
  520. package/dist/types/generated/codama/instructions/createConfig.d.ts +5 -5
  521. package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
  522. package/dist/types/generated/codama/instructions/createContract.d.ts +40 -40
  523. package/dist/types/generated/codama/instructions/createContract.d.ts.map +1 -1
  524. package/dist/types/generated/codama/instructions/createContractThread.d.ts +133 -0
  525. package/dist/types/generated/codama/instructions/createContractThread.d.ts.map +1 -0
  526. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -3
  527. package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
  528. package/dist/types/generated/codama/instructions/deleteConfig.d.ts +3 -3
  529. package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
  530. package/dist/types/generated/codama/instructions/deleteContract.d.ts +2 -2
  531. package/dist/types/generated/codama/instructions/deleteRental.d.ts +6 -3
  532. package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
  533. package/dist/types/generated/codama/instructions/index.d.ts +25 -25
  534. package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
  535. package/dist/types/generated/codama/instructions/invalidateRental.d.ts +2 -2
  536. package/dist/types/generated/codama/instructions/processContract.d.ts +100 -0
  537. package/dist/types/generated/codama/instructions/processContract.d.ts.map +1 -0
  538. package/dist/types/generated/codama/instructions/releaseRental.d.ts +2 -2
  539. package/dist/types/generated/codama/instructions/reserveRental.d.ts +97 -69
  540. package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
  541. package/dist/types/generated/codama/instructions/setDelegate.d.ts +3 -3
  542. package/dist/types/generated/codama/instructions/updateBorrower.d.ts +24 -22
  543. package/dist/types/generated/codama/instructions/updateBorrower.d.ts.map +1 -1
  544. package/dist/types/generated/codama/instructions/updateConfig.d.ts +34 -59
  545. package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
  546. package/dist/types/generated/codama/instructions/updateContract.d.ts +22 -28
  547. package/dist/types/generated/codama/instructions/updateContract.d.ts.map +1 -1
  548. package/dist/types/generated/codama/instructions/updateContractThread.d.ts +76 -0
  549. package/dist/types/generated/codama/instructions/updateContractThread.d.ts.map +1 -0
  550. package/dist/types/generated/codama/programs/index.d.ts +1 -1
  551. package/dist/types/generated/codama/programs/srsly.d.ts +37 -39
  552. package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
  553. package/dist/types/generated/codama/shared/index.d.ts +2 -2
  554. package/dist/types/generated/codama/types/atlasClaimed.d.ts +1 -1
  555. package/dist/types/generated/codama/types/borrowerInitialized.d.ts +1 -1
  556. package/dist/types/generated/codama/types/cargoStats.d.ts +1 -1
  557. package/dist/types/generated/codama/types/contractClosed.d.ts +1 -1
  558. package/dist/types/generated/codama/types/contractCreated.d.ts +1 -1
  559. package/dist/types/generated/codama/types/contractDelegateSet.d.ts +1 -1
  560. package/dist/types/generated/codama/types/contractPendingClose.d.ts +18 -0
  561. package/dist/types/generated/codama/types/contractPendingClose.d.ts.map +1 -0
  562. package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
  563. package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
  564. package/dist/types/generated/codama/types/contractThreadClosed.d.ts +17 -0
  565. package/dist/types/generated/codama/types/contractThreadClosed.d.ts.map +1 -0
  566. package/dist/types/generated/codama/types/contractThreadCreated.d.ts +17 -0
  567. package/dist/types/generated/codama/types/contractThreadCreated.d.ts.map +1 -0
  568. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts +24 -0
  569. package/dist/types/generated/codama/types/contractThreadUpdated.d.ts.map +1 -0
  570. package/dist/types/generated/codama/types/contractUpdated.d.ts +2 -2
  571. package/dist/types/generated/codama/types/discountAuthorization.d.ts +40 -0
  572. package/dist/types/generated/codama/types/discountAuthorization.d.ts.map +1 -0
  573. package/dist/types/generated/codama/types/fieldUpdate.d.ts +1 -1
  574. package/dist/types/generated/codama/types/fleet.d.ts +52 -0
  575. package/dist/types/generated/codama/types/fleet.d.ts.map +1 -0
  576. package/dist/types/generated/codama/types/index.d.ts +33 -29
  577. package/dist/types/generated/codama/types/index.d.ts.map +1 -1
  578. package/dist/types/generated/codama/types/miscStats.d.ts +1 -1
  579. package/dist/types/generated/codama/types/movementStats.d.ts +1 -1
  580. package/dist/types/generated/codama/types/optionalNonSystemPubkey.d.ts +1 -1
  581. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts +24 -0
  582. package/dist/types/generated/codama/types/queuedRentalRefunded.d.ts.map +1 -0
  583. package/dist/types/generated/codama/types/rentalAccepted.d.ts +3 -11
  584. package/dist/types/generated/codama/types/rentalAccepted.d.ts.map +1 -1
  585. package/dist/types/generated/codama/types/rentalActivated.d.ts +8 -2
  586. package/dist/types/generated/codama/types/rentalActivated.d.ts.map +1 -1
  587. package/dist/types/generated/codama/types/rentalCancelled.d.ts +1 -1
  588. package/dist/types/generated/codama/types/rentalClosed.d.ts +1 -1
  589. package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
  590. package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
  591. package/dist/types/generated/codama/types/rentalStatus.d.ts +5 -4
  592. package/dist/types/generated/codama/types/rentalStatus.d.ts.map +1 -1
  593. package/dist/types/generated/codama/types/reservationCreated.d.ts +11 -7
  594. package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
  595. package/dist/types/generated/codama/types/reservationKnockoff.d.ts +1 -1
  596. package/dist/types/generated/codama/types/schedule.d.ts +11 -11
  597. package/dist/types/generated/codama/types/shipCounts.d.ts +1 -1
  598. package/dist/types/generated/codama/types/shipStats.d.ts +2 -2
  599. package/dist/types/generated/codama/types/signal.d.ts +27 -23
  600. package/dist/types/generated/codama/types/signal.d.ts.map +1 -1
  601. package/dist/types/generated/codama/types/thread.d.ts +54 -0
  602. package/dist/types/generated/codama/types/thread.d.ts.map +1 -0
  603. package/dist/types/generated/codama/types/trigger.d.ts +23 -23
  604. package/dist/types/index.d.ts +1 -37
  605. package/dist/types/index.d.ts.map +1 -1
  606. package/dist/types/instructions/acceptRental.d.ts +33 -33
  607. package/dist/types/instructions/acceptRental.d.ts.map +1 -1
  608. package/dist/types/instructions/activateRental.d.ts +46 -0
  609. package/dist/types/instructions/activateRental.d.ts.map +1 -0
  610. package/dist/types/instructions/approveAffiliate.d.ts +7 -0
  611. package/dist/types/instructions/approveAffiliate.d.ts.map +1 -0
  612. package/dist/types/instructions/cancelRental.d.ts +10 -15
  613. package/dist/types/instructions/cancelRental.d.ts.map +1 -1
  614. package/dist/types/instructions/claimBorrower.d.ts +38 -10
  615. package/dist/types/instructions/claimBorrower.d.ts.map +1 -1
  616. package/dist/types/instructions/claimContract.d.ts +40 -0
  617. package/dist/types/instructions/claimContract.d.ts.map +1 -0
  618. package/dist/types/instructions/closeBorrower.d.ts +17 -11
  619. package/dist/types/instructions/closeBorrower.d.ts.map +1 -1
  620. package/dist/types/instructions/closeContract.d.ts +8 -15
  621. package/dist/types/instructions/closeContract.d.ts.map +1 -1
  622. package/dist/types/instructions/closeContractThread.d.ts +40 -0
  623. package/dist/types/instructions/closeContractThread.d.ts.map +1 -0
  624. package/dist/types/instructions/closeRental.d.ts +11 -12
  625. package/dist/types/instructions/closeRental.d.ts.map +1 -1
  626. package/dist/types/instructions/createAffiliate.d.ts +66 -0
  627. package/dist/types/instructions/createAffiliate.d.ts.map +1 -0
  628. package/dist/types/instructions/createBorrower.d.ts +36 -0
  629. package/dist/types/instructions/createBorrower.d.ts.map +1 -0
  630. package/dist/types/instructions/createContract.d.ts +27 -43
  631. package/dist/types/instructions/createContract.d.ts.map +1 -1
  632. package/dist/types/instructions/createContractThread.d.ts +52 -0
  633. package/dist/types/instructions/createContractThread.d.ts.map +1 -0
  634. package/dist/types/instructions/deleteBorrower.d.ts +14 -11
  635. package/dist/types/instructions/deleteBorrower.d.ts.map +1 -1
  636. package/dist/types/instructions/deleteConfig.d.ts +4 -2
  637. package/dist/types/instructions/deleteConfig.d.ts.map +1 -1
  638. package/dist/types/instructions/deleteRental.d.ts +3 -2
  639. package/dist/types/instructions/deleteRental.d.ts.map +1 -1
  640. package/dist/types/instructions/index.d.ts +33 -0
  641. package/dist/types/instructions/index.d.ts.map +1 -0
  642. package/dist/types/instructions/removeAffiliate.d.ts +7 -0
  643. package/dist/types/instructions/removeAffiliate.d.ts.map +1 -0
  644. package/dist/types/instructions/reserveRental.d.ts +43 -29
  645. package/dist/types/instructions/reserveRental.d.ts.map +1 -1
  646. package/dist/types/instructions/updateAffiliate.d.ts +64 -0
  647. package/dist/types/instructions/updateAffiliate.d.ts.map +1 -0
  648. package/dist/types/instructions/updateBorrower.d.ts +23 -29
  649. package/dist/types/instructions/updateBorrower.d.ts.map +1 -1
  650. package/dist/types/instructions/updateConfig.d.ts +0 -13
  651. package/dist/types/instructions/updateConfig.d.ts.map +1 -1
  652. package/dist/types/instructions/updateContract.d.ts +22 -35
  653. package/dist/types/instructions/updateContract.d.ts.map +1 -1
  654. package/dist/types/instructions/updateContractThread.d.ts +48 -0
  655. package/dist/types/instructions/updateContractThread.d.ts.map +1 -0
  656. package/dist/types/kit/index.d.ts +25 -0
  657. package/dist/types/kit/index.d.ts.map +1 -0
  658. package/dist/types/legacy/index.d.ts +63 -0
  659. package/dist/types/legacy/index.d.ts.map +1 -0
  660. package/dist/types/params/amount.d.ts +3 -3
  661. package/dist/types/params/index.d.ts +5 -0
  662. package/dist/types/params/index.d.ts.map +1 -0
  663. package/dist/types/params/sol.d.ts +34 -0
  664. package/dist/types/params/sol.d.ts.map +1 -0
  665. package/dist/types/pda/constants.d.ts +6 -1
  666. package/dist/types/pda/constants.d.ts.map +1 -1
  667. package/dist/types/pda/index.d.ts +5 -22
  668. package/dist/types/pda/index.d.ts.map +1 -1
  669. package/dist/types/pda/lookupTable.d.ts +2 -1
  670. package/dist/types/pda/lookupTable.d.ts.map +1 -1
  671. package/dist/types/pda/sage.d.ts +6 -5
  672. package/dist/types/pda/sage.d.ts.map +1 -1
  673. package/dist/types/pda/slyvault.d.ts +2 -23
  674. package/dist/types/pda/slyvault.d.ts.map +1 -1
  675. package/dist/types/pda/srsly.d.ts +21 -8
  676. package/dist/types/pda/srsly.d.ts.map +1 -1
  677. package/dist/types/pda/thread.d.ts +18 -18
  678. package/dist/types/pda/thread.d.ts.map +1 -1
  679. package/dist/types/pda/token.d.ts +2 -1
  680. package/dist/types/pda/token.d.ts.map +1 -1
  681. package/dist/types/utils/addresses.d.ts +5 -1
  682. package/dist/types/utils/addresses.d.ts.map +1 -1
  683. package/dist/types/utils/config.d.ts +48 -0
  684. package/dist/types/utils/config.d.ts.map +1 -1
  685. package/dist/types/utils/discountAuth.d.ts +94 -0
  686. package/dist/types/utils/discountAuth.d.ts.map +1 -0
  687. package/dist/types/utils/index.d.ts +4 -1
  688. package/dist/types/utils/index.d.ts.map +1 -1
  689. package/dist/types/utils/instructionResult.d.ts +57 -0
  690. package/dist/types/utils/instructionResult.d.ts.map +1 -0
  691. package/dist/types/utils/instructions.d.ts +16 -18
  692. package/dist/types/utils/instructions.d.ts.map +1 -1
  693. package/dist/types/utils/rental.d.ts +22 -0
  694. package/dist/types/utils/rental.d.ts.map +1 -0
  695. package/dist/types/utils/signer.d.ts +5 -2
  696. package/dist/types/utils/signer.d.ts.map +1 -1
  697. package/dist/types/version.d.ts +1 -1
  698. package/package.json +38 -21
  699. package/dist/cjs/generated/codama/accounts/memberState.js +0 -78
  700. package/dist/cjs/generated/codama/accounts/memberState.js.map +0 -1
  701. package/dist/cjs/generated/codama/accounts/vaultState.js +0 -82
  702. package/dist/cjs/generated/codama/accounts/vaultState.js.map +0 -1
  703. package/dist/cjs/generated/codama/instructions/claimContractPayments.js.map +0 -1
  704. package/dist/cjs/generated/codama/instructions/claimRental.js +0 -361
  705. package/dist/cjs/generated/codama/instructions/claimRental.js.map +0 -1
  706. package/dist/cjs/generated/codama/instructions/discountBorrower.js +0 -118
  707. package/dist/cjs/generated/codama/instructions/discountBorrower.js.map +0 -1
  708. package/dist/cjs/generated/codama/instructions/payRental.js +0 -290
  709. package/dist/cjs/generated/codama/instructions/payRental.js.map +0 -1
  710. package/dist/cjs/generated/codama/instructions/scheduleRental.js +0 -252
  711. package/dist/cjs/generated/codama/instructions/scheduleRental.js.map +0 -1
  712. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js +0 -29
  713. package/dist/cjs/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  714. package/dist/cjs/generated/codama/types/memberConfig.js +0 -33
  715. package/dist/cjs/generated/codama/types/memberConfig.js.map +0 -1
  716. package/dist/cjs/generated/codama/types/memberType.js +0 -57
  717. package/dist/cjs/generated/codama/types/memberType.js.map +0 -1
  718. package/dist/cjs/generated/codama/types/paymentFrequency.js +0 -36
  719. package/dist/cjs/generated/codama/types/paymentFrequency.js.map +0 -1
  720. package/dist/cjs/generated/codama/types/rebateAuthorization.js +0 -35
  721. package/dist/cjs/generated/codama/types/rebateAuthorization.js.map +0 -1
  722. package/dist/cjs/generated/codama/types/rentalClaimed.js +0 -41
  723. package/dist/cjs/generated/codama/types/rentalClaimed.js.map +0 -1
  724. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js +0 -33
  725. package/dist/cjs/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  726. package/dist/cjs/generated/codama/types/rentalScheduled.js +0 -35
  727. package/dist/cjs/generated/codama/types/rentalScheduled.js.map +0 -1
  728. package/dist/cjs/instructions/claimContractPayments.js +0 -79
  729. package/dist/cjs/instructions/claimContractPayments.js.map +0 -1
  730. package/dist/cjs/instructions/claimRental.js +0 -155
  731. package/dist/cjs/instructions/claimRental.js.map +0 -1
  732. package/dist/cjs/instructions/discountBorrower.js +0 -75
  733. package/dist/cjs/instructions/discountBorrower.js.map +0 -1
  734. package/dist/esm/generated/codama/accounts/memberState.js +0 -66
  735. package/dist/esm/generated/codama/accounts/memberState.js.map +0 -1
  736. package/dist/esm/generated/codama/accounts/vaultState.js +0 -70
  737. package/dist/esm/generated/codama/accounts/vaultState.js.map +0 -1
  738. package/dist/esm/generated/codama/instructions/claimContractPayments.js.map +0 -1
  739. package/dist/esm/generated/codama/instructions/claimRental.js +0 -351
  740. package/dist/esm/generated/codama/instructions/claimRental.js.map +0 -1
  741. package/dist/esm/generated/codama/instructions/discountBorrower.js +0 -108
  742. package/dist/esm/generated/codama/instructions/discountBorrower.js.map +0 -1
  743. package/dist/esm/generated/codama/instructions/payRental.js +0 -280
  744. package/dist/esm/generated/codama/instructions/payRental.js.map +0 -1
  745. package/dist/esm/generated/codama/instructions/scheduleRental.js +0 -242
  746. package/dist/esm/generated/codama/instructions/scheduleRental.js.map +0 -1
  747. package/dist/esm/generated/codama/types/borrowerDiscountSet.js +0 -24
  748. package/dist/esm/generated/codama/types/borrowerDiscountSet.js.map +0 -1
  749. package/dist/esm/generated/codama/types/memberConfig.js +0 -28
  750. package/dist/esm/generated/codama/types/memberConfig.js.map +0 -1
  751. package/dist/esm/generated/codama/types/memberType.js +0 -50
  752. package/dist/esm/generated/codama/types/memberType.js.map +0 -1
  753. package/dist/esm/generated/codama/types/paymentFrequency.js +0 -30
  754. package/dist/esm/generated/codama/types/paymentFrequency.js.map +0 -1
  755. package/dist/esm/generated/codama/types/rebateAuthorization.js +0 -30
  756. package/dist/esm/generated/codama/types/rebateAuthorization.js.map +0 -1
  757. package/dist/esm/generated/codama/types/rentalClaimed.js +0 -36
  758. package/dist/esm/generated/codama/types/rentalClaimed.js.map +0 -1
  759. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js +0 -28
  760. package/dist/esm/generated/codama/types/rentalPaymentProcessed.js.map +0 -1
  761. package/dist/esm/generated/codama/types/rentalScheduled.js +0 -30
  762. package/dist/esm/generated/codama/types/rentalScheduled.js.map +0 -1
  763. package/dist/esm/instructions/claimContractPayments.js +0 -76
  764. package/dist/esm/instructions/claimContractPayments.js.map +0 -1
  765. package/dist/esm/instructions/claimRental.js +0 -152
  766. package/dist/esm/instructions/claimRental.js.map +0 -1
  767. package/dist/esm/instructions/discountBorrower.js +0 -72
  768. package/dist/esm/instructions/discountBorrower.js.map +0 -1
  769. package/dist/types/generated/codama/accounts/memberState.d.ts +0 -58
  770. package/dist/types/generated/codama/accounts/memberState.d.ts.map +0 -1
  771. package/dist/types/generated/codama/accounts/vaultState.d.ts +0 -66
  772. package/dist/types/generated/codama/accounts/vaultState.d.ts.map +0 -1
  773. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts +0 -98
  774. package/dist/types/generated/codama/instructions/claimContractPayments.d.ts.map +0 -1
  775. package/dist/types/generated/codama/instructions/claimRental.d.ts +0 -136
  776. package/dist/types/generated/codama/instructions/claimRental.d.ts.map +0 -1
  777. package/dist/types/generated/codama/instructions/discountBorrower.d.ts +0 -56
  778. package/dist/types/generated/codama/instructions/discountBorrower.d.ts.map +0 -1
  779. package/dist/types/generated/codama/instructions/payRental.d.ts +0 -140
  780. package/dist/types/generated/codama/instructions/payRental.d.ts.map +0 -1
  781. package/dist/types/generated/codama/instructions/scheduleRental.d.ts +0 -102
  782. package/dist/types/generated/codama/instructions/scheduleRental.d.ts.map +0 -1
  783. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts +0 -20
  784. package/dist/types/generated/codama/types/borrowerDiscountSet.d.ts.map +0 -1
  785. package/dist/types/generated/codama/types/memberConfig.d.ts +0 -33
  786. package/dist/types/generated/codama/types/memberConfig.d.ts.map +0 -1
  787. package/dist/types/generated/codama/types/memberType.d.ts +0 -57
  788. package/dist/types/generated/codama/types/memberType.d.ts.map +0 -1
  789. package/dist/types/generated/codama/types/paymentFrequency.d.ts +0 -24
  790. package/dist/types/generated/codama/types/paymentFrequency.d.ts.map +0 -1
  791. package/dist/types/generated/codama/types/rebateAuthorization.d.ts +0 -40
  792. package/dist/types/generated/codama/types/rebateAuthorization.d.ts.map +0 -1
  793. package/dist/types/generated/codama/types/rentalClaimed.d.ts +0 -32
  794. package/dist/types/generated/codama/types/rentalClaimed.d.ts.map +0 -1
  795. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts +0 -24
  796. package/dist/types/generated/codama/types/rentalPaymentProcessed.d.ts.map +0 -1
  797. package/dist/types/generated/codama/types/rentalScheduled.d.ts +0 -20
  798. package/dist/types/generated/codama/types/rentalScheduled.d.ts.map +0 -1
  799. package/dist/types/instructions/claimContractPayments.d.ts +0 -78
  800. package/dist/types/instructions/claimContractPayments.d.ts.map +0 -1
  801. package/dist/types/instructions/claimRental.d.ts +0 -88
  802. package/dist/types/instructions/claimRental.d.ts.map +0 -1
  803. package/dist/types/instructions/discountBorrower.d.ts +0 -64
  804. package/dist/types/instructions/discountBorrower.d.ts.map +0 -1
@@ -4,7 +4,8 @@
4
4
  */
5
5
  import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
6
6
  import { getAddresses } from '../utils/config';
7
- import { CONFIG_SEED, CONTRACT_SEED, RENTAL_SEED, RENTAL_AUTHORITY_SEED, BORROWER_STATE_SEED, } from './constants';
7
+ import { getSignerAddress } from '../utils/signer';
8
+ import { CONFIG_SEED, CONTRACT_SEED, RENTAL_SEED, RENTAL_AUTHORITY_SEED, BORROWER_STATE_SEED, ACTIVE_RENTAL_SEED, QUEUED_RENTAL_SEED, } from './constants';
8
9
  /**
9
10
  * Address encoder for PDA seeds
10
11
  */
@@ -20,9 +21,9 @@ const textEncoder = new TextEncoder();
20
21
  * @returns The derived contract PDA
21
22
  */
22
23
  export async function deriveContract(fleet, programAddress) {
23
- const fleetAddress = address(typeof fleet === 'string' ? fleet : fleet);
24
+ const fleetAddress = getSignerAddress(fleet);
24
25
  const program = programAddress
25
- ? address(typeof programAddress === 'string' ? programAddress : programAddress)
26
+ ? getSignerAddress(programAddress)
26
27
  : address(getAddresses().srsly);
27
28
  // Encode seeds to bytes
28
29
  const contractSeedBytes = textEncoder.encode(CONTRACT_SEED);
@@ -34,28 +35,46 @@ export async function deriveContract(fleet, programAddress) {
34
35
  return pda;
35
36
  }
36
37
  /**
37
- * Derive the rental PDA from contract and borrower addresses
38
- * @param contract - The contract public key
39
- * @param borrower - The borrower public key
40
- * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
41
- * @returns The derived rental PDA
38
+ * Internal helper to derive a rental PDA with a named seed suffix
42
39
  */
43
- export async function deriveRental(contract, borrower, programAddress) {
44
- const contractAddress = address(typeof contract === 'string' ? contract : contract);
45
- const borrowerAddress = address(typeof borrower === 'string' ? borrower : borrower);
40
+ async function deriveRentalWithSeed(contract, seedSuffix, programAddress) {
41
+ const contractAddress = getSignerAddress(contract);
46
42
  const program = programAddress
47
- ? address(typeof programAddress === 'string' ? programAddress : programAddress)
43
+ ? getSignerAddress(programAddress)
48
44
  : address(getAddresses().srsly);
49
- // Encode seeds to bytes
50
45
  const rentalSeedBytes = textEncoder.encode(RENTAL_SEED);
51
46
  const contractBytes = addressEncoder.encode(contractAddress);
52
- const borrowerBytes = addressEncoder.encode(borrowerAddress);
47
+ const suffixBytes = textEncoder.encode(seedSuffix);
53
48
  const [pda] = await getProgramDerivedAddress({
54
49
  programAddress: program,
55
- seeds: [rentalSeedBytes, contractBytes, borrowerBytes],
50
+ seeds: [rentalSeedBytes, contractBytes, suffixBytes],
56
51
  });
57
52
  return pda;
58
53
  }
54
+ /**
55
+ * Derive the active rental PDA from contract address
56
+ *
57
+ * Seeds: ["rental_state", contract, "active"]
58
+ *
59
+ * @param contract - The contract public key
60
+ * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
61
+ * @returns The derived active rental PDA
62
+ */
63
+ export async function deriveActiveRental(contract, programAddress) {
64
+ return deriveRentalWithSeed(contract, ACTIVE_RENTAL_SEED, programAddress);
65
+ }
66
+ /**
67
+ * Derive the queued rental PDA from contract address
68
+ *
69
+ * Seeds: ["rental_state", contract, "queued"]
70
+ *
71
+ * @param contract - The contract public key
72
+ * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
73
+ * @returns The derived queued rental PDA
74
+ */
75
+ export async function deriveQueuedRental(contract, programAddress) {
76
+ return deriveRentalWithSeed(contract, QUEUED_RENTAL_SEED, programAddress);
77
+ }
59
78
  /**
60
79
  * Derive the rental authority PDA
61
80
  * @param programAddress - Optional SRSLY program address (defaults to network-specific address)
@@ -63,7 +82,7 @@ export async function deriveRental(contract, borrower, programAddress) {
63
82
  */
64
83
  export async function deriveRentalAuthority(programAddress) {
65
84
  const program = programAddress
66
- ? address(typeof programAddress === 'string' ? programAddress : programAddress)
85
+ ? getSignerAddress(programAddress)
67
86
  : address(getAddresses().srsly);
68
87
  // Encode seeds to bytes
69
88
  const rentalAuthoritySeedBytes = textEncoder.encode(RENTAL_AUTHORITY_SEED);
@@ -80,9 +99,9 @@ export async function deriveRentalAuthority(programAddress) {
80
99
  * @returns The derived borrower state PDA
81
100
  */
82
101
  export async function deriveBorrowerState(borrower, programAddress) {
83
- const borrowerAddress = address(typeof borrower === 'string' ? borrower : borrower);
102
+ const borrowerAddress = getSignerAddress(borrower);
84
103
  const program = programAddress
85
- ? address(typeof programAddress === 'string' ? programAddress : programAddress)
104
+ ? getSignerAddress(programAddress)
86
105
  : address(getAddresses().srsly);
87
106
  // Encode seeds to bytes
88
107
  const borrowerStateSeedBytes = textEncoder.encode(BORROWER_STATE_SEED);
@@ -100,7 +119,7 @@ export async function deriveBorrowerState(borrower, programAddress) {
100
119
  */
101
120
  export async function deriveConfig(programAddress) {
102
121
  const program = programAddress
103
- ? address(typeof programAddress === 'string' ? programAddress : programAddress)
122
+ ? getSignerAddress(programAddress)
104
123
  : address(getAddresses().srsly);
105
124
  // Encode seeds to bytes
106
125
  const configSeedBytes = textEncoder.encode(CONFIG_SEED);
@@ -1 +1 @@
1
- {"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../src/pda/srsly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../src/pda/srsly.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,8 @@
3
3
  * @module pda/thread
4
4
  */
5
5
  import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
6
- import { THREAD_SEED } from './constants';
7
- /**
8
- * Default Antegen program address (same across all networks)
9
- */
10
- const DEFAULT_ANTEGEN_PROGRAM = 'AgV3xRAdyTe1wW4gTW2oAnzHiAGofsxC7jBVGGkzUQbY';
6
+ import { getSignerAddress } from '../utils/signer';
7
+ import { THREAD_SEED, THREAD_FIBER_SEED, ANTEGEN_THREAD_PROGRAM, ANTEGEN_FIBER_PROGRAM } from './constants';
11
8
  /**
12
9
  * Address encoder for PDA seeds
13
10
  */
@@ -17,45 +14,57 @@ const addressEncoder = getAddressEncoder();
17
14
  */
18
15
  const textEncoder = new TextEncoder();
19
16
  /**
20
- * Derive the rental thread PDA
17
+ * Derive the contract thread PDA
21
18
  *
22
- * The rental thread is used by the Antegen program for automated payment scheduling.
23
- * Thread PDAs ALWAYS use seeds: [SEED_THREAD, authority, id]
19
+ * Per-contract thread used by Antegen for automated payment scheduling.
20
+ * Thread PDAs use seeds: [SEED_THREAD, authority, id]
21
+ * where id = contract address.
24
22
  *
25
- * @param rental - The rental state PDA (used as the thread ID)
26
- * @param authority - The rental authority PDA (REQUIRED - always part of seeds)
23
+ * @param contract - The contract PDA (used as the thread ID)
24
+ * @param authority - The rental authority PDA (thread authority)
27
25
  * @param programAddress - Optional Antegen program address (defaults to Antegen program)
28
- * @returns The derived rental thread PDA
29
- *
30
- * @example
31
- * ```typescript
32
- * import { deriveRental, deriveRentalAuthority } from './srsly';
33
- * import { deriveRentalThread } from './thread';
34
- *
35
- * // Derive rental and authority first
36
- * const rental = await deriveRental(contract, borrower);
37
- * const authority = await deriveRentalAuthority();
38
- *
39
- * // Then derive the thread (authority is required!)
40
- * const thread = await deriveRentalThread(rental, authority);
41
- * ```
26
+ * @returns The derived contract thread PDA
42
27
  */
43
- export async function deriveRentalThread(rental, authority, programAddress) {
44
- const rentalAddress = address(typeof rental === 'string' ? rental : rental);
45
- const authorityAddr = address(typeof authority === 'string' ? authority : authority);
28
+ export async function deriveContractThread(contract, authority, programAddress) {
29
+ const contractAddress = getSignerAddress(contract);
30
+ const authorityAddr = getSignerAddress(authority);
46
31
  const program = programAddress
47
- ? address(typeof programAddress === 'string' ? programAddress : programAddress)
48
- : address(DEFAULT_ANTEGEN_PROGRAM);
32
+ ? getSignerAddress(programAddress)
33
+ : address(ANTEGEN_THREAD_PROGRAM);
49
34
  // Encode seeds to bytes
50
35
  // Antegen ALWAYS uses: [SEED_THREAD, authority, id]
51
36
  const threadSeedBytes = textEncoder.encode(THREAD_SEED);
52
37
  const authorityBytes = addressEncoder.encode(authorityAddr);
53
- const rentalBytes = addressEncoder.encode(rentalAddress);
54
- const seeds = [threadSeedBytes, authorityBytes, rentalBytes];
38
+ const contractBytes = addressEncoder.encode(contractAddress);
39
+ const seeds = [threadSeedBytes, authorityBytes, contractBytes];
55
40
  const [pda] = await getProgramDerivedAddress({
56
41
  programAddress: program,
57
42
  seeds,
58
43
  });
59
44
  return pda;
60
45
  }
46
+ /**
47
+ * Derive the fiber PDA for a thread
48
+ *
49
+ * Fiber PDAs use seeds: ["thread_fiber", thread, fiber_index (u8)]
50
+ *
51
+ * @param thread - The thread PDA
52
+ * @param fiberIndex - The fiber index (1 for close_rental, 2 for activate_rental)
53
+ * @param programAddress - Optional Antegen program address
54
+ * @returns The derived fiber PDA
55
+ */
56
+ export async function deriveFiber(thread, fiberIndex, programAddress) {
57
+ const threadAddress = getSignerAddress(thread);
58
+ const program = programAddress
59
+ ? getSignerAddress(programAddress)
60
+ : address(ANTEGEN_FIBER_PROGRAM);
61
+ const fiberSeedBytes = textEncoder.encode(THREAD_FIBER_SEED);
62
+ const threadBytes = addressEncoder.encode(threadAddress);
63
+ const indexBytes = new Uint8Array([fiberIndex]);
64
+ const [pda] = await getProgramDerivedAddress({
65
+ programAddress: program,
66
+ seeds: [fiberSeedBytes, threadBytes, indexBytes],
67
+ });
68
+ return pda;
69
+ }
61
70
  //# sourceMappingURL=thread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/pda/thread.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,uBAAuB,GAAG,8CAA8C,CAAC;AAE/E;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAwB,EACxB,SAA2B,EAC3B,cAAiC;IAEjC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,OAAO,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,CAAC,CAAC,OAAO,CAAC,uBAAkC,CAAC,CAAC;IAEhD,wBAAwB;IACxB,oDAAoD;IACpD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/pda/thread.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE5G;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAyB,EACzB,SAA0B,EAC1B,cAAgC;IAEhC,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEpC,wBAAwB;IACxB,oDAAoD;IACpD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE/D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,UAAkB,EAClB,cAAgC;IAEhC,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC;KACjD,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * @module pda/token
4
4
  */
5
5
  import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
6
+ import { getSignerAddress } from '../utils/signer';
6
7
  /**
7
8
  * SPL Token program address
8
9
  */
@@ -38,13 +39,13 @@ const addressEncoder = getAddressEncoder();
38
39
  * ```
39
40
  */
40
41
  export async function deriveAssociatedTokenAccount(owner, mint, tokenProgramAddress, associatedTokenProgramAddress) {
41
- const ownerAddress = address(typeof owner === 'string' ? owner : owner);
42
- const mintAddress = address(typeof mint === 'string' ? mint : mint);
42
+ const ownerAddress = getSignerAddress(owner);
43
+ const mintAddress = getSignerAddress(mint);
43
44
  const tokenProgram = tokenProgramAddress
44
- ? address(typeof tokenProgramAddress === 'string' ? tokenProgramAddress : tokenProgramAddress)
45
+ ? getSignerAddress(tokenProgramAddress)
45
46
  : address(TOKEN_PROGRAM);
46
47
  const ataProgram = associatedTokenProgramAddress
47
- ? address(typeof associatedTokenProgramAddress === 'string' ? associatedTokenProgramAddress : associatedTokenProgramAddress)
48
+ ? getSignerAddress(associatedTokenProgramAddress)
48
49
  : address(ASSOCIATED_TOKEN_PROGRAM);
49
50
  // Encode all address seeds to bytes for PDA derivation
50
51
  const ownerBytes = addressEncoder.encode(ownerAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/pda/token.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE5F;;GAEG;AACH,MAAM,aAAa,GAAG,6CAA6C,CAAC;AAEpE;;GAEG;AACH,MAAM,wBAAwB,GAAG,8CAA8C,CAAC;AAEhF;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAuB,EACvB,IAAsB,EACtB,mBAAsC,EACtC,6BAAgD;IAEhD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,mBAAmB;QACtC,CAAC,CAAC,OAAO,CAAC,OAAO,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC9F,CAAC,CAAC,OAAO,CAAC,aAAwB,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,6BAA6B;QAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,6BAA6B,KAAK,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,6BAA6B,CAAC;QAC5H,CAAC,CAAC,OAAO,CAAC,wBAAmC,CAAC,CAAC;IAEjD,uDAAuD;IACvD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAErD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,UAAU;QAC1B,KAAK,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,CAAC;KAClD,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/pda/token.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAEzE;;GAEG;AACH,MAAM,aAAa,GAAG,6CAA6C,CAAC;AAEpE;;GAEG;AACH,MAAM,wBAAwB,GAAG,8CAA8C,CAAC;AAEhF;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAsB,EACtB,IAAqB,EACrB,mBAAqC,EACrC,6BAA+C;IAE/C,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,mBAAmB;QACtC,CAAC,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3B,MAAM,UAAU,GAAG,6BAA6B;QAC9C,CAAC,CAAC,gBAAgB,CAAC,6BAA6B,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEtC,uDAAuD;IACvD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAErD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,UAAU;QAC1B,KAAK,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,CAAC;KAClD,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -5,10 +5,11 @@
5
5
  * Supports mainnet-beta, devnet, and localnet environments.
6
6
  */
7
7
  import { SRSLY_PROGRAM_ADDRESS } from '../generated/codama';
8
+ import { ANTEGEN_THREAD_PROGRAM } from '../pda/constants';
8
9
  /**
9
10
  * Antegen program address (same across all networks)
10
11
  */
11
- const ANTEGEN_PROGRAM = 'AgV3xRAdyTe1wW4gTW2oAnzHiAGofsxC7jBVGGkzUQbY';
12
+ const ANTEGEN_PROGRAM = ANTEGEN_THREAD_PROGRAM;
12
13
  /**
13
14
  * Mainnet addresses (production Star Atlas)
14
15
  */
@@ -27,7 +28,7 @@ const ATLASNET_ADDRESSES = {
27
28
  srsly: SRSLY_PROGRAM_ADDRESS,
28
29
  sage: 'SAgEeT8u14TE69JXtanGSgNkEdoPUcLabeyZD2uw8x9',
29
30
  antegen: ANTEGEN_PROGRAM,
30
- atlasMint: 'En3GRDgFiY8ZoHA86k7LwJkBrB7u1UrjxENpni3CFe1C',
31
+ atlasMint: '6PhneWhbN4R3nFutrRUVnE3sNgRsFS6yPrjRC29mMWnv',
31
32
  profileFaction: 'pFACzkX2eSpAjDyEohD6i3VRJvREtH9ynbtM1DwVFsj',
32
33
  gameId: 'GAmEqxNYaUqLmLkXGhzUvv4Ud8FotnWPLj6ChdBkUh9j'
33
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/utils/addresses.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AA+B5D;;GAEG;AACH,MAAM,eAAe,GAAG,8CAA8C,CAAC;AAEvE;;GAEG;AACH,MAAM,iBAAiB,GAAqB;IAC1C,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,6CAA6C;IACnD,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,8CAA8C;IACzD,cAAc,EAAE,6CAA6C;IAC7D,MAAM,EAAE,8CAA8C;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAqB;IAC3C,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,6CAA6C;IACnD,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,8CAA8C;IACzD,cAAc,EAAE,6CAA6C;IAC7D,MAAM,EAAE,8CAA8C;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,oBAAoB,GAAyC;IACjE,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,SAAS,EAAE,kBAAkB;IAC7B,UAAU,EAAE,kBAAkB;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACxD,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,wBAAwB,UAAU,oDAAoD,CACvF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAmB;IACrD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EACnB,CAAC"}
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/utils/addresses.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAmC1D;;GAEG;AACH,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAE/C;;GAEG;AACH,MAAM,iBAAiB,GAAqB;IAC1C,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,6CAA6C;IACnD,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,8CAA8C;IACzD,cAAc,EAAE,6CAA6C;IAC7D,MAAM,EAAE,8CAA8C;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAqB;IAC3C,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,6CAA6C;IACnD,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,8CAA8C;IACzD,cAAc,EAAE,6CAA6C;IAC7D,MAAM,EAAE,8CAA8C;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,oBAAoB,GAAyC;IACjE,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,SAAS,EAAE,kBAAkB;IAC7B,UAAU,EAAE,kBAAkB;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACxD,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,wBAAwB,UAAU,oDAAoD,CACvF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAmB;IACrD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EACnB,CAAC"}
@@ -4,7 +4,9 @@
4
4
  * Provides global configuration with per-call overrides.
5
5
  * Supports both @solana/kit (default) and @solana/web3.js modes.
6
6
  */
7
+ import { SRSLY_PROGRAM_ADDRESS } from '../generated/codama';
7
8
  import { getProgramAddresses } from './addresses';
9
+ import { setSdkConfig as setSlyvaultSdkConfig } from '@wuwei-labs/slyvault';
8
10
  /**
9
11
  * Default RPC URLs for each program set
10
12
  */
@@ -15,9 +17,9 @@ const DEFAULT_RPC_URLS = {
15
17
  'localnet': 'http://localhost:8899'
16
18
  };
17
19
  /**
18
- * Default SRSLY program ID (same across all program sets)
20
+ * Default SRSLY program ID (from generated code)
19
21
  */
20
- const DEFAULT_PROGRAM_ID = 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT';
22
+ const DEFAULT_PROGRAM_ID = SRSLY_PROGRAM_ADDRESS;
21
23
  /**
22
24
  * Global SDK configuration state
23
25
  */
@@ -59,6 +61,11 @@ let globalConfig = {
59
61
  */
60
62
  export function setSdkConfig(config) {
61
63
  globalConfig = { ...globalConfig, ...config };
64
+ // Propagate relevant config to slyvault SDK
65
+ setSlyvaultSdkConfig({
66
+ rpcUrl: config.rpcUrl,
67
+ PublicKey: config.PublicKey,
68
+ });
62
69
  }
63
70
  /**
64
71
  * Get the current global SDK configuration
@@ -113,6 +120,16 @@ export function getProgramId(config) {
113
120
  export function getCommitment(config) {
114
121
  return config.commitment || 'confirmed';
115
122
  }
123
+ /**
124
+ * Get the affiliate configuration from global config with optional overrides
125
+ *
126
+ * @param config - Optional SDK configuration overrides
127
+ * @returns Affiliate configuration if set, undefined otherwise
128
+ */
129
+ export function getAffiliateConfig(config) {
130
+ const merged = mergeConfig(config);
131
+ return merged.affiliate;
132
+ }
116
133
  /**
117
134
  * Get program-specific addresses with optional overrides
118
135
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,mBAAmB,EAAwF,MAAM,aAAa,CAAC;AAkDxI;;GAEG;AACH,MAAM,gBAAgB,GAA+B;IACnD,UAAU,EAAE,+BAA+B;IAC3C,SAAS,EAAE,+BAA+B;IAC1C,SAAS,EAAE,qCAAqC;IAChD,UAAU,EAAE,uBAAuB;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG,6CAA6C,CAAC;AAEzE;;GAEG;AACH,IAAI,YAAY,GAAc;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,YAAY,GAAG;QACb,QAAQ,EAAE,UAAU;KACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,SAA8B;IACxD,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAA2B;IACnD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,WAAW,CAAC,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,MAAM,CAAC,SAAS,IAAI,kBAAkB,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,OAAO,MAAM,CAAC,UAAU,IAAI,WAAW,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAAC,MAA2B;IACtD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEnE,uDAAuD;IACvD,OAAO;QACL,GAAG,gBAAgB;QACnB,KAAK,EAAE,WAAW,CAAC,SAAS,IAAI,gBAAgB,CAAC,KAAK;KACvD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAwF,MAAM,aAAa,CAAC;AACxI,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAsB,MAAM,sBAAsB,CAAC;AA4FhG;;GAEG;AACH,MAAM,gBAAgB,GAA+B;IACnD,UAAU,EAAE,+BAA+B;IAC3C,SAAS,EAAE,+BAA+B;IAC1C,SAAS,EAAE,qCAAqC;IAChD,UAAU,EAAE,uBAAuB;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEjD;;GAEG;AACH,IAAI,YAAY,GAAc;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IAE9C,4CAA4C;IAC5C,oBAAoB,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,YAAY,GAAG;QACb,QAAQ,EAAE,UAAU;KACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,SAA8B;IACxD,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAA2B;IACnD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,WAAW,CAAC,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,MAAM,CAAC,SAAS,IAAI,kBAAkB,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,OAAO,MAAM,CAAC,UAAU,IAAI,WAAW,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA2B;IAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAAC,MAA2B;IACtD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEnE,uDAAuD;IACvD,OAAO;QACL,GAAG,gBAAgB;QACnB,KAAK,EAAE,WAAW,CAAC,SAAS,IAAI,gBAAgB,CAAC,KAAK;KACvD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * @purpose Discount authorization helper for server-side signing
3
+ * @module utils/discountAuth
4
+ */
5
+ import { address, createKeyPairSignerFromBytes } from '@solana/kit';
6
+ import { createDiscountAuth as slyvaultCreateDiscountAuth, fetchMember } from '@wuwei-labs/slyvault';
7
+ import { getRpcUrl, mergeConfig } from './config';
8
+ import { createRpc } from './rpc';
9
+ /**
10
+ * Parse a stringified keypair (JSON array of bytes) into a KeyPairSigner
11
+ */
12
+ async function parseKeypairString(keypairString) {
13
+ try {
14
+ const bytes = JSON.parse(keypairString);
15
+ if (!Array.isArray(bytes) || bytes.length !== 64) {
16
+ throw new Error('Invalid keypair: expected array of 64 bytes');
17
+ }
18
+ return await createKeyPairSignerFromBytes(new Uint8Array(bytes));
19
+ }
20
+ catch (e) {
21
+ throw new Error(`Failed to parse keypair string: ${e.message}`);
22
+ }
23
+ }
24
+ /**
25
+ * Browser-compatible base64 encoding (Uint8Array -> string)
26
+ */
27
+ function uint8ArrayToBase64(bytes) {
28
+ let binary = '';
29
+ for (let i = 0; i < bytes.length; i++) {
30
+ binary += String.fromCharCode(bytes[i]);
31
+ }
32
+ return btoa(binary);
33
+ }
34
+ /**
35
+ * Browser-compatible base64 decoding (string -> Uint8Array)
36
+ */
37
+ function base64ToUint8Array(base64) {
38
+ const binary = atob(base64);
39
+ const bytes = new Uint8Array(binary.length);
40
+ for (let i = 0; i < binary.length; i++) {
41
+ bytes[i] = binary.charCodeAt(i);
42
+ }
43
+ return bytes;
44
+ }
45
+ /**
46
+ * Create a signed discount authorization
47
+ *
48
+ * Server-side helper that fetches the member to get the nonce,
49
+ * then creates a signed discount authorization in a JSON-serializable format.
50
+ *
51
+ * @param params - Discount parameters including member address
52
+ * @param config - Optional SDK configuration overrides
53
+ * @returns A SerializedDiscountAuth object ready for API transport
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * import { createDiscount } from '@wuwei-labs/srsly';
58
+ *
59
+ * const discountAuth = await createDiscount({
60
+ * address: 'AFFILIATE_MEMBER_PDA',
61
+ * discount: 10, // 10%
62
+ * expirySlots: 1000, // ~6-7 minutes
63
+ * discountAuthority: serverKeypair,
64
+ * });
65
+ *
66
+ * // Ready to return via API - no serialization needed
67
+ * return discountAuth;
68
+ * ```
69
+ */
70
+ export async function createDiscount(params, config) {
71
+ const finalConfig = mergeConfig(config);
72
+ const rpcUrl = getRpcUrl(finalConfig);
73
+ // Fetch member to get nonce
74
+ const memberAddr = address(params.address);
75
+ const member = await fetchMember(memberAddr, rpcUrl);
76
+ // Fetch current slot and compute absolute expiry
77
+ const rpc = createRpc(rpcUrl);
78
+ const currentSlot = await rpc.getSlot({ commitment: 'confirmed' }).send();
79
+ const expirySlot = currentSlot + BigInt(params.expirySlots);
80
+ // Convert discountAuthority to KeyPairSigner
81
+ let discountAuthority;
82
+ if (typeof params.discountAuthority === 'string') {
83
+ discountAuthority = await parseKeypairString(params.discountAuthority);
84
+ }
85
+ else if (params.discountAuthority instanceof Uint8Array) {
86
+ discountAuthority = await createKeyPairSignerFromBytes(params.discountAuthority);
87
+ }
88
+ else if (Array.isArray(params.discountAuthority)) {
89
+ discountAuthority = await createKeyPairSignerFromBytes(new Uint8Array(params.discountAuthority));
90
+ }
91
+ else if ('secretKey' in params.discountAuthority && params.discountAuthority.secretKey instanceof Uint8Array) {
92
+ // web3.js Keypair
93
+ discountAuthority = await createKeyPairSignerFromBytes(params.discountAuthority.secretKey);
94
+ }
95
+ else {
96
+ // Already a KeyPairSigner
97
+ discountAuthority = params.discountAuthority;
98
+ }
99
+ // Create the raw discount auth
100
+ const contextAddr = address(params.contextKey);
101
+ const raw = await slyvaultCreateDiscountAuth({
102
+ contextKey: contextAddr,
103
+ memberNonce: member.data.nonce,
104
+ discount: params.discount,
105
+ expirySlot,
106
+ discountAuthority,
107
+ });
108
+ // Return serialized format for API transport
109
+ return serializeDiscountAuth({ ...raw, context: contextAddr });
110
+ }
111
+ /**
112
+ * Deserialize a discount authorization from API format
113
+ *
114
+ * Converts the JSON-safe SerializedDiscountAuth back to the format
115
+ * expected by the on-chain program.
116
+ *
117
+ * @internal Used by acceptRental and claimRental
118
+ */
119
+ export function deserializeDiscountAuth(serialized) {
120
+ return {
121
+ context: address(serialized.context),
122
+ memberNonce: serialized.memberNonce,
123
+ discountBps: serialized.discountBps,
124
+ expirySlot: BigInt(serialized.expirySlot),
125
+ signature: base64ToUint8Array(serialized.signature),
126
+ };
127
+ }
128
+ /**
129
+ * Serialize a raw discount authorization to JSON-safe format
130
+ *
131
+ * Converts bigint expirySlot and Uint8Array signature to string representations
132
+ * suitable for API transport (JSON.stringify/JSON.parse safe).
133
+ *
134
+ * @param raw - Raw discount authorization with bigint/Uint8Array fields
135
+ * @returns SerializedDiscountAuth ready for JSON transport
136
+ */
137
+ export function serializeDiscountAuth(raw) {
138
+ return {
139
+ context: raw.context,
140
+ memberNonce: raw.memberNonce,
141
+ discountBps: raw.discountBps,
142
+ expirySlot: raw.expirySlot.toString(),
143
+ signature: uint8ArrayToBase64(new Uint8Array(raw.signature)),
144
+ };
145
+ }
146
+ /**
147
+ * Check if a value is a SerializedDiscountAuth
148
+ */
149
+ export function isSerializedDiscountAuth(value) {
150
+ return (typeof value === 'object' &&
151
+ value !== null &&
152
+ 'signature' in value &&
153
+ typeof value.signature === 'string');
154
+ }
155
+ //# 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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"}
@@ -3,7 +3,7 @@
3
3
  * @module utils
4
4
  */
5
5
  // Configuration
6
- export { setSdkConfig, getSdkConfig, clearSdkConfig, mergeConfig, getAddresses } from './config';
6
+ export { setSdkConfig, getSdkConfig, clearSdkConfig, mergeConfig, getAddresses, getAffiliateConfig, getRpcUrl } from './config';
7
7
  // Network Addresses
8
8
  export { getProgramAddresses, getNetworkAddresses, isValidProgramSet, isValidNetwork, MAINNET_ADDRESSES, ATLASNET_ADDRESSES } from './addresses';
9
9
  // Signer Utilities
@@ -12,8 +12,14 @@ export { toTransactionSigner, validateAddress, isWeb3jsSigner, isKitSigner, isAd
12
12
  export { toWeb3Instruction, toAddress } from './web3js';
13
13
  // Instruction Utilities
14
14
  export { prepareInstructions } from './instructions';
15
+ // Instruction Result
16
+ export { InstructionResult } from './instructionResult';
15
17
  // RPC Utilities
16
18
  export { createRpc, setRpcDebug, isRpcDebugEnabled } from './rpc';
17
19
  // Address Lookup Table Utilities
18
20
  export { fetchLookupTable, getLookupTableAddress } from './lookupTable';
21
+ // Rental Utilities
22
+ export { hasActiveRental, hasQueuedRental, } from './rental';
23
+ // Discount Authorization Utilities
24
+ export { createDiscount, serializeDiscountAuth, deserializeDiscountAuth, isSerializedDiscountAuth } from './discountAuth';
19
25
  //# 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,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EAGb,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EAEhB,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAElE,iCAAiC;AACjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EAEhB,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAExB,qBAAqB;AACrB,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAE7B,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAElE,iCAAiC;AACjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAElB,mCAAmC;AACnC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAKzB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @purpose InstructionResult - Array-like wrapper for @solana/kit Instructions with legacy conversion
3
+ *
4
+ * Provides native @solana/kit Instruction[] compatibility with optional .toLegacy() conversion
5
+ * for web3.js users.
6
+ */
7
+ import { getSdkConfig } from './config';
8
+ /**
9
+ * Convert a single @solana/kit Instruction to legacy web3.js format
10
+ */
11
+ function convertToLegacy(instruction, PublicKey) {
12
+ const accounts = instruction.accounts || [];
13
+ const data = instruction.data || new Uint8Array();
14
+ return {
15
+ keys: accounts.map(account => ({
16
+ pubkey: new PublicKey(String(account.address)),
17
+ isWritable: (account.role & 1) === 1, // Check writable bit
18
+ isSigner: (account.role & 2) === 2 // Check signer bit
19
+ })),
20
+ programId: new PublicKey(String(instruction.programAddress)),
21
+ data
22
+ };
23
+ }
24
+ /**
25
+ * InstructionResult - Wrapper for @solana/kit Instructions with legacy conversion
26
+ *
27
+ * Contains a plain Instruction[] array accessible via `.instructions`.
28
+ * Supports iteration (`for...of`, spread) and `.toLegacy()` conversion for web3.js.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Kit users - access instructions directly
33
+ * const result = await createContract(params);
34
+ * for (const ix of result) { ... }
35
+ * // Or unwrap: result.instructions
36
+ *
37
+ * // Web3.js users - convert to legacy format
38
+ * import { PublicKey } from '@solana/web3.js';
39
+ * const legacyIxs = result.toLegacy(PublicKey);
40
+ * // Or if PublicKey is configured in SDK:
41
+ * setSdkConfig({ PublicKey });
42
+ * const legacyIxs = result.toLegacy();
43
+ * ```
44
+ */
45
+ export class InstructionResult {
46
+ instructions;
47
+ constructor(instructions) {
48
+ this.instructions = instructions;
49
+ }
50
+ /**
51
+ * Convert to legacy web3.js instruction format
52
+ *
53
+ * @param PublicKey - Optional PublicKey constructor. If not provided,
54
+ * uses the PublicKey from SDK config (set via setSdkConfig)
55
+ * @returns Array of instructions in web3.js format
56
+ * @throws Error if no PublicKey is available
57
+ */
58
+ toLegacy(PublicKey) {
59
+ const pk = PublicKey || getSdkConfig().PublicKey;
60
+ if (!pk) {
61
+ throw new Error('PublicKey constructor required - pass it to toLegacy() or set in SDK config via setSdkConfig({ PublicKey })');
62
+ }
63
+ return this.instructions.map(ix => convertToLegacy(ix, pk));
64
+ }
65
+ get length() {
66
+ return this.instructions.length;
67
+ }
68
+ [Symbol.iterator]() {
69
+ return this.instructions[Symbol.iterator]();
70
+ }
71
+ }
72
+ //# sourceMappingURL=instructionResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructionResult.js","sourceRoot":"","sources":["../../../src/utils/instructionResult.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAA6B,MAAM,UAAU,CAAC;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,MAAM,OAAO,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,YAAY,EAAE,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"}