@wuwei-labs/srsly 2.0.0-beta.3 → 2.0.0-beta.31

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 (395) hide show
  1. package/README.md +322 -197
  2. package/dist/cjs/codama/accounts/config.js +88 -0
  3. package/dist/cjs/codama/accounts/config.js.map +1 -0
  4. package/dist/cjs/codama/{devnet/accounts → accounts}/contractState.js +2 -7
  5. package/dist/cjs/codama/accounts/contractState.js.map +1 -0
  6. package/dist/cjs/codama/{devnet/accounts → accounts}/index.js +1 -1
  7. package/dist/cjs/codama/accounts/index.js.map +1 -0
  8. package/dist/cjs/codama/{devnet/accounts → accounts}/rentalState.js +3 -1
  9. package/dist/cjs/codama/accounts/rentalState.js.map +1 -0
  10. package/dist/cjs/codama/accounts/thread.js.map +1 -0
  11. package/dist/cjs/codama/errors/index.js.map +1 -0
  12. package/dist/cjs/codama/{devnet/errors → errors}/srsly.js +30 -3
  13. package/dist/cjs/codama/errors/srsly.js.map +1 -0
  14. package/dist/cjs/codama/index.js.map +1 -0
  15. package/dist/cjs/codama/{devnet/instructions → instructions}/acceptRental.js +30 -39
  16. package/dist/cjs/codama/instructions/acceptRental.js.map +1 -0
  17. package/dist/cjs/codama/{devnet/instructions → instructions}/cancelRental.js +10 -33
  18. package/dist/cjs/codama/instructions/cancelRental.js.map +1 -0
  19. package/dist/cjs/codama/{devnet/instructions → instructions}/closeContract.js +15 -23
  20. package/dist/cjs/codama/instructions/closeContract.js.map +1 -0
  21. package/dist/cjs/codama/{devnet/instructions → instructions}/closeRental.js +19 -19
  22. package/dist/cjs/codama/instructions/closeRental.js.map +1 -0
  23. package/dist/cjs/codama/{devnet/instructions → instructions}/createContract.js +13 -16
  24. package/dist/cjs/codama/instructions/createContract.js.map +1 -0
  25. package/dist/cjs/codama/{devnet/instructions → instructions}/index.js +2 -1
  26. package/dist/cjs/codama/instructions/index.js.map +1 -0
  27. package/dist/cjs/codama/instructions/initializeConfig.js +131 -0
  28. package/dist/cjs/codama/instructions/initializeConfig.js.map +1 -0
  29. package/dist/cjs/codama/{devnet/instructions → instructions}/payRental.js +32 -23
  30. package/dist/cjs/codama/instructions/payRental.js.map +1 -0
  31. package/dist/cjs/codama/{devnet/instructions → instructions}/resetRental.js +0 -9
  32. package/dist/cjs/codama/instructions/resetRental.js.map +1 -0
  33. package/dist/cjs/codama/instructions/updateConfig.js +145 -0
  34. package/dist/cjs/codama/instructions/updateConfig.js.map +1 -0
  35. package/dist/cjs/codama/programs/index.js.map +1 -0
  36. package/dist/cjs/codama/{devnet/programs → programs}/srsly.js +12 -8
  37. package/dist/cjs/codama/programs/srsly.js.map +1 -0
  38. package/dist/cjs/codama/shared/index.js.map +1 -0
  39. package/dist/cjs/codama/types/clockData.js.map +1 -0
  40. package/dist/cjs/codama/types/equality.js.map +1 -0
  41. package/dist/cjs/codama/types/execContext.js.map +1 -0
  42. package/dist/cjs/codama/types/index.js.map +1 -0
  43. package/dist/cjs/codama/types/paymentFrequency.js.map +1 -0
  44. package/dist/cjs/codama/types/serializableAccount.js.map +1 -0
  45. package/dist/cjs/codama/types/serializableInstruction.js.map +1 -0
  46. package/dist/cjs/codama/types/threadResponse.js.map +1 -0
  47. package/dist/cjs/codama/types/trigger.js.map +1 -0
  48. package/dist/cjs/codama/types/triggerContext.js.map +1 -0
  49. package/dist/cjs/contract/close.js +74 -31
  50. package/dist/cjs/contract/close.js.map +1 -1
  51. package/dist/cjs/contract/create.js +79 -35
  52. package/dist/cjs/contract/create.js.map +1 -1
  53. package/dist/cjs/index.js +25 -2
  54. package/dist/cjs/index.js.map +1 -1
  55. package/dist/cjs/package.json +53 -0
  56. package/dist/cjs/rental/accept.js +76 -42
  57. package/dist/cjs/rental/accept.js.map +1 -1
  58. package/dist/cjs/rental/cancel.js +40 -28
  59. package/dist/cjs/rental/cancel.js.map +1 -1
  60. package/dist/cjs/rental/close.js +42 -30
  61. package/dist/cjs/rental/close.js.map +1 -1
  62. package/dist/cjs/rental/reset.js +50 -43
  63. package/dist/cjs/rental/reset.js.map +1 -1
  64. package/dist/cjs/types/paymentFrequency.js +58 -0
  65. package/dist/cjs/types/paymentFrequency.js.map +1 -0
  66. package/dist/cjs/utils/config.js +216 -0
  67. package/dist/cjs/utils/config.js.map +1 -0
  68. package/dist/cjs/utils/constants.js +55 -27
  69. package/dist/cjs/utils/constants.js.map +1 -1
  70. package/dist/cjs/utils/duration.js +77 -0
  71. package/dist/cjs/utils/duration.js.map +1 -0
  72. package/dist/cjs/utils/index.js +4 -0
  73. package/dist/cjs/utils/index.js.map +1 -1
  74. package/dist/cjs/utils/instruction-converter.js +66 -0
  75. package/dist/cjs/utils/instruction-converter.js.map +1 -0
  76. package/dist/cjs/utils/paymentFrequency.js +60 -0
  77. package/dist/cjs/utils/paymentFrequency.js.map +1 -0
  78. package/dist/cjs/utils/profiles.js +38 -18
  79. package/dist/cjs/utils/profiles.js.map +1 -1
  80. package/dist/cjs/utils/types.js +6 -0
  81. package/dist/cjs/utils/types.js.map +1 -0
  82. package/dist/esm/codama/accounts/config.js +76 -0
  83. package/dist/esm/codama/accounts/config.js.map +1 -0
  84. package/dist/esm/codama/{devnet/accounts → accounts}/contractState.js +3 -7
  85. package/dist/esm/codama/accounts/contractState.js.map +1 -0
  86. package/dist/esm/codama/{devnet/accounts → accounts}/index.js +1 -1
  87. package/dist/esm/codama/accounts/index.js.map +1 -0
  88. package/dist/esm/codama/{devnet/accounts → accounts}/rentalState.js +3 -1
  89. package/dist/esm/codama/accounts/rentalState.js.map +1 -0
  90. package/dist/esm/codama/accounts/thread.js.map +1 -0
  91. package/dist/esm/codama/errors/index.js.map +1 -0
  92. package/dist/esm/codama/{devnet/errors → errors}/srsly.js +29 -2
  93. package/dist/esm/codama/errors/srsly.js.map +1 -0
  94. package/dist/esm/codama/index.js.map +1 -0
  95. package/dist/esm/codama/{devnet/instructions → instructions}/acceptRental.js +30 -39
  96. package/dist/esm/codama/instructions/acceptRental.js.map +1 -0
  97. package/dist/esm/codama/{devnet/instructions → instructions}/cancelRental.js +10 -33
  98. package/dist/esm/codama/instructions/cancelRental.js.map +1 -0
  99. package/dist/esm/codama/{devnet/instructions → instructions}/closeContract.js +17 -25
  100. package/dist/esm/codama/instructions/closeContract.js.map +1 -0
  101. package/dist/esm/codama/{devnet/instructions → instructions}/closeRental.js +19 -19
  102. package/dist/esm/codama/instructions/closeRental.js.map +1 -0
  103. package/dist/esm/codama/{devnet/instructions → instructions}/createContract.js +13 -16
  104. package/dist/esm/codama/instructions/createContract.js.map +1 -0
  105. package/dist/esm/codama/{devnet/instructions → instructions}/index.js +2 -1
  106. package/dist/esm/codama/instructions/index.js.map +1 -0
  107. package/dist/esm/codama/instructions/initializeConfig.js +121 -0
  108. package/dist/esm/codama/instructions/initializeConfig.js.map +1 -0
  109. package/dist/esm/codama/{devnet/instructions → instructions}/payRental.js +34 -25
  110. package/dist/esm/codama/instructions/payRental.js.map +1 -0
  111. package/dist/esm/codama/{devnet/instructions → instructions}/resetRental.js +0 -9
  112. package/dist/esm/codama/instructions/resetRental.js.map +1 -0
  113. package/dist/esm/codama/instructions/updateConfig.js +135 -0
  114. package/dist/esm/codama/instructions/updateConfig.js.map +1 -0
  115. package/dist/esm/codama/programs/index.js.map +1 -0
  116. package/dist/esm/codama/{devnet/programs → programs}/srsly.js +12 -8
  117. package/dist/esm/codama/programs/srsly.js.map +1 -0
  118. package/dist/esm/codama/shared/index.js.map +1 -0
  119. package/dist/esm/codama/types/clockData.js.map +1 -0
  120. package/dist/esm/codama/types/equality.js.map +1 -0
  121. package/dist/esm/codama/types/execContext.js.map +1 -0
  122. package/dist/esm/codama/types/index.js.map +1 -0
  123. package/dist/esm/codama/types/paymentFrequency.js.map +1 -0
  124. package/dist/esm/codama/types/serializableAccount.js.map +1 -0
  125. package/dist/esm/codama/types/serializableInstruction.js.map +1 -0
  126. package/dist/esm/codama/types/threadResponse.js.map +1 -0
  127. package/dist/esm/codama/types/trigger.js.map +1 -0
  128. package/dist/esm/codama/types/triggerContext.js.map +1 -0
  129. package/dist/esm/contract/close.js +75 -32
  130. package/dist/esm/contract/close.js.map +1 -1
  131. package/dist/esm/contract/create.js +79 -34
  132. package/dist/esm/contract/create.js.map +1 -1
  133. package/dist/esm/index.js +8 -2
  134. package/dist/esm/index.js.map +1 -1
  135. package/dist/esm/package.json +53 -0
  136. package/dist/esm/rental/accept.js +77 -43
  137. package/dist/esm/rental/accept.js.map +1 -1
  138. package/dist/esm/rental/cancel.js +40 -28
  139. package/dist/esm/rental/cancel.js.map +1 -1
  140. package/dist/esm/rental/close.js +42 -30
  141. package/dist/esm/rental/close.js.map +1 -1
  142. package/dist/esm/rental/reset.js +51 -44
  143. package/dist/esm/rental/reset.js.map +1 -1
  144. package/dist/esm/types/paymentFrequency.js +53 -0
  145. package/dist/esm/types/paymentFrequency.js.map +1 -0
  146. package/dist/esm/utils/config.js +173 -0
  147. package/dist/esm/utils/config.js.map +1 -0
  148. package/dist/esm/utils/constants.js +49 -24
  149. package/dist/esm/utils/constants.js.map +1 -1
  150. package/dist/esm/utils/duration.js +68 -0
  151. package/dist/esm/utils/duration.js.map +1 -0
  152. package/dist/esm/utils/index.js +4 -0
  153. package/dist/esm/utils/index.js.map +1 -1
  154. package/dist/esm/utils/instruction-converter.js +62 -0
  155. package/dist/esm/utils/instruction-converter.js.map +1 -0
  156. package/dist/esm/utils/paymentFrequency.js +55 -0
  157. package/dist/esm/utils/paymentFrequency.js.map +1 -0
  158. package/dist/esm/utils/profiles.js +39 -19
  159. package/dist/esm/utils/profiles.js.map +1 -1
  160. package/dist/esm/utils/types.js +5 -0
  161. package/dist/esm/utils/types.js.map +1 -0
  162. package/dist/types/codama/accounts/config.d.ts +52 -0
  163. package/dist/types/codama/accounts/config.d.ts.map +1 -0
  164. package/dist/types/codama/{devnet/accounts → accounts}/contractState.d.ts +2 -4
  165. package/dist/types/codama/accounts/contractState.d.ts.map +1 -0
  166. package/dist/types/codama/{devnet/accounts → accounts}/index.d.ts +1 -1
  167. package/dist/types/codama/accounts/index.d.ts.map +1 -0
  168. package/dist/types/codama/{devnet/accounts → accounts}/rentalState.d.ts +2 -0
  169. package/dist/types/codama/accounts/rentalState.d.ts.map +1 -0
  170. package/dist/types/codama/accounts/thread.d.ts.map +1 -0
  171. package/dist/types/codama/errors/index.d.ts.map +1 -0
  172. package/dist/types/codama/{devnet/errors → errors}/srsly.d.ts +20 -2
  173. package/dist/types/codama/errors/srsly.d.ts.map +1 -0
  174. package/dist/types/codama/index.d.ts.map +1 -0
  175. package/dist/types/codama/instructions/acceptRental.d.ts +135 -0
  176. package/dist/types/codama/instructions/acceptRental.d.ts.map +1 -0
  177. package/dist/types/codama/{devnet/instructions → instructions}/cancelRental.d.ts +14 -10
  178. package/dist/types/codama/instructions/cancelRental.d.ts.map +1 -0
  179. package/dist/types/codama/instructions/closeContract.d.ts +104 -0
  180. package/dist/types/codama/instructions/closeContract.d.ts.map +1 -0
  181. package/dist/types/codama/{devnet/instructions → instructions}/closeRental.d.ts +20 -12
  182. package/dist/types/codama/instructions/closeRental.d.ts.map +1 -0
  183. package/dist/types/codama/instructions/createContract.d.ts +112 -0
  184. package/dist/types/codama/instructions/createContract.d.ts.map +1 -0
  185. package/dist/types/codama/{devnet/instructions → instructions}/index.d.ts +2 -1
  186. package/dist/types/codama/instructions/index.d.ts.map +1 -0
  187. package/dist/types/codama/instructions/initializeConfig.d.ts +60 -0
  188. package/dist/types/codama/instructions/initializeConfig.d.ts.map +1 -0
  189. package/dist/types/codama/{devnet/instructions → instructions}/payRental.d.ts +28 -13
  190. package/dist/types/codama/instructions/payRental.d.ts.map +1 -0
  191. package/dist/types/codama/{devnet/instructions → instructions}/resetRental.d.ts +3 -3
  192. package/dist/types/codama/instructions/resetRental.d.ts.map +1 -0
  193. package/dist/types/codama/instructions/updateConfig.d.ts +93 -0
  194. package/dist/types/codama/instructions/updateConfig.d.ts.map +1 -0
  195. package/dist/types/codama/programs/index.d.ts.map +1 -0
  196. package/dist/types/codama/{devnet/programs → programs}/srsly.d.ts +11 -8
  197. package/dist/types/codama/programs/srsly.d.ts.map +1 -0
  198. package/dist/types/codama/shared/index.d.ts.map +1 -0
  199. package/dist/types/codama/types/clockData.d.ts.map +1 -0
  200. package/dist/types/codama/types/equality.d.ts.map +1 -0
  201. package/dist/types/codama/types/execContext.d.ts.map +1 -0
  202. package/dist/types/codama/types/index.d.ts.map +1 -0
  203. package/dist/types/codama/types/paymentFrequency.d.ts.map +1 -0
  204. package/dist/types/codama/types/serializableAccount.d.ts.map +1 -0
  205. package/dist/types/codama/types/serializableInstruction.d.ts.map +1 -0
  206. package/dist/types/codama/types/threadResponse.d.ts.map +1 -0
  207. package/dist/types/codama/types/trigger.d.ts.map +1 -0
  208. package/dist/types/codama/types/triggerContext.d.ts.map +1 -0
  209. package/dist/types/contract/close.d.ts +29 -13
  210. package/dist/types/contract/close.d.ts.map +1 -1
  211. package/dist/types/contract/create.d.ts +55 -54
  212. package/dist/types/contract/create.d.ts.map +1 -1
  213. package/dist/types/index.d.ts +5 -2
  214. package/dist/types/index.d.ts.map +1 -1
  215. package/dist/types/rental/accept.d.ts +65 -15
  216. package/dist/types/rental/accept.d.ts.map +1 -1
  217. package/dist/types/rental/cancel.d.ts +36 -8
  218. package/dist/types/rental/cancel.d.ts.map +1 -1
  219. package/dist/types/rental/close.d.ts +36 -8
  220. package/dist/types/rental/close.d.ts.map +1 -1
  221. package/dist/types/rental/reset.d.ts +42 -11
  222. package/dist/types/rental/reset.d.ts.map +1 -1
  223. package/dist/types/types/paymentFrequency.d.ts +44 -0
  224. package/dist/types/types/paymentFrequency.d.ts.map +1 -0
  225. package/dist/types/utils/config.d.ts +110 -0
  226. package/dist/types/utils/config.d.ts.map +1 -0
  227. package/dist/types/utils/constants.d.ts +14 -11
  228. package/dist/types/utils/constants.d.ts.map +1 -1
  229. package/dist/types/utils/duration.d.ts +56 -0
  230. package/dist/types/utils/duration.d.ts.map +1 -0
  231. package/dist/types/utils/index.d.ts +4 -0
  232. package/dist/types/utils/index.d.ts.map +1 -1
  233. package/dist/types/utils/instruction-converter.d.ts +117 -0
  234. package/dist/types/utils/instruction-converter.d.ts.map +1 -0
  235. package/dist/types/utils/paymentFrequency.d.ts +18 -0
  236. package/dist/types/utils/paymentFrequency.d.ts.map +1 -0
  237. package/dist/types/utils/profiles.d.ts +14 -8
  238. package/dist/types/utils/profiles.d.ts.map +1 -1
  239. package/dist/types/utils/types.d.ts +6 -0
  240. package/dist/types/utils/types.d.ts.map +1 -0
  241. package/package.json +33 -25
  242. package/target/idl/{srsly-devnet.json → srsly.json} +795 -523
  243. package/dist/cjs/codama/devnet/accounts/contractState.js.map +0 -1
  244. package/dist/cjs/codama/devnet/accounts/fleet.js +0 -77
  245. package/dist/cjs/codama/devnet/accounts/fleet.js.map +0 -1
  246. package/dist/cjs/codama/devnet/accounts/index.js.map +0 -1
  247. package/dist/cjs/codama/devnet/accounts/rentalState.js.map +0 -1
  248. package/dist/cjs/codama/devnet/accounts/thread.js.map +0 -1
  249. package/dist/cjs/codama/devnet/errors/index.js.map +0 -1
  250. package/dist/cjs/codama/devnet/errors/srsly.js.map +0 -1
  251. package/dist/cjs/codama/devnet/index.js.map +0 -1
  252. package/dist/cjs/codama/devnet/instructions/acceptRental.js.map +0 -1
  253. package/dist/cjs/codama/devnet/instructions/cancelRental.js.map +0 -1
  254. package/dist/cjs/codama/devnet/instructions/closeContract.js.map +0 -1
  255. package/dist/cjs/codama/devnet/instructions/closeRental.js.map +0 -1
  256. package/dist/cjs/codama/devnet/instructions/createContract.js.map +0 -1
  257. package/dist/cjs/codama/devnet/instructions/index.js.map +0 -1
  258. package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js +0 -152
  259. package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
  260. package/dist/cjs/codama/devnet/instructions/payRental.js.map +0 -1
  261. package/dist/cjs/codama/devnet/instructions/resetRental.js.map +0 -1
  262. package/dist/cjs/codama/devnet/programs/index.js.map +0 -1
  263. package/dist/cjs/codama/devnet/programs/srsly.js.map +0 -1
  264. package/dist/cjs/codama/devnet/shared/index.js.map +0 -1
  265. package/dist/cjs/codama/devnet/types/clockData.js.map +0 -1
  266. package/dist/cjs/codama/devnet/types/equality.js.map +0 -1
  267. package/dist/cjs/codama/devnet/types/execContext.js.map +0 -1
  268. package/dist/cjs/codama/devnet/types/index.js.map +0 -1
  269. package/dist/cjs/codama/devnet/types/paymentFrequency.js.map +0 -1
  270. package/dist/cjs/codama/devnet/types/serializableAccount.js.map +0 -1
  271. package/dist/cjs/codama/devnet/types/serializableInstruction.js.map +0 -1
  272. package/dist/cjs/codama/devnet/types/threadResponse.js.map +0 -1
  273. package/dist/cjs/codama/devnet/types/trigger.js.map +0 -1
  274. package/dist/cjs/codama/devnet/types/triggerContext.js.map +0 -1
  275. package/dist/cjs/network.js +0 -107
  276. package/dist/cjs/network.js.map +0 -1
  277. package/dist/esm/codama/devnet/accounts/contractState.js.map +0 -1
  278. package/dist/esm/codama/devnet/accounts/fleet.js +0 -64
  279. package/dist/esm/codama/devnet/accounts/fleet.js.map +0 -1
  280. package/dist/esm/codama/devnet/accounts/index.js.map +0 -1
  281. package/dist/esm/codama/devnet/accounts/rentalState.js.map +0 -1
  282. package/dist/esm/codama/devnet/accounts/thread.js.map +0 -1
  283. package/dist/esm/codama/devnet/errors/index.js.map +0 -1
  284. package/dist/esm/codama/devnet/errors/srsly.js.map +0 -1
  285. package/dist/esm/codama/devnet/index.js.map +0 -1
  286. package/dist/esm/codama/devnet/instructions/acceptRental.js.map +0 -1
  287. package/dist/esm/codama/devnet/instructions/cancelRental.js.map +0 -1
  288. package/dist/esm/codama/devnet/instructions/closeContract.js.map +0 -1
  289. package/dist/esm/codama/devnet/instructions/closeRental.js.map +0 -1
  290. package/dist/esm/codama/devnet/instructions/createContract.js.map +0 -1
  291. package/dist/esm/codama/devnet/instructions/index.js.map +0 -1
  292. package/dist/esm/codama/devnet/instructions/normalizeAdmin.js +0 -142
  293. package/dist/esm/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
  294. package/dist/esm/codama/devnet/instructions/payRental.js.map +0 -1
  295. package/dist/esm/codama/devnet/instructions/resetRental.js.map +0 -1
  296. package/dist/esm/codama/devnet/programs/index.js.map +0 -1
  297. package/dist/esm/codama/devnet/programs/srsly.js.map +0 -1
  298. package/dist/esm/codama/devnet/shared/index.js.map +0 -1
  299. package/dist/esm/codama/devnet/types/clockData.js.map +0 -1
  300. package/dist/esm/codama/devnet/types/equality.js.map +0 -1
  301. package/dist/esm/codama/devnet/types/execContext.js.map +0 -1
  302. package/dist/esm/codama/devnet/types/index.js.map +0 -1
  303. package/dist/esm/codama/devnet/types/paymentFrequency.js.map +0 -1
  304. package/dist/esm/codama/devnet/types/serializableAccount.js.map +0 -1
  305. package/dist/esm/codama/devnet/types/serializableInstruction.js.map +0 -1
  306. package/dist/esm/codama/devnet/types/threadResponse.js.map +0 -1
  307. package/dist/esm/codama/devnet/types/trigger.js.map +0 -1
  308. package/dist/esm/codama/devnet/types/triggerContext.js.map +0 -1
  309. package/dist/esm/network.js +0 -67
  310. package/dist/esm/network.js.map +0 -1
  311. package/dist/types/codama/devnet/accounts/contractState.d.ts.map +0 -1
  312. package/dist/types/codama/devnet/accounts/fleet.d.ts +0 -38
  313. package/dist/types/codama/devnet/accounts/fleet.d.ts.map +0 -1
  314. package/dist/types/codama/devnet/accounts/index.d.ts.map +0 -1
  315. package/dist/types/codama/devnet/accounts/rentalState.d.ts.map +0 -1
  316. package/dist/types/codama/devnet/accounts/thread.d.ts.map +0 -1
  317. package/dist/types/codama/devnet/errors/index.d.ts.map +0 -1
  318. package/dist/types/codama/devnet/errors/srsly.d.ts.map +0 -1
  319. package/dist/types/codama/devnet/index.d.ts.map +0 -1
  320. package/dist/types/codama/devnet/instructions/acceptRental.d.ts +0 -128
  321. package/dist/types/codama/devnet/instructions/acceptRental.d.ts.map +0 -1
  322. package/dist/types/codama/devnet/instructions/cancelRental.d.ts.map +0 -1
  323. package/dist/types/codama/devnet/instructions/closeContract.d.ts +0 -96
  324. package/dist/types/codama/devnet/instructions/closeContract.d.ts.map +0 -1
  325. package/dist/types/codama/devnet/instructions/closeRental.d.ts.map +0 -1
  326. package/dist/types/codama/devnet/instructions/createContract.d.ts +0 -108
  327. package/dist/types/codama/devnet/instructions/createContract.d.ts.map +0 -1
  328. package/dist/types/codama/devnet/instructions/index.d.ts.map +0 -1
  329. package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts +0 -67
  330. package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts.map +0 -1
  331. package/dist/types/codama/devnet/instructions/payRental.d.ts.map +0 -1
  332. package/dist/types/codama/devnet/instructions/resetRental.d.ts.map +0 -1
  333. package/dist/types/codama/devnet/programs/index.d.ts.map +0 -1
  334. package/dist/types/codama/devnet/programs/srsly.d.ts.map +0 -1
  335. package/dist/types/codama/devnet/shared/index.d.ts.map +0 -1
  336. package/dist/types/codama/devnet/types/clockData.d.ts.map +0 -1
  337. package/dist/types/codama/devnet/types/equality.d.ts.map +0 -1
  338. package/dist/types/codama/devnet/types/execContext.d.ts.map +0 -1
  339. package/dist/types/codama/devnet/types/index.d.ts.map +0 -1
  340. package/dist/types/codama/devnet/types/paymentFrequency.d.ts.map +0 -1
  341. package/dist/types/codama/devnet/types/serializableAccount.d.ts.map +0 -1
  342. package/dist/types/codama/devnet/types/serializableInstruction.d.ts.map +0 -1
  343. package/dist/types/codama/devnet/types/threadResponse.d.ts.map +0 -1
  344. package/dist/types/codama/devnet/types/trigger.d.ts.map +0 -1
  345. package/dist/types/codama/devnet/types/triggerContext.d.ts.map +0 -1
  346. package/dist/types/network.d.ts +0 -58
  347. package/dist/types/network.d.ts.map +0 -1
  348. package/target/idl/srsly-mainnet.json +0 -3011
  349. package/target/types/srsly-mainnet.ts +0 -1
  350. /package/dist/cjs/codama/{devnet/accounts → accounts}/thread.js +0 -0
  351. /package/dist/cjs/codama/{devnet/errors → errors}/index.js +0 -0
  352. /package/dist/cjs/codama/{devnet/index.js → index.js} +0 -0
  353. /package/dist/cjs/codama/{devnet/programs → programs}/index.js +0 -0
  354. /package/dist/cjs/codama/{devnet/shared → shared}/index.js +0 -0
  355. /package/dist/cjs/codama/{devnet/types → types}/clockData.js +0 -0
  356. /package/dist/cjs/codama/{devnet/types → types}/equality.js +0 -0
  357. /package/dist/cjs/codama/{devnet/types → types}/execContext.js +0 -0
  358. /package/dist/cjs/codama/{devnet/types → types}/index.js +0 -0
  359. /package/dist/cjs/codama/{devnet/types → types}/paymentFrequency.js +0 -0
  360. /package/dist/cjs/codama/{devnet/types → types}/serializableAccount.js +0 -0
  361. /package/dist/cjs/codama/{devnet/types → types}/serializableInstruction.js +0 -0
  362. /package/dist/cjs/codama/{devnet/types → types}/threadResponse.js +0 -0
  363. /package/dist/cjs/codama/{devnet/types → types}/trigger.js +0 -0
  364. /package/dist/cjs/codama/{devnet/types → types}/triggerContext.js +0 -0
  365. /package/dist/esm/codama/{devnet/accounts → accounts}/thread.js +0 -0
  366. /package/dist/esm/codama/{devnet/errors → errors}/index.js +0 -0
  367. /package/dist/esm/codama/{devnet/index.js → index.js} +0 -0
  368. /package/dist/esm/codama/{devnet/programs → programs}/index.js +0 -0
  369. /package/dist/esm/codama/{devnet/shared → shared}/index.js +0 -0
  370. /package/dist/esm/codama/{devnet/types → types}/clockData.js +0 -0
  371. /package/dist/esm/codama/{devnet/types → types}/equality.js +0 -0
  372. /package/dist/esm/codama/{devnet/types → types}/execContext.js +0 -0
  373. /package/dist/esm/codama/{devnet/types → types}/index.js +0 -0
  374. /package/dist/esm/codama/{devnet/types → types}/paymentFrequency.js +0 -0
  375. /package/dist/esm/codama/{devnet/types → types}/serializableAccount.js +0 -0
  376. /package/dist/esm/codama/{devnet/types → types}/serializableInstruction.js +0 -0
  377. /package/dist/esm/codama/{devnet/types → types}/threadResponse.js +0 -0
  378. /package/dist/esm/codama/{devnet/types → types}/trigger.js +0 -0
  379. /package/dist/esm/codama/{devnet/types → types}/triggerContext.js +0 -0
  380. /package/dist/types/codama/{devnet/accounts → accounts}/thread.d.ts +0 -0
  381. /package/dist/types/codama/{devnet/errors → errors}/index.d.ts +0 -0
  382. /package/dist/types/codama/{devnet/index.d.ts → index.d.ts} +0 -0
  383. /package/dist/types/codama/{devnet/programs → programs}/index.d.ts +0 -0
  384. /package/dist/types/codama/{devnet/shared → shared}/index.d.ts +0 -0
  385. /package/dist/types/codama/{devnet/types → types}/clockData.d.ts +0 -0
  386. /package/dist/types/codama/{devnet/types → types}/equality.d.ts +0 -0
  387. /package/dist/types/codama/{devnet/types → types}/execContext.d.ts +0 -0
  388. /package/dist/types/codama/{devnet/types → types}/index.d.ts +0 -0
  389. /package/dist/types/codama/{devnet/types → types}/paymentFrequency.d.ts +0 -0
  390. /package/dist/types/codama/{devnet/types → types}/serializableAccount.d.ts +0 -0
  391. /package/dist/types/codama/{devnet/types → types}/serializableInstruction.d.ts +0 -0
  392. /package/dist/types/codama/{devnet/types → types}/threadResponse.d.ts +0 -0
  393. /package/dist/types/codama/{devnet/types → types}/trigger.d.ts +0 -0
  394. /package/dist/types/codama/{devnet/types → types}/triggerContext.d.ts +0 -0
  395. /package/target/types/{srsly-devnet.ts → srsly.ts} +0 -0
@@ -1,58 +1,102 @@
1
1
  "use strict";
2
+ /**
3
+ * Unified contract creation - works with both @solana/kit and @solana/web3.js
4
+ * Uses strings for all addresses to eliminate library-specific type complexity
5
+ */
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
7
  exports.createContract = createContract;
4
- exports.getCreateContractInstructionAsync = getCreateContractInstructionAsync;
5
- const network_1 = require("../network");
6
- const utils_1 = require("../utils");
8
+ const config_1 = require("../utils/config");
9
+ const constants_1 = require("../utils/constants");
10
+ const paymentFrequency_1 = require("../utils/paymentFrequency");
11
+ const paymentFrequency_2 = require("../types/paymentFrequency");
12
+ const instruction_converter_1 = require("../utils/instruction-converter");
7
13
  /**
8
- * Internal function to create a contract instruction for a specific network
14
+ * Internal function to create a rental contract instruction with configuration options
9
15
  */
10
- async function _createContract(params, network) {
11
- const { owner, fleet, ownerProfile, rate, durationMin, durationMax, paymentsFreq, ownerKeyIndex = 0, gameId = utils_1.DEFAULT_GAME_ID, } = params;
12
- // Dynamically import network-specific codama functions
13
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions', network);
14
- const { getCreateContractInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
15
- // Let codama derive the rest (contract, rentalAuthority, ownerTokenAccount, etc.)
16
+ async function _createContract(params, config) {
17
+ const { owner, fleet, ownerProfile, rate, durationMax, paymentsFreq, gameId, sageProgramAddress, atlasMint, ownerKeyIndex = 0, } = params;
18
+ // Validate payment frequency
19
+ if (!(0, paymentFrequency_2.isValidPaymentFrequency)(paymentsFreq)) {
20
+ throw new Error(`Invalid payment frequency: "${paymentsFreq}". Valid values are: ${JSON.stringify(Object.keys({ daily: true, weekly: true, monthly: true, hourly: true }))}`);
21
+ }
22
+ // Validate duration alignment
23
+ (0, paymentFrequency_1.validateDurationAlignment)(Number(durationMax), paymentsFreq);
24
+ // Get the payment frequency interval (this will be the minimum duration)
25
+ const durationMin = (0, paymentFrequency_1.paymentFrequencyStringToSeconds)(paymentsFreq);
26
+ // Convert the payment frequency to the format expected by the Rust program (with @ prefix)
27
+ const paymentsFreqWithPrefix = `@${paymentsFreq}`;
28
+ // Get network-specific addresses (param override, config override, or network default)
29
+ const actualGameId = gameId ? (0, constants_1.toAddress)(gameId) : await (0, constants_1.getSageGameId)(config);
30
+ const actualSageProgramAddress = sageProgramAddress ? (0, constants_1.toAddress)(sageProgramAddress) : await (0, constants_1.getSageProgramAddress)(config);
31
+ const actualAtlasMint = atlasMint ? (0, constants_1.toAddress)(atlasMint) : await (0, constants_1.getAtlasMint)(config);
16
32
  const input = {
17
- owner,
18
- fleet,
19
- ownerProfile,
20
- gameId,
21
- rate,
33
+ owner, // Pass as-is (string or signer)
34
+ fleet: (0, constants_1.toAddress)(fleet), // Ensure string
35
+ ownerProfile: (0, constants_1.toAddress)(ownerProfile), // Ensure string
36
+ gameId: actualGameId, // Already string
37
+ sageProgram: actualSageProgramAddress, // Fixed: use sageProgram instead of sageProgramAddress
38
+ mint: actualAtlasMint, // Fixed: use mint instead of atlasMint
22
39
  durationMin,
23
40
  durationMax,
24
- paymentsFeq: paymentsFreq,
41
+ rate,
42
+ paymentsFeq: paymentsFreqWithPrefix, // Fixed: use paymentsFeq as expected by codama
25
43
  ownerKeyIndex,
26
44
  };
27
- return getCreateContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
45
+ // Get network-specific codama functions from centralized config
46
+ const instructionsModule = (0, config_1.getModule)('instructions');
47
+ const programsModule = (0, config_1.getModule)('programs');
48
+ const { getCreateContractInstructionAsync } = instructionsModule;
49
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
50
+ const rawInstruction = await getCreateContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
51
+ return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
28
52
  }
29
53
  /**
30
- * Creates an instruction to create a rental contract with fluent network selection.
54
+ * Creates an instruction to create a rental contract with fluent configuration.
55
+ * This unified version works with both @solana/kit and @solana/web3.js using strings for addresses.
31
56
  *
32
57
  * @example
33
58
  * ```typescript
34
- * // Use global network setting
35
- * const ix = await createContract(params).execute();
59
+ * // Works with any library - just use strings for addresses!
60
+ *
61
+ * // Default returns @solana/kit format
62
+ * const kitInstruction = await createContract({
63
+ * owner: wallet, // Can be signer object or string
64
+ * fleet: "FleetAddress123...", // String address
65
+ * ownerProfile: "ProfileAddr...", // String address
66
+ * rate: 1000,
67
+ * durationMax: days(7),
68
+ * paymentsFreq: 'daily'
69
+ * });
36
70
  *
37
- * // Use specific network for this instruction
38
- * const ix = await createContract(params).mainnet();
39
- * const ix = await createContract(params).devnet();
40
- * const ix = await createContract(params).network('mainnet');
71
+ * // Convert to @solana/web3.js format using fluent interface
72
+ * const web3jsInstruction = await createContract({
73
+ * owner: wallet,
74
+ * fleet: "FleetAddress123...",
75
+ * ownerProfile: "ProfileAddr...",
76
+ * rate: 1000,
77
+ * durationMax: days(7),
78
+ * paymentsFreq: 'daily'
79
+ * }).web3js();
80
+ *
81
+ * // Chain configuration and format conversion
82
+ * const web3jsInstructionWithConfig = await createContract({
83
+ * owner: wallet,
84
+ * fleet: "FleetAddress123...",
85
+ * ownerProfile: "ProfileAddr...",
86
+ * rate: 1000,
87
+ * durationMax: days(7),
88
+ * paymentsFreq: 'daily'
89
+ * }).set({ programs: 'mainnet' }).web3js();
90
+ *
91
+ * // Use with your preferred Solana library
92
+ * const transaction = new Transaction().add(web3jsInstruction);
41
93
  * ```
42
94
  *
43
95
  * @param params The simplified parameters for creating a rental contract
44
- * @returns A network selector for creating the instruction
96
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
45
97
  */
46
98
  function createContract(params) {
47
- return (0, network_1.createNetworkSelector)((network) => _createContract(params, network));
48
- }
49
- /**
50
- * Export network selector for getCreateContractInstructionAsync
51
- */
52
- function getCreateContractInstructionAsync(input, options) {
53
- return (0, network_1.createNetworkSelector)(async (network) => {
54
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions', network);
55
- return codamaModule.getCreateContractInstructionAsync(input, options);
56
- });
99
+ const baseSelector = (0, config_1.createConfigSelector)((config) => _createContract(params, config));
100
+ return (0, instruction_converter_1.createFluentConfigSelector)(baseSelector);
57
101
  }
58
102
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":";;AA8HA,wCAIC;AAKD,8EAKC;AAvID,wCAA+G;AAK/G,oCAGkB;AAsDlB;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,MAA4B,EAC5B,OAAiB;IAEjB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,GAAG,CAAC,EACjB,MAAM,GAAG,uBAAkC,GAC5C,GAAG,MAAM,CAAC;IAEX,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,EAAE,iCAAiC,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAElF,kFAAkF;IAClF,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,KAAK;QACL,YAAY;QACZ,MAAM;QACN,IAAI;QACJ,WAAW;QACX,WAAW;QACX,WAAW,EAAE,YAAY;QACzB,aAAa;KACd,CAAC;IAEF,OAAO,iCAAiC,CACtC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,cAAc,CAC5B,MAA4B;IAE5B,OAAO,IAAA,+BAAqB,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAgB,iCAAiC,CAAC,KAAU,EAAE,OAAa;IACzE,OAAO,IAAA,+BAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAqIH,wCAGC;AAtID,4CAA2G;AAC3G,kDAAmG;AACnG,gEAAuG;AACvG,gEAA4F;AAC5F,0EAAwJ;AAsBxJ;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,MAA4B,EAAE,MAAsB;IACjF,MAAM,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,SAAS,EACT,aAAa,GAAG,CAAC,GAClB,GAAG,MAAM,CAAC;IAEX,6BAA6B;IAC7B,IAAI,CAAC,IAAA,0CAAuB,EAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,wBAAwB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAChL,CAAC;IAED,8BAA8B;IAC9B,IAAA,4CAAyB,EAAC,MAAM,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;IAE7D,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAA,kDAA+B,EAAC,YAAY,CAAC,CAAC;IAElE,2FAA2F;IAC3F,MAAM,sBAAsB,GAAG,IAAI,YAAY,EAAE,CAAC;IAElD,uFAAuF;IACvF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,iCAAqB,EAAC,MAAM,CAAC,CAAC;IAC1H,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,wBAAY,EAAC,MAAM,CAAC,CAAC;IAEtF,MAAM,KAAK,GAAG;QACZ,KAAK,EAAqC,gCAAgC;QAC1E,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAkB,gBAAgB;QACzD,YAAY,EAAE,IAAA,qBAAS,EAAC,YAAY,CAAC,EAAI,gBAAgB;QACzD,MAAM,EAAE,YAAY,EAAqB,iBAAiB;QAC1D,WAAW,EAAE,wBAAwB,EAAI,uDAAuD;QAChG,IAAI,EAAE,eAAe,EAAoB,uCAAuC;QAChF,WAAW;QACX,WAAW;QACX,IAAI;QACJ,WAAW,EAAE,sBAAsB,EAAM,+CAA+C;QACxF,aAAa;KACd,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,iCAAiC,EAAE,GAAG,kBAAkB,CAAC;IACjE,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACjH,OAAO,IAAA,+CAAuB,EAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,SAAgB,cAAc,CAAC,MAA4B;IACzD,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvF,OAAO,IAAA,kDAA0B,EAAC,YAAY,CAAC,CAAC;AAClD,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -14,10 +14,33 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- // Export network configuration
18
- __exportStar(require("./network"), exports);
17
+ exports.duration = exports.months = exports.weeks = exports.days = exports.hours = exports.minutes = exports.decaseconds = exports.validateDurationAlignment = exports.paymentFrequencyStringToSeconds = exports.paymentFrequencyToSeconds = exports.isValidPaymentFrequency = exports.getPaymentFrequencyFromString = exports.PAYMENT_FREQUENCY_CONSTANTS = exports.PAYMENT_FREQUENCY_MAP = exports.VALID_PAYMENT_FREQUENCIES = exports.PaymentFrequency = void 0;
19
18
  // Export main SDK functions
20
19
  __exportStar(require("./contract"), exports);
21
20
  __exportStar(require("./rental"), exports);
22
21
  __exportStar(require("./utils"), exports);
22
+ // Export PaymentFrequency from codama (generated from Rust)
23
+ var paymentFrequency_1 = require("./codama/types/paymentFrequency");
24
+ Object.defineProperty(exports, "PaymentFrequency", { enumerable: true, get: function () { return paymentFrequency_1.PaymentFrequency; } });
25
+ // Export auto-generated payment frequency types and utilities
26
+ var paymentFrequency_2 = require("./types/paymentFrequency");
27
+ Object.defineProperty(exports, "VALID_PAYMENT_FREQUENCIES", { enumerable: true, get: function () { return paymentFrequency_2.VALID_PAYMENT_FREQUENCIES; } });
28
+ Object.defineProperty(exports, "PAYMENT_FREQUENCY_MAP", { enumerable: true, get: function () { return paymentFrequency_2.PAYMENT_FREQUENCY_MAP; } });
29
+ Object.defineProperty(exports, "PAYMENT_FREQUENCY_CONSTANTS", { enumerable: true, get: function () { return paymentFrequency_2.PAYMENT_FREQUENCY_CONSTANTS; } });
30
+ Object.defineProperty(exports, "getPaymentFrequencyFromString", { enumerable: true, get: function () { return paymentFrequency_2.getPaymentFrequencyFromString; } });
31
+ Object.defineProperty(exports, "isValidPaymentFrequency", { enumerable: true, get: function () { return paymentFrequency_2.isValidPaymentFrequency; } });
32
+ // Export payment frequency utilities that mirror Rust implementation
33
+ var paymentFrequency_3 = require("./utils/paymentFrequency");
34
+ Object.defineProperty(exports, "paymentFrequencyToSeconds", { enumerable: true, get: function () { return paymentFrequency_3.paymentFrequencyToSeconds; } });
35
+ Object.defineProperty(exports, "paymentFrequencyStringToSeconds", { enumerable: true, get: function () { return paymentFrequency_3.paymentFrequencyStringToSeconds; } });
36
+ Object.defineProperty(exports, "validateDurationAlignment", { enumerable: true, get: function () { return paymentFrequency_3.validateDurationAlignment; } });
37
+ // Export duration helper functions for convenient time unit conversion
38
+ var duration_1 = require("./utils/duration");
39
+ Object.defineProperty(exports, "decaseconds", { enumerable: true, get: function () { return duration_1.decaseconds; } });
40
+ Object.defineProperty(exports, "minutes", { enumerable: true, get: function () { return duration_1.minutes; } });
41
+ Object.defineProperty(exports, "hours", { enumerable: true, get: function () { return duration_1.hours; } });
42
+ Object.defineProperty(exports, "days", { enumerable: true, get: function () { return duration_1.days; } });
43
+ Object.defineProperty(exports, "weeks", { enumerable: true, get: function () { return duration_1.weeks; } });
44
+ Object.defineProperty(exports, "months", { enumerable: true, get: function () { return duration_1.months; } });
45
+ Object.defineProperty(exports, "duration", { enumerable: true, get: function () { return duration_1.duration; } });
23
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,4CAA0B;AAE1B,4BAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,0CAAwB;AAsBxB,4DAA4D;AAC5D,oEAAmE;AAA1D,oHAAA,gBAAgB,OAAA;AAEzB,8DAA8D;AAC9D,6DAOkC;AALhC,6HAAA,yBAAyB,OAAA;AACzB,yHAAA,qBAAqB,OAAA;AACrB,+HAAA,2BAA2B,OAAA;AAC3B,iIAAA,6BAA6B,OAAA;AAC7B,2HAAA,uBAAuB,OAAA;AAGzB,qEAAqE;AACrE,6DAIkC;AAHhC,6HAAA,yBAAyB,OAAA;AACzB,mIAAA,+BAA+B,OAAA;AAC/B,6HAAA,yBAAyB,OAAA;AAG3B,uEAAuE;AACvE,6CAQ0B;AAPxB,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,iGAAA,KAAK,OAAA;AACL,gGAAA,IAAI,OAAA;AACJ,iGAAA,KAAK,OAAA;AACL,kGAAA,MAAM,OAAA;AACN,oGAAA,QAAQ,OAAA"}
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@wuwei-labs/srsly",
3
+ "version": "2.0.0-beta.31",
4
+ "description": "",
5
+ "source": "./src/index.ts",
6
+ "sideEffects": false,
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "files": [
11
+ "dist/cjs",
12
+ "dist/esm",
13
+ "dist/types",
14
+ "target/idl/srsly.json",
15
+ "target/types/srsly.ts"
16
+ ],
17
+ "keywords": [
18
+ "SRSLY",
19
+ "Star",
20
+ "Atlas",
21
+ "sdk"
22
+ ],
23
+ "scripts": {
24
+ "package": "pnpm run clean && pnpm build && pnpm run package:cjs && pnpm run package:esm && pnpm run generate",
25
+ "package:cjs": "tsc -p tsconfig.cjs.json && tsconfig-to-dual-package tsconfig.cjs.json",
26
+ "package:esm": "tsc -p tsconfig.esm.json && tsconfig-to-dual-package tsconfig.esm.json",
27
+ "clean": "rm -rf dist && cargo clean && pnpm install",
28
+ "generate": "node generate.mjs",
29
+ "build": "anchor build && pnpm run generate",
30
+ "docs": "typedoc",
31
+ "test": "vitest run",
32
+ "test:watch": "vitest",
33
+ "test:coverage": "vitest run --coverage"
34
+ },
35
+ "author": "",
36
+ "license": "ISC",
37
+ "packageManager": "pnpm@10.6.5",
38
+ "dependencies": {
39
+ "@solana/kit": "^2.0.0"
40
+ },
41
+ "devDependencies": {
42
+ "@codama/nodes-from-anchor": "^1.1.13",
43
+ "@codama/renderers": "^1.0.21",
44
+ "@types/node": "^24.0.3",
45
+ "codama": "^1.2.13",
46
+ "tsconfig-to-dual-package": "^1.2.0",
47
+ "typedoc": "^0.28.3",
48
+ "typescript": "^5.8.3",
49
+ "vitest": "^3.2.4",
50
+ "webpack": "^5.99.9"
51
+ },
52
+ "type": "commonjs"
53
+ }
@@ -2,63 +2,97 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.acceptRental = acceptRental;
4
4
  exports.getAcceptRentalInstructionAsync = getAcceptRentalInstructionAsync;
5
- const network_1 = require("../network");
5
+ const config_1 = require("../utils/config");
6
+ const constants_1 = require("../utils/constants");
6
7
  const utils_1 = require("../utils");
8
+ const instruction_converter_1 = require("../utils/instruction-converter");
7
9
  /**
8
- * Asynchronously creates an instruction to accept a rental with minimal required parameters.
9
- * Derives borrowerProfileFaction, starbase, and starbasePlayer automatically.
10
+ * Internal function to accept a rental instruction with configuration options
11
+ */
12
+ async function _acceptRental(params, config) {
13
+ const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId, rate, duration, referralTokenAccount, } = params;
14
+ // Get the actual game ID to use (param override, config override, or network default)
15
+ const actualGameId = gameId ? (0, constants_1.toAddress)(gameId) : await (0, constants_1.getSageGameId)(config);
16
+ // Calculate the total amount from rate and duration
17
+ // Convert ATLAS to stardust (smallest unit): 1 ATLAS = 100,000,000 stardust
18
+ const amount = BigInt(rate) * BigInt(duration) * BigInt(constants_1.ATLAS_TO_STARDUST);
19
+ // Derive the three accounts we need
20
+ const { profileFaction, starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(borrowerProfile), borrowerFaction, actualGameId, 0, // starbaseSeqId
21
+ config);
22
+ // Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
23
+ const input = {
24
+ borrower, // Pass as-is (string or signer)
25
+ borrowerProfile: (0, constants_1.toAddress)(borrowerProfile), // Ensure string
26
+ borrowerProfileFaction: profileFaction, // Already string from deriveGameAccounts
27
+ fleet: (0, constants_1.toAddress)(fleet), // Ensure string
28
+ contract: (0, constants_1.toAddress)(contract), // Ensure string
29
+ gameId: actualGameId, // Already string
30
+ starbase, // Already string from deriveGameAccounts
31
+ starbasePlayer, // Already string from deriveGameAccounts
32
+ amount, // BigInt value
33
+ duration, // BigInt value
34
+ referralTokenAccount: referralTokenAccount ? (0, constants_1.toAddress)(referralTokenAccount) : undefined,
35
+ };
36
+ // Get network-specific codama functions from centralized config
37
+ const instructionsModule = (0, config_1.getModule)('instructions');
38
+ const programsModule = (0, config_1.getModule)('programs');
39
+ const { getAcceptRentalInstructionAsync } = instructionsModule;
40
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
41
+ const rawInstruction = await getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
42
+ return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
43
+ }
44
+ /**
45
+ * Creates an instruction to accept a rental with fluent configuration.
10
46
  *
11
47
  * @example
12
48
  * ```typescript
13
- * // Create the instruction with automatic account derivation
14
- * const ix = await acceptRental({
49
+ * // Works with any library - just use strings for addresses!
50
+ * const instruction = await acceptRental({
51
+ * borrower: wallet, // Can be signer object or string
52
+ * borrowerProfile: "ProfileAddr...", // String address
53
+ * borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
54
+ * fleet: "FleetAddress123...", // String address
55
+ * contract: "ContractAddr...", // String address
56
+ * rate: 1000, // ATLAS tokens
57
+ * duration: 86400 // 1 day in seconds (total: 1000 * 86400 * 100M stardust)
58
+ * });
59
+ *
60
+ * // With referral (referrer gets 5% of platform fees)
61
+ * const instruction = await acceptRental({
15
62
  * borrower: wallet,
16
- * borrowerProfile: profileAddress,
17
- * borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
18
- * fleet: fleetAddress,
19
- * contract: contractAddress,
20
- * amount: 1000,
21
- * duration: 86400 // 1 day in seconds
22
- * // gameId is optional and will default to the standard game ID
63
+ * borrowerProfile: "ProfileAddr...",
64
+ * borrowerFaction: 1,
65
+ * fleet: "FleetAddress123...",
66
+ * contract: "ContractAddr...",
67
+ * rate: 1000,
68
+ * duration: 86400,
69
+ * referralTokenAccount: "ReferralAddr..."
23
70
  * });
24
71
  *
25
- * // Add to transaction and sign
26
- * const tx = new Transaction().add(ix);
27
- * await sendAndConfirmTransaction(connection, tx, [wallet]);
72
+ * // Use mainnet configuration
73
+ * const instruction = await acceptRental(params).set({ programs: 'mainnet' });
74
+ *
75
+ * // Override specific constants
76
+ * const instruction = await acceptRental(params).set({
77
+ * programs: 'mainnet',
78
+ * gameId: 'custom-game-id...'
79
+ * });
80
+ *
81
+ * // Use the instruction with your preferred Solana library
82
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
28
83
  * ```
29
84
  *
30
85
  * @param params The simplified parameters for accepting a rental
31
- * @returns A promise that resolves to the instruction to accept a rental
86
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
32
87
  */
33
- async function _acceptRental(params, network) {
34
- const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId = utils_1.DEFAULT_GAME_ID, amount, duration, } = params;
35
- // Derive the three accounts we need
36
- const { profileFaction, starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)(borrowerProfile, borrowerFaction, gameId);
37
- // Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
38
- const input = {
39
- borrower,
40
- borrowerProfile,
41
- borrowerProfileFaction: profileFaction,
42
- fleet,
43
- contract,
44
- gameId,
45
- starbase,
46
- starbasePlayer,
47
- amount,
48
- duration,
49
- };
50
- // Dynamically import network-specific codama functions
51
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
52
- const { getAcceptRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
53
- return getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
54
- }
55
88
  function acceptRental(params) {
56
- return (0, network_1.createNetworkSelector)((network) => _acceptRental(params, network));
89
+ const baseSelector = (0, config_1.createConfigSelector)((config) => _acceptRental(params, config));
90
+ return (0, instruction_converter_1.createFluentConfigSelector)(baseSelector);
57
91
  }
58
92
  function getAcceptRentalInstructionAsync(input, options) {
59
- return (0, network_1.createNetworkSelector)(async (network) => {
60
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions', network);
61
- return codamaModule.getAcceptRentalInstructionAsync(input, options);
93
+ return (0, config_1.createConfigSelector)(async (config) => {
94
+ const instructionsModule = (0, config_1.getModule)('instructions');
95
+ return instructionsModule.getAcceptRentalInstructionAsync(input, options);
62
96
  });
63
97
  }
64
98
  //# sourceMappingURL=accept.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":";;AA2IA,oCAIC;AAED,0EAKC;AAjJD,wCAA+G;AAM/G,oCAGkB;AAiDlB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,OAAiB;IAEjB,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,GAAG,uBAAkC,EAC3C,MAAM,EACN,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,oCAAoC;IACpC,MAAM,EACJ,cAAc,EACd,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,eAAe,EACf,eAAe,EACf,MAAM,CACP,CAAC;IAEF,gFAAgF;IAChF,MAAM,KAAK,GAAoC;QAC7C,QAAQ;QACR,eAAe;QACf,sBAAsB,EAAE,cAAc;QACtC,KAAK;QACL,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,cAAc;QACd,MAAM;QACN,QAAQ;KACT,CAAC;IAEF,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,CAAC,CAAC;IAClE,MAAM,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAEhF,OAAO,+BAA+B,CACpC,KAAY,EACZ,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAC1B,MAA0B;IAE1B,OAAO,IAAA,+BAAqB,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,+BAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":";;AA8KA,oCAKC;AAED,0EAKC;AA1LD,4CAA2G;AAC3G,kDAAiF;AACjF,oCAA8C;AAC9C,0EAAwJ;AA4DxJ;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,oBAAoB,GACrB,GAAG,MAAM,CAAC;IAEX,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC;IAE9E,oDAAoD;IACpD,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,6BAAiB,CAAC,CAAC;IAE3E,oCAAoC;IACpC,MAAM,EACJ,cAAc,EACd,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,eAAe,CAAC,EAC1B,eAAe,EACf,YAAY,EACZ,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,gFAAgF;IAChF,MAAM,KAAK,GAAoC;QAC7C,QAAQ,EAAwC,gCAAgC;QAChF,eAAe,EAAE,IAAA,qBAAS,EAAC,eAAe,CAAC,EAAK,gBAAgB;QAChE,sBAAsB,EAAE,cAAc,EAAU,yCAAyC;QACzF,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAyB,gBAAgB;QAChE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAmB,gBAAgB;QAChE,MAAM,EAAE,YAAY,EAA2B,iBAAiB;QAChE,QAAQ,EAAuC,yCAAyC;QACxF,cAAc,EAAiC,yCAAyC;QACxF,MAAM,EAAyC,eAAe;QAC9D,QAAQ,EAAuC,eAAe;QAC9D,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;KACzF,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D,KAAY,EACZ,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;IACF,OAAO,IAAA,+CAAuB,EAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,SAAgB,YAAY,CAC1B,MAA0B;IAE1B,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrF,OAAO,IAAA,kDAA0B,EAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,47 +2,59 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cancelRental = cancelRental;
4
4
  exports.getCancelRentalInstructionAsync = getCancelRentalInstructionAsync;
5
- const network_1 = require("../network");
5
+ const config_1 = require("../utils/config");
6
+ const constants_1 = require("../utils/constants");
6
7
  /**
7
- * Asynchronously creates an instruction to cancel a rental with minimal required parameters.
8
- * Derives rentalState, rentalThread, borrowerTokenAccount, rentalTokenAccount and
9
- * rentalAuthority automatically if not provided.
8
+ * Internal function to cancel a rental instruction with configuration options
9
+ */
10
+ async function _cancelRental(params, config) {
11
+ const { borrower, contract, } = params;
12
+ // Let codama derive all the optional accounts
13
+ const input = {
14
+ borrower, // Pass as-is (string or signer)
15
+ contract: (0, constants_1.toAddress)(contract), // Ensure string
16
+ };
17
+ // Get network-specific codama functions from centralized config
18
+ const instructionsModule = (0, config_1.getModule)('instructions');
19
+ const programsModule = (0, config_1.getModule)('programs');
20
+ const { getCancelRentalInstructionAsync } = instructionsModule;
21
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
22
+ return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
23
+ }
24
+ /**
25
+ * Creates an instruction to cancel a rental with fluent configuration.
10
26
  *
11
27
  * @example
12
28
  * ```typescript
13
- * // Create the instruction with minimal parameters - just borrower and contract
14
- * const ix = await cancelRental({
15
- * borrower: wallet,
16
- * contract: contractAddress
29
+ * // Works with any library - just use strings for addresses!
30
+ * const instruction = await cancelRental({
31
+ * borrower: wallet, // Can be signer object or string
32
+ * contract: "ContractAddr..." // String address
17
33
  * });
18
34
  *
19
- * // Add to transaction and sign
20
- * const tx = new Transaction().add(ix);
21
- * await sendAndConfirmTransaction(connection, tx, [wallet]);
35
+ * // Use mainnet configuration
36
+ * const instruction = await cancelRental(params).set({ programs: 'mainnet' });
37
+ *
38
+ * // Override specific constants
39
+ * const instruction = await cancelRental(params).set({
40
+ * programs: 'mainnet',
41
+ * sageProgramAddress: 'custom...'
42
+ * });
43
+ *
44
+ * // Use the instruction with your preferred Solana library
45
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
22
46
  * ```
23
47
  *
24
48
  * @param params The simplified parameters for canceling a rental
25
- * @returns A promise that resolves to the instruction to cancel a rental
49
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
26
50
  */
27
- async function _cancelRental(params, network) {
28
- const { borrower, contract, } = params;
29
- // Let codama derive all the optional accounts
30
- const input = {
31
- borrower,
32
- contract,
33
- };
34
- // Dynamically import network-specific codama functions
35
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
36
- const { getCancelRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
37
- return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
38
- }
39
51
  function cancelRental(params) {
40
- return (0, network_1.createNetworkSelector)((network) => _cancelRental(params, network));
52
+ return (0, config_1.createConfigSelector)((config) => _cancelRental(params, config));
41
53
  }
42
54
  function getCancelRentalInstructionAsync(input, options) {
43
- return (0, network_1.createNetworkSelector)(async (network) => {
44
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions', network);
45
- return codamaModule.getCancelRentalInstructionAsync(input, options);
55
+ return (0, config_1.createConfigSelector)(async (config) => {
56
+ const instructionsModule = (0, config_1.getModule)('instructions');
57
+ return instructionsModule.getCancelRentalInstructionAsync(input, options);
46
58
  });
47
59
  }
48
60
  //# sourceMappingURL=cancel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;AAuEA,oCAIC;AAED,0EAKC;AA7ED,wCAA+G;AAoB/G;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,OAAiB;IAEjB,MAAM,EACJ,QAAQ,EACR,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,QAAQ;QACR,QAAQ;KACT,CAAC;IAEF,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,CAAC,CAAC;IAClE,MAAM,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAEhF,OAAO,+BAA+B,CACpC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAC1B,MAA0B;IAE1B,OAAO,IAAA,+BAAqB,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,+BAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;AAgFA,oCAIC;AAED,0EAKC;AA3FD,4CAA2G;AAC3G,kDAA+C;AAsB/C;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAqB,gCAAgC;QAC7D,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAE,gBAAgB;KAChD,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,OAAO,+BAA+B,CACpC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,YAAY,CAC1B,MAA0B;IAE1B,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,49 +2,61 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.closeRental = closeRental;
4
4
  exports.getCloseRentalInstructionAsync = getCloseRentalInstructionAsync;
5
- const network_1 = require("../network");
5
+ const config_1 = require("../utils/config");
6
+ const constants_1 = require("../utils/constants");
6
7
  /**
7
- * Asynchronously creates an instruction to close a rental with minimal required parameters.
8
- * This is called by an owner to close a rental that was previously accepted by a borrower.
9
- * Derives rentalState, rentalThread, rentalTokenAccount and rentalAuthority automatically if not provided.
8
+ * Internal function to close a rental instruction with configuration options
9
+ */
10
+ async function _closeRental(params, config) {
11
+ const { borrower, ownerTokenAccount, contract, } = params;
12
+ // Let codama derive the optional accounts
13
+ const input = {
14
+ borrower: (0, constants_1.toAddress)(borrower), // Ensure string
15
+ ownerTokenAccount: (0, constants_1.toAddress)(ownerTokenAccount), // Ensure string
16
+ contract: (0, constants_1.toAddress)(contract), // Ensure string
17
+ };
18
+ // Get network-specific codama functions from centralized config
19
+ const instructionsModule = (0, config_1.getModule)('instructions');
20
+ const programsModule = (0, config_1.getModule)('programs');
21
+ const { getCloseRentalInstructionAsync } = instructionsModule;
22
+ const { SRSLY_PROGRAM_ADDRESS } = programsModule;
23
+ return getCloseRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
24
+ }
25
+ /**
26
+ * Creates an instruction to close a rental with fluent configuration.
10
27
  *
11
28
  * @example
12
29
  * ```typescript
13
- * // Create the instruction with minimal parameters
14
- * const ix = await closeRental({
15
- * borrower: borrowerAddress,
16
- * ownerTokenAccount: ownerTokenAccountAddress,
17
- * contract: contractAddress
30
+ * // Works with any library - just use strings for addresses!
31
+ * const instruction = await closeRental({
32
+ * borrower: "BorrowerAddr...", // String address
33
+ * ownerTokenAccount: "TokenAcct...", // String address
34
+ * contract: "ContractAddr..." // String address
18
35
  * });
19
36
  *
20
- * // Add to transaction and sign
21
- * const tx = new Transaction().add(ix);
22
- * await sendAndConfirmTransaction(connection, tx, [owner]);
37
+ * // Use mainnet configuration
38
+ * const instruction = await closeRental(params).set({ programs: 'mainnet' });
39
+ *
40
+ * // Override specific constants
41
+ * const instruction = await closeRental(params).set({
42
+ * programs: 'mainnet',
43
+ * sageProgramAddress: 'custom...'
44
+ * });
45
+ *
46
+ * // Use the instruction with your preferred Solana library
47
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
23
48
  * ```
24
49
  *
25
50
  * @param params The simplified parameters for closing a rental
26
- * @returns A promise that resolves to the instruction to close a rental
51
+ * @returns A ConfigSelector that can be configured with .set() or awaited directly
27
52
  */
28
- async function _closeRental(params, network) {
29
- const { borrower, ownerTokenAccount, contract, } = params;
30
- // Let codama derive the optional accounts
31
- const input = {
32
- borrower,
33
- ownerTokenAccount,
34
- contract,
35
- };
36
- // Dynamically import network-specific codama functions
37
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
38
- const { getCloseRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
39
- return getCloseRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
40
- }
41
53
  function closeRental(params) {
42
- return (0, network_1.createNetworkSelector)((network) => _closeRental(params, network));
54
+ return (0, config_1.createConfigSelector)((config) => _closeRental(params, config));
43
55
  }
44
56
  function getCloseRentalInstructionAsync(input, options) {
45
- return (0, network_1.createNetworkSelector)(async (network) => {
46
- const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions', network);
47
- return codamaModule.getCloseRentalInstructionAsync(input, options);
57
+ return (0, config_1.createConfigSelector)(async (config) => {
58
+ const instructionsModule = (0, config_1.getModule)('instructions');
59
+ return instructionsModule.getCloseRentalInstructionAsync(input, options);
48
60
  });
49
61
  }
50
62
  //# sourceMappingURL=close.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":";;AA8EA,kCAIC;AAED,wEAKC;AArFD,wCAA+G;AAyB/G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,KAAK,UAAU,YAAY,CACzB,MAAyB,EACzB,OAAiB;IAEjB,MAAM,EACJ,QAAQ,EACR,iBAAiB,EACjB,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,0CAA0C;IAC1C,MAAM,KAAK,GAAG;QACZ,QAAQ;QACR,iBAAiB;QACjB,QAAQ;KACT,CAAC;IAEF,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,CAAC,CAAC;IAClE,MAAM,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,GAAG,YAAY,CAAC;IAE/E,OAAO,8BAA8B,CACnC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,IAAA,+BAAqB,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,IAAA,+BAAqB,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAsB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":";;AAuFA,kCAIC;AAED,wEAKC;AAlGD,4CAA2G;AAC3G,kDAA+C;AA0B/C;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,MAAyB,EACzB,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,iBAAiB,EACjB,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,0CAA0C;IAC1C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAgB,gBAAgB;QAC7D,iBAAiB,EAAE,IAAA,qBAAS,EAAC,iBAAiB,CAAC,EAAE,gBAAgB;QACjE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAe,gBAAgB;KAC7D,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,8BAA8B,EAAE,GAAG,kBAAkB,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,OAAO,8BAA8B,CACnC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}